.site-footer {
	position: relative;
	min-width: 1200px;
	height: 742px;
	background: linear-gradient(180deg, #fff 0 40px, #f3f4f9 40px 100%);
	color: #000;
	overflow: hidden;
}

.site-footer::before {
	position: absolute;
	z-index: 2;
	top: 40px;
	right: 0;
	left: 0;
	height: 10px;
	background: linear-gradient(90deg, #80c700 0%, #0099aa 100%);
	content: "";
}

.site-footer__inner {
	position: relative;
	z-index: 1;
	width: 1200px;
	height: 100%;
	padding-top: 113px;
	margin: 0 auto;
}

.site-footer__wordmark {
	position: absolute;
	top: 437px;
	left: 50%;
	width: 1440px;
	height: 305px;
	transform: translateX(-50%);
	overflow: hidden;
}

.site-footer__wordmark span {
	position: absolute;
	top: 157px;
	left: 16px;
	color: #fff !important;
	font-size: 148px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -2px;
	word-spacing: 8px;
	white-space: nowrap;
}

.site-footer__page-top:hover,
.site-footer__page-top:focus-visible {
	color: #86bc25 !important;
}

.site-footer__page-top,
.site-footer__audience a,
.site-footer__contact,
.site-footer__request {
	transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.site-footer__page-top {
	position: absolute;
	z-index: 3;
	top: 0;
	right: calc((100% - 1200px) / 2 - 47px);
	width: 84px;
	height: 78px;
	background: #252525;
	color: #fff !important;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	text-align: center;
	text-decoration: none;
}

.site-footer__page-top > .ds-css-arrow {
	--ds-css-arrow-line: 1.5px;

	position: absolute;
	top: 11px;
	left: 35.25px;
	width: 13.5px;
	height: 17.5px;
	transform: rotate(-90deg);
}

.site-footer__page-top > span:last-child {
	position: absolute;
	top: 29px;
	left: 0;
	width: 100%;
}

.site-footer__actions {
	display: flex;
	align-items: center;
	height: 56px;
}

.site-footer__brand {
	display: flex;
	flex: 0 0 245px;
	align-self: center;
	align-items: center;
	gap: 7px;
	margin-right: 89px;
	color: #000;
	text-decoration: none;
}

.site-footer__brand > span {
	display: block;
	width: 127px;
	height: 39px;
	overflow: hidden;
}

.site-footer__brand > span img {
	width: 292px;
	height: 39px;
	max-width: none;
}

.site-footer__brand strong {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 111px;
	height: 32px;
	border-radius: 5px;
	background: linear-gradient(90deg, #86bc25 0 5px, #000 5px);
	color: #fff;
	font-size: 15px;
	line-height: 2;
}

.site-footer__audience {
	position: relative;
	display: grid;
	flex: 0 0 247px;
	grid-template-columns: repeat(2, 1fr);
	height: 56px;
	margin-right: 20px;
	overflow: hidden;
	border-radius: 10px;
	background: #000;
}

.site-footer__audience a {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.site-footer__audience-divider {
	position: absolute;
	top: 12.75px;
	left: 123px;
	width: 1px;
	height: 30.5px;
	background: #eaeaea;
}

.site-footer__contact,
.site-footer__request {
	display: flex;
	flex: 0 0 289px;
	align-items: center;
	justify-content: center;
	height: 56px;
	border-radius: 10px;
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

.site-footer__audience a:hover,
.site-footer__audience a:focus-visible,
.site-footer__contact:hover,
.site-footer__contact:focus-visible,
.site-footer__request:hover,
.site-footer__request:focus-visible {
	color: #fff !important;
}

.site-footer__contact {
	background: #22a1f6;
}

.site-footer__request {
	margin-left: 20px;
	background: #5cb702;
}

.site-footer__audience a:hover,
.site-footer__audience a:focus-visible {
	color: #86bc25 !important;
}

.site-footer__contact:hover,
.site-footer__contact:focus-visible {
	background: #fff;
	color: #22a1f6 !important;
	box-shadow: inset 0 0 0 1px #22a1f6;
}

.site-footer__request:hover,
.site-footer__request:focus-visible {
	background: #fff;
	color: #5cb702 !important;
	box-shadow: inset 0 0 0 1px #5cb702;
}

.site-footer__rule {
	position: absolute;
	top: 209px;
	left: 0;
	width: 1200px;
	height: 1px;
	background: repeating-linear-gradient(to right, #a1a1a1 0 2px, transparent 2px 4px);
}

.site-footer__navigation {
	display: grid;
	grid-template-columns: 572px 240px 277px;
	gap: 35px;
	padding: 0 40px;
	margin-top: 66px;
}

.site-footer__navigation h2 {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0 0 6px;
	color: #000;
	font-size: 24px;
	line-height: 2;
}

.site-footer__heading-arrow {
	display: flex;
	width: 24px;
	height: 24px;
	align-items: center;
	justify-content: center;
}

.site-footer__heading-arrow img {
	width: 13.5px;
	height: 17.5px;
}

.site-footer__navigation ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.site-footer__navigation a {
	color: #000;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	text-decoration: none;
}

.site-footer__navigation a:hover,
.site-footer__legal a:hover {
	text-decoration: underline;
}

.footer-course-column > ul {
	display: grid;
	grid-template-columns: 284px 270px;
	gap: 22px;
}

.footer-course-column > ul > li > ul,
.footer-link-column > ul {
	list-style: none;
}

.footer-course-column > ul > li > ul > li::before,
.footer-link-column > ul > li::before {
	margin-right: 4px;
	content: "・";
}

.footer-link-column__subtitle {
	margin-top: 20px !important;
}

.site-footer__navigation .footer-link-column__subtitle > a {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.site-footer__legal {
	position: absolute;
	top: 550px;
	left: 50%;
	width: 1045px;
	transform: translateX(-50%);
	text-align: center;
}

.site-footer__legal p {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 2.15;
}

.site-footer__legal a {
	color: inherit;
}
