/* bookList */
#bookList ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 10px; }
#bookList ul li { position: relative; margin-bottom: 1px; border: 1px solid rgb(162 155 134 / 28%); }
#bookList ul li a.photo { background-size: cover; transition-duration: 1s; }
#bookList ul li h3 { position: relative; padding: 15px 20px; left: 0; bottom: 0; }
#bookList ul li h3 a { height: 30px; color: #8a877f; text-align: center; font-size: 18px; font-weight: 300; letter-spacing: .1em; -webkit-line-clamp: 1; line-height: 200%; }

/* album-info */
#album-info { display: flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-flex; flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; -webkit-flex-wrap: wrap; }
#album-info::after { content: ''; flex-grow: 999999999; -moz-flex-grow: 999999999; -ms-flex-grow: 999999999; -o-flex-grow: 999999999; -webkit-flex-grow: 999999999; min-width: 200px; height: 0; }

/* bookBox */
#bookBox .wall { position: relative; overflow: hidden; display: block; }
#bookBox .wall-column { position: relative; float: left; width: 100%; display: flex; box-sizing: border-box; flex-wrap: wrap; }
#bookBox .wall-column .article { position: relative; margin: 15px; }
#bookBox .wall-column .album_box { box-shadow: 0 0 10px #c0c0c0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: calc(33.3% - 30px); }
#bookBox .wall-column .article a { display: block; object-fit: cover; width: 100%; }
#bookBox .wall-column .article h3 { position: absolute; width: 100%; bottom: 0; left: 0; }
#bookBox .wall-column .article h3 a { margin: 10px; padding: 10px; background: rgba(255, 255, 255, .7); text-align: center; font-size: 18px; color: #444; }
#bookBox .wall-column .album_box img { width: 100%; height: 400px; object-fit: cover; }

@media screen and (min-width: 1281px) {
	#bookList ul li:hover h3 { background: #bdad84; }
	#bookList ul li:hover h3 a { color: #fff; }
	#bookList ul li:hover a.photo { filter: grayscale(100%); }
}
@media screen and (max-width: 1280px) {
	#bookList { padding: 50px 0 20px; }
	#bookBox .wall-column { width: 100%; }
}
@media screen and (max-width: 980px) {
	#bookBox .wall-column .album_box { width: calc(50% - 20px); margin: 10px; }
	#bookBox .wall-column .album_box img { height: 257px; }
}
@media screen and (max-width: 500px) {
	#bookList ul li { grid-template-columns: repeat(2, 1fr); }
	#bookBox .wall-column { width: 100%; }
	#bookBox .wall-column .album_box img { height: 190px; }
}