@charset "utf-8";
/* CSS Document */

/*------------------------------
▼共通デザイン（モバイル向け）
-------------------------------*/
html {
	scroll-behavior: smooth;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	color: #424e64;
	line-height:1.8;
}

.pc__left_wrapper {
	display: none;
}

.pc__right::before {
	content: "";
	background-image: url("../image/background2.jpg");
	position: fixed; 
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 100vw;
	height: 100%;
	background-size: cover;
	background-position: center;
}

.main__inner {
	position: relative;
	z-index: 1;
}

.main-logo {
	width: 100%;
	max-width: 600px;
	display: block;
	margin: 0 auto;
	padding: 50px 16px 16px 16px;
}

.top__txt_wrap {
	display: flex;
	justify-content: space-around;
	padding: 10px;
}

.category__btn {
	position: relative;
	text-align: center;
	width: 25%;
	padding: 4px 10px;
	margin: 0 4px;
	background: #222222;
	font-size: 16px;
	border-radius: 50vh;
	color: #fff;
	font-weight: bold;
}

.category__btn:hover {
	opacity: .8;
}

.category__txt {
	padding: 0 10px 0 0;
}

.dli-chevron-down {
	position: absolute;
	top: 16px;
	right: 20px;

	display: inline-block;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	border: 2px solid #fff;
	border-left: 0;
	border-bottom: 0;
	transform: translateY(-25%) rotate(135deg);
}

/**/
.more__btn {
	display: block;
	position: relative;
	text-align: center;
	width: 90%;
	padding: 4px 10px;
	margin: 0 4px;
	background: #dd3483;
	font-size: 16px;
	border-radius: 50vh;
	color: #fff;
	font-weight: bold;
}

.more__btn .dli-chevron-down {
	transform: translateX(-25%) rotate(45deg);
}


.ranking {
	padding: 0 16px;
	max-width: 800px;
	margin: 0 auto;
}

#vocaloid {
	padding: 0 16px 30px;
}

.ranking__title,.contents__title {
	color: #ffffff;
	font-size: 30px;
	line-height: 1.2;
	margin: 30px 0 10px 0;
}

.ranking__list {
	background: #18083594;
	/* padding: 20px; */
}

.top-rank {
	padding: 30px 30px 0 30px;
}

.middle-rank {
	padding: 0 16px 16px 16px;
}

.ranking__link:hover {
	opacity: .7;
}

.ranking__card {
	position: relative;
	cursor: pointer;
	margin: 0 0 16px 0;
}

.middle-rank .ranking__card {
	display: flex;
}

.top-rank__number {
	position:absolute;
	top: -14px;
	left: -13px;
	width: 35px;
}

.number {
	position:absolute;
	top: -10px;
	left: -10px;
	width: 30px;
}


.card__img_medium {
	min-width: 140px;
	max-width: 140px;
}


.thumbnail {
	width: 100%;
	/* height: 105px; */
	vertical-align: bottom;
	object-fit: cover;
}

.thumbnail__medium {
	width: 100%;
	/* height: 78px; */
	vertical-align: bottom;
	object-fit: cover;
}

.thumbnail__small {
	width: 100%;
	/* height: 70px; */
	vertical-align: bottom;
	object-fit: cover;
}

.card__txt {
	position: relative;
	width: 100%;
	/* min-width: 0; */
	padding: 8px 0 8px 8px;
	/* white-space: nowrap; */
	flex-grow: 1;
}

.song-name {
	color: #fff;
	letter-spacing: 0.5px;
	line-height: 1.5;
	/* overflow: hidden;
	text-overflow: ellipsis; */
	font-weight: bold;
	font-size: 12px;
}

.song-name-small {
	font-size: 11px;
}

.artist-name {
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 14px;
	color: #A6A6A6;
}

.card__btn {
	background: #8AB4C8;
}

.btn {
	display: none;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	width: 30px;
}

.contents {
	padding: 0 16px 24px 16px;
}

.contents__item {
	display: flex;
	flex-wrap: wrap;
}

.contents__img {
	width: 100%;
	border-radius: 6px;
	box-shadow: rgba(87, 110, 129, 0.4) 0px 4px 20px;
}

/**/
.reco {
	display: block;
	margin: 0 auto;
	width: 90%;
	padding: 0 10px 30px;
	
}

.reco__img {
	width: 100%;
	border-radius: 10px;
}

/*-------------------------------
▼大型画面向けデザイン（PCなど）
--------------------------------*/
@media screen and (min-width: 769px){
	.pc__top {
		background-image: url("../image/background.jpg");
		background-attachment: fixed;
		background-size: cover;
		background-position: center;
	}
	
	.pc__top_wrapper {
		display: flex;
		justify-content: center;
		margin: 0 40px;
	}

	.pc__left_wrapper {
		position: sticky;
		top: 0;
		height: 100vh;
		display: flex;
		width: 100%;
		max-width: 360px;
		/* max-width: 500px; */
		margin: 0 50px 0 0;
		flex: 1;
	}
	.pc__left {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 100%;
	}

	.pc__right {
		width: 390px;
		/* background-color: #576e8166; */
		box-shadow: 0px 0px 20px 0px #22222236;
	} 
}