@charset "utf-8";

footer {
	font-family: var(--noto);
	font-weight: var(--regular);
	display: flex;
	justify-content: space-between;
	width: calc(1160rem / var(--root-font-size));
	height: calc(460rem / var(--root-font-size));
	padding: 0 calc(50% - calc(1160rem / var(--root-font-size) / 2));
	background-color: #eeefee;
}

/* 共通部分 */
footer a {
	color: #000;
	text-decoration: none;
}

/* 左側 */
.footer-logo {
	height: calc(348rem / var(--root-font-size));
	margin: auto 0;
}

.footer-logo img {
	width: calc(316rem / var(--root-font-size));
	height: auto;
}

.footer-logo .buttons a,
.footer-logo .links a,
.footer-logo .copyright small {
	font-size: calc(12rem / var(--root-font-size));
}

.footer-logo .buttons ul {
	display: flex;
	gap: calc(25rem / var(--root-font-size));
	margin: calc(30rem / var(--root-font-size)) 0 0;
	padding: 0;
}

.footer-logo .buttons ul li {
	list-style: none;
}

.footer-logo .buttons ul a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(140rem / var(--root-font-size));
	height: calc(30rem / var(--root-font-size));
	background-color: #fff;
	color: #000;
	text-decoration: none;
	box-shadow: inset 0 0 0 calc(1rem / var(--root-font-size)) var(--cat-all);
	border-radius: calc(15rem / var(--root-font-size));
}

.footer-logo .buttons ul a:hover {
	color: #fff;
	background-color: var(--cat-all);
}

.footer-logo .buttons ul .link::after {
	transition: none;
}

.footer-logo .buttons ul .link:hover::after {
	background-image: url('/img/common2/icon_link_W.webp');
}

.footer-logo .links > ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(20rem / var(--root-font-size));
	width: calc(250rem / var(--root-font-size));
	margin-top: calc(30rem / var(--root-font-size));
	padding-left: 0;
}

.footer-logo .links > ul li {
	list-style: none;
}

.footer-logo .links > ul a {
	color: #000;
	text-decoration: none;
	transition: 0.3s;
	display: block;
	width: fit-content;
}

.footer-logo .links > ul a:hover {
	color: #8b8b8b;
}

.footer-logo .copyright {
	margin-top: calc(55rem / var(--root-font-size));
	margin-bottom: 0;
}

/* 右側 */
.footer-nav {
	display: flex;
	flex-wrap: wrap;
	height: calc(348rem / var(--root-font-size));
	margin: auto 0;
}

.footer-nav .off-campus,
.footer-nav .for-campus {
	padding-left: 0;
}

.footer-nav .off-campus li,
.footer-nav .for-campus li {
	list-style: none;
}

.footer-nav .off-campus {
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: repeat(3, auto);
	gap: calc(5rem / var(--root-font-size)) calc(50rem / var(--root-font-size));
	height: calc(348rem / var(--root-font-size));
	margin: auto calc(50rem / var(--root-font-size));
}

.footer-nav .off-campus h4 {
	margin: 0;
	font-weight: var(--regular);
}

.footer-nav .off-campus .caption::after {
	content: '';
	background-image: url('/img/common2/icon_arrow2.webp');
	background-size: calc(18rem / var(--root-font-size));
	background-repeat: no-repeat;
	display: inline-block;
	width: calc(18rem / var(--root-font-size));
	height: calc(18rem / var(--root-font-size));
	margin-left: calc(5rem / var(--root-font-size));
	margin-bottom: calc(-2rem / var(--root-font-size));
	transition: 0.3s;
}

.footer-nav .off-campus .contents {
	display: flex;
	flex-direction: column;
	border-left: calc(1rem / var(--root-font-size)) solid #000;
	margin: 0 0 0 calc(10rem / var(--root-font-size));
	padding-left: calc(10rem / var(--root-font-size));
}

.footer-nav .off-campus .caption:hover::after {
	filter: invert(75%);
}

.footer-nav .off-campus .overview {
	grid-column: 1;
	grid-row: 1;
}

.footer-nav .off-campus .course-of-study {
	grid-column: 1;
	grid-row: 2 / span 2;
}

.footer-nav .off-campus .graduate-school {
	grid-column: 2;
	grid-row: 1;
}

.footer-nav .off-campus .career-and-employment {
	grid-column: 2;
	grid-row: 2;
}

.footer-nav .off-campus .entrance-exam {
	grid-column: 2;
	grid-row: 3;
}

.footer-nav .off-campus .entrance-exam .contents li:nth-child(2) {
	margin-bottom: calc(5rem / var(--root-font-size));
}

.footer-nav .off-campus .entrance-exam .contents li:nth-child(3) .content > span:first-child {
	margin-bottom: calc(-5rem / var(--root-font-size));
}

.footer-nav .caption {
	font-size: calc(18rem / var(--root-font-size));
}

.footer-nav .content {
	font-size: calc(12rem / var(--root-font-size));
	margin-top: calc(5rem / var(--root-font-size));
}

.footer-nav .content span:nth-of-type(1) {
	display: block;
}

.footer-nav .courses {
	display: flex;
	flex-direction: column;
	margin-bottom: calc(20rem / var(--root-font-size));
	padding: 0;
}

.footer-nav .for-campus {
	margin: 0;
}

.footer-nav .for-campus .top,
.footer-nav .for-campus .bottom {
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;
}

.footer-nav .for-campus .bottom {
	border-top: calc(1rem / var(--root-font-size)) solid #000;
	margin-top: calc(15rem / var(--root-font-size));
	padding-top: calc(10rem / var(--root-font-size));
}

.footer-nav .off-campus a,
.footer-nav .for-campus a {
	transition: 0.3s;
}

.footer-nav .off-campus a:hover,
.footer-nav .for-campus a:hover {
	color: #8b8b8b;
}

.footer-nav .off-campus .link:hover::after,
.footer-nav .for-campus .link:hover::after {
	filter: invert(75%);
}

/* SP */
@media screen and (width <= 991px) {
	footer {
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
		width: calc(750rem / var(--root-font-size));
		padding: 0 calc(50% - calc(750rem / var(--root-font-size) / 2));
		height: auto;
	}

	.footer-logo {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: calc(648rem / var(--root-font-size));
		height: auto;
		padding-bottom: calc(50rem / var(--root-font-size));
	}

	.footer-logo img {
		width: calc(650rem / var(--root-font-size));
		height: calc(218rem / var(--root-font-size));
	}

	.footer-logo .buttons ul {
		width: calc(650rem / var(--root-font-size));
	}

	.footer-logo .buttons ul a {
		font-size: calc(26rem / var(--root-font-size));
		width: calc(300rem / var(--root-font-size));
		height: calc(60rem / var(--root-font-size));
		border-radius: calc(30rem / var(--root-font-size));
	}

	.footer-logo .buttons ul .link::after {
		margin-bottom: calc(-2.5rem / var(--root-font-size));
	}

	.footer-logo .links ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: calc(20rem / var(--root-font-size)) calc(30rem / var(--root-font-size));
		width: calc(600rem / var(--root-font-size));
		margin-bottom: 0;
	}

	.footer-logo .links ul a {
		font-size: calc(24rem / var(--root-font-size));
		text-align: center;
	}

	.footer-logo .links ul li:nth-child(2n-1) a {
		width: calc(260rem / var(--root-font-size));
	}

	.footer-logo .links ul li:nth-child(2n) a {
		width: calc(300rem / var(--root-font-size));
	}

	.footer-logo .copyright {
		margin-top: calc(60rem / var(--root-font-size));
	}

	.footer-logo .copyright small {
		display: block;
		font-size: calc(20rem / var(--root-font-size));
		height: calc(26rem / var(--root-font-size));
	}

	.footer-nav {
		align-items: center;
		width: calc(648rem / var(--root-font-size));
		height: auto;
		padding: calc(100rem / var(--root-font-size)) calc(50% - calc(750rem / var(--root-font-size) / 2)) calc(32rem / var(--root-font-size));
	}

	.footer-nav .off-campus {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		grid-template-rows: 1fr 1fr;
		justify-content: center;
		gap: calc(50rem / var(--root-font-size)) 0;
		width: calc(480rem / var(--root-font-size));
		height: auto;
		margin: auto;
	}

	.footer-nav .off-campus .caption::after,
	.footer-nav .off-campus .contents {
		display: none;
	}

	.footer-nav .off-campus .graduate-school .caption,
	.footer-nav .off-campus .entrance-exam .caption {
		border-right: calc(3rem / var(--root-font-size)) solid #000;
	}

	.footer-nav .off-campus .overview,
	.footer-nav .off-campus .course-of-study,
	.footer-nav .off-campus .graduate-school {
		grid-row: 1;
	}

	.footer-nav .off-campus .overview .caption,
	.footer-nav .off-campus .course-of-study .caption,
	.footer-nav .off-campus .graduate-school .caption {
		width: calc(156rem / var(--root-font-size));
	}

	.footer-nav .off-campus .career-and-employment,
	.footer-nav .off-campus .entrance-exam {
		grid-row: 2;
	}

	.footer-nav .off-campus .career-and-employment .caption,
	.footer-nav .off-campus .entrance-exam .caption {
		width: calc(236rem / var(--root-font-size));
	}

	.footer-nav .off-campus .overview {
		grid-column: 1 / span 2;
	}

	.footer-nav .off-campus .course-of-study {
		grid-column: 3 / span 2;
	}

	.footer-nav .off-campus .graduate-school {
		grid-column: 5 / span 2;
	}

	.footer-nav .off-campus .career-and-employment {
		grid-column: 1 / span 3;
	}

	.footer-nav .off-campus .entrance-exam {
		grid-column: 4 / span 3;
	}

	.footer-nav .off-campus .caption {
		font-size: calc(36rem / var(--root-font-size));
		display: flex;
		justify-content: center;
		align-items: center;
		border-left: calc(3rem / var(--root-font-size)) solid #000;
		height: calc(40rem / var(--root-font-size));
	}

	.footer-nav .content {
		font-size: calc(24rem / var(--root-font-size));
	}

	.footer-nav .for-campus {
		width: calc(648rem / var(--root-font-size));
		padding: calc(80rem / var(--root-font-size)) calc(50% - calc(750rem / var(--root-font-size) / 2)) calc(32rem / var(--root-font-size));
	}

	.footer-nav .for-campus .top,
	.footer-nav .for-campus .bottom {
		display: flex;
		flex-direction: column;
		justify-content: space-evenly;
	}

	.footer-nav .for-campus .top {
		height: calc(250rem / var(--root-font-size));
		border-top: calc(1rem / var(--root-font-size)) solid #000;
		padding-top: calc(10rem / var(--root-font-size));
	}

	.footer-nav .for-campus .top .content {
		padding-top: 0;
	}

	.footer-nav .for-campus .top li:nth-child(n+2) .content::before {
		content: '　   ';
	}

	.footer-nav .for-campus .bottom {
		height: calc(350rem / var(--root-font-size));
	}
}
