@charset "UTF-8";
.pageHeader {
	background: linear-gradient(135deg, var(--t_pink0101) 0%, var(--c_white) 50%, var(--t_purple0101) 100%) var(--c_white);
}
.pageHeader__title {
	color: var(--c_black02);
}
.pageHeader__lead {
	color: var(--c_grey05);
}

@media (max-width: 768px) {

}



/*-------------------------------
 siteStatus
-------------------------------*/
.siteStatus {
	padding: 60px 0 30px 0;
}
.siteStatus__board {
	padding: 40px 30px;
	background: var(--c_white);
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.siteStatus__grid {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
.siteStatus__item {
	position: relative;
	width: 25%;
	text-align: center;
}
.siteStatus__value {
	margin-bottom: 10px;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--c_red01);
}
.siteStatus__label {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .02em;
	color: var(--c_grey03);
}

@media (max-width: 768px) {
	.siteStatus {
		padding: 40px 0 20px 0;
	}
	.siteStatus__board {
		padding: 32px 16px;
	}
	.siteStatus__item {
		width: 50%;
		padding: 16px 0;
	}
	.siteStatus__value {
		margin-bottom: 6px;
		font-size: 28px;
	}
	.siteStatus__label {
		font-size: 14px;
	}
}


/*-------------------------------
 creatorList
-------------------------------*/
.creatorList {
	padding: 30px 0 100px 0;
}
.creatorList__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.creatorCard {
	display: block;
	background: var(--c_white);
	border-radius: 12px;
	border: 1px solid #e4e4e7;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.creatorCard a {
	display: block;
	width: 100%;
	height: 100%;
}
.creatorCard__thumbnailWrapper {
	position: relative;
	height: 192px;
	overflow: hidden;
}
.creatorCard__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.creatorCard:hover .creatorCard__image {
	transform: scale(1.08);
}
.creatorCard__fadeOverlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, var(--t_white0100) 40%, var(--c_white) 100%);
}

.creatorCard__body {
	padding: 25px;
}
.creatorCard__name {
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: 700;
	color: var(--c_black02);
	transition: color 0.3s ease;
}
.creatorCard:hover .creatorCard__name {
	color: var(--c_red01);
}
.creatorCard__profile {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin: 0 0 16px 0;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.03em;
	color: var(--c_grey04);
	overflow: hidden;
}
.creatorCard__tagList {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 20px;
}
.creatorCard__tag {
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 500;
	color: var(--c_red02);
	background: var(--t_pink0101);
	border-radius: 4px;
}
.creatorCard__meta {
	display: flex;
	align-items: center;
	gap: 4px;
}
.creatorCard__metaIcon {
	width: 16px;
	height: 16px;
	color: var(--c_grey04);
}
.creatorCard__metaText {
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--c_grey04);
}
.creatorCard__linkText {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--c_red02);
	transition: color 0.3s ease;
}
.creatorCard:hover .creatorCard__linkText {
	color: var(--c_red05);
}
.creatorCard__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 16px;
	border-top: 1px solid var(--t_black01015);
}

@media (max-width: 768px) {
	.creatorList {
		padding: 20px 0 60px 0;
	}
	.creatorList__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.creatorCard__thumbnailWrapper {
		height: 180px;
	}
	.creatorCard__body {
		padding: 20px;
	}
	.creatorCard__name {
		margin-bottom: 12px;
		font-size: 18px;
	}
	.creatorCard__profile {
		margin-bottom: 14px;
	}
	.creatorCard__tagList {
		margin-bottom: 16px;
	}
}








/* ==========================================================================
   クリエイタ―詳細ページ
   ========================================================================== */
/*-------------------------------
 creator detail
-------------------------------*/
.creator .pageHeader {
	padding: 60px 0;
	border-bottom: 1px solid var(--t_black01015);
}
.creatorProfile {
	display: flex;
	align-items: center;
	gap: 32px;
}
.creatorProfile__avatarWrapper {
	flex-shrink: 0;
	width: 160px;
	height: 160px;
	border: 4px solid var(--c_white);
	border-radius: 50%;
	box-shadow: 0 10px 25px -5px var(--t_black0102), 0 8px 10px -6px var(--t_black0102);
	overflow: hidden;
}
.creatorProfile__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.creatorProfile__content {
	display: flex;
	flex-flow: column;
	align-items: flex-start;
}
.creatorProfile__name {
	margin-bottom: 15px;
	font-size: 42px;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--c_black01);
}
.creatorProfile__bio {
	margin-bottom: 15px;
	max-width: 720px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: .03em;
	text-align: left;
	color: var(--c_grey04);
}
.creatorProfile__meta {
	display: grid;
	gap: 15px;
}
.creatorProfile__tagList {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.creatorProfile__tag {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 12px;
	font-size: 14px;
	font-weight: 500;
	color: var(--c_red02);
	background: var(--t_pink0101);
	border-radius: 16px;
}
.creatorProfile__snsList {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.creatorProfile__snsLink {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 16px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .02em;
	color: var(--c_black01);
	background: var(--c_white);
	border: 1px solid #e4e4e7;
	border-radius: 19px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	transition: all 0.3s ease;
}
.creatorProfile__snsLink:hover {
	color: var(--c_black01);
	box-shadow: 0 5px 10px var(--t_pink0103);
}
.creatorProfile__snsIcon {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 6px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.creatorProfile__snsIcon--x { background-image: url(../img/logo__x.png); }
.creatorProfile__snsIcon--instagram { background-image: url(../img/logo__instagram.png); }
.creatorProfile__snsIcon--tiktok { background-image: url(../img/logo__tiktok.png); }
.creatorProfile__snsIcon--youtube { background-image: url(../img/logo__youtube.png); }
.creatorProfile__snsIcon--website { background-image: url(../img/logo__web.png); }


@media (max-width: 768px) {
	.creator .pageHeader {
		padding: 48px 0;
	}
	.creatorProfile {
		flex-direction: column;
		gap: 24px;
		text-align: center;
	}
	.creatorProfile__avatarWrapper {
		width: 160px;
		height: 160px;
		border-width: 3px;
	}
	.creatorProfile__content {
		align-items: center;
	}
	.creatorProfile__name {
		margin-bottom: 12px;
		font-size: 36px;
	}
	.creatorProfile__bio {
		margin-bottom: 20px;
		font-size: 16px;
		line-height: 1.5;
		text-align: justify;
	}
	.creatorProfile__meta {
		justify-content: center;
		gap: 8px;
	}
	.creatorProfile__tagList {
		justify-content: flex-start;
		gap: 4px;
	}
	.creatorProfile__tag {
		height: 30px;
		padding: 0 10px;
		font-size: 14px;
	}
	
	.creatorProfile__snsList {
		justify-content: center;
		gap: 8px;
	}
	.creatorProfile__snsLink {
		width: 38px;
		height: 38px;
		padding: 0;
		justify-content: center;
		border-radius: 50%;
		text-indent: -9999px;
		overflow: hidden;
	}
	.creatorProfile__snsIcon {
		margin-right: 0;
		width: 20px;
		height: 23px;
	}
}


/*-------------------------------
 creatorStatus
-------------------------------*/
.creatorStatus {
	padding: 35px 0;
	background: var(--c_bluewhite01);
}
.creatorStatus__board {
	position: relative;
}
.creatorStatus__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
.creatorStatus__item {
	position: relative;
	width: 25%;
	text-align: center;
}
.creatorStatus__value {
	margin-bottom: 10px;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--c_red01);
}
.creatorStatus__label {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: var(--c_grey03);
}

@media (max-width: 768px) {
	.creatorStatus {
		padding: 48px 0;
	}
	.creatorStatus__item {
		width: 50%;
	}
	.creatorStatus__item:nth-child(1),
	.creatorStatus__item:nth-child(2) {
		margin-bottom: 24px;
	}
	.creatorStatus__value {
		margin-bottom: 6px;
		font-size: 30px;
	}
	.creatorStatus__label {
		font-size: 14px;
	}
}


/*-------------------------------
 music section
-------------------------------*/
.newReleaseSec,
.rankingSec {
	padding: 100px 0 0;
	background-color: var(--c_black01);
}
.newReleaseSec {
	padding-bottom: 100px;
}

@media (max-width: 768px) {
	.newReleaseSec,
	.rankingSec {
		padding: 60px 0 40px;
		background-color: var(--c_black01);
	}
	.newReleaseSec {
		padding-bottom: 100px;
	}
}


/*-------------------------------
 allTracksSec
-------------------------------*/
.allTracksSec {
	padding: 40px 0 100px;
}
.allTracksSec__title {
	margin-bottom: 25px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--c_white);
}
.allTracksSec__count {
	font-size: 18px;
	font-weight: 500;
	margin-left: 4px;
}
.trackBoard {
	background-color: var(--c_white);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.trackBoard__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.trackBoard__item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	align-items: center;
	gap: 16px 24px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--c_bluewhite02);
	transition:all 0.3s ease;
}
.trackBoard__item--clickable {
	position: relative;
}
.trackBoard__item:last-child {
	border-bottom: none;
}
.trackBoard__item:hover {
	background-color: var(--c_bluewhite01);
}
.trackBoard__thumbLink {
	display: block;
}
.trackBoard__thumb {
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 8px;
	object-fit: cover;
}
.trackBoard__info {
	min-w: 0;
}
.trackBoard__nameLink {
	text-decoration: none;
	display: inline-block;
	max-width: 100%;
}
.trackBoard__name {
	margin: 0 0 6px 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.01em;
	color: var(--c_black01);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.trackBoard__nameLink:hover .trackBoard__name {
	color: var(--c_red01);
}
.trackBoard__nameLink::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.trackBoard__item--clickable:hover .trackBoard__name {
	color: var(--c_red01);
}
.trackBoard__meta {
	display: flex;
	align-items: center;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	color: var(--c_grey03);
}
.trackBoard__genre::after {
	content: '・';
	margin: 0 6px;
}
.trackBoard__stats {
	display: flex;
	align-items: center;
	gap: 20px;
}
.trackBoard__statItem {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 500;
	color: var(--c_grey04);
	transition:all 0.3s ease;
}
.trackBoard__statItem--download svg {
	stroke: var(--c_green02);
	transition:all 0.3s ease;
}
.trackBoard__item:hover .trackBoard__statItem--download {
	color: var(--c_green02);
}
.trackBoard__statItem--favorite svg {
	stroke: var(--c_red04);
	fill: var(--c_red04);
}
.trackBoard__item:hover .trackBoard__statItem--favorite {
	color: var(--c_red04);
}

@media (max-width: 768px) {
	.allTracksSec {
		padding: 30px 0 60px;
	}
	.allTracksSec__title {
		margin-bottom: 16px;
		font-size: 28px;
	}
	.trackBoard__item {
		padding: 12px;
		display: grid;
		grid-template-columns: 54px 1fr;
		gap: 0 16px;
		border-bottom: 1px solid #f1f5f9;
	}
	.trackBoard__thumbLink {
		grid-column: 1;
		grid-row: 1 / span 2;
		display: block;
		height: 100%;
	}
	.trackBoard__thumb {
		width: 54px;
		height: 100%;
		border-radius: 8px;
		object-fit: cover;
	}
	.trackBoard__info {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		padding-bottom: 4px;
	}
	.trackBoard__name {
		font-size: 18px;
		margin-bottom: 4px;
	}
	.trackBoard__meta {
		font-size: 16px;
	}
	.trackBoard__stats {
		grid-column: 2;
		grid-row: 2;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 16px;
		margin-top: 4px;
	}
	.trackBoard__statItem {
		font-size: 16px;
		gap: 4px;
	}
	.trackBoard__statItem svg {
		width: 16px;
		height: 16px;
	}
}
