@charset "utf-8";

/* ---------------------------------------- visual */

@media (max-width: 390px) {

	#visual { 
		background: url( ../images/sp/visual-sp.jpg ) no-repeat center center;
		background-size: cover;
	}

}

@media (min-width: 391px) {

	#visual { 
		background: url( ../images/pc/visual-pc.jpg ) no-repeat center center;
		background-size: cover;
	}

}

/* ---------------------------------------- media */

#media { 
	background: var( --navy-color ); 
}
#media li { 
	background: #fff; 
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#media li:hover {
	background: #E4EFF8;
}
#media li a { 
	display: block; 
}

#media ul li .image { 
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	aspect-ratio: 1 / 0.563;
	overflow: hidden;
	position: relative;
}
#media ul li .image::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba( 38, 62, 80, .6 );
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	mix-blend-mode: normal;
}
#media ul li .image > img,
#media ul li .image > picture {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
}
#media ul li .image .imgtt { 
	color: #fff;
	font-weight: 600; 
	text-align: left;
	line-height: 1.6;
	position: relative;
	z-index: 10;
}
#media ul li .image .logo { 
	width: 29%;
	max-width: 95px;
	position: relative;
	z-index: 10;
}

#media ul li .inside .catday {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#media li .cate span { 
	display: inline-block;
	color: #008DDF;
	font-weight: 600; 
	background: #E4EFF8;
	padding: 2px 4px;
	margin: 0 0 .5em;
}
#media ul li .inside .catday span:first-child {
	display: inline-block;
	color: #008DDF;
	background: #E4EFF8;
	font-weight: 600;
	padding: 4px 8px;
}
#media ul li .inside .catday span:last-child {
	color: #666;
}
#media ul li .inside .subtt { 
	color: #041725;
	font-weight: 600; 
	line-height: 1.6;
}

@media (max-width: 767px) {

	#media {
		padding: 30px 16px;
	}
	#media ul { 
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#media ul li {
		width: 358px;
		margin: 0 0 16px;
	}
	#media li figure { 
		margin: 0 0 1em;
	}
	#media ul li .image {
		padding: 1em 1.5em;
	}
	#media ul li .image .imgtt { 
		font-size: 2rem;
	}

	#media ul li .inside {
		padding: 12px 16px 16px;
	}
	#media ul li .inside .catday {
		font-size: 1.4rem;
		margin: 0 0 10px;
	}
	#media ul li .inside .catday span:first-child { font-size: 1.2rem; }
	#media ul li .inside .subtt {
		font-size: 1.6rem;
		line-height: 1.6;
	}

}

@media (min-width: 390px) and (max-width:767px) {

	#media ul li {
		margin: 0 16px 16px;
	}

}

@media (min-width: 768px) {

	#media {
		padding: 120px 16px;
	}
	#media .inner {
		max-width: 1170px;
		margin: 0 auto;
	}
	#media ul { 
		display: flex;
		flex-wrap: wrap;
	}
	#media ul li {
		width: 374px;
	}
	#media ul li .image {
		padding: 1em 1.5em;
	}
	#media ul li .image .imgtt { 
		font-size: 2.4rem;
	}

	#media ul li .inside {
		padding: 1em 1.5em 1.5em;
	}
	#media ul li .inside .cardtt {
		font-size: 2rem;
		line-height: 1.6;
		margin: 0 0 .5em;
	}
	#media ul li .inside .catday {
		font-size: 1.6rem;
		margin: 0 0 16px;
	}
	#media ul li .inside .catday span:first-child { font-size: 1.4rem; }
	#media ul li .inside .subtt {
		font-size: 2rem;
		line-height: 1.6;
	}

}

@media (min-width: 768px) and (max-width:803px) {

	#media ul { 
		justify-content: center;
	}
	#media ul li {
		margin: 0 16px 40px;
	}

}

@media (min-width: 804px) and (max-width:1216px) {

	#media ul { 
		max-width: 772px; 
		margin: 0 auto;
	}
	#media ul li:nth-child( 2n+2 ){
		margin-right: 0;
		margin-left: 24px;
	}
	#media ul li:nth-child( n+3 ){
		margin-top: 40px;
	}

} 

@media (min-width: 1217px) {

	#media ul li:nth-child( 3n+2 ){
		margin-right: 24px;
		margin-left: 24px;
	}
	#media ul li:nth-child( n+4 ){
		margin-top: 40px;
	}

}