/*
Theme Name: Lightning Child v3
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: doraxdora
Tags: 
Version: 0.5.1
*/


:root {

	--color-white: #fff;
	--color-white-rgb: rgb(255,255,255);
	--color-letter-primary: #252525;
	--color-letter-secondary: #cacaca;

	--color-primary: #000000;
	--color-primary-rgb: rgba(250, 102, 31);
	--color-primary-rgba: rgba(250, 102, 31, 0.6);
	--color-secondary: #fc9d6f;
	--color-secondary-rgb: rgba(252,157,111);
	--color-secondary-rgba: rgba(252,157,111, 0.6);
	--color-tertiary: #fed3bf;
	--color-accent-primary: #c7243a;
	--color-accent-secondary: #ff5c72;

	--main-bgcolor: #fff;
	--header-bgcolor: #fff;
	--header-color: #252525;
	--header-color-hover: #cacaca;
	--header-border-color: #aaa;
	--footer-bgcolor: #fff;
	--footer-color: #252525;
	--footer-border-color: #aaa;
	--button-color: #fff;

}
html {
	font-size: 12px;
}
body {
	background-color: var(--main-bgcolor);
	
}
body, p {
	font-family: "UD Digi Kyokasho N-B", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.form-control {
	font-size: 16px;
}
/**
 * サイトヘッダー
 */
.container-fluid {
	padding: 0px 20vh;
}
.siteHeader {
	background-color: var(--header-bgcolor);
	color: var(--header-color);
	box-shadow: unset;
}
.siteHeader_logo span,
.gMenu a,
.nav li a {
	color: var(--header-color);
}
.gMenu a:hover {
	color: var(--header-color-hover);
}
.siteHeader_logo img {
	max-height: 70px;
}

.logo-after {
	margin: 20px 0px 0px 20px;
	float: left;
	display: none;
}
.gMenu_outer {
	min-height: 0em;
}
.gMenu > li::before {
	border-bottom: 1px solid var(--color-primary);
}
/**
 * スクロール後ヘッダメニュー
 */
.header_scrolled .gMenu_outer {
	background-color: var(--header-bgcolor);
}
.header_scrolled .gMenu_outer li a {
	color: var(--header-color);
}

/**
 * トップスライダー
 */
 .carousel {
	border-bottom: 1px solid var(--header-border-color);
 }

.siteContent {
/*
	background-image: url(https://luxeasespa.com/wp-content/themes/lightning-child/images/bg_image.png);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-attachment: fixed;
*/
	min-height: 780px;
}
.home .siteContent {
	padding-top: 0px;
}

.siteContent_after {
	text-align: center;
}

/**
 * サイトフッター
 */
.siteFooter {
	background-color: var(--footer-bgcolor);
	color: var(--footer-color);
	border-top: 1px solid var(--footer-border-color);
	text-align: center;
}
.siteFooter ul {
	justify-content: center;
}
.footerMenu li {
	width: 150px;
}
.siteFooter li > a:hover {
	text-decoration: none;
	color: #aaa;
}

.siteFooter li a {
	width: 100%;
	display: block;
}
.siteFooter a {
	text-decoration: none;
	color: var(--footer-color);
}
/**
 * フッターメニュー
 */
.footerMenu {
	border-bottom: 3px solid var(--color-primary);
	padding-bottom: 20px;
}
.footerMenu li a {
	border: 0px;
}
.footerMenu li:last-child a {
	border-right: 0px
}
.footerMenu li a:hover, 
.footerMenu li.current_page_item a {
	background: linear-gradient(to bottom, var(--color-white) , var(--color-primary), var(--color-white));
	-webkit-text-fill-color: var(--footer-bgcolor);
	color: var(--footer-color);
}

/**
 * ページヘッダー
 */
.section.page-header {
	background-image: linear-gradient(120deg, 
		var(--color-white-rgb) 0%, 
		var(--color-secondary-rgb) 20%, 
		var(--color-primary-rgb) 45%, 
		var(--color-primary-rgb) 55%, 
		var(--color-secondary-rgb) 80%, 
		var(--color-white-rgb) 100%);
	
	color: var(--color-white);
	-webkit-box-shadow: 0 0 5px 0 var(--color-white);
	-moz-box-shadow: 0 0 5px 0 var(--color-white);
	box-shadow: 0 0 5px 0 var(--color-white); 	
}

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

h3::before, h3::after {
	border-bottom: 1px solid #fff !important;
}
h2, h3 {
	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;
}

.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 var(--color-white);
	background-color: RGBA(0, 0, 0, 0.4);
	color: var(--color-white);
	padding: 10px;
}
div:empty {
	display: none;
}
.entry-body .bg_black .table figcaption {
	font-size: 10px;
	padding: 10px 5px;
}
.entry-body .text-white,
.entry-body .text-white .btn-outline-primary {
	color: var(--color-white);
}
.entry-body .text-white .btn-outline-primary {
	font-size: 2.25rem;
}
.entry-body .text-white .btn-outline-primary:hover {
	color: var(--color-white);
	text-decoration: none;
}
.entry-body .text-accent {
	text-shadow: 
		#ff0000 1px 1px 10px, #fa6288 -1px 1px 10px,
		#ff0000 1px -1px 10px, #fa6288 -1px -1px 10px;
	color: var(--color-white);
}
/**
 * テーブル
 */
.entry-body .table,
.entry-body .table table {
	border: 0px;
	margin-bottom: 0px;
}
.entry-body .table table td {
	border: 0px;
	border-right: 1px solid var(--color-black);
	border-bottom: 1px solid var(--color-black);
}
.entry-body .table table td:last-child {
	border-right: 0px;
}
.entry-body .table table tr:last-child td {
	border-bottom: 0px;
}
.entry-body table tbody td {
	color: var(--color-black);
}
.entry-body .table figcaption {
	color: var(--color-black);
	border-top: 1px solid var(--color-black);
	padding: 10px;
}

.sch-box {
	border: 1px solid #eee;
	table-layout: fixed;
	margin:0px;
}
.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: var(--color-white);
}
.sch-box tr td {
	background-color: RGBA(255, 255, 255, 0.6);
	height: 50px;
}

.new-box {
	margin: 0px 100px;
}

.metaslider img {
	margin-top: 0px !important;
}

/**
 * 営業時間
 */
.business-hours {
	padding: 10px 0px;
}
.business-hours p {
	color: #DA8E00;
	background: -webkit-linear-gradient(-45deg, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03, #DA8E00, #EDAC06, #F7DE05, #ECB802, #EDAC06);
	background: linear-gradient(90deg, #8e6c37, #f6e2b0, #ffe9b7, #a47a3e);	
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.deco-frame,
.deco-frame > div {
	position: relative;
}
.deco-frame::before,
.deco-frame::after,
.deco-frame > div::before,
.deco-frame > div::after {
	content: "";
	display: block;
	position: absolute;
	background-image: url(https://luxeasespa.com/wp-content/themes/lightning-child/images/diamond.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 30px;
	height: 30px;
	margin: 0px 10px 0px 0px;
}

.deco-frame::before {
	top: 5px;
	left:5px;
}
.deco-frame::after {
	top: 5px;
	right: -5px;
}
.deco-frame > div::before {
	bottom: -5px;
	left:-5px;
}
.deco-frame > div::after {
	bottom: -5px;
	right: -15px;
}
.deco-frame p {
	padding-left: 15px;
	padding-right: 15px;
}

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

.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: var(--color-white);
	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 100px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.cast-wrapper {
	margin: 0px auto;
}
.one-cast {
	display: inline-block;
	position: relative;
	max-width: 425px;
	height: 775px;
	margin: 10px 10px 4px;
	padding: 0;
	text-align: left;
	line-height: 1.3em;
	overflow: hidden;
	letter-spacing: normal;
	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 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: 600px;
	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%;
	min-width: 420px;
	object-fit: cover;
}

.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: var(--color-white);
	color: var(--color-white);
}


/**
 * キャスト個人ページ
 */
.cast {
	color: var(--color-black);
	overflow: hidden;
	padding: 20px;
	display: flex;
	flex-flow: row wrap;
}
.cast-photo {
	padding: 10px;
	min-width: 300px;
	flex: 1 1 50%;
}
.cast-profile {
	padding: 10px;
	min-width: 300px;
	flex: 1 1 50%;
}
.cast-profile > div {
	background-color: var(--color-white);
	padding: 20px;
	margin-bottom: 30px;
}
.cast-schedule {
	width: 100%
	flex: 1 1 100%;
}
.cast-meta {
	overflow:hidden;
	text-align: center;
}
.cast-meta-left {
	width:49%;
	height:35px;
	float:left;
	text-align: right;
	margin: 1px;
	padding:10px;
}
.cast-meta-right {
	width:49%;
	height:35px;
	float:left;
	text-align: left;
	margin: 1px;
	padding:10px;
	white-space:nowrap;
}
.cast-pr {
	font-size: 15px;
	overflow: hidden;
	line-height: 1.8;
	padding: 15px 10px;;
}
.cast-pr pre {
	white-space: pre-wrap;
	color: var(--color-black);
}

.flexslider {
	background: unset;
	border: unset;
}

.flex-direction-nav li a{
	height: 70px;
}
#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;
}
#slider ul li img {
	object-fit:cover;
}

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

/**
 * ランキング
 */
.rank-box > .one-cast {
	margin :0 18px 4px
}


/**
 * ツイッターアイコン
 */
.one-cast .tw {
	right: 0px;
	top: 560px;
	width: 70px;
	height: 70px;
	position: absolute;
	display: block;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 26;
	background-image: url(https://luxeasespa.com/wp-content/themes/lightning-child/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: var(--color-white);
	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: var(--color-white);
	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: 0px;
	top: 0px;
	width: 70px;
	height: 70px;
	position: absolute;
	display: block;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 26;
	background-image: url(https://luxeasespa.com/wp-content/themes/lightning-child/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(https://luxeasespa.com/wp-content/themes/lightning-child/images/btrip_icon.png);
	opacity: 0.9;
}

/**
 * ランキングバッジ
 */
.one-cast .rank {
	left: 0px;
	top: 625px;
	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 a {
	text-decoration: none;
}
.one-cast figcaption p {
	margin: 0px;
}
.one-cast figcaption p.cast-caption {
	color: var(--color-white);
	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;
}
.one-cast figcaption p.cast-name span {
	font-size: 80%;
}
.one-cast figcaption p.cast-size {
	display: block;
	color: var(--color-letter-primary);
	font-size: 80%;
}
.one-cast figcaption p.cast-size span {
	font-size: 75%;
}

.one-cast figcaption p.cast-workinfo {
	background-color: var(--color-accent-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: var(--color-white);
	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: var(--color-white);
}

.cast-review {
	margin-top: 30px;
}
.btn-primary {
	border-color: var(--color-accent-primary);
	background-color: var(--color-accent-primary);
}
.btn-primary a {
	color: var(--color-white);
}
.btn-primary:hover,
.btn-primary:active {
	border-color: var(--color-accent-primary) !important;
	background-color: var(--color-accent-secondary) !important;
}
.btn-primary:hover a {
	text-decoration: none;
}

.recruit-table table {
	border: 1px solid #eee;
}
.recruit-table table tr td {
	border-right: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.recruit-table table tr td:first-child {
	background-color: #f8f8f5;
	white-space: nowrap;
}
.wpcf7-submit {
	width: 100%;
}
.wp-block-contact-form-7-contact-form-selector {
	width: 60%;
	margin: 0px auto;
}


/**
 * スマホ対応
 */
@media screen and (max-width:480px) {
/* 画面サイズが480pxからはここを読み込む */
	.header-after {
		padding: 0px;
	}	
	.siteContent {
		background-size: auto 100%;
	}
	.container-fluid {
	    padding: 0px;
	    margin: 0px;
	}
	.siteHeader_logo {
		margin: 0px;
		padding: 10px;
		width: 40%;
		float:left;
	}
	.logo-after {
		margin: 10px 0px 0px 0px;
		font-size: 10px;
	}	
	h2::before {
		width: 50px;
	}
	h2::after {
		width: 50px;
	}
	#slider ul li img {
		max-width: 300px;
	}

	#thumbnail {
		display: block;
	}
	#slider ul li img {
		max-height: 400px;
	}
	
	.krc_calendar dl {
		min-height: 135px;
	}
	.wp-block-group.is-style-vk-group-shadow.home-block {
		padding: 5px 0px;
	}
	div.wp-block-group__inner-container {
		margin-left: 0px;
		margin-right: 0px;
		max-width: none;
	}
	
	.cast-box {
		padding: 5px 16px;
		display:inline-block;
		margin: 0px auto;
		width: 100%;
	}
	.cast {
		margin: 10px 10px;
		padding: 0px;
	}
	.cast-photo,
	.cast-profile {
		width:100%;
	}
	.cast-photo {
		padding: 10px 20px;
	}
	.cast-profile div {
		padding: 10px;
	}
	.one-cast {
		width: 155px;
		height: 360px;
		margin: 0px 0px 4px 10px;
	}
	.one-cast figure {
		height: 200px;
	}
	.one-cast figure img {
		height: 200px;
		min-width: unset;
		object-fit: cover;
		object-position: top;
		margin-top: 0px;
	}
	.one-cast figcaption p.cast-name {
		font-size: 90%;
	}	
	.one-cast figcaption p.cast-workinfo {
		margin: 0px 7px;
	}
	
	.recruit-moving-box {
		background-size: auto 100%;
	}
	.recruit-pay-box {
		background-size: auto 100%;
	}
	.vk_flow .vk_flow_frame_image {
		max-width: 100px;
	}	
	/**
	 * ツイッターアイコン
	 */
	.one-cast .tw {
		top: 180px;
		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;
	}
	
	/**
	 * 下部固定バナー
	 */
	.mobile-bnr-bottom {
		position: fixed;
		left: 0;
		bottom: 6%;
	}
	/**
	 * 下部固定ボタン
	 */
	.mobile-nav {
		position: fixed;
		left: 0;
		bottom:0;
		z-index: 100;
		width: 100%;
		border-radius: 7px 7px 0px 0px;
	}
	.mobile-nav > div {
		margin: 0px;
		padding: 0px;
	}
	.mobile-nav .btn {
		width: 90%;
		padding: 15px 0px;
	}
	.mobile-nav .wp-block-column {
		flex-basis: 30% !important;
		margin: 0px;
	}
	
	/**
	 * ページトップボタン
	 */
	.page_top_btn {
		bottom: 14%;
	}
	
	
	/**
	 * サイトフッター
	 */
	.siteFooter {
	}
	.siteFooter ul {
		display: table;
	}
	.footerMenu li {
		display: inline-block;
		width: 124px;
	}
	.siteFooter li a {
		width: 100px;
		display: block;
	}
	
	
	/**
	 * キャスト詳細のスケジュールテーブル
	 * 行列を入れ替える
	 */
	.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;
	}	
	
	#post-35 .bg_black table tr td{
		word-break: break-all;
	}
	
	#post-37 .wp-block-columns {
		display: table;
	}
	#post-37 .wp-block-column {
		display: table-cell;
		width: 10%;
	}
	#post-37 iframe {
		width: 100%;
	}
	
	.wp-block-contact-form-7-contact-form-selector {
		width: 100%;
	}
	
	.new-box {
		margin: 0px;
	}	
}