@charset "UTF-8";

#content {
	width: 100%;
	padding-top: 0;
}
#mainVis {
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: url(../images/top/mainvis.jpg) no-repeat center center;
	background-size: cover;
}
#mainVisTitle {
	line-height: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
#mainVis .text { font-family: "Noto Serif JP", serif; }
@media screen and (min-width:769px), print{
	#mainVis {
		height: calc(100vh - (90px + 170px));
		min-height: 500px;
	}
	#mainVisTitle {
		font-size: 15px;
		margin-top: 100px;
	}
	#mainVisTitle img { height: 40px; }
	#mainVisTitle span { margin-left: 10px; }
	#mainVis .text {
		font-size: 46px;
		margin-top: 20px;
	}
}
@media screen and (max-width:768px){
	#content { padding: 0 0 150px; }
	#mainVis { height: 106.6vw; }
	#mainVisTitle { margin-top: 35vw; }
	#mainVisTitle img { height: 20px; }
	#mainVisTitle span {
		font-size: 7.5px;
		margin-left: 1em;
	}
	#mainVis .text {
		font-size: 23px;
		margin-top: 11px;
	}
}

#topLinks ul li a {
	color: #fff;
	display: block;
	box-sizing: border-box;
}
#topLinks .new_grads a { background-color: #66ccff; }
#topLinks .career a { background-color: #49a1e6; }
#topLinks .open_co a { background-color: #56b6f3; }
#topLinks dt span { display: block; }
#topLinks dt span.ja {
	font-weight: 500;
	position: relative;
}
#topLinks dt span.ja::after {
	content: "";
	top: -50%;
	bottom: -50%;
	display: block;
	margin: auto 0;
	position: absolute;
	transform: rotate(-45deg);
	border-right: solid #fff;
	border-bottom: solid #fff;
}
@media screen and (min-width:769px), print{
	#topLinks ul {
		display: flex;
		flex-wrap: wrap;
	}
	#topLinks ul li a {
		width: 100%;
		height: 100%;
		display: flex;
		transition-duration: .3s;
		transition-property: background-color;
	}
	#topLinks ul li:nth-child(1) a:hover { background-color: #3484d5; }
	#topLinks ul li:nth-child(2) a:hover { background-color: #2568c0; }
	#topLinks ul li:nth-child(3) a:hover { background-color: #2b76cb; }
	#topLinks ul li:nth-child(1) { width: 100%; }
	#topLinks ul li:nth-child(2),
	#topLinks ul li:nth-child(3) { width: 50%; }
	#topLinks ul li:nth-child(1) a { justify-content: center; }
	#topLinks ul li:nth-child(2) a { justify-content: flex-end; padding-right: 70px; }
	#topLinks ul li:nth-child(3) a { justify-content: flex-start; padding-left: 70px; }
	#topLinks dl { padding: 65px 0; }
	#topLinks ul li:nth-child(1) dl { width: 1000px; }
	#topLinks ul li:nth-child(2) dl,
	#topLinks ul li:nth-child(3) dl { width: 430px; }
	#topLinks dt span.en { font-size: 16px; }
	#topLinks dt span.ja { font-size: 32px; }
	#topLinks dt span.ja::after {
		width: 20px;
		height: 20px;
		left: 405px;
		border-width: 1px;
	}
	#topLinks dd {
		font-size: 15px;
		line-height: 2;
		margin-top: 5px;
	}
}
@media screen and (max-width:768px){
	#topLinks ul li a { padding: 20px 25px; }
	#topLinks dt span.en { font-size: 13px; }
	#topLinks dt span.ja {
		font-size: 24px;
		margin: 5px 0 10px;
	}
	#topLinks dt span.ja::after {
		right: 0;
		width: 15px;
		height: 15px;
		border-width: 1.5px;
	}
	#topLinks dd {
		font-size: 12px;
		line-height: 22px;
		letter-spacing: 0.05em;
	}
}