
/* || -------------------- mv */

figure.mv {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin: 0 auto 0 auto;
}

figure.mv img.bg {
	width: 100%;
	height: 270px;
	object-fit: cover;
}
figure.mv img.text {
	position: absolute;
	top: 20px;
	left: 20px;
}
figure.mv img.en01 {
	position: absolute;
	bottom: 20px;
	left: 20px;
}
figure.mv img.en02 {
	position: absolute;
	bottom: 20px;
	left: 455px;
}

@media screen and (max-width: 960px) {
	figure.mv img.en01 {
		bottom: 56px;
	}
	figure.mv img.en02 {
		bottom: 16px;
		left: 26px;
	}
}
@media screen and (max-width: 768px) { /* ココもっと小さいピクセルでOK */
	figure.mv img.text {
		width: 320px;
	}
	figure.mv img.en01 {
		bottom: 42px;
		width: 280px;
	}
	figure.mv img.en02 {
		width: 202px;
	}
}
@media screen and (max-width: 450px) {
	figure.mv img.text {
		width: 80vw;
	}
	figure.mv img.en01 {
		width: 80vw;
	}
	figure.mv img.en02 {
		bottom: 10px;
		width: 60vw;
	}
}

/* || -------------------- wrap */

div.wrap {
	width: 100%;
	max-width: 960px;
	background-color: #fff;
	padding: 0 0 40px 0;
	margin: 0 auto 0 auto;
}

@media screen and (max-width: 960px) {
	div.wrap {
		padding: 0 20px 40px 20px;
	}
}
@media screen and (max-width: 768px) {
	div.wrap {
		padding: 30px 20px 30px 20px;
	}
}
@media screen and (max-width: 450px) {
}

/* || -------------------- container */

div.container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	max-width: 890px;
	margin: 0 auto 0 auto;
}

/* || -------------------- h2 */

h2 {
	position: relative;
	width: 100%;
	font-size: 1.4em;
	padding: 0 0 6px 0;
	margin: 0 0 10px 0;
}
h2:before ,
h2:after {
	content: "";
	display: block;
	position: absolute;
	height: 4px;
}
h2:before {
	bottom: 0;
	width: 100px;
	background-color: #3189E1;
	z-index: 2;
}
h2:after {
	bottom: 0;
	width: 100%;
	background-color: #D6D6D6;
	z-index: 1;
}

/* || -------------------- container > topics */

div.topics {
	width: calc(100% - 270px);
}
div.topics ul {
	width: 100%;
}
div.topics ul li {
	border-bottom: 1px solid #97BAE0;
}
div.topics ul li a {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	padding: 6px 6px 6px 6px;
}

div.topics ul li a span.date {
	font-size: 0.85em;
	margin: 0 10px 0 0;
}
div.topics ul li a span.icon {
	width: 54px;
	color: #fff;
	font-size: 0.7em;
	text-align: center;
	border-radius: 2px;
	padding: 2px;
	margin: 0 10px 0 0;
}
div.topics ul li a span.icon.news {
	background-color: #EA5413;
}
div.topics ul li a span.icon.event {
	background-color: #FDAD4B;
}
div.topics ul li a span.icon.info {
	background-color: #009475;
}
div.topics ul li a span.icon.recruit {
	background-color: #30A5E8;
}
div.topics ul li a span.icon.important {
	background-color: #E60012;
}

div.topics ul li a p {
	width: calc(100% - 160px);
	font-size: 0.85em;
}

@media screen and (max-width: 960px) {
	div.topics {
		width: calc(100% - 250px);
	}
}
@media screen and (max-width: 768px) {
	div.topics {
		width: 100%;
		margin: 0 0 20px 0;
	}
}
@media screen and (max-width: 480px) {
	div.topics ul li a p {
		width: 100%;
		padding: 6px 0 0 0;
	}
}
@media screen and (max-width: 450px) {
}

/* || -------------------- container > banner */

div.banner {
	width: 100%;
	max-width: 230px;
}
div.banner ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
}
div.banner ul li {
	width: 100%;
	max-width: 230px;
	margin: 0 0 8px 0;
}

@media screen and (max-width: 960px) {
}
@media screen and (max-width: 768px) {
	div.banner {
		max-width: unset;
	}
	div.banner ul li {
		width: 32%;
	}
}
@media screen and (max-width: 670px) {
	div.banner ul {
		justify-content: flex-start;
	}
	div.banner ul li {
		width: 48%;
		margin: 0 8px 8px 0;
	}
}
@media screen and (max-width: 450px) {
	div.banner ul li {
			width: 49%;
			margin: 0 1% 8px 0;
	}
}

/* || -------------------- link */

div.link {
	content: "";
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	max-width: 960px;
}
div.link.company {
	background: rgba(28,85,167,1);
	padding: 30px 30px 32px 30px;
	margin: 0 auto 0 auto;
}
div.link.group {
	background : linear-gradient(180deg, rgba(28, 85, 167, 1) 0%, rgba(28, 85, 167, 1) 70%, rgba(14, 168, 239, 1) 100%);
	padding: 0 30px 34px 30px;
	margin: -2px auto 0 auto;
}

div.link div.label {
	position: relative;
	width: 130px;
	height: 35px;
	clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
	background-color: #fff;
	margin: 0 20px 0 0;
}
div.link div.label:before {
	content: "";
	position: absolute;
	top: 1px;
	left: 1px;
	display: block;
	width: 127.5px;
	height: 33px;
	clip-path: polygon(0 0, 100% 0, 90.4% 100%, 0% 100%);
	background : linear-gradient(90deg, rgba(28, 85, 167, 1) 0%, rgba(14, 168, 239, 1) 100%);
}
div.link div.label p {
	position: relative;
	width: 100%;
	color: #fff;
	font-family: "Spectral", serif;
	font-size: 1.2em;
	font-weight: 200;
	letter-spacing: 1px;
	line-height: 35px;
	padding: 0 0 0 8px;
	z-index: 10;
}

div.link ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: calc(100% - 150px);
}
div.link ul li {
	width: 100%;
	max-width: 230px;
	margin: 0 12px 0 0;
}
div.link ul li:last-child {
	margin: 0 0 0 0;
}

div.link a {
	width: 100%;
	border-radius: 6px;
	background : linear-gradient(0deg, rgba(19, 126, 237, 1) 1.31%, rgba(28, 85, 167, 1) 48.91%, rgba(1, 39, 92, 1) 100%);
	padding: 3px;
}
div.link ul li.fsg a {
	letter-spacing: -2px;
}

div.link a p {
	position: relative;
	width: 100%;
	font-size: 0.8em;
	text-align: center;
	border-radius: 4px;
	padding: 8px 4px;
}
div.link.company a p {
	border: 1px solid #FFE8A6;
	background-color: #FFDC26;
}
div.link.group a p {
	border: 1px solid #7DC0DE;
	background-color: #48B2DE;
}

div.link a p:before ,
div.link a p:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
}
div.link a p:before {
	top: 0;
	left: 0;
	height: 14px;
	background-color: rgba(255,255,255,0.3);
	border-radius: 4px 4px 0 0;
}
div.link a p:after {
	top: 14px;
	left: 0;
	height: 23px;
	background-color: rgba(255,255,255,0.3);
	clip-path: ellipse(50% 30% at 50% 0%);
	transition: 0.2s;
}
div.link a:hover p:after {
	clip-path: ellipse(100% 130% at 50% 0%);
	border-radius: 0 0 4px 4px;
}
div.link a p span {
	position: relative;
	z-index: 10;
}

@media screen and (max-width: 960px) {
	div.link ul li {
		width: 32%;
		max-width: unset;
		margin: 0 2% 0 0;
	}
}
@media screen and (max-width: 870px) {
	div.link ul li {
		width: 100%;
		margin: 0 0 0 0;
	}
}
@media screen and (max-width: 500px) {
	div.link div.label {
		margin: 0 0 10px 0;
	}
	div.link ul {
		width: 100%;
	}
}


/* 
@media screen and (max-width: 960px) {
	div.link ul li {
		margin: 0 12px 8px 0;
	}
	div.link ul li:last-child {
		margin: 0 12px 8px 0;
	}
}
@media screen and (max-width: 940px) {
	div.link div.label {
		margin: 0 0 12px 0;
	}
	div.link ul {
		width: 100%;
	}
	div.link ul li:last-child {
		margin: 0 0 8px 0;
	}
}
@media screen and (max-width: 768px) {
	div.link.company {
		padding: 20px 20px 20px 20px;
	}
	div.link.group {
		padding: 0 20px 30px 20px;
	}
}
@media screen and (max-width: 450px) {
	div.link div.label {
		margin: 0 20px 14px 0;
	}
	div.link ul {
		width: 100%;
	}
}
*/





































































































