/*
Theme Name: SERUM Child
Theme URI:
Description:WordPressテーマ「SERUM」の自作子テーマです。
Template: serum_tcd096
Author:doraxdora
Author URI:https://www.doraxdora.com
Version:1.0.4
*/

:root {
	--color-white: #fff;
	--color-white-rgb: rgb(255,255,255);
	--color-black:#252525;
	--color-gray:#cacaca;
	--color-primary: #252525;
	--color-primary-rgb: rgb(37,37,37);
	--color-primary-rgba: rgb(37,37,37,0.6);
	--color-secondary: #959595;
	--color-secondary-rgb: rgba(149,149,149);
	--color-secondary-rgba: rgba(149,149,149,0.6);
	--color-tertiary: #d2d2d2;
	--color-tertiary-rgb: rgba(210,210,210);
	--color-tertiary-rgba: rgba(210,210,210,0.6);
}
html {
	font-size: 12px;
}
body {
	background-color: var(--color-white);
}

.form-control {
	font-size: 16px;
}

#main_content {
	width: 1000px;
	margin: 90px auto 80px;
}	

/**
 * 見出し
 */
h2.sub-section {
	padding: 8px 0px;
	position: relative;
	border: 0px;
	text-align: center;
	font-size: 2rem;
}
h2.sub-section {
	margin: 50px 0px 10px;
}
h2.sub-section::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	border: 0px;
	background: linear-gradient(to right, transparent 0%, var(--color-primary) 40%, var(--color-primary) 60%,transparent 100%);
}

h2 {
	border:none;
	line-height:0.95em;
	font-weight:bold;
	color: transparent;
	background: linear-gradient( 0deg, var(--color-secondary) 0% 20% , var(--color-primary) 30% 30%, var(--color-secondary) 70% 70%); 
	/**text-shadow: 0 0 5px #f6e6b4;*/
	-webkit-background-clip: text;
}

.post_content .schedule h3 {
  position: relative;
  padding: 0px;
  border: solid 1px var(--color-primary);
  text-align: center;
  width: 50%;
  margin: 3em auto 1.3em auto;
}

.post_content .schedule h3 span {
	width: 100%;
	display: block;
	padding: 5px;
	height: 100%;
	color: var(--color-white);
	background: var(--color-primary);
}
.transparent {
	opacity: 0.4;
}

.post_content p {
	line-height: unset !important;
}


/**
 * 店舗タブ
 */
 ul.room {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 50px;
	padding-left: 0px;
    margin-left:0px;
}
ul.room li {
	list-style: none;
	flex: 1;
	width: 100%;
	margin-bottom: 0px;
    border-left: 1px solid #252525;
    border-top: 1px solid #252525;
    border-bottom: 1px solid #252525;
}
ul.room li:last-child {
    border-right: 1px solid #252525;
}
ul.room > li > span {
	display: block;
	color: var(--color-white);
	background-color: var(--color-primary);
	border-right: 1px solid #f5f5f5;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	padding: 13px 0;

}
ul.room > li:last-child > span {
	border-right: none;
}
ul.room > li.target > span {
	color: var(--color-primary);
	background-color: var(--color-white);
}
ul.room > li:hover > span{
	color: var(--color-primary);
	background-color: var(--color-white);
}


/**
 * キャストスケジュール
 */
/**
 * 出勤情報
 */
.week_calendar ul {
	list-style:none;
	overflow: hidden;
	margin: 5px 0px;
	padding: 0px;
	width: 100%;
}

.week_calendar ul li {
	position: relative;
	float: left;
	width: 14%;
}

.week_calendar ul li a {
	display: block;
	padding: 17px 5%;
	width: 99%;
	color: #fff;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	text-align: center;
	text-decoration: none;
}
.week_calendar ul li.target a {
	color: var(--color-black);
	background-color: var(--color-white);
}

.week_calendar ul li a:hover {
	color: var(--color-black);
	background-color: var(--color-white);
}

/**
 * キャスト一覧
 */
#cast {
	background: #f6f6f6;
	padding: 0px 0 120px;
}
.cast-box {
	padding: 5px 0px;
	margin: 0px auto;
	display: flex;
	flex-flow: row wrap;
	justify-content: start;
	align-items: start;
	align-content: space-around;
}
.one-cast {
	max-width: 300px;
	height: 620px;
	flex: 0 0 33%;
	position: relative;
	margin-right: 15px;
	margin-bottom: 25px;
	overflow: hidden;
	border-radius: 3px;
	border: 3px solid var(--color-primary);
	-webkit-box-shadow: 7px 7px 10px 0 var(--color-secondary-rgba);
	-moz-box-shadow: 7px 7px 10px 0 var(--color-secondary-rgba);
	box-shadow: 7px 7px 10px 0 var(--color-secondary-rgba);
}
.one-cast:nth-child(3n) {
	margin-right: 0px;
}
.one-cast:hover figure img {
	opacity: 0.6;
	transition-duration: 0.3s;
}

.one-cast a:hover {
    text-decoration:none;
}
.one-cast figure {
	position: relative;
	margin: 0 auto 0;
	padding: 0;
	overflow: hidden;
	position: relative;
	text-align: center;
	width: 100%;
	height: 450px;
	overflow: hidden;
	-webkit-box-shadow: 3px 3px 5px 0 #999, 0 0 10px 0 #bec2c4;
	-moz-box-shadow: 3px 3px 5px 0 #999, 0 0 10px 0 #bec2c4;
	box-shadow: 3px 3px 5px 0 #999, 0 0 10px 0 #bec2c4; 	
}
.one-cast figure img {
	height: 100%;
}

.one-cast figcaption {
	position: relative;
	width: 100%;
	height: 175px;
	margin: 0px;
	padding: 0px;
	text-align: center;
	font-size: 14px;
	line-height: 1.2em;
	background-color: #fff;
	color: #fff;
}


/**
 * キャスト個人ページ
 */
.cast {
	color: var(--color-black);
	overflow: hidden;
	padding: 20px 0px;
	display: flex;
	flex-wrap: wrap;
}
.cast-photo {
	padding: 10px;
	flex: 0 0 36%
	
}
.cast-profile {
	padding: 10px;
	flex: 0 0 64%;
}
.cast-profile > div {
	background-color: var(--color-white);
	padding: 20px;
	margin-bottom: 30px;
}
.cast-schedule {
	width: 100%
}

/** キャストプロフィール表 */
.cast-meta {
	overflow:hidden;
	text-align: center;
}
.cast-meta-left {
	width:40%;
	height:35px;
	float:left;
	text-align: right;
	margin: 1px;
	padding:10px;
	background-color: var(--color-tertiary);
}
.cast-meta-right {
	width:45%;
	height:35px;
	float:left;
	text-align: left;
	margin: 1px;
	padding:10px;
	white-space:nowrap;
}

.cast-meta-right span.cast-txn {
	padding: 2px 5px;
	border-radius: 3px;
	font-size: 1rem;
	margin: 0px;
	color: #fff;
	display: inline-block;
}

.cast-meta-right span.cast-grade {
	background-color:var(--color-primary);
	color:var(--color-white);
}
.cast-meta-right span.cast-type {
	background-color:var(--color-primary);
	color:var(--color-white);
}

/** キャストコメント */
.cast-pr {
	font-size: 18px;
	overflow: hidden;
	line-height: 1.8;
	padding: 15px 10px;;
}
.post_content pre {
	all: initial;
}
.cast-pr pre {
	white-space: pre-wrap;
	color: var(--color-black);
}

/** 画像スライダー */
.flexslider {
	background: unset;
	border: unset;
}

#slider,
#thumbnail {
	/** border: 5px solid #e58f8f; */
}
#slider {
	margin-bottom: 0px;
	overflow:hidden;
}
#slider ul {
	overflow:hidden;
}
#slider ul li {
	flex-grow: unset;
	margin-bottom: 2px;
	max-height: 700px;
}
#slider ul li a.image {
	display: flex;
	width: 100%;
	height: 100%;
}
#slider ul li img {
	object-fit:cover;
	width: 300px;
	height: 450px;
}
.flex-direction-nav a {
	height: 80px !important;
	top: 38% !important;
}

#thumbnail {
	overflow:hidden;
}
#thumbnail .slides li {
	
	min-height:150px;
	width:100px;
}
#thumbnail .slides img {
	width:100px;
	-moz-user-select: none;
	object-fit:cover;
}
#thumbnail img {
	opacity: 0.5;
}
#thumbnail .flex-active-slide img {
	opacity: 1;
	cursor: default;
}

#thumbnail .flex-direction-nav a {
	top: 30px;
}

/** スケジュール表*/
.krc_calendar {
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	font-size: 13px;
	margin: 24px 0;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.22);
}

.post_content table.sch-box {
	margin: 0px;
}
.post_content table.sch-box {
	border: 1px solid #eee;
	table-layout: fixed;
}
.post_content table.sch-box tr td,
.post_content table.sch-box tr th {
	text-align: center;
	border-right: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.post_content table.sch-box tr th {
	background-color: var(--color-primary);
	color: #fff;
}
.post_content table.sch-box tr td {
	background-color: RGBA(255, 255, 255, 0.6);
	padding:10px 0px;
}

/** スケジュールページへボタン */
a.btn-schedule {
	text-decoration: none;
	color: #937960 !important;
	background-color: #fff;
	border: 1px solid #937960;
	display: block;
	text-align: center;
	border-radius: 5px;
}
a.btn-schedule:hover {
  text-decoration: none;
  color: #fff !important;
  background: #937960;
}

a.btn-c {
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

/** ランキング */
.rank-box > .one-cast {
	margin :0 18px 4px
}
/** ツイッターアイコン */
.one-cast .tw {
	right: 0px;
	top: 300px;
	width: 50px;
	height: 50px;
	position: absolute;
	display: block;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 26;
	background-image: url(images/twitter_icon.png);
}
.one-cast .tw:hover {
	opacity: 0.8;
}

/** 当日出勤バッジ */
.one-cast .todays_cast {
	right: 0px;
	top: 0px;
	border-radius: 3px;
	background-color: #ed561b;
	color: #fff;
	font-size: 18px;
	opacity: 0.9;
	font-weight: normal;
	padding: 5px;
	position: absolute;
	display: block;
	z-index: 26;
}

/** 出勤時間バッジ */
.one-cast .worktime {
	text-align: center;
	left: 0px;
	top: 575px;
	width:100%;
	background-color: #ed561b;
	color: #fff;
	font-size: 18px;
	opacity: 0.8;
	font-weight: normal;
	padding: 5px;
	border-radius: 0px;
}

.one-cast .worktime {
	position: absolute;
	display: block;
	z-index: 26;
}

/**
 * 新人バッジ
 */
.one-cast .new_cast {
	left: 2px;
	top: 2px;
	width: 50px;
	height: 50px;
	position: absolute;
	display: block;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 26;
	background-image: url(images/new_icon.png);
	opacity: 0.9;
}

/**
 * 出張バッジ
 */
.one-cast .btrip_cast {
	left: 0px;
	top: 260px;
	width: 50px;
	height: 50px;
	position: absolute;
	display: block;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 30;
	background-image: url(images/btrip_icon.png);
	opacity: 0.9;
}

/**
 * ランキングバッジ
 */
.one-cast .rank {
	left: 0px;
	top: 400px;
	width: 100px;
	height: 50px;
	position: absolute;
	display: block;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 26;
	opacity: 0.9;
}
.one-cast .rank img {
	width: 80px;
}
/**
 * キャスト情報
 */
.one-cast a {
	text-decoration: none;
}
.one-cast figcaption p {
	margin: 0px;
}
.one-cast figcaption p.cast-caption {
	color: var(--color-gray);
	border-top: 1px solid var(--color-secondary);
	border-bottom: 1px solid var(--color-secondary);
	background-color: var(--color-primary);
}
.one-cast figcaption p.cast-name {
	display: block;
	color: var(--color-primary);
	padding: 5px 0px 0px 0px;
	font-weight: 900;
	margin: 5px 0px 0px 0px;
}
.one-cast figcaption p.cast-name span {
	font-size: 80%;
}
.one-cast figcaption p.cast-size {
	display: block;
	color: var(--color-black);
	font-size: 80%;
	margin: 0px 0px 10px 0px;
}
.one-cast figcaption p.cast-size span {
	font-size: 75%;
}

.one-cast figcaption p.cast-workinfo {
	background-color: var(--color-primary);
	margin: 0px 15px;
	padding: 5px;
}
.one-cast figcaption p.cast-time {
	display: block;
	color: #e1053b;
}
.one-cast figcaption span.cast-txn {
	padding: 2px 5px;
	background-color: var(--color-primary);
	border-radius: 3px;
	font-size: 11px;
	color: #fff;
	margin: 5px 0px;
	display: inline-block;
}

.one-cast figcaption div.cast-pr {
	padding: 0px;
	margin: 0px 5px;
}
.one-cast figcaption div.cast-pr span {
	color: #fff;
}
.image:hover img, a:hover .image img {
	transform: unset !important;
}
.post_content #slider ul,
.post_content #thumbnail ul {
	list-style: none;
	margin-left: 0px;
	margin-bottom: 0px;
}

@media only screen and (max-width: 480px) {
	/* スマートフォン用のスタイル */
	.one-cast{
		flex: 0 0 50%;
		max-width: 150px;
		height: 410px;
		margin-right: 20px;
	}
	.one-cast:nth-child(3n) {
		margin-right: inherit;
	}
	.one-cast:nth-child(2n) {
		margin-right: 0px;
	}
	.one-cast figure {
		height: 215px;
	}
	
	.one-cast .tw {
		right: 0px;
		top: 200px;
		width: 35px;
		height: 35px;
	}

	.one-cast .new_cast {
		left: 2px;
		top: 2px;
		width: 35px;
		height: 35px;
	}
	
	.one-cast .todays_cast {
		right: 0px;
		top: 0px;
		border-radius: 3px;
		background-color: #ed561b;
		color: #fff;
		font-size: 14px;
	}

	.cast-photo,
	.cast-profile {
		flex: 0 0 100%;
		padding: 10px 0px;
	}
	.cast-photo {
		padding: 10px 0px 10px 10px;
	}
	.cast-profile > div {
		padding: 10px 0px;
	}
	.cast-schedule > div {
		padding: 10px;
	}
	.cast-meta-left {
		width: 40%;
	}
	.cast-meta-right {
		width: 40%;
	}
	.cast-schedule {
		padding: 10px;
		float: left;
	}

	/**
	 * キャスト詳細のスケジュールテーブル
	 * 行列を入れ替える
	 */
	.sch-box {
		width: 100%;
	}
	.sch-box tr {
		display: block;
		float: left;
	}
	.sch-box tr td, 
	.sch-box tr th {
		border-left: none;
		display: block;
		height: 60px;
		padding: 10px;
	}
	
	.sch-box thead {
		display: block;
		float: left;
		width: 30%;
	}
	.sch-box thead tr {
		width: 100%;
	}
	.sch-box tbody {
		display: block;
		float: left;
		width: 70%;
	}
	.sch-box tbody tr {
		width: 100%;
	}
	.sch-box tr td + td {
		border-left: none;
	}
	.sch-box tbody td:last-child {
		border-bottom: solid 1px #ccc;
	}	
	
}

@media all and (min-width: 680px) and (max-width: 768px) { 
	.one-cast {
		flex: 0 0 50%;
		box-sizing: content-box;
	}
	
	.one-cast:nth-child(2) {
		margin-right: 0px;
	}	
	.one-cast:nth-child(3) {
		margin-right: 15px;
	}	
}
@media all and (min-width: 768px) and (max-width: 1200px) { 
	.one-cast {
		margin-right: 3px;
	}

}
/**
 * スマホ対応 iPhone6,7,8
 */
@media screen and (min-device-width: 375px) 
and (max-device-width: 667px) 
and (-webkit-min-device-pixel-ratio: 2) {

	.one-cast{
		max-width: 157px;
		height: 410px;
		margin-right: 20px;
	}
	.one-cast:nth-child(3n) {
		margin-right: inherit;
	}
	.one-cast:nth-child(2n) {
		margin-right: 0px;
	}
	.one-cast figure {
		height: 225px;
	}

	.one-cast .tw {
		right: 0px;
		top: 200px;
		width: 35px;
		height: 35px;
	}

	.one-cast .new_cast {
		left: 2px;
		top: 2px;
		width: 35px;
		height: 35px;
	}
	
	.one-cast .todays_cast {
		right: 0px;
		top: 0px;
		border-radius: 3px;
		background-color: #ed561b;
		color: #fff;
		font-size: 14px;
	}	
	
	#slider ul li img {
		object-fit: cover;
		width: 310px;
		height: 460px;
	}	
	
}

/**
 * スマホ対応 iPhone6+/7+/8+
 */
 @media screen and (min-device-width: 414px) 
 and (max-device-width: 736px) 
 and (-webkit-min-device-pixel-ratio: 3) {
	/* 画面サイズがiPhone +以上からはここを読み込む */

	.one-cast{
		max-width: 184px;
		height: 430px;
		margin-right: 20px;
	}
	.one-cast:nth-child(2n) {
		margin-right: 0px;
	}
	.one-cast figure {
		height: 265px;
	}

	.one-cast .tw {
		right: 0px;
		top: 233px;
		width: 50px;
		height: 50px;
	}
	
	#slider ul li img {
		object-fit: cover;
		width: 370px;
		height: 550px;
	}	
}
