@charset "utf-8";

body {
	background: #000;
	color: #FFF;
}

header .inner {
	width: 100%;
	height: 60px;
	margin: 0 auto 5px;
	background-color: #000;
	padding: 5px;
}
header .logo {
	height: 100%;
	width: 640px;
	margin: 0 auto;
}
header .logo img {
	height: 100%;
}
footer .inner {
	width: 100%;
	height: 20px;
	margin: 0 auto;
	background-color: #000;
	padding: 5px;
	position: static;
	bottom: 0;
}
footer .copy {
	color: #e6e6e6;
	text-align: center;
	font-size: 1.1rem;
	line-height: 1;
}
main {
	width: 640px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}
section {
	margin-bottom: 5px;
}
h2, h3 {
	display: none;
}

/* プロフィール */
#backtolist {
	top: 0;
	left: 0;
	background-color: #FFF;
	z-index: 101;
}
#backtolist .backtolist_col {
	font-size: 2.0rem;
	font-weight: bold;
	margin-left: 5px;
}
#backtolist .backtolist_col span {
	margin-right: 2.0rem;
}

#profile #photo_col {
	position: relative;
}
#profile #photo_col #counter {
	background: rgba(0,0,0,0.4);
	border-radius: 20px;
	padding: 2px 6px;
	font-size: 1rem;
	color: #FFF;
	position: absolute;
	z-index: 2;
	top: 5px;
	right: 5px;
}
#profile #photo_col .photo_block {
	position: relative;
	overflow: hidden;
	cursor: grab;
}
#profile #photo_col .photo_block:active {
	cursor: grabbing;
}
#profile #photo_col canvas {
	display: block;
	width: 100%;
}
#profile #photo_col .photo {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}
#profile #photo_col .photo img {
	width: 100%;
}

#profile #data_col ul {
	text-align: center;
}
#profile #data_col li {
	display: inline-block;
	margin-right: 10px;
	line-height: 1;
}
#profile #data_col li.name {
	font-size: 1.8rem;
	font-weight: bold;
}
#profile #data_col li.name_en {
	font-size: 1.2rem;
}
#profile #data_col li.spec {
	font-size: 1.2rem;
}

#profile #link_col ul {
	display: flex;
	flex-wrap: wrap;
}
#profile #link_col li {
	width: calc((100% - 1px) / 2);
	margin: 1px 0 0 1px;
}
#profile #link_col li:nth-child(-n+2) {
	margin: 0 0 0 1px;
}
#profile #link_col li:nth-child(2n+1) {
	margin: 1px 0 0 0;
}
#profile #link_col li:first-child {
	margin: 0;
}
#profile #link_col li .link_bt {
	position: relative;
	height: 60px;
	background-color: #DDD;
}
#profile #link_col li .link_bt > * {
	display: block;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}
#profile #link_col li .link_bt i {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	left: 5px;
	filter: brightness(0) saturate(100%) invert(22%) sepia(8%) saturate(21%) hue-rotate(27deg) brightness(95%) contrast(80%);
	background: center center / 80% no-repeat;
}
#profile #link_col li .link_bt i.dvd {
	background-image: url(../image/icon_bt_dvd.png);
}
#profile #link_col li .link_bt i.movie {
	background-image: url(../image/icon_bt_movie.png);
}
#profile #link_col li .link_bt i.shop {
	background-image: url(../image/icon_bt_shop.png);
}
#profile #link_col li .link_bt i.live {
	background-image: url(../image/icon_bt_live.png);
}
#profile #link_col li .link_bt i.post {
	background-image: url(../image/icon_bt_post.png);
}
#profile #link_col li .link_bt i.selfvideo {
	background-image: url(../image/icon_bt_selfvideo.png);
}
#profile #link_col li .link_bt span {
	left: 50px;
	font-size: 1.4rem;
	color: #454545;
	font-weight: bold;
	line-height: 1.2;
}
#profile #link_col li .link_bt span s {
	display: block;
	font-weight: lighter;
	font-size: 0.8em;
}
#profile #link_col li.blank {
	background-color: #DDD;
}

#reserve {
	 position: sticky;
	 bottom: 0;
	/*! padding-bottom: 1px; */
	 z-index: 100;
}
#reserve .bt {
	display: flex;
	flex-wrap: wrap;
	height: 53px;
	/* padding-bottom: 1px; */
	border-bottom: solid 4px #888;
	background: #000;
}
#reserve li {
	background: #000;
	text-align: center;
	height: 100%;
	flex: 1;
	margin-left: 1px;
}
#reserve li:first-child {
	margin-left: 0;
}
#reserve li i {
	display: block;
	height: 100%;
	color: #FFF;
	position: relative;
}
#reserve li i:before,
#reserve li i:after {
	display: block;
	content: "";
	position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
#reserve li i:before {
	top: 4px;
	filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
	width: 24px;
	height: 24px;
	overflow: hidden;
	background: center center / contain no-repeat;
}
#reserve li.tel i:before {
	background-image: url("../image/icon_rsv_tel.png");
}
#reserve li.line i:before {
	background-image: url("../image/icon_rsv_line.png");
}
#reserve li.mail i:before {
	background-image: url("../image/icon_rsv_mail.png");
}
#reserve li i:after {
	bottom: 4px;
	font-size: 1.2rem;
	line-height: 1;
}
#reserve li.tel i:after {
	content: "電話";
}
#reserve li.line i:after {
	content: "LINE";
}
#reserve li.mail i:after {
	content: "メール";
}
/* プロフィール */




/* リスト */
#list .list_col {
	margin-bottom: 5px;
}
#list .list_col ul {
	display: grid;
	gap: 1px;
	background-color: #FFF;
	grid-template-columns: repeat(3, 1fr);
}
/* タブレット以上 */
@media (min-width: 501px) {
	#list .list_col ul {
		grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
	}
}

#list .list_col li {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3/4; /* 縦長カード */
	background-color: #000;
}
#list .list_col li.is-large {
	grid-column: span 2;
	grid-row: span 2;
}
#list .list_col .photo_block {
	position: relative;
	width: 100%;
	height: 100%;
}
#list .list_col .photo_block:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
#list .list_col .photo {
	width: 100%;
	height: 100%;
}
#list .list_col .photo img {
	width: 100%;
	height: 100%;
}
#list .list_col li.blank {
	background: rgba(0, 0, 0, 0.9);
}

/* 入口 */
#entrance .banner_area img {
	width: 100%;
}