main {
	max-width:1000px;
	margin:20px auto;
	display:flex;
	flex-wrap:wrap;
	padding:0 20px;
}

main h2 {
	display:block;
	width:100%;
	text-align:center;
}

main h2 img {
	max-height:120px;
}

main .talent-list-item {
	margin:20px 10px;	
}

main .talent-list-item .image-container {
	width:230px;
	height:300px;
	position:relative;
}

main .talent-list-item .image-container img {
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius:20px;
}

main .talent-list-item .image-container .overlay {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    background-color:rgba(0, 0, 0, 0.5);
    overflow:hidden;
    width:100%;
    height:0;
    transition:.5s ease;
    border-radius:20px; /* 画像とオーバーレイの境界を合わせる */
}

main .talent-list-item .image-container .text {
    color:#fff;
    font-size:20px;
    position:absolute;
    bottom:50%;
    left:50%;
    transform:translate(-50%, 50%);
    white-space:nowrap;
}

main .talent-list-item .image-container:hover .overlay {
    height:100%;
}

footer {
	margin-top:20px;
}

@media screen and (max-width: 500px) {
	main .talent-list-item .image-container {
		width:100%;
		height:auto;
	}
}

@media screen and (max-width: 390px) {
	main h2 img {
		max-width:80%;
	}
}