@charset "utf-8";

.sitemap-title {
	height: calc(200rem / var(--root-font-size));
	background: linear-gradient(to right, #68a386, #22aad9);
	display: flex;
	justify-content: center;
	align-items: center;
}

.sitemap-title h1 {
	color: white;
	font-family: var(--din);
	font-size: calc(40rem / var(--root-font-size));
	font-weight: var(--demi);
}

.sitemap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: repeat(6, auto);
	gap: calc(62rem / var(--root-font-size)) 0;
	width: calc(945rem / var(--root-font-size));
	padding: calc(100rem / var(--root-font-size)) calc(50% - calc(945rem / var(--root-font-size) / 2));
}

/* 配置調整 */

/* 左列 */
.home {
	grid-column: 1;
	grid-row: 1;
}

.overview {
	grid-column: 1;
	grid-row: 2;
}

.course-of-study {
	grid-column: 1;
	grid-row: 3;
}

.career-and-employment {
	grid-column: 1;
	grid-row: 4;
}

.entrance-exam {
	grid-column: 1;
	grid-row: 5;
}

.for-campus-sites {
	grid-column: 1;
	grid-row: 6;
}

/* 右列 */
.graduate-school {
	grid-column: 2;
	grid-row: 1 / span 5;
}

.links {
	grid-column: 2;
	grid-row: 6;
}

.sitemap h2,
.sitemap h3 {
	margin: 0;
}

.sitemap h2 {
	border-bottom: calc(2rem / var(--root-font-size)) var(--cat-all) solid;
}

.sitemap h2,
.sitemap h2 a,
.sitemap h3 a,
.sitemap li a {
	font-family: var(--noto);
	text-decoration: none;
}

.sitemap h2,
.sitemap h2 a {
	font-size: calc(18rem / var(--root-font-size));
	font-weight: var(--medium);
	color: var(--cat-all);
	transition: 0.3s;
}

.sitemap h3 a {
	font-size: calc(16rem / var(--root-font-size));
	font-weight: var(--medium);
	color: #000;
	transition: 0.3s;
}

.sitemap ul {
	display: flex;
	flex-direction: column;
	gap: calc(2.4rem / var(--root-font-size));
	margin: 0;
	margin-top: calc(6.5rem / var(--root-font-size));
	padding-left: 0;
}

.sitemap li {
	list-style: none;
	margin-left: calc(10rem / var(--root-font-size));
}

.sitemap li a {
	font-size: calc(14rem / var(--root-font-size));
	font-weight: var(--regular);
	color: #000;
	transition: 0.3s;
}

.sitemap .link::after {
	margin-bottom: calc(-1rem / var(--root-font-size));
}

.sitemap h2 a:hover {
	color: #00653680;
}

.sitemap li a:hover,
.sitemap h3 a:hover {
	color: #8b8b8b;
}

.sitemap .link:hover::after {
	filter: invert(75%);
}

.sitemap > div:nth-child(-n+6),
.sitemap > div:nth-child(-n+6) h2 {
	width: calc(418rem / var(--root-font-size));
}

.sitemap > .graduate-school {
	padding-left: calc(96rem / var(--root-font-size));
}

.sitemap > .for-campus-sites,
.sitemap > .for-campus-sites h2 {
	width: calc(364rem / var(--root-font-size));
}

.sitemap > .links,
.sitemap > .links h2 {
	width: calc(514rem / var(--root-font-size));
}

.sitemap > .links ul {
	display: grid;
	grid-template-columns: auto auto;
}

.sitemap > .links ul li:nth-child(-n+3) {
	grid-column: 1;
}

.sitemap > .links ul li:nth-child(4) {
	grid-column: 2;
	grid-row: 1;
}

.sitemap > .links ul li:nth-child(5) {
	grid-column: 2;
	grid-row: 2;
}

.sitemap > .links ul li:nth-child(6) {
	grid-column: 2;
	grid-row: 3;
}

.sitemap .overview h2,
.sitemap .course-of-study h2 {
	letter-spacing: 1em;
}

.sitemap .course-of-study .courses {
	margin-bottom: calc(30rem / var(--root-font-size));
}

.sitemap .course-of-study .courses li {
	margin-left: 0;
}

.sitemap .graduate-school > div {
	margin-left: calc(10rem / var(--root-font-size));
}

.sitemap .graduate-school .applied-chemistry {
	margin-top: calc(6.5rem / var(--root-font-size));
}

.sitemap .graduate-school .chemical-engineering,
.sitemap .graduate-school .bioengineering,
.sitemap .graduate-school .environmental-studies {
	margin-top: calc(46rem / var(--root-font-size));
}

.sitemap .graduate-school .field span:last-child {
	display: inline;
}

.sitemap .entrance-exam span:first-child {
	display: block;
}

/* SP */
@media screen and (width <= 991px) {
	.sitemap {
		display: flex;
		flex-direction: column;
		width: calc(650rem / var(--root-font-size));
		padding: calc(100rem / var(--root-font-size)) calc(50% - calc(650rem / var(--root-font-size) / 2));
	}

	.sitemap h2,
	.sitemap h2 a {
		font-size: calc(36rem / var(--root-font-size));
		display: flex;
		align-items: center;
		height: calc(46rem / var(--root-font-size));
	}

	.sitemap h2 {
		border-bottom: calc(4rem / var(--root-font-size)) var(--cat-all) solid;
		padding-bottom: calc(12rem / var(--root-font-size));
	}

	.sitemap h3 a {
		font-size: calc(32rem / var(--root-font-size));
	}

	.sitemap h3,
	.sitemap li {
		display: flex;
		align-items: center;
		margin-top: 0;
		margin-left: 0;
		min-height: calc(90rem / var(--root-font-size));
		border-bottom: calc(2rem / var(--root-font-size)) #8b8b8b solid;
	}

	.sitemap ul {
		margin-top: 0;
	}

	.sitemap li a {
		font-size: calc(28rem / var(--root-font-size));
		width: 100%;
	}

	.sitemap > div,
	.sitemap > div h2 {
		width: 100% !important;
	}

	.sitemap li:has(.courses) {
		align-items: flex-start;
		height: auto;
		border-bottom: none;
	}

	.sitemap .course-of-study .courses {
		width: 100%;
		margin-bottom: calc(90rem / var(--root-font-size));
	}

	.sitemap > .graduate-school {
		padding-left: 0;
	}

	.sitemap > .graduate-school div {
		margin: 0;
	}

	.sitemap .graduate-school .field {
		padding: calc(25rem / var(--root-font-size)) 0 calc(25rem / var(--root-font-size)) calc(30rem / var(--root-font-size));
	}

	.sitemap .graduate-school .field span:last-child {
		display: block;
	}

	.sitemap > .links ul {
		display: flex;
	}

	/* 進路・就職、入試情報と大学院の位置を入れ替え */
	.sitemap .off-campus > div {
		order: 0;
	}

	.sitemap .off-campus .graduate-school {
		order: 1;
	}

	.sitemap .off-campus .career-and-employment {
		order: 2;
	}

	.sitemap .off-campus .entrance-exam {
		order: 3;
	}
}
