@charset "utf-8";
/*
Theme Name:HEAL child
Theme URI:
Description:WordPressテーマ「HEAL」の子テーマ
Author:doraxdora
Template:heal_tcd077
Version:1.0.0
*/

:root {
	--color-white: #fff;
	--color-white-rgb: rgb(255,255,255);
	--color-black:#252525;
	--color-gray:#cacaca;
	--color-primary: #573312;
	--color-primary-rgb: rgb(87,51,18);
	--color-primary-rgba: rgb(87,51,18,0.4);
	--color-secondary: #a35004;
	--color-secondary-rgb: rgba(163,80,4);
	--color-secondary-rgba: rgba(163,80,4,0.6);
	--color-tertiary: #ecc7a6;
	--color-tertiary-rgb: rgba(236,199,166);
	--color-tertiary-rgba: rgba(236,199,166,0.6);
	--color-frame: #e9dacb;
	--color-frame-rgb: rgb(233,218,203);
	--color-frame-rgba: rgb(233,218,203,0.6);
	--color-fourth: #cfae8e;
}
html {
	font-size: 12px;
}
body {
	background-color: var(--color-white);
}

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

#main_content {
	width: 1000px;
	margin: 90px auto 80px;
}	
/* キャスト */
.cast_content { }
.cast_content .headline { font-size:40px; text-align:center; margin-bottom:50px; }
.cast_content .headline span { display:block; font-size:14px; margin-top:15px; }
.cast_content .list_headline { height:60px; line-height:60px; text-align:center; font-size:22px; margin-top:-1px; }
.cast_content .menu_price_list td {
  border:1px solid #ddd; border-top:none; background:#fff; padding:25px 30px 20px; font-size:14px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
.cast_content .menu_price_list .col1 { width:180px; text-align:center; vertical-align:middle; font-size:16px; }
.cast_content .menu_price_list .col3 { width:180px; text-align:center; vertical-align:middle; font-size:16px; }
.cast_content .menu_price_list td p { line-height:2; }
.cast_content .menu_price_list.type2 td {
  border:1px solid #ddd; border-top:none; background:#fff; padding:25px 30px 20px; font-size:14px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
.cast_content .menu_price_list.type2 .col1 { width:auto; text-align:left; vertical-align:middle; font-size:14px; }
.cast_content .menu_price_list.type2 .col2 { width:180px; text-align:center; vertical-align:middle; font-size:16px; }
.cast_content .menu_price_list.type2 td p { line-height:2; }
.cast_content .post_content { margin-top:20px; margin-bottom:-10px; }

.cast_content .headline { font-size:38px; color:#593306; }
.cast_content .headline span { font-size:18px; }
.cast_content .post_content { font-size:14px; }
.cast_content .page_navi {
	margin-bottom: 60px;
}
/**
 * 見出し
 */
h2.sub-section {
	padding-bottom: 8px;
	position: relative;
	border: 0px;
	text-align: center;
	font-size: 2rem;
}
h2.sub-section {
	margin-bottom: 50px;
}
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;
}
h2.headline_bg_l {
	margin-bottom: 50px;
}
.transparent {
	opacity: 0.4;
}


.bg_white {
	border: 1px solid var(--color-black);
	background-color: var(--color-white);
	color: var(--color-black);
	padding: 10px;
}
.bg_black {
	border: 1px solid #fff;
	background-color: RGBA(0, 0, 0, 0.4);
	color: #fff;
	padding: 10px;
}


.post_content h3.section-title {
	text-align: center; 
	font-size: 38px; 
	color: #58330d;
}

.post_content table.sch-box {
	margin: 0px;
}

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

.spacer {
	height: 20px;
}

.block-group {
	-webkit-box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
	padding: 1.8em;
	margin-top: 1.2em;
	margin-bottom: 1.2em;
	margin-top: var(--vk-margin-elem);
	margin-bottom: var(--vk-margin-elem);
}

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

/**
 * キャストスケジュール
 */

.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);
}

.krc_calendar dl {
	margin: 0px;
	border: 0px;
	border-right: 1px solid #ccc;
	width: 20%;
	float: left;
	display: block;
}
.krc_calendar dl dt {
	border: 0px;
	border-bottom: 1px solid #ccc;
	text-align: center;
	padding: 2px;
	background-color: #a59548;
	font-weight: normal;
	margin-bottom: 0px;
}

.krc_calendar dl dd {
	border: 0px;
	text-align: center;
	text-decoration: none;
	padding: 24px 2px;
	display: block;
	color: #000;
	font-weight: bold;
	margin: 0px auto;
	background-color: RGBA(255, 255, 255, 0.6);
}


/**
 * 出勤情報
 */
.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-box {
	padding: 5px;
}
.one-cast {
	display: inline-block;
	position: relative;
	max-width: 300px;
	height: 560px;
	margin: 10px 10px 20px 10px;
	padding: 0;
	text-align: left;
	line-height: 1.3em;
	overflow: hidden;
	letter-spacing: normal;
	border-radius: 0px;
	border: 0px solid var(--color-frame);
	-webkit-box-shadow: 0px 0px 5px 5px var(--color-frame);
	-moz-box-shadow: 0px 0px 5px 5px var(--color-frame);
	box-shadow: 0px 0px 5px 5px var(--color-frame);
}

.one-cast a.iframe {
	z-index: 8;
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	color: #111;
}

.one-cast figure {
	position: relative;
	margin: 0 auto 0;
	padding: 0;
	overflow: hidden;
	position: relative;
	text-align: center;
	width: 100%;
	height: 380px;
	overflow: hidden;
}
.one-cast figure img {
	height: 100%;
}

.one-cast figcaption {
	position: relative;
	width: 100%;
	height: 240px;
	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;
}
.cast-photo {
	padding: 10px;
	width: 45%;
	min-width: 300px;
	float: left;
}
.cast-profile {
	padding: 10px 0px;
	width: 50%;
	min-width: 300px;
	float: left;
}
.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:45%;
	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-table {
	border: 0px;
	margin-bottom: 20px;
}
.cast-meta-table th {
	font-weight:400;
	background-color: var(--color-tertiary);
	text-align: right;
	min-height: 45px;
	height: 45px;
}



.cast-meta-table th,
.cast-meta-table td {
	border-color: #fff;
	border-width: 2px;
	width: 50vh;
	padding: 7px;
	word-break: break-all;
}
.cast-meta-table td pre {
	all:initial;
	margin:0px;
}

.cast-meta-table span.cast-txn {
	padding: 2px 5px;
	border-radius: 3px;
	font-size: 1rem;
	margin: 5px 0px;
	color: #fff;
	display: inline-block;
}
.cast-meta-table span.cast-grade {
	background-color:#f5f5f5;
	color:black;
}
.cast-meta-table span.cast-type {
	background-color: #de6316;
	color:var(--color-white);
}
.cast-meta-table span.cast-area {
	background-color:#ffffff;
	color:black;
}

.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: 100%;
}
.flex-direction-nav a {
	height: 60px;
}

#thumbnail {
	overflow:hidden;
}
#thumbnail .slides li {
	
	min-height:150px;
	width:100px;
}
#thumbnail .slides img {
	min-height: 150px;
	max-height: 150px;
	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;
}


.btn-block {
	text-align: center;
}
.post_content .sz_l {
	background-color: var(--color-primary) !important;
	max-width: 100% !important;
	width: 100%;
}
/**
 * ランキング
 */
.rank-box > .one-cast {
	margin :0 18px 4px
}


/**
 * ツイッターアイコン
 */
.one-cast .tw {
	right: 0px;
	top: 340px;
	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;
}

.one-cast .todays_cast {
	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-primary);
	border-bottom: 1px solid var(--color-primary);
	background-color: var(--color-primary);
}
.one-cast figure p.cast-name {
	display: block;
	padding: 5px 0px;
	font-size: 16px;
	font-weight: 900;
	margin: 5px 0px 0px 0px;
	position: absolute;
	bottom: 0px;
	width: 100%;
	min-height: 60px;
	color: var(--color-white);
	background-color: var(--color-primary-rgba);
}
.one-cast figure p.cast-name .small {
	display: block;
	font-size: 0.9rem
}
.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-catchphrase {
	display: block;
	color: var(--color-secondary);
	font-size: 0.9rem;
	margin: 10px 0px;
	min-height: 35px;
}

.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;
}
.btn-primary {
	border-color: var(--color-primary);
	background-color: var(--color-primary);
}
.btn-primary a {
	color: #fff;
}
.btn-primary:hover,
.btn-primary:active {
	border-color: var(--color-primary) !important;
	background-color: var(--color-secondary) !important;
}
.btn-primary:hover a {
	text-decoration: none;
}

.contact-buttons {
	padding: 15px 15px 0px 15px;
	background-image: url(images/pattern.png);
	background-position: left top;
	background-size: 100% auto;
	background-attachment: fixed;

}
.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;
}

/**
 * スマホ対応 iPhone6,7,8
 */
@media screen and (min-device-width: 375px) 
and (max-device-width: 667px) 
and (-webkit-min-device-pixel-ratio: 2) {
/* 画面サイズが旧iPhone6/7/8サイズからはここを読み込む */
	h2::before {
		width: 50px;
	}
	h2::after {
		width: 50px;
	}
	
	.post_content h2.sub-section {
		font-size: 18px;
		margin-bottom: 10px;
	}	
	.post_content h3.section-title {
		font-size: 22px;
		margin-bottom: 7px;
	}
	
	#slider ul li img {
		max-width: unset;
	}

	#thumbnail {
		display: block;
	}
	#slider ul li img {
		max-height: 400px;
	}
	.krc_calendar {
		margin: 24px 10px;
	}
	.krc_calendar dl {
		min-height: 135px;
	}
	.btn-block > .sz_l {
		min-width: unset !important;
	}	
	.cast-box {
		padding: 5px 0px;
		display:inline-block;
		margin: 0px auto;
	}
	.cast {
		margin: 10px;
		padding: 0px;
	}
	.cast-photo,
	.cast-profile {
		width:100%;
	}
	.cast-photo {
		padding: 10px 0px;
	}
	.cast-profile > div,
	.cast-schedule > div {
		padding: 10px;
	}
	.cast-meta-left {
		width: 40%;
	}
	.cast-meta-right {
		width: 40%;
	}
	.cast-schedule {
		padding: 10px;
		float: left;
	}	
	.one-cast {
		max-width: 47%;
		height: 470px;
		margin: 0px 1px 5px;
		-webkit-box-shadow: 0px 0px 3px 3px var(--color-frame);
		-moz-box-shadow: 0px 0px 3px 3px var(--color-frame);
		box-shadow: 0px 0px 3px 3px var(--color-frame);
	}
	.one-cast figure {
		height: 200px;
	}
	.one-cast figure img {
		height: 200px;
		object-fit: cover;
		object-position: top;
		margin-top: 0px;
	}
	.one-cast figcaption {
		height: 270px;
	}
	.one-cast figure p.cast-name {
		paddin: 3px 0px;
		min-height: 55px;
		font-size: 0.8rem;
	}	
	.one-cast figure p.cast-name .small {
		font-size: 0.7rem
	}
	.one-cast figcaption p.cast-name span {
		font-size: 75%;
	}
	
	.one-cast figcaption p.cast-catchphrase {
		font-size: 0.8rem;
	}
	.one-cast figcaption p.cast-workinfo {
		margin: 0px 7px;
		font-size: 0.9rem;
	}
	.one-cast figcaption span.cast-txn {
		font-size: 7px;
	}
	
	/**キャスト関連**/
	.cast_content {
		text-align: center;
	}
	/**
	 * ツイッターアイコン
	 */
	.one-cast .tw {
		top: 175px;
		right: 2px;
		width: 35px;
		height: 35px;
	}
	/**
	 * 出張アイコン
	 */
	.one-cast .btrip_cast {
		top: 105px;
		width: 35px;
		height: 35px;
	}

	/**
	 * 当日出勤バッジ
	 */
	.one-cast .todays_cast {
		font-size: 10px;
		opacity: 0.7;
	}

	/**
	 * 出勤時間バッジ
	 */
	.one-cast .worktime {
		top: 0px;
		top: 125px;
		font-size: 10px;
		text-align: left;
		padding: 5px 5px;
	}

	/**
	 * 新人バッジ
	 */
	.one-cast .new_cast {
		width: 35px;
		height: 35px;
	}
	
	/**
	 * ランクバッジ
	 */
	.one-cast .rank {
		top: 220px;
	}
	.one-cast .rank img {
		width: 40px;
	}
	
	/**
	 * ページトップボタン
	 */
	.page_top_btn {
		bottom: 14%;
	}
	
	
	/**
	 * キャスト詳細のスケジュールテーブル
	 * 行列を入れ替える
	 */
	.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: 50px;
	}
	.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;
	}	
	
	.new-box {
		margin: 0px;
	}	
}

/**
 * スマホ対応 iPhone6+/7+/8+
 */
 @media screen and (min-device-width: 414px) 
 and (max-device-width: 736px) 
 and (-webkit-min-device-pixel-ratio: 3) {
	/* 画面サイズがiPhone +以上からはここを読み込む */
		h2::before {
			width: 50px;
		}
		h2::after {
			width: 50px;
		}
		#slider ul li img {
			max-width: unset;
		}
	
		#thumbnail {
			display: block;
		}
		#slider ul li img {
			max-height: 400px;
		}
		.krc_calendar {
			margin: 24px 10px;
		}
		.krc_calendar dl {
			min-height: 135px;
		}
		.btn-block > .sz_l {
			min-width: unset !important;
		}	
		.cast-box {
			padding: 5px 0px;
			display:inline-block;
			margin: 0px auto;
		}
		.cast {
			margin: 10px;
			padding: 0px;
		}
		.cast-photo,
		.cast-profile {
			width:100%;
		}
		.cast-photo {
			padding: 10px 0px;
		}
		.cast-profile > div,
		.cast-schedule > div {
			padding: 10px;
		}
		.cast-meta-left {
			width: 40%;
		}
		.cast-meta-right {
			width: 40%;
		}
		.cast-schedule {
			padding: 10px 0px;
			float: left;
		}	
		.one-cast {
			max-width: 45%;
			height: 400px;
			margin: 0px 5px 10px;
		}
		.one-cast figure {
			height: 200px;
		}
		.one-cast figure img {
			height: 200px;
			object-fit: cover;
			object-position: top;
			margin-top: 0px;
		}
		.one-cast figcaption p.cast-name {
			margin-top: 10px;
			font-size: 90%;
		}	
		.one-cast figcaption p.cast-workinfo {
			margin: 0px 7px;
		}
		
		/**キャスト関連**/
		.cast_content {
			text-align: center;
		}
		/**
		 * ツイッターアイコン
		 */
		.one-cast .tw {
			top: 175px;
			right: 3px;
			width: 35px;
			height: 35px;
		}
		/**
		 * 出張アイコン
		 */
		.one-cast .btrip_cast {
			top: 105px;
			width: 35px;
			height: 35px;
		}
	
		/**
		 * 当日出勤バッジ
		 */
		.one-cast .todays_cast {
			font-size: 10px;
			opacity: 0.7;
		}
	
		/**
		 * 出勤時間バッジ
		 */
		.one-cast .worktime {
			top: 0px;
			top: 125px;
			font-size: 10px;
			text-align: left;
			padding: 5px 5px;
		}
	
		/**
		 * 新人バッジ
		 */
		.one-cast .new_cast {
			width: 35px;
			height: 35px;
		}
		
		.one-cast .rank {
			top: 220px;
		}
		.one-cast .rank img {
			width: 40px;
		}
		
		/**
		 * ページトップボタン
		 */
		.page_top_btn {
			bottom: 14%;
		}
		
		
		/**
		 * キャスト詳細のスケジュールテーブル
		 * 行列を入れ替える
		 */
		.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: 50px;
		}
		.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;
		}	
		
		.new-box {
			margin: 0px;
		}	
	}
