/* --------------------------------------------------
	sec
-------------------------------------------------- */
.sec {
	padding-top: 80px;
}

.sec__inner {
	margin: 0 auto;
	width: 1040px;
}

.sec__title {
	margin-bottom: 45px;
	height: 70px;
	line-height: 1;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	border-top: solid 1px rgb(var(--blk));
	border-bottom: solid 1px rgb(var(--blk));
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 1280px) {
	.sec {
		padding-top: 6.25vw;
	}

	.sec__inner {
		width: 81.25vw;
	}

	.sec__title {
		margin-bottom: 3.516vw;
		height: 5.469vw;
		font-size: 2.5vw;
	}
}

@media screen and (max-width: 768px) {
	.sec {
		padding-top: 12vw;
	}

	.sec__inner {
		width: 90.667vw;
	}

	.sec__title {
		margin-bottom: 5.333vw;
		height: 16vw;
		font-size: 6.4vw;
	}
}

/* --------------------------------------------------
	bg-gre
-------------------------------------------------- */
.bg-gre {
	background-color: rgb(var(--gre));
	color: rgb(var(--wht));
}

.bg-gre .sec__title {
	height: auto;
	font-size: 48px;
	border: none;
	flex-direction: column;
}

.bg-gre .sec__title::before {
	background-color: rgb(var(--wht));
	margin: 0 auto 40px;
	width: 100px;
	height: 6px;
	display: block;
	content: "";
}

@media screen and (max-width: 1280px) {
	.bg-gre .sec__title {
		font-size: 3.75vw;
	}

	.bg-gre .sec__title::before {
		margin-bottom: 3.125vw;
		width: 7.813vw;
		height: 0.469vw;
	}
}

@media screen and (max-width: 768px) {
	.bg-gre .sec__title {
		line-height: 1.6;
		font-size: 8.533vw;
	}

	.bg-gre .sec__title::before {
		margin-bottom: 7.2vw;
		width: 18.667vw;
		height: 1.6vw;
	}
}

/* --------------------------------------------------
	entry
-------------------------------------------------- */
.entry {
	padding-top: 80px;
	text-align: center;
}

.entry__list--item:not(:last-of-type) {
	margin-bottom: 48px;
}

.entry__list--item .link-text {
	padding-bottom: 5px;
	font-size: 24px;
	text-decoration: none;
	border-bottom: dotted 3px rgb(var(--wht));
}

@media screen and (max-width: 1280px) {
	.entry {
		padding-top: 6.25vw;
	}

	.entry__list--item:not(:last-of-type) {
		margin-bottom: 3.75vw;
	}

	.entry__list--item .link-text {
		padding-bottom: 0.391vw;
		font-size: 1.875vw;
	}
}

@media screen and (max-width: 768px) {
	.entry {
		padding-top: 5.6vw;
	}

	.entry__list--item:not(:last-of-type) {
		margin-bottom: 6.4vw;
	}

	.entry__list--item .link-text {
		font-size: 4.267vw;
	}
}

/* --------------------------------------------------
	check
-------------------------------------------------- */
.check {
	text-align: center;
}

.check__lead {
	margin-bottom: 30px;
	font-size: 24px;
}

.check .note {
	margin-bottom: 40px;
}

.check__image {
	margin: 0 auto 36px;
	width: 920px;
}

.check__title {
	margin: 0 auto 60px;
	width: 755px;
}

.check .link-button {
	background: none;
	margin: 0 auto;
	width: 690px;
	height: 68px;
	border: solid 1px rgb(var(--wht));
	border-radius: 68px;
}

.check .link-button::after {
	background-color: rgb(var(--wht));
	width: 14px;
	height: 20px;
	clip-path: polygon(100% 50%, 0 0, 0 100%);
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	content: "";
}

@media screen and (max-width: 1280px) {
	.check__lead {
		margin-bottom: 2.344vw;
		font-size: 1.875vw;
	}

	.check .note {
		margin-bottom: 3.125vw;
	}

	.check__image {
		margin-bottom: 2.813vw;
		width: 71.875vw;
	}

	.check__title {
		margin-bottom: 4.688vw;
		width: 58.984vw;
	}

	.check .link-button {
		width: 53.906vw;
		height: 5.313vw;
		border-radius: 5.313vw;
	}

	.check .link-button::after {
		width: 1.094vw;
		height: 1.563vw;
		right: 1.563vw;
	}
}

@media screen and (max-width: 768px) {
	.check__lead {
		margin-bottom: 5.333vw;
		font-size: 4.267vw;
	}

	.check .note {
		margin-bottom: 4.8vw;
	}

	.check__image {
		margin-bottom: 4.8vw;
		width: 90.667vw;
	}

	.check__title {
		margin-bottom: 6.4vw;
		width: 80vw;
	}

	.check .link-button {
		width: 76.267vw;
		height: 10.667vw;
		border-radius: 10.667vw;
	}

	.check .link-button::after {
		width: 1.333vw;
		height: 2.133vw;
		right: 4vw;
	}
}

/* --------------------------------------------------
	steps
-------------------------------------------------- */
.steps {
	padding-bottom: 80px;
}

.steps__list--item {
	background-color: rgb(var(--wht));
	color: rgb(var(--blk));
	border-radius: 18px;
	display: flex;
	position: relative;
}

.steps__list--item:not(:last-of-type) {
	margin-bottom: 72px;
}

.steps__list--item:not(:last-of-type)::after {
	background-color: rgb(var(--wht));
	width: 94px;
	height: 24px;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	position: absolute;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
	content: "";
}

.steps__title {
	padding: 34px 0;
	width: 337px;
	font-size: 32px;
	font-weight: 500;
	border-right: solid 4px rgb(var(--gre));
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.steps__title img {
	margin-top: 18px;
	width: 160px;
	border: solid 5px rgb(var(--ora));
	border-radius: 100%;
	display: inline-block;
}

.steps__content {
	width: calc(100% - 337px);
	padding-left: 86px;
	font-size: 24px;
	font-weight: 500;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.steps__content .text {
	width: 528px;
}

.steps__content .link-text {
	margin-top: 64px;
	padding-bottom: 5px;
	width: auto;
	font-size: 24px;
	text-decoration: none;
	border-bottom: dotted 3px rgb(var(--blk));
}

@media screen and (max-width: 1280px) {
	.steps {
		padding-bottom: 6.25vw;
	}

	.steps__list--item {
		border-radius: 1.406vw;
	}

	.steps__list--item:not(:last-of-type) {
		margin-bottom: 5.625vw;
	}

	.steps__list--item:not(:last-of-type)::after {
		width: 7.344vw;
		height: 1.875vw;
		bottom: -3.906vw;
	}

	.steps__title {
		padding: 2.656vw 0;
		width: 26.328vw;
		font-size: 2.5vw;
		border-right-width: 0.313vw;
	}

	.steps__title img {
		margin-top: 1.406vw;
		width: 12.5vw;
		border-width: 0.391vw;
	}

	.steps__content {
		width: calc(100% - 26.328vw);
		padding-left: 6.719vw;
		font-size: 1.875vw;
	}

	.steps__content .text {
		width: 41.25vw;
	}

	.steps__content .link-text {
		margin-top: 5vw;
		padding-bottom: 0.391vw;
		font-size: 1.875vw;
	}
}

@media screen and (max-width: 768px) {
	.steps {
		padding-bottom: 12vw;
	}

	.steps__list--item {
		border-radius: 4.8vw;
		flex-direction: column;
	}

	.steps__list--item:not(:last-of-type) {
		margin-bottom: 16vw;
	}

	.steps__list--item:not(:last-of-type)::after {
		width: 15.467vw;
		height: 4vw;
		bottom: -10.133vw;
	}

	.steps__title {
		padding: 6.133vw 0;
		width: 100%;
		font-size: 6.4vw;
		border-right: none;
		border-bottom: solid 4px rgb(var(--gre));
	}

	.steps__title img {
		margin-top: 18px;
		width: 32vw;
		border-width: 1.333vw;
	}

	.steps__content {
		width: 100%;
		padding: 6.4vw 5.333vw;
		font-size: 4.267vw;
	}

	.steps__content .text {
		width: 100%;
	}

	.steps__content .link-text {
		margin-top: 4vw;
		padding-bottom: 1.333vw;
		font-size: 4.267vw;
	}
}

/* --------------------------------------------------
	courses
-------------------------------------------------- */
.courses {
	text-align: center;
}

.courses__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.courses__list--item {
	margin-bottom: 30px;
	width: calc((100% - 16px) / 2);
}

.courses__list--item:not(:last-of-type):nth-child(odd) {
	margin-right: 16px;
}

.courses__list--item .link-button {
	background-size: 30px auto;
	width: 100%;
	height: 72px;
	font-size: 24px;
}

@media screen and (max-width: 1280px) {
	.courses__list--item {
		margin-bottom: 2.344vw;
		width: calc((100% - 1.25vw) / 2);
	}

	.courses__list--item:not(:last-of-type):nth-child(odd) {
		margin-right: 1.25vw;
	}

	.courses__list--item .link-button {
		background-size: 2.344vw auto;
		height: 5.625vw;
		font-size: 1.875vw;
	}
}

@media screen and (max-width: 768px) {
	.courses__list {
		margin: 0 auto;
		width: 68.267vw;
		flex-direction: column;
	}

	.courses__list--item {
		margin-bottom: 5.333vw;
		width: 100%;
	}

	.courses__list--item:not(:last-of-type):nth-child(odd) {
		margin-right: 0;
	}

	.courses__list--item .link-button {
		background-size: 5.333vw auto;
		height: 10.667vw;
		font-size: 4.267vw;
	}
}

/* --------------------------------------------------
	terms
-------------------------------------------------- */
.terms {
	color: #000;
}

.terms__list--title {
	font-size: 20px;
	font-weight: 500;
}

.terms__list--title::before {
	content: "■";
}

.terms__list--content {
	font-size: 16px;
	letter-spacing: -0.025em;
}

.terms__list--content:not(:last-of-type) {
	margin-bottom: 40px;
}

.terms__list--content .table th {
	padding-right: 1em;
}

@media screen and (max-width: 1280px) {
	.terms__list--title {
		font-size: 1.563vw;
	}

	.terms__list--content {
		font-size: 1.25vw;
	}

	.terms__list--content:not(:last-of-type) {
		margin-bottom: 3.125vw;
	}
}

@media screen and (max-width: 768px) {
	.terms__list--title {
		font-size: 4.267vw;
	}

	.terms__list--content {
		font-size: 3.2vw;
	}

	.terms__list--content:not(:last-of-type) {
		margin-bottom: 8vw;
	}
}