/* Plans Section */
#plans {
	padding-top: 20px;
	background-color: var(--white);
}

#plans .courses .top {
	display: flex;
	margin-top: 30px;
	margin-bottom: -1px;
}
#plans .courses .bottom {
	display: flex;
	margin-top: -1px;
	margin-bottom: 10px;
}

#plans .courses .top span {
	border-top-left-radius: 16px;
	border-top-right-radius: 16px;
}
#plans .courses .bottom span {
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
}
#plans .courses .edge span {
	display: block;
	width: 33.33%;
	height: 16px;
}
#plans .courses .edge span:nth-child(1) {
	background-color: #c8e8a6;
}
#plans .courses .edge span:nth-child(2) {
	background-color: #ffd28b;
}
#plans .courses .edge span:nth-child(3) {
	background-color: #bbcde7;
}

#plans .courses .background {
	width: 100%;
	background-image: linear-gradient(to right, #c8e8a6 33.33%, #ffd28b 33.33%, #ffd28b 66.67%, #bbcde7 66.67%);
}

#plans .courses .frame {
	padding: 16px 16px;
	width: calc(100% - 16px * 2);
	background-color: var(--white);
	border-radius: 14px;
	font-weight: bold;
	text-align: center;
}
@media screen and (max-width: 700px) {
	#plans .courses .frame {
		padding: 8px 4px;
		width: calc(100% - 4px * 2);
		border-radius: 8px
	}
}

#plans .courses table {
	width: 100%;
	border: none;
}

#plans .courses table tr td {
	padding: 6px 16px;
	width: calc(100% / 3);
}
@media screen and (max-width: 700px) {
	#plans .courses table tr td {
		padding: 6px 4px;
	}
}

#plans .courses table .name {
	font-size: 1.6em;
	font-weight: bold;
	text-align: center;
}
@media screen and (max-width: 700px) {
	#plans .courses table .name {
		font-size: 5.4vw;
	}
}

#plans .courses table .explan {
	font-size: 0.85em;
}
@media screen and (max-width: 700px) {
	#plans .courses table .explan {
		font-size: 3.5vw;
	}
}

#plans .courses table .price .org_price {
	color: var(--gray);
	text-decoration: line-through;
	font-size: 1.2em;
}
@media screen and (max-width: 700px) {
	#plans .courses table .price .org_price {
		font-size: 4vw;
	}
}

#plans .courses table .price .service_price span:nth-child(1) {
	color: var(--red);
	font-size: 2em;
}
#plans .courses table .price .service_price span:nth-child(2) {
	color: var(--red);
	font-size: 1.2em;
}
@media screen and (max-width: 700px) {
	#plans .courses table .price .service_price span:nth-child(1) {
		font-size: 6vw;
	}
	#plans .courses table .price .service_price span:nth-child(2) {
		font-size: 4vw;
	}
}

#plans .courses table .price .text {
	color: var(--red);
	font-size: 1.2em;
}
@media screen and (max-width: 700px) {
	#plans .courses table .price .text {
		font-size: 3.2vw;
	}
}

#plans .courses table .session .text {
	font-size: 1.2em;
}
@media screen and (max-width: 700px) {
	#plans .courses table .session .text {
		font-size: 3.2vw;
	}
}

#plans .courses table .session .number span:nth-child(1) {
	font-size: 1.6em;
}
#plans .courses table .session .number span:nth-child(2) {
	font-size: 1.2em;
}
@media screen and (max-width: 700px) {
	#plans .courses table .session .number span:nth-child(1) {
		font-size: 5.4vw;
	}
	#plans .courses table .session .number span:nth-child(2) {
		font-size: 4vw;
	}
}

#plans .courses table .service {
	font-size: 1.6em;
}
@media screen and (max-width: 700px) {
	#plans .courses table .service {
		font-size: 5.4vw;
	}
}

#plans .courses ul.notes {
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 0;
	font-size: 0.85em;
	list-style-type: none;
}
#plans .courses ul.notes li::before {
	display: inline-block;
	margin-right: 4px;
	content: "※";
}

#plans .subtitle {
	margin-top: 40px;
	margin-bottom: 20px;
}

#plans .option {
	margin-bottom: 20px;
}

#plans .option .head {
	position: relative;
	margin-left: 25px;
	margin-bottom: 8px;
}
#plans .option .head::before {
	position: absolute;
	top: 0;
	left: -25px;
	content: "";
	width: 12px;
	height: 100%;
}
#plans .options .option .head::before {
	background-color: var(--orange);
}
#plans .discounts .option .head::before {
	background-color: var(--gray);
}
@media screen and (max-width: 700px) {
	#plans .option .head::before {
		left: -22px;
		width: 8px;
	}
}

#plans .option .head .name {
	font-size: 1.2em;
	font-weight: bold;
}

#plans .option .head .price {
	font-weight: bold;
}
#plans .option .head .price span:nth-child(1) {
	font-size: 1.4em;
	color: var(--red);
}
#plans .option .head .price span:nth-child(2) {
	font-size: 1.2em;
	color: var(--red);
}

#plans .option .explan {
	margin-left: 25px;
}