#Contents ul.item {
	position: relative;
	margin: 0 -5px;
	width: calc(100% + 10px);
	line-height: 1.4em;
	overflow: hidden;
}


#Contents ul.item li {
	position: relative;
	margin: 0;
	width: calc(100% / 3);
	overflow: hidden;
	box-sizing: border-box;
	float:left;
}
#Contents ul.item.short li {
	width: calc(100% / 4);
}
#Contents ul.item li::after {
	content: '';
	display: block;
	/*margin-top: 130%;*/
	margin-top: calc(100% + 66px);
	width: 100%;
	height: 0;
}
#Contents ul.item li .sold {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
#Contents ul.item li .sold::before,
#Contents ul.item li .sold::after {
	position: absolute;
	display: block;
	width: 100%;
}
#Contents ul.item li .sold::before {
	content: "";
	top: 0;
	left: 0;
	height: 100%;
    background: rgba(255, 174, 0, 0.5);
}
#Contents ul.item li .sold::after {
	content: "SOLD OUT";
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
    padding: calc((33% - 1em) / 2) 0;
    /*padding: .6em 0 .5em;*/
	text-align: center;
    font-family: 'PT Sans', sans-serif;
    font-style: italic;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1em;
    color: #1b1b1b;
    background: rgba(255, 255, 255, 0.8);
}
/*#Contents ul.item li.sold::before {
	content: "SOLD OUT";
	position: absolute;
	top: 40%;
	left: 50%;
	z-index: 1;
	-webkit-transform: translate(-50%, -50%) rotate(5deg);
	-ms-transform: translate(-50%, -50%) rotate(5deg);
	transform: translate(-50%, -50%) rotate(5deg);
	display: inline-block;
	width: 120%;
    padding: .6em 0 .5em;
	text-align: center;
    font-family: 'PT Sans', sans-serif;
    font-style: italic;
	font-size: 1.5em;
	font-weight: bold;
    color: #1b1b1b;
    background: rgba(255, 174, 0, 0.8);
	box-sizing: border-box;
	pointer-events: none;
}*/
<style>
@import url('https://fonts.googleapis.com/css?family=PT+Sans:700i');
</style>
#Contents ul.item.short li::after {
    margin-top: 100%;
}
#Contents ul.item li a {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 5px;
	background-color: #FFF;
	overflow: hidden;
}
#Contents ul.item li a:hover {
	background-color: rgba(255, 174, 0, 0.8);
	opacity: 1;
}
#Contents ul.item li a div.thumb {
	margin: 0 0 5px;
	width:100%;
	overflow: hidden;
	background-color:#fff;
	position:relative;
	background-size: cover;
	background-position: 50% 50%;
}
#Contents ul.item li a div.thumb::after {
	content: '';
	display: block;
	margin-top: 100%;
	width: 100%;
	height: 0;
}
#Contents ul.item li a h3 {
	font-size: 1rem;
	margin: 0 0 10px;
	/*height: 16px;*/
	height: 1.2em;
	line-height: 1.2em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#Contents ul.item.short li a h3 {
	font-size: 0.7rem;
	margin: 0 0 10px;
	height: 16px;
	overflow: hidden;
}
#Contents ul.item li a dl {
	margin: 0 0 10px;
	font-size: 0.8em;
}
#Contents ul.item li a dl dt {
	float: left;
	margin: 0;
	width: 55px;
	min-height: 1.4em;
	line-height: 1.4em;
	text-align: left;
	color: #AAA;
	font-size: 0.9em;
	box-sizing: border-box;
}
#Contents ul.item li a dl dt::after {
	content: ':';
	float: right;
	margin: 0 5px;
	line-height: 1.4em;
}
#Contents ul.item li a dl dd {
	margin: 0 0 2px 0;
	margin-left: 0;
	padding: 0;
	height: 1.2em;
	/*min-height: 1.4em;*/
	line-height: 1.2em;
    white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-sizing: border-box;
}

#Contents ul.item li .book {
	position: absolute;
	top: 5px; right: 5px;
	width: 35px; height: 35px;
	background-image: url(../../../../../file/image/book.png);
	background-size: 110px;
	background-position: 0 0;
	opacity: 0.8;
	cursor: pointer;
}
/*#Contents ul.item li .book:hover,*/
#Contents ul.item li .book.hover,
#Contents ul.item li .book.on {
	background-position: 0 -35px;
}
