@charset "UTF-8";
#inner .content .price {
	margin-top: 40px;
}
.content .price .tablewrap {
	margin-top: 80px;
}
.content .price table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 8px 8px;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	margin-left: -8px;
}

.content .price table th,
.content .price table td {
	padding: 11px 10px;
	background: #fff;
	color: #1f1717;
	text-align: center;
	width: 20%;
}

.content .price table thead th {
	background: #000;
	color: #fff;
	font-size: 15px;
	letter-spacing: .08em;
	font-weight: normal;
	text-align: center;
}
.content .price table td:empty::before {
	content: "";
}
.content .price .textstyle2 {margin-top: 20px;}
#inner .content .start {
	padding-bottom: 300px;
}
.content .start .textstyle {
	margin-top: 50px;
}
.content .start ol {display: flex;margin-top: 99px;justify-content: space-between;}
.content .start ol > li {width: 20%;display: flex;flex-direction: column;align-items: center;position: relative;}
.content .start ol > li::before {
	content: "";
	top: 60px;
	left: calc(50% - 65px);
	width: 124px;
	height: 40px;
	display: block;
	background: #fff;
	position: absolute;
	transform: rotate(-12.35deg);
	border-radius: 100px;
	transition: all ease 0.5s;
	clip-path: inset(0 100% 0 0);
}
.content .start ol > li::before {
	clip-path: inset(0 0 0 0);
}
.content .start ol > li .num {font-size: 100px;text-align: center;line-height: 1em;position: relative;}
.content .start ol > li .title {font-size: 20px;line-height: 1.5em;text-align: center;margin-top: 16px;height: 3em;}
.content .start ol > li ul {margin-top: 60px;}
.content .start ol > li ul li {font-size: 13px;line-height: 1.5em;text-indent: -1.5em;padding-left: 1.5em;}
.content .start ol > li ul li + li {
	margin-top: 12px;
}
.content .start ol > li ul li::before {
	content: "◎";
	margin-right: 0.5em;
}
.content .start .period {display: flex;justify-content: center;margin-top: 70px;border-top: 2px solid #000;}
.content .start .period span {font-size: 20px;color: #fff;background: #000;padding: 10px 70px 13px 70px;border-radius: 100px;letter-spacing: 0.1em;font-weight: 500;margin-top: -25px;}

/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {
	
	#inner .content .price {
		margin-top: 40px;
	}
	.content .price .tablewrap {
		margin-top: 30px;
		width: 100vw;
		position: relative;
		left: -6vw;
		overflow: scroll;
		padding-bottom: 5px;
	}
	.content .price table {
		width: 694px;
		border-collapse: separate;
		border-spacing: 5px 5px;
		font-size: 13px;
		font-weight: 600;
		text-align: center;
		font-family: "Montserrat", "Noto Sans JP", sans-serif;
		margin: 0 calc(6vw - 5px);
	}

	.content .price table th,
	.content .price table td {
		padding: 5px 5px;
		background: #fff;
		color: #1f1717;
		text-align: center;
		width: 20%;
	}

	.content .price table thead th {
		background: #000;
		color: #fff;
		font-size: 13px;
		letter-spacing: .08em;
		font-weight: normal;
		text-align: center;
	}
	.content .price table td:empty::before {
		content: "";
	}
	.content .price .textstyle2 {margin-top: 10px;}
	#inner .content .start {
		padding-bottom: 140px;
		padding-top: 10px;
	}
	.content .start .textstyle {
		margin-top: 50px;
	}
	.content .start ol {display: flex;margin-top: 66px;justify-content: space-between;flex-direction: column;gap: 40px 0;}
	.content .start ol > li {width: auto;display: block;padding: 0 60px 0 100px;}
	.content .start ol > li::before {
		content: "";
		top: 32px;
		left: 3px;
		width: 80px;
		height: 25px;
		display: block;
		background: #fff;
		position: absolute;
		transform: rotate(-12.35deg);
		border-radius: 100px;
		transition: all ease 0.5s;
		clip-path: inset(0 100% 0 0);
	}
	.content .start ol > li::before {
		clip-path: inset(0 0 0 0);
	}
	.content .start ol > li .num {font-size: 54px;text-align: center;line-height: 1em;position: relative;position: absolute;left: 17px;top: 0;width: 50px;text-align: center;}
	.content .start ol > li .title {font-size: 16px;line-height: 1.5em;text-align: left;margin-top: 4px;height: 3em;display: flex;align-items: center;}
	.content .start ol > li ul {margin: 14px 0 0 -20px;}
	.content .start ol > li ul li {font-size: 12px;line-height: 1.5em;text-indent: -1.5em;padding-left: 1.5em;}
	.content .start ol > li ul li + li {
		margin-top: 8px;
	}
	.content .start ol > li ul li::before {
		content: "◎";
		margin-right: 0.5em;
	}
	.content .start .period {display: flex;justify-content: center;margin-top: 70px;border-top: none;border-right: 1px solid #000;position: absolute;right: 20px;bottom: 0;top: auto;height: calc(100% - 350px);align-items: center;}
	.content .start .period span {font-size: 15px;color: #fff;background: #000;padding: 60px 7px;border-radius: 100px;letter-spacing: 0.1em;font-weight: 500;margin: 0 -20px 0 0;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;}
}