@charset "UTF-8";


/* ------ Google Fonts ------ */

@import url('https://fonts.googleapis.com/css?family=EB+Garamond');
@import url('https://fonts.googleapis.com/css?family=Sorts+Mill+Goudy');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Teko:wght@300..700&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');


/* ------ 游ゴシック指定 ------ */

@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local('YuGothic-Medium'), /* PostScript Name = localの正式な指定方法 */
	local('Yu Gothic Medium'),     /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
	local('YuGothic-Regular');     /* 游ゴシックMediumが存在しないWindows8.1用 */
}

@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local('YuGothic-Bold'), /* PostScript Name = localの正式な指定方法 */
	local('Yu Gothic');          /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}


/* ------ 游明朝指定 ------ */

@font-face {
	font-family: 'MyYuMinchoM';
	font-weight: normal;
	src: local('YuMincho-Medium'), /* PostScript Name = localの正式な指定方法 */
	local('Yu Mincho Medium'),     /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
	local('YuMincho-Regular');     /* 游ゴシックMediumが存在しないWindows8.1用 */
}

@font-face {
	font-family: 'MyYuMinchoM';
	font-weight: bold;
	src: local('YuMincho-Bold'), /* PostScript Name = localの正式な指定方法 */
	local('Yu Mincho');          /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}


/* ------ FontAwesome ------ */

@font-face {
	font-family: 'FontAwesome';
	src: url('../font/FontAwesome/fontawesome-webfont.eot?v=4.0.3');
	src: url('../font/FontAwesome/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('../font/FontAwesome/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('../font/FontAwesome/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../font/FontAwesome/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
	font-weight: normal;
	font-style: normal;
}


/* ------ common ------ */

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

html, body { min-width: 320px; }
html {
	font-size: 62.5%;
    overflow-y: scroll;
}

body {
	min-width: 320px;
	max-width:100%;
	overflow:hidden;
	color: #1f1f1f;
	font: 100 1.3rem/1.6 MyYuGothicM, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: normal;
	padding: 0;
	margin: 0;
	background: #fff;
	font-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
}

p, h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	padding: 0;
	margin: 0;
}

a { 
	color: #333;
	text-decoration: none;
}

.inline-block-wrapper { font-size: 0; }
.inline-block {
	font-size: 1rem;
	vertical-align: bottom;
	padding: 0;
	margin: 0;
	display: inline-block;
}

a,img,button { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
img { border: none; }
dl, dt, dd {
	padding: 0;
	margin: 0;
}

dl > dd + dt { margin-top: 1.5em; }
dt {
	padding-left: 1em;
	position: relative;
}

dd {
	padding-left: 1em;
	padding-bottom: 5px;
	border-bottom: 1px dotted #ddd;
}

dt:before {
	content: "★";
	width: 1.5em;
	line-height: normal;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
}

ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.block { display: block; }
.clearfix:after {
	content: "";
	height: 0;
	clear: both;
	visibility: hidden;
	display: block;
}

.title-bar {
	position:relative;
	height: 60px;
    color: #990000;
    font-size: 3.6rem;
	font-family: "Oswald", sans-serif;
	font-weight: 500;
	text-shadow: white 0px 0px 3px,white 1px 1px 1px,white -1px -1px 0px;
	padding-left:20px;
	border-left: solid 7px #990000;
	background: -webkit-repeating-linear-gradient(-45deg, #e6c1bf, #e6c1bf 3px,#ffeef9 3px, #ffeef9 7px);
	background: repeating-linear-gradient(-45deg, #e6c1bf, #e6c1bf 3px,#ffeef9 3px, #ffeef9 7px);
}

.title-bar span {
    font-size: 1.8rem;
	font-family: "Zen Old Mincho", serif;
    letter-spacing: 0.1em;
	padding-left: 10px;
}

.not-home #main-content { background: #fff; }
.not-home #main-content > strong {
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 0.1em;
    padding: 20px;
    display: inline-block;
}

.sp-only { display: none !important; }
*:focus { outline: 0; }


/* button */

.button {
	width: 100%;
	height: 48px;
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 48px;
	text-align: center;
	margin: 10px auto;
	background: #333;
	-webkit-appearance: none;
	text-decoration: none;
	display: block;
	outline: none;
	cursor: pointer;
}

@media screen and (max-width: 1000px) {
	.title-bar { 
		height: 44px;
		font-size: 2rem;
	}
	
	.title-bar span { 
		font-size: 1.4rem;
	}
	
	.pc-only { display: none; }
	.sp-only { display:block !important; }
	.sp-display-none { display: none; }
}


/* ------ Pager ------ */

.pager {
	text-align: center;
	margin-top: 2em;
}

.pager > div > span {
	color: #fff;
	background: #252525;
	margin: 6px;
	border-radius: 50%;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
	display: inline-block;
}

.pager > div > span > a,
.pager > div > .current {
	color: #fff;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
	padding: 0 1.2em;
	display: block;
}

.pager > div.page-direction > span > a { padding: 0 1.1em; }
.pager > div > span:hover { background: #dd027a; }
.pager > div > .current {
	background-color: #dd027a;
	display: inline-block;
}

.pager > div > .disabled {
	width: 8.4em;
	visibility: hidden;
}


/* ------ Cell Style ------ */
 
.designed-cell-wrapper {
	padding: 0;
	margin: 0;
	border: 1px solid #2d2d2d;
}

.designed-cell-row {
	width: 100%;
	margin: 0;
	padding: 0;
	display: table;
}

.designed-cell-row + .designed-cell-row { border-top: 1px solid #2d2d2d; }
.designed-cell-row > .designed-cell-left,
.designed-cell-row > .designed-cell-right {
	min-height: 1em;
	vertical-align: top;
	padding: 2%;
	margin: 0;
	display: table-cell;
}

.designed-cell-left {
	width: 30%;
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	border-right: 1px solid #252525;
	background: rgba(0, 0, 0, 0.7);
}

.designed-cell-left:before { display: none; }
.designed-cell-right {
	width: 70%;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	border-bottom: none;
}

@media screen and (max-width: 1000px) {
	.designed-cell-row {
		width: auto;
		display: block;
	}
	
	.designed-cell-row > .designed-cell-left,
	.designed-cell-row > .designed-cell-right {
		width: auto;
		font-size: 1.4rem;
		padding: 2%;
		display: block;
	}
	
	.designed-cell-left { border-right: none; }
}


/* ------ header ------ */

#header-wrapper {
	width: 100%;
	background: url('../img/bg_head.png') right center no-repeat;
	background-size: cover;
}

header {
	width: 1280px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	background: url('../img/tel_number.png') 720px 258px no-repeat;
}

header h1 {
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 1.8em;
	padding:  6px 10px;
}

#logo {
	width: 360px;
	padding: 40px 0 40px 20px;
	margin:0 0 0 140px;
}

#logo a {
	font-weight: normal;
	display: block;
}

#hour-tel {
	width: 516px;
	margin: 0 15px 0 0;
	text-shadow: -1px -1px 1px #ccc, 1px 1px 1px #666;
	position: relative;
	float: right;
}

#business-hour {
	width: 210px;
	height: 45px;
	text-align: left;
	padding-top: 20px;
	padding-left: 38px;
	position: absolute;
	left: 0;
	top: 0;
}

.shop-tel {
	width: 210px;
	height: 45px;
	text-align: left;
	padding-top: 20px;
	padding-left: 38px;
}

@media screen and (max-width: 1000px) {
	#header-wrapper {
		width: 100%;
		max-width:100%;
		margin-bottom: 0;
	}
	
	header {
		width: 100%;
		max-width:100%;
		padding: 0 2%;
		background: none;
		position: relative;
	}
	
	header h1 {
		width: 100%;
		line-height: 1.6em;
		font-weight: normal;
		text-align: left;
		margin: 0 0 10px;
	}
	
	header > div {
		width: 100%;
		margin-bottom: 20px;
	}
	
	#logo {
		width: 100%;
		text-align: center;
		vertical-align: middle;
		padding: 10px 2% 0 0;
		margin:0;
	}
	
	#logo img {
		width: 60%;
		max-width: 380px;
	}
	
	#logo > a {
		display:inline-block;
		vertical-align:bottom;
	}
	
	#logo img{
		max-width:100%;
		height: auto;
		vertical-align:bottom;
	}
	
	#hour-tel {
		width: 100%;
		vertical-align: middle;
		margin: 10px auto 0;
		text-shadow: none;
		float: none;
	}
	
	#business-hour {
		width: 100%;
		height: auto;
		font-size: 1.2rem;
		text-align: center;
		padding: 0;
		position: inherit;
	}
	
	#business-hour:before { display:none; }
	header .shop-tel {
		width: 100%;
		height: auto;
		color: #fff;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		text-align: center;
		padding: 6px;
		background: #333;
		display: block;
	}
}


/* ------ nav ------ */

#nav-wrapper {
	width: 100%;
	height: 78px;
	background: #990000;
}

#nav {
	width: 1280px;
	height: 78px;
	margin: 0 auto;
}

#nav > div ul li {
	width: 160px;
	height: 78px;
	text-align: center;
    transition: 0.3s;
	position: relative;
	display: block;
	float: left;
}

ul li + li:before {
    content: "";
    height: 78px;
    border-left: 1px solid #fff;
    position: absolute;
    left: 0;
}

#nav > div ul li a {
	height: 78px;
	padding: 0;
	transition: 0.3s;
	overflow: hidden;
	display: block;
    position: relative;
    z-index: 0;
	color: #fff;
    transition: all 0.7s;
}

#nav > div ul li .eng {
    font-size: 2.4rem;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	padding-top: 10px;
	line-height:1.45em;
	display: inline-block;
	border-bottom:2px solid #990000;
}

#nav > div ul li .jap {
    font-size: 1.4rem;
	letter-spacing: 0.1em;
    margin-top: -2px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	display: block;
}

#nav > div ul li a:after {

}
#nav > div ul li a:hover{
	background:#fff;
	color:#990000;
}

#nav > div ul li a:hover:after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #990000 transparent;
}

#nav > div ul li.current-page a{
	background:#fff;
	color:#990000;
}

#nav > div ul li.current-page a:after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #990000 transparent;
}

#nav > div ul li.current-page a:after {
}




@media screen and (max-width: 1000px) {
	#nav-wrapper {
		height: auto;
	}
	
	#nav {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	
	#nav > div ul li {
		width: 25%;
		height: 60px;
	}

	#nav > div ul li + li:before {
		height: 60px;
	}

	#nav > div ul li:nth-child(5):before {
		border-left: none;
	}
	
	#nav > div ul li:first-child,
	#nav > div ul li:nth-child(2),
	#nav > div ul li:nth-child(3),
	#nav > div ul li:nth-child(4) {
		border-bottom: 1px solid #fff;
	}

	#nav > div ul li .eng {
		font-size: 1.2rem;
		padding-top: 16px;
	}
	
	#nav > div ul li .jap {
		font-size: 1.0rem;
		margin-top: -4px;
	}
	
	#nav > div ul li a {
		height: 60px;
	}

	#nav > div ul li a:before,
	#nav > div ul li a:after {
		width: 36px;
		height: 36px;
		top: 30px;
	}
	
	#nav > div ul li.current-page a:before,
	#nav > div ul li.current-page a:after {
		width: 36px;
		height: 36px;
		top: 30px;
	}
}


/* ------ top-slider ------ */

.slider { margin: 0 auto 40px; }
.slick-slide img {
	width: 100%;
	height: auto;
}

.mypattern{ width: 100%; }

@media screen and (max-width: 1000px) {
	.slider {
		margin: 0 auto 20px;
		overflow: hidden;
	}
}


/* ------ main-content ------ */


#main-content {
	width: 1280px;
	margin: 0 auto;
}

@media screen and (max-width: 1000px) {
	#main-content {
		width: 100%;
		padding: 0 2%;
		margin: 0 auto;
	}
}


/* ------ left-content ------ */

#home-left-content {
	width: 940px;
	background: #fff;
	float: left;
}

@media screen and (max-width: 1000px) {
	#home-left-content {
		width: 100%;
		float: none;
	}
}


/* 新着情報 */

#home-new-info { padding-bottom: 40px; }

/* headline */

#headline {
	width: 920px;
	height: 42px;
	font-size: 0;
	padding: 0;
	margin: 10px auto;
}

#headline .headlineTitle {
    width: 30%;
    height: 46px;
    text-align: center;
    vertical-align: top;
    background: #e4a473;
    display: inline-block;
}

#headline .headlineTitle h3 {
    color: #990000;
    font-size: 2.8rem;
	font-family: "Teko", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
    line-height: 52px;
}

#headline marquee,
#headline .marquee {
	width: 70%;
    height: 46px;
    line-height: 46px;
    vertical-align: top;
    border: 2px solid #e2077d;
    background: #fff;
    display: inline-block;
}

.marquee { overflow:hidden; }
.marquee p:after {
	content: "";
	white-space: nowrap;
}

.marquee p {
	font-size: 1.4rem;
	padding: 0 0 0 100%;
	margin: 0;
	white-space: nowrap;
	display: inline-block;
	animation-name: marquee;
	animation-timing-function: linear;
	animation-duration: 20s;
	animation-iteration-count: infinite;
}

@-webkit-keyframes marquee {
	from   { -webkit-transform: translate(0%);}
	99%,to { -webkit-transform: translate(-100%);}
}

@keyframes marquee {
	from   { transform: translate(0%);}
	99%,to { transform: translate(-100%);}
}


/* headline End */

#home-new-info .new_info_wrap {
	height: 340px;
	padding: 20px;
	overflow: auto;
	scrollbar-color:#990000 #eeeeee;
}

#home-new-info .new_info_wrap article + article { border-top: 1px solid #bebebe; }

.new-information-content img {
	max-width: 100%;
	width: auto;
	height: auto;
}

.new-information-content a {
    color: #0000ff;
    text-decoration: underline;
}

@media screen and (max-width: 1000px) {
	#home-new-info { padding-bottom: 20px; }
	#headline {
		width: 100%;
		height: 30px;
		margin: 20px auto 10px;
	}

	#headline .headlineTitle {
		height: 40px;
	}
	
	#headline .headlineTitle h3 {
		font-size: 2rem;
		line-height: 46px;
	}
	
	#headline marquee,
	#headline .marquee {
    	height: 40px;
		line-height: 40px;
	}
	
	#home-new-info .new_info_wrap {
		height: auto;
		overflow: inherit;
	}
}


/* 新人情報 */

#home-cast-new { padding-bottom: 40px; }
#home-cast-new .swipeSlider { padding-top: 20px; }
#home-cast-new .swipeSlider ul {
	width: 860px;
	margin: 0 auto;
	
}

#home-cast-new .swipeSlider ul .slick-list { overflow: hidden; }
#home-cast-new .cast-wrapper {
	width: 200px;
	vertical-align: top;
	padding-right: 20px;
	position: relative;
	display: inline-block;
}

#home-cast-new .cast-wrapper a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
}

#home-cast-new .cast-wrapper .cast-image-wrapper {
	width: 195px;
	height: 254px;
	text-align: center;
	overflow: hidden;
}

#home-cast-new .cast-wrapper .cast-image-wrapper img {
	width: 100%;
	max-width: 200px;
	vertical-align: bottom;
}

#home-cast-new .cast-wrapper .cast-info {
	text-align: center;
	padding: 10px 0 0;
}

#home-cast-new .cast-wrapper .cast-info .cast-name { font-size: 1.6rem; }
#home-cast-new .cast-wrapper .cast-info .three-size { font-size: 1.4rem; }
#home-cast-new .cast-wrapper .cast-info time {
    width: 100%;
    color: #fff;
    font-size: 1.4rem;
    background: #000;
	display: block;
}

@media screen and (max-width: 1000px) {
	#home-cast-new { padding-bottom: 20px; }
	#home-cast-new .swipeSlider ul { width: 90%; }
	#home-cast-new .cast-wrapper { padding-right: 10px; }
	
	#home-cast-new .cast-wrapper:nth-child(3n) { margin-right: 0; }
	#home-cast-new .cast-wrapper .cast-image-wrapper {
		width: 92px;
		height: 120px;
		margin: 0 auto;
	}
	#home-cast-new .cast-wrapper .cast-image-wrapper img { display: inline-block; }
	#home-cast-new .cast-wrapper .cast-info .cast-name { font-size: 1.4rem; }
	#home-cast-new .cast-wrapper .cast-info .three-size { font-size: 1.2rem; }
	#home-cast-new .cast-wrapper .cast-info time { font-size: 1.2rem; }
}

@media screen and (max-width: 768px) {
	#home-cast-new .swipeSlider ul { width: 86%; }
}


/*-- swipe slider --*/

#home-cast-new .swipeSlider ul .slick-prev:before { content: "" !important; }
#home-cast-new .swipeSlider ul .slick-next:before { content: "" !important; }
#home-cast-new .swipeSlider ul .slick-prev,
#home-cast-new .swipeSlider ul .slick-prev {
	width: 20px !important;
	height: 35px !important;
	background: url(../img/button/next.png) no-repeat 0 0 !important;
	background-size: 20px 35px !important;
	top: 50%;
	left: -30px;
	z-index: 3;
	transform: rotateY(180deg);
}

#home-cast-new .swipeSlider ul .slick-next,
#home-cast-new .swipeSlider ul .slick-next {
	width: 20px !important;
	height: 35px !important;
	background: url(../img/button/next.png) no-repeat top left !important;
	background-size: 20px 35px !important;
	top: 50%;
	right: -30px;
	z-index: 3;
	transform: rotateY(360deg);
}

@media screen and (max-width: 768px) {
	#home-cast-new .swipeSlider ul .slick-prev,
	#home-cast-new .swipeSlider ul .slick-prev {
		width: 10px !important;
		height: 20px !important;
		background-size: 10px 20px !important;
		left: -20px;
	}
	
	#home-cast-new .swipeSlider ul .slick-next,
	#home-cast-new .swipeSlider ul .slick-next {
		width: 10px !important;
		height: 20px !important;
		background-size: 10px 20px !important;
		right: -20px;
	}
}


/* loop slider */
/*
.loopSliderWrap {
	height: 363px;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
}

.loopSlider {
	width: 940px;
	height: 363px;
	text-align: left;
	margin: 20px auto 0;
	position: relative;
	overflow: hidden;
}

.loopSlider ul {
	float: left;
	overflow: hidden;
}

.loopSlider ul li {
	width: 210px;
	display: inline;
	float: left;
	overflow: hidden;
}

.loopSliderWrap:after {
	content: "";
	display: none;
	clear: none;
}

@media screen and (max-width: 1000px) {
	.loopSliderWrap { height: 370px; }
	
	.loopSlider {
		width: 100%;
		height: 370px;
		margin: 20px auto 0;
	}
	
	.loopSlider ul li { width: 210px; }
}
*/


/* 本日の出勤キャスト */

#home-attendance { padding-bottom: 40px; }
#home-attendance .cast-wrapper {
	width: 210px;
	vertical-align: top;
	margin: 20px 0 0 20px;
	position: relative;
	display: inline-block;
	border:1px solid #990000;
	box-shadow: 2px 2px 3px 3px #ddd;
}

#home-attendance .cast-wrapper a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
}

#home-attendance .cast-wrapper .cast-image-wrapper {
	height: 315px;
	max-height: 315px;
	text-align: center;
	border: none;
	overflow: hidden;
}

#home-attendance .cast-wrapper .cast-image-wrapper img {
	width: 100%;
	max-width: 210px;
	vertical-align: bottom;
}

#home-attendance .cast-wrapper .cast-info {
	text-align: center;
	padding: 10px 0;
}

#home-attendance .cast-wrapper .cast-info .cast-new {
    color: #fff;
    font-size: 1.4rem;
    padding: 3px 6px;
    margin: 0 10px 0 0;
    background: #dd027a;
    display: inline-block;
}

#home-attendance .cast-wrapper .cast-info .cast-name { font-size: 1.6rem; }
#home-attendance .cast-wrapper .cast-info .three-size { font-size: 1.4rem; }
#home-attendance .cast-wrapper .cast-info .attendance-time,
#home-attendance .cast-wrapper .cast-info .waitingtime-wrapper {
	color: #dd027a;
	font-size: 1.4rem;
}

#home-attendance .cast-wrapper .cast-info .waitingtime-wrapper { color:#164577;font-weight:bold; }

@media screen and (max-width: 1000px) {
	#home-attendance { padding-bottom: 20px; }
	#home-attendance > div {
		margin-top: 10px;
	}
	
	#home-attendance .cast-wrapper {
		width: 32%;
		margin: 10px 2% 0 0;
	}
#home-attendance .cast-wrapper .cast-image-wrapper {
	height:auto;
	max-height: 315px;
}	
	#home-attendance .cast-wrapper:nth-child(3n) { margin: 10px 0 0 0; }
	#home-attendance .cast-wrapper .cast-info .cast-new {
		font-size: 1.2rem;
		padding: 2px;
		margin: 0;
		display: block;
	}
	
	#home-attendance .cast-wrapper .cast-info .cast-name { font-size: 1.4rem; }
	#home-attendance .cast-wrapper .cast-info .three-size { font-size: 1.2rem; }
	#home-attendance .cast-wrapper .cast-info .waitingtime-wrapper { font-size: 1.2rem; }
}


/* ------ right-content ------ */

#home-right-content {
	width: 300px;
	background: #fff;
	float: right;
}

@media screen and (max-width: 1000px) {
	#home-right-content {
		width: 100%;
		float: none;
	}
}


/* キャストブログ */

#side-blog-wrapper .blog {
	padding: 20px 10px;
	margin: 0 auto;
    border-bottom: 1px solid #bebebe;
}

#side-blog-wrapper .blog .blog-date { font-size: 1.4rem; }
#side-blog-wrapper .blog .cast-name {
    font-size: 1.6rem;
	font-weight: 600;
    margin-top: 10px;
}

#side-blog-wrapper .blog-body { margin-top: 10px; }
#side-blog-wrapper .blog-picture {
	width: 113px;
	float: left;
}

#side-blog-wrapper .blog-picture img {
	max-width: 103px;
	height: auto;
}

#side-blog-wrapper .blog-txt-wrapper {
    width: 150px;
	float: left;
	
}

#side-blog-wrapper .blog-txt-wrapper .blog-title {
    font-size: 1.4rem;
    padding-bottom: 10px;
}

#side-blog-wrapper .btn-blog-more a {
    height: 48px;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    line-height: 48px;
    letter-spacing: 0.1em;
    background: #333;
	border: 2px solid #333;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
	position: relative;
	display: block;
}

#side-blog-wrapper .btn-blog-more a:after {
	content: "\f105";
    color: #fff;
    font-size: 2.4rem;
    font-family: FontAwesome;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
    position: absolute;
    top: -1px;
    right: 50px;
}

#side-blog-wrapper .btn-blog-more a:hover {
    color: #333;
	border: 2px solid #333;
    background: #fff;
}

#side-blog-wrapper .btn-blog-more a:hover:after {
    color: #333;
    right: 40px;
}

@media screen and (max-width: 1000px) {
	#side-blog { margin-bottom:10px; }
	#side-blog-wrapper {
		margin-top: 10px;
	}
	#side-blog-wrapper .blog {
		padding: 10px 2%;
		margin: 0 auto;
		border-bottom: 1px solid #bebebe;
	}

	#side-blog-wrapper .blog .blog-title { margin-top: 0; }
	#side-blog-wrapper .blog-txt-wrapper { width: calc(100% - 113px); }
	#side-blog-wrapper .blog-txt-wrapper .cast-name { padding-top: 0; }
}


/* バナー */

#side-banners { margin-top: 20px; }
.banner {
    text-align: center;
	display: inline-block;
}

.bn_contact {
    width: 100%;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
}

.banner + .banner { margin-top:10px; }
.banner img {
	vertical-align: bottom;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
}

.banner:hover img { opacity: 0.8; }

@media screen and (max-width: 1000px) {
	#side-banners { margin-top: 20px; }
	.banner { width: 100%; }
	.bn_contact { width: 100%; }
	.banner img {
		width: 100%;
		max-width: 300px;
	}
}


/* ------ footer ------ */

#footer-wrapper {
	color: #fff;
	margin-top: 50px;
	background: #990000;
}

footer {
	width: 1280px;
	padding: 60px 0;
	margin: 0 auto;
}

#footer-navigation {
    width: 800px;
    font-size: 1.3rem;
	text-align:center;
	padding: 0;
	margin: 0 auto 15px;
	background-color: transparent;
}

#footer-navigation a {
	color: #fff;
	letter-spacing: 0.1em;
	padding: 0 24px 6px 0;
	background: transparent;
	text-decoration: none;
	position: relative;
	display: inline-block;
}

#footer-navigation a:hover { text-decoration: underline; }
#footer-navigation a:after {
	content: "|";
	width: 18px;
	height: 18px;
	position: absolute;
	right: 0;
	top: 0;
	display: block;
}

#footer-navigation a:last-child:after { content: ""; }
#copyright {
	text-align: center;
	margin-top: 24px;
}

#copyright span { font-size: 1.2rem; }


@media screen and (max-width: 1000px) {
	#footer-wrapper {
		margin: 20px 0 0;
		background: none;
	}
	
	footer {
		width: 100%;
		height: auto;
		padding: 0;
	}
	
	footer .shop-tel {
		width: 96%;
		height: auto;
		color: #fff;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		text-align: center;
		padding: 10px;
		margin: 20px auto;
		background: #333;
		display: block;
	}
	
	#footer-navigation { width: 100%; }
	#footer-navigation a {
		width: 50%;
		color: #333;
		text-align: left;
		line-height: 50px;
		padding: 0 10px;
		margin: 0;
		border-bottom: 1px solid #bdbdbd;
		background: #fff;
		float: left;
	}

	#footer-navigation a:nth-child(odd) {border-right: 1px solid #bdbdbd;}
	#footer-navigation a:after { display:none; }
	#footer-navigation a:first-child,
	#footer-navigation a:nth-child(2) {
		border-top: 1px solid #bdbdbd;
	}
	
	#footer-navigation a:before {
		content: "";
		border-left: 4px solid #333333;
		margin-right: 10px;
	}

	#footer-navigation a:hover { text-decoration: none; }
	#copyright {
		padding: 20px 20px 100px;
		margin: 40px 0 0;
		background-color: #000;
	}
}


/* ------ crumbs-list ------ */

#crumbs-list {
	font-size: 1.2rem;
    padding: 10px;
}

#crumbs-list a:hover { text-decoration: underline; }

@media screen and (max-width: 1000px) {
	#crumbs-list { padding: 10px 0; }
}


/* ------ SCHEDULE ------ */

#schedule { padding-bottom: 20px; }
#schedule .cast-wrapper {
	width: 190px;
	vertical-align: top;
	margin: 20px 0 0 20px;
	position: relative;
	display: inline-block;
}

#schedule .cast-wrapper a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
}

#schedule .cast-wrapper .cast-image-wrapper {
	max-height: 315px;
	text-align: center;
	border: 1px solid #bebebe;
	overflow: hidden;
}

#schedule .cast-wrapper .cast-image-wrapper img {
	width: 100%;
	max-width: 190px;
	vertical-align: bottom;
}

#schedule .cast-wrapper .cast-info {
	text-align: center;
	padding: 10px 0;
}

#schedule .cast-wrapper .cast-info .cast-new {
    color: #fff;
    font-size: 1.3rem;
    padding: 3px 6px;
    margin: 0 10px 0 0;
    background: #dd027a;
    display: inline-block;
}

#schedule .cast-wrapper .cast-info .cast-name { font-size: 1.5rem; }
#schedule .cast-wrapper .cast-info .three-size { font-size: 1.3rem; }
#schedule .cast-wrapper .cast-info .attendance-time,
#schedule .cast-wrapper .cast-info .waitingtime-wrapper {
	color: #dd027a;
	font-size: 1.3rem;
}

#schedule .cast-wrapper .cast-info .waitingtime-wrapper { color: #02a7de; }


#schedule .day-wrap {
	overflow: hidden;
}

#schedule .day-wrap .schedule-date {
	width:120px;
	margin-top: 10px;
	margin-left: 10px;
	float: left;
}

#schedule .day-wrap .schedule-date a {
	color: #fff;
	display:block;
	line-height:40px;
	text-align:center;
	text-decoration:none;
	background: #252525;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
}

#schedule .day-wrap .schedule-date a:hover {
	background: #dd027a;
}

#schedule h3 {
    width: 100%;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    padding: 10px 20px;
    margin: 40px 0 0;
    border: 1px solid #333;
}


@media screen and (max-width: 1000px) {
	#schedule { padding-bottom: 20px; }
	#schedule > div {
		margin-top: 10px;
	}
	
	#schedule .cast-wrapper {
		width: 32%;
		margin: 10px 2% 0 0;
	}

	#schedule .cast-wrapper .cast-image-wrapper img { max-width: 210px; }
	#schedule .cast-wrapper:nth-child(3n) { margin: 10px 0 0 0; }
	#schedule .cast-wrapper .cast-info .cast-new {
		font-size: 1.2rem;
		padding: 2px;
		margin: 0;
		display: block;
	}
	
	#schedule .cast-wrapper .cast-info .cast-name { font-size: 1.4rem; }
	#schedule .cast-wrapper .cast-info .three-size { font-size: 1.2rem; }
	#schedule .cast-wrapper .cast-info .waitingtime-wrapper { font-size: 1.2rem; }
	#schedule .day-wrap .schedule-date {
		width:32%;
		margin-left: 0;
		margin-right: 2%;
	}
	
	#schedule .day-wrap .schedule-date:nth-child(3n) {
		margin-right: 0;
	}
}



/* ------ CAST ------ */

#casts { padding-bottom: 20px; }
#casts .cast-wrapper {
	width: 190px;
	vertical-align: top;
	margin: 20px 0 0 20px;
	position: relative;
	display: inline-block;
}

#casts .cast-wrapper a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
}

#casts .cast-wrapper .cast-image-wrapper {
	width: 190px;
	height: 248px;
	text-align: center;
	overflow: hidden;
}

#casts .cast-wrapper .cast-image-wrapper img {
	width: 100%;
	max-width: 190px;
	vertical-align: bottom;
}

#casts .cast-wrapper .cast-info {
	text-align: center;
	padding: 10px 0;
}

#casts .cast-wrapper .cast-info .cast-new {
    color: #fff;
    font-size: 1.3rem;
    padding: 3px 6px;
    margin: 0 10px 0 0;
    background: #dd027a;
    display: inline-block;
}

#casts .cast-wrapper .cast-info .cast-name { font-size: 1.5rem; }
#casts .cast-wrapper .cast-info .three-size { font-size: 1.3rem; }
#casts .cast-wrapper .cast-info .attendance-time,
#casts .cast-wrapper .cast-info .waitingtime-wrapper {
	color: #dd027a;
	font-size: 1.3rem;
}

#casts .cast-wrapper .cast-info .waitingtime-wrapper { color: #02a7de; }


@media screen and (max-width: 1000px) {
	#casts { padding-bottom: 20px; }
	#casts > div {
		margin-top: 10px;
	}
	
	#casts .cast-wrapper {
		width: 32%;
		margin: 10px 2% 0 0;
	}
	
	#casts .cast-wrapper .cast-image-wrapper {
		width: 98px;
		height: 128px;
		margin: 0 auto;
	}

	#casts .cast-wrapper .cast-image-wrapper img { max-width: 210px; }
	#casts .cast-wrapper:nth-child(3n) { margin: 10px 0 0 0; }
	#casts .cast-wrapper .cast-info .cast-new {
		font-size: 1.2rem;
		padding: 2px;
		margin: 0;
		display: block;
	}
	
	#casts .cast-wrapper .cast-info .cast-name { font-size: 1.4rem; }
	#casts .cast-wrapper .cast-info .three-size { font-size: 1.2rem; }
	#casts .cast-wrapper .cast-info .waitingtime-wrapper { font-size: 1.2rem; }
}


/* Search Cast */

.search-cast-wrapper { padding: 20px 20px 0; }
 
.search-cast-wrapper .typelist,
.search-cast-wrapper .optionlist {
	margin-bottom: 20px;
}

.search-box { margin: 10px 0 30px; }
.checkbox { display: inline-block; }
.search-cast-wrapper .typelist > p,
.search-cast-wrapper .optionlist > p,
.search-cast-wrapper .checkbox {
	margin: 0 10px 10px 0;
}

.search-cast-wrapper .checkbox input { display: none; }

.search-cast-wrapper .typelist > p { font-size: 2.4rem; }
.search-cast-wrapper .checkbox > input + label {
	padding: 5px 10px;
}

.search-cast-wrapper .checkbox > label {
	font-size: 1.7rem;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
	cursor: pointer;
}

.search-cast-wrapper .checkbox > input + label:hover,
.search-cast-wrapper .checkbox > input:checked + label {
	color: #fff;
	background: #dd027a;
}

.search-toggle {
    width: 50px;
    height: 50px;
    color: #fff;
	font-size: 2.6rem;
	font-family: FontAwesome;
    line-height: 46px;
    text-align: center;
	border: 2px solid #252525;
    background: #252525;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
	cursor: pointer;
    float: left;
}

.search-toggle:hover {
    color: #252525;
    background: #fff;
}

.search-selected {
	vertical-align: top;
	margin-left: 60px;
}

.search-selected > span {
	color: #fff;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    padding: 8px 10px 6px;
    margin: 6px 10px;
    background: #dd027a;
    display: inline-block;
}

.search-cast-button {
	width: 600px;
    height: 60px;
    color: #fff;
    font-size: 2.2rem;
    text-align: center;
    line-height: 60px;
    letter-spacing: 0.1em;
	margin: 20px auto 0;
	border: 2px solid #333;
    background: #333;
	-webkit-appearance: none;
	border-radius: 0;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
	position: relative;
	display: block;
	cursor: pointer;
}

.search-cast-button:after {
	content: "\f105";
    color: #fff;
    font-size: 2.8rem;
    font-family: FontAwesome;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
    position: absolute;
    top: -1px;
    right: 50px;
}

.search-cast-button:hover {
    color: #333;
	border: 2px solid #333;
    background: #fff;
}

.search-cast-button:hover:after {
    color: #333;
    right: 40px;
}

@media screen and (max-width: 1000px) {
	.search-cast-wrapper { padding: 0; }
	.search-cast-wrapper .typelist > p,
	.search-cast-wrapper .optionlist > p,
	.search-cast-wrapper .checkbox {
		margin: 0 6px 6px 0;
	}
	
	.search-cast-wrapper .typelist > p { font-size: 1.8rem; }
	.search-cast-wrapper .checkbox > label { font-size: 1.5rem; }
	.search-cast-button {
		width: 100%;
		height: 48px;
		font-size: 1.6rem;
		line-height: 48px;
	}
}


/* PROFILE */

/********************************
キャストプロフィール
 ********************************/

#cast-detail .title-bar .cast-new {
    color: #fff;
    font-size: 1.6rem;
    padding: 2px 6px;
    margin: 0 10px 0 0;
    background: #dd027a;
    display: inline-block;
}
 
#cast-detail #cast-navigation {
	text-align: center;
    margin: 20px auto;
}

#cast-detail #cast-navigation > a {
	font-size: 1.8rem;
	padding: 5px 10px;
    text-decoration: none;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
}

#cast-detail #cast-navigation > a:hover {
	color: #fff;
	background: #dd027a;
}

#cast-detail #cast-navigation #prev-cast { margin-right: 80px; }
#cast-detail .cast-detail-inner { padding: 20px; }
#cast-detail #cast-photos {
	width: 440px;
	float: left;
}

#cast-detail #cast-photos #shop-comment { margin-top: 40px; }
#cast-detail #cast-photos #shop-comment p {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
}

#cast-detail #cast-profile {
	width: 760px;
	float: right;
}

#cast-detail #cast-photos .sub-title-bar,
#cast-detail #cast-profile .sub-title-bar,
#cast-detail #weekly-schedule-wrapper .sub-title-bar {
    font-size: 1.8rem;
    font-weight: normal;
    letter-spacing: 0.1em;
	padding-left: 10px;
    border-bottom: 1px dotted #aaa;
    margin-bottom: 20px;
}

#cast-detail #cast-profile dl {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}

#cast-detail #cast-profile dl dt {
	padding: 6px 6px 6px 10px;
	background: #efefef;
}

#cast-detail #cast-profile dl dt:before { content: ""; }
#cast-detail #cast-profile dl dd {
	padding: 6px 6px 6px 20px;
	border: none;
}

#cast-detail #cast-profile dl > dd + dt { margin-top: 0; }
#cast-detail #weekly-schedule-wrapper {
	padding: 40px 0 20px;
	margin: 0 auto;
	clear: both;
}

#cast-detail #weekly-schedule-wrapper .weekly-schedule > dt,
#cast-detail #weekly-schedule-wrapper .weekly-schedule > dd {
	font-size: 1.6rem;
	padding: 10px;
	margin-bottom: 0;
	border-bottom: 1px dotted #ccc;
	float: left;
}

#cast-detail #weekly-schedule-wrapper .weekly-schedule > dt { width: 30%; }
#cast-detail #weekly-schedule-wrapper .weekly-schedule > dd { width: 70%; }
#cast-detail #weekly-schedule-wrapper .weekly-schedule > dt:before { display: none; }
#cast-detail #weekly-schedule-wrapper .weekly-schedule > dd + dt { margin: 0; }
.attend-even,
.attend-even + dd {
	color: #333;
	background: #ffc7bb;
}

.attend-odd,
.attend-odd + dd {
	color: #333;
	background: #fff3d3;
}

#cast-detail #weekly-schedule-wrapper .weekly-schedule > .saturday { color: blue; }
#cast-detail #weekly-schedule-wrapper .weekly-schedule > .sunday { color: red; }
#cast-detail #view-blog-smooth .button {
	width: 600px;
    height: 60px;
    color: #fff;
    font-size: 2.2rem;
    text-align: center;
    line-height: 60px;
    letter-spacing: 0.1em;
	margin: 20px auto 0;
    background: #333;
	border: 2px solid #333;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
	position: relative;
	display: block;
}

#cast-detail #view-blog-smooth .button:after {
	content: "\f105";
    color: #fff;
    font-size: 2.8rem;
    font-family: FontAwesome;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
    position: absolute;
    top: -1px;
    right: 50px;
}

#cast-detail #view-blog-smooth .button:hover {
    color: #333;
	border: 2px solid #333;
    background: #fff;
}

#cast-detail #view-blog-smooth .button:hover:after {
    color: #333;
    right: 40px;
}

@media screen and (max-width: 1000px) {
	#cast-detail .cast-detail-inner { padding: 0; }
	#cast-detail #cast-navigation > a {
		font-size: 1.4rem;
		padding: 5px 10px;
	}
	
	#cast-detail #cast-navigation #prev-cast { margin-right: 20px; }
	#cast-detail #cast-photos {
		width: 100%;
		float: none;
	}
	
	#cast-detail #cast-profile {
		width: 100%;
		margin-top: 20px;
		float: none;
	}
	
	#cast-detail #cast-profile dl { font-size: 1.4rem; }
	#cast-detail #weekly-schedule-wrapper { padding: 20px 0; }
	#cast-detail #weekly-schedule-wrapper .weekly-schedule > dt,
	#cast-detail #weekly-schedule-wrapper .weekly-schedule > dd {
		font-size: 1.4rem;
	}
	
	#cast-detail #view-blog-smooth .button {
		width: 100%;
		height: 48px;
		font-size: 1.6rem;
		line-height: 48px;
	}
}


/* ------ SYSTEM ------ */
 
#systems .system-table { padding: 20px; }
#systems .system-table h3 {
	font-size: 1.8rem;
    letter-spacing: 0.1em;
    margin-bottom: 2px;
}

#systems .system-textarea {
	padding:2%;
	border:1px solid #2d2d2d;
}

@media screen and (max-width: 1000px) {
	#systems .system-table { padding: 20px 0; }
}


/* ------ EVENT ------ */

#events .inner-content {
	padding: 20px;
}

#events .sub-title-bar {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
	border-bottom: 1px dotted #aaa;
}

#events time {
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.event-list-content-image { max-width: 100%; }
.event-list-content-text { 
	font-size: 1.4rem;
	line-height: normal;
}


/* ------ BLOG ------ */

#blog {
    padding-bottom: 20px;
}

#blogs-wrapper {
	width: 1280px;
	padding: 0 20px;
	margin: 20px auto;
	position: relative;
}

#blogs-wrapper .blog {
	width: 610px ;
    vertical-align: top;
    padding: 20px;
	margin-right: 20px;
	margin-bottom: 20px;
	border: 1px solid #bebebe;
    display: inline-block;
}

#blogs-wrapper .blog:nth-child(even) {
	margin-right: 0;
}

#blogs-wrapper .blog .blog-date {
    font-size: 1.4rem;
}

#blogs-wrapper .blog .cast-name {
	font-size: 1.6rem;
	font-weight: 600;
	margin-top: 6px;
}

#blogs-wrapper .blog .cast-name a {
	color: #dd027a;
	text-decoration: underline;
}

#blogs-wrapper .blog .blog-title {
    font-size: 1.6rem;
    margin-top: 4px;
}

#blogs-wrapper .blog-body {
    height: 460px;
	letter-spacing:0.1em;
    margin-top: 10px;
    overflow: auto;
}

#blogs-wrapper .blog-body img {
	max-width: 500px;
	max-height: 320px;
}


@media screen and (max-width: 1000px) {
	#blog { margin-bottom:10px; }
	#blogs-wrapper {
		width: 100%;
		padding: 0;
		margin-top: 10px;
	}

	#blogs-wrapper .blog {
		width: 100%;
		padding: 10px 2%;
		margin: 0 auto 10px;
		border-bottom: 1px solid #bebebe;
	}
	
	#blogs-wrapper .decome-parse-masuda-attachment-image-wrapper { width: 100%; }
	#blogs-wrapper .decome-parse-masuda-attachment-image-wrapper img { max-width: inherit; }
	#blogs-wrapper .blog .blog-title { margin-top: 0; }
	#blogs-wrapper .blog-body {
		height: auto;
    	margin-bottom: 10px;
		overflow: inherit;
	}
}


/* ------ Mail Magazine ------ */

.mailmagazine-inner { padding: 20px; }
#mailmagazine .mailmagazine-inner .sub-title-bar {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}

#mailmagazine .mailmagazine-inner > .domain-config ul {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
	margin-bottom: 20px;
}

#mailmagazine .mailmagazine-inner > .domain-config em {
	color: #dd027a;
	font-style: normal;
}

#mailmagazine .mailmagazine-inner .btn-wrap {
    margin-top: 20px;
}

#mailmagazine .mailmagazine-inner .btn-wrap .domain-config:first-child {
    width: 600px;
    vertical-align: top;
    margin-right: 40px;
}

#mailmagazine .mailmagazine-inner .btn-wrap .domain-config:nth-child(2) {
    width: 600px;
    vertical-align: top;
}

#mailmagazine .mailmagazine-inner .btn-wrap .designed-button {
	min-width: 200px;
	max-width: 250px;
	height: 60px;
	color: #fff;
	font-size: 2.2rem;
	line-height: 60px;
	text-align: center;
	-webkit-appearance: none;
	margin: 10px auto 0;
	background: #333;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
	text-decoration: none;
	outline: none;
	display: block;
	cursor: pointer;
}

#mailmagazine .mailmagazine-inner .btn-wrap .designed-button:hover {
    color: #333;
	border: 2px solid #333;
    background: #fff;
}

@media screen and (max-width: 1000px) {
	.mailmagazine-inner { padding: 20px 0; }
	#mailmagazine .mailmagazine-inner .btn-wrap .domain-config:first-child {
		width: 100%;
		margin-right: 0;
	}
	
	#mailmagazine .mailmagazine-inner .btn-wrap .domain-config:nth-child(2) {
		width: 100%;
	}
	
	#mailmagazine .mailmagazine-inner .domain-config:last-child ul {
		margin-bottom: 0;
	}
}


/* ------ LOGIN ------ */

#loginform {
	width: 619px;
	padding: 120px 0;
	margin: 0 auto;
}

#loginform .password label {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    margin-right: 20px;
}

#loginform .password input {
    width: 500px;
    height: 40px;
	padding: 10px;
    border: 1px solid #bebebe;
	-webkit-appearance: none;
	border-radius: 0;
}

#loginform .password input:focus {
	outline: 0;
}

#loginform .submit {
    text-align: center;
    margin-top: 40px;
}

#loginform .submit input {
    width: 400px;
    height: 60px;
    color: #fff;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    border: 2px solid #333;
    background: #333;
	-webkit-appearance: none;
	border-radius: 0;
	cursor: pointer;
}

#loginform .submit input:hover {
	color: #333;
    border: 2px solid #333;
    background: #fff;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
}

#loginform p {
    font-size: 1.4rem;
    text-align: center;
    letter-spacing: 0.1em;
    margin-top: 20px;
}


/* ------ GRAVURE ------ */

#photo-album > div {
	padding: 0 0 20px;
}
 
#photo-album > div h3 {
    font-size: 1.8rem;
	margin-top: 20px;
}

.gravures figure {
	width: 210px;
	height: 210px;
	margin: 0 0 20px 0;
	overflow: hidden;
	float: left;
}

.gravures figure img {
	width: 190px;
}

@media screen and (max-width: 1000px) {
	#photo-album > div {
		padding: 0 2% 20px;
	}
 
	#photo-album > div h3 {
		font-size: 1.6rem;
		margin-top: 10px;
	}

	.gravures figure {
		width: 32%;
		height: 32%;
		margin: 0 2% 4px 0;
		overflow: hidden;
		float: left;
	}

	.gravures figure:nth-child(3n) {
		margin: 0 0 4px 0;
	}

	.gravures figure img {
		width: 100%;
	}
}


/* ------ ACCESS ------ */

#access .video-container {
	text-align: center;
	padding-top: 20px;
}

#access .video-container video {
	height: 460px;
}

#accessmap-image-wrapper {
	width: 100%;
	height: auto;
	padding-top: 40px;
}

#accessmap-image-wrapper #map-canvas {
	height: 460px !important;
}

#accessmap-image-wrapper + .designed-cell-wrapper { margin-top:30px; }

@media screen and (max-width: 1000px) {
	#access .video-container video {
		width: 100%;
		height: auto;
	}

	#accessmap-image-wrapper #map-canvas,
	#accessmap-image-wrapper #map-canvas iframe {
		height: 300px !important;
	}
}


/* ------ LINK ------ */
 
.link-banner {
	line-height: 40px;
	margin: 0 5px 5px;
}

#my-link-banners {
	padding: 20px;
}

#my-link-banners img { max-width: 100%; }
#my-link-banners > p {
	font-size: 1.4rem;
	margin-bottom: 15px;
}

.my-link-banner { margin-bottom: 30px; }
.my-link-banner:last-child { margin-bottom: 0; }
.my-link-banner > p {
	font-size: 1.4rem;
}

.my-link-banner > textarea {
    width: 490px;
    height: 90px;
    padding: 10px;
}

@media screen and (max-width: 1000px) {
	#my-link-banners {
		padding: 20px 0;
	}

	.my-link-banner { margin-bottom: 20px; }
	.my-link-banner > textarea { width: 100%; }
}


/* ------ recruit ------ */

#recruit { padding-bottom: 20px; }

#recruit dl {
	font-size: 1.6rem;
	padding: 20px;
}

#recruit #button-recruit-form {
	width: 600px;
    height: 60px;
    color: #fff;
    font-size: 2.2rem;
    text-align: center;
    line-height: 60px;
    letter-spacing: 0.1em;
	margin: 20px auto 0;
    background: #333;
	border: 2px solid #333;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
	position: relative;
	display: block;
}

#recruit  #button-recruit-form:after {
	content: "\f105";
    color: #fff;
    font-size: 2.8rem;
    font-family: FontAwesome;
	-webkit-transition: 0.3s;
    		transition: 0.3s;
    position: absolute;
    top: -1px;
    right: 50px;
}

#recruit  #button-recruit-form:hover {
    color: #333;
	border: 2px solid #333;
    background: #fff;
}

#recruit  #button-recruit-form:hover:after {
    color: #333;
    right: 40px;
}

@media screen and (max-width: 1000px) {
	#recruit #button-recruit-form {
		width: 100%;
		height: 48px;
		font-size: 1.6rem;
		line-height: 48px;
	}
}


/* VIPページ */
#vip .inner {
	padding: 10px;
}

#vip .inner h3 {
    font-size: 1.8rem;
    margin-top: 20px;
}

#vip .inner p {
    padding: 10px;
    border: 1px solid #333;
}

@media screen and (max-width: 1000px) {
	#vip .inner img {
		width: 100%;
	}
}


/* ------ スマホ用固定メニュー ------ */

#fixed_menu {
	display: none;	
}


@media screen and (max-width: 640px) {
	#fixed_menu {
		color: #fff;
		font-size: 0;
		border-top: 1px solid #000;
		background: #fff;
		display: block;
		position: fixed;
		bottom: 0;
		right: 0;
		z-index: 9999;
	}
	
	#fixed_menu .title img{
		width: 100%;
		height: auto;
	}
	
	#fixed_menu ul {
		width: 100%;
		background: #312f2f;
		padding: 0;
		margin: 0;
	}
	
	#fixed_menu li.title {
		width: 60%;
		display: inline-block;
		vertical-align: middle;
	}
	
	#fixed_menu li.title img {
		max-width: 95%;
	}
	
	#fixed_menu li.tap_icon {
		font-size: 12px;
		width: 20%;
		text-align: center;
		padding: 10px 5px 5px;
		display: inline-block;
		vertical-align: middle;
		border-left: 1px solid #000;
		box-sizing: border-box;
	}
	
	#fixed_menu li.tap_icon img {
		max-width: 60%;
	}
	
	#fixed_menu li.tap_icon p {
		font-size: 12px;
		margin-top: 2px;
	}
	
	#fixed_menu a {
		color: #fff;
		text-decoration: none;
		diplay: block;
	}
}










/********************************
テーブル 
 ********************************/
 
.designed-table {
	width:100%;
	table-layout:fixed;
	border-collapse:collapse;
}

.designed-table + .designed-table,
#accessmap-image-wrapper + .designed-table {
	margin-top:30px;
}

.designed-table th {
	text-align:left;
	background-color:#eee;
}

.designed-table th, .designed-table td {
	padding:1em 1.2em;
	border:1px solid #ccc;
	overflow:hidden;
}






#to-top {
	font-family:FontAwesome;
	background-color:black;
	background-color:rgba(0,0,0,.7);
	text-align:center;
	padding:0;
	position:fixed;
	bottom:20px;
	right:10px;
	cursor:pointer;
	display:none;
	color:#fff;
	font-size:30px;
	text-decoration: none;
	z-index: 100;
	box-shadow: 0 0 2px rgba(0,0,0,.4);
	height: auto;
	line-height: 50px;
	width: 50px;
	border-radius:25px;
}









#main-banners {
	margin-top:20px;
	width: auto;
	padding: 0;
}

#main-banners.inline-block-wrapper,
#side-banners.inline-block-wrapper {
	background:none;
}

#main-banners > .banner1 { margin:8px 11px 8px 0px; }
#main-banners > .banner2 { margin:8px 11px 8px 11px; }
#main-banners > .banner3 { margin:8px 0px 8px 11px; }






.no-entry { padding: 2em 1em; }

.join-date { font-size: .7em; }
.stars { line-height:16px; }





.optionplays { padding-top:30px; }



.loading-next {
	display:block;
	line-height:38px;
	text-align:center;
	text-decoration:none;
	background-color:black;
	color:dimgray;
	width: 198px;
	margin: 20px auto;
	border:1px solid #777;
}

.castblogs > div,
.cast-blogs > div {
	margin-bottom: 30px;
}


/********************************
HOME
 ********************************/
 


#home-cast-pickup { clear:both; }
#home-cast-pickup > div {
	height:330px;
	overflow: auto;
}

.circle-bg { background: #f3f7f8; }
.circle-bg > img { vertical-align:bottom; }
.shop-comment {
	font-size: 10px;
	line-height: 1.2;
}

#home-event {
	padding: 0;
	background-color: transparent;
	margin: 0 auto;
	max-width: 900px;
	overflow: hidden;
}

.inline-block {
	display: inline-block;
	font-size: medium;
}

.inline-block-wrapper-hide { display: none; }


#home-cast-pickup .cast-wrapper {
	margin-left:27px;
}
.characters,
.optionplays {
	text-align:left;
}

.character,
.optionplay {
	color: #fff;
	font-size:11px;
	line-height:19px;
	display:inline-block;
	background-color:#fe3892;
	padding:4px 6px;
	margin:4px 2px;
}

.optionplay { background-color:#d09; }
#movie {
	margin-top: 30px;
}

#movie > ul > li { }


#movie > ul > li > a {
	max-width:340px;
	margin: 0 auto;
	display:block;
}



#movie > ul > li > a > img { max-width:100%; }
.blog-banner {
	display:block;
	max-width:100%;
	margin:10px auto;
	box-shadow:0 0 3px rgba(0,0,0,.5);
}











/********************************
ランキング
 ********************************/
 
#ranking-inner-link-wrapper { margin-bottom:20px; }
.rankings {
	vertical-align:top;
	padding:10px 10px 20px;
	width:403px;
	height:200px;
	margin:5px 5px 10px;
	background-color:transparent;
}

.rankings p { margin-bottom:5px; }
.rankings > p > img {
	margin-right:.5em;
	vertical-align:bottom;
}

.rankings > p > a { vertical-align:bottom; }
.ranking-no-1 {
	width:840px;
	height:auto;
}

.ranking-no-2 { width:840px; }
.ranking-no-3 { width:840px; }
.rankings-inner-right {
	vertical-align:top;
	width:275px;
	height:138px;
	margin: 0 0 0 8px;
	padding:10px;
	font-size:.9em;
	overflow:auto;
	background-color:white;
}

.ranking-no-1 .rankings-inner-right {
	width:600px;
	height:278px;
}

.ranking-no-2 .rankings-inner-right,
.ranking-no-3 .rankings-inner-right {
	width:710px;
}

.casts-ranking-image-wrapper > img { border:1px solid #ccc; }





/********************************
ホテル
 ********************************/
 
#hotel > h2 { margin-top:30px; }
.hotel-area-link {
	display:inline-block;
	line-height:30px;
	height:auto;
	padding:0 20px;
	border:1px dotted #aaa;
	margin:10px 10px 10px 0;
	font-size:16px;
	font-weight:bold;
	border-radius:8px;
	border:1px solid #eb2ab8;
	padding:9px 18px;
	text-decoration:none;
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3ba4', endColorstr='#ef027d');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #ff3ba4), color-stop(100%, #ef027d) );
	background-color:#ff3ba4;
	color:#ffffff;
	display:inline-block;
	text-shadow:1px 1px 0px #c70067;
	box-shadow: 1px 1px 0px 0px #fbafe3;
}

.hotels {
	width:100%;
	display:table;
	table-layout: fixed;
	padding:0;
	border:1px solid #f9e;
	box-sizing: border-box;
}

.hotels > p {
	display:table-cell;
	padding:10px;
	width:40%;
	vertical-align:top;
	box-sizing: border-box;
}

.hotels > p + p { border-left:1px dotted #ccc; }
.hotels > p.hotel-url {
	text-align:center;
	width:20%;
}

.hotels + .hotels { border-top:none; }








/********************************
待ち合わせ場所
 ********************************/
 
.meeting-place-detail { margin:30px 0 40px; }
.meeting-place-detail-title {
	text-indent:.5em;
	border-bottom:1px dotted #aaa;
	margin-bottom:10px;
}

.meeting-place-detail-body {
	padding:.5em;
	vertical-align:top;
}

.meeting-place-detail-body > div > p > a {
	float:left;
	margin: 0 16px 10px 0;
}

.meeting-place-detail-address {
	clear:both;
	margin-top:10px;
}


/* 追加style
----------------------------------------------------------- */

#top-main-cont {
	width: 900px;
	min-height:380px;
	height: auto !important;
	height: 380px;
	margin: 0 auto 15px auto;
	padding: 0;
}
.movie-lists {
	width: 100%;
	margin:0 auto;
}

.movie-lists .movie-boxs {
	width: 50%;
	float: left;
}

.movie-lists .sub-title-bar { padding: 10px; }
.movies img {
	width: 80%;
	padding-left: 10%;
	margin:0 auto;
}


/*************************************************
                 クーポン
*************************************************/

.coupon-detail {
	width:400px;
	position:relative;
	min-height:144px;
	background-color:white;
	margin:40px auto 30px;
	padding:15px 165px 10px 15px;
	border:6px solid #f49;
	line-height:1.2em;
	box-shadow:0 0 10px gray;
}

.coupon-qr {
	position:absolute;
	top:15px;
	right:15px;
}

.coupon-detail > dt {
    color:#f49;
    font-weight:bold;
    padding: 0 0 5px 0;
    margin: 0 0 5px 0;
    border-bottom:1px dotted gray;
}

.coupon-detail > dt:before { display:none; }
.coupon-detail > dd {
    color:gray;
    padding:0;
    margin:0;
    border-bottom:none;
}

.coupon-detail > dd > time {
    display:block;
    padding:3px 0;
    color:blue;
}

.coupon-image { max-width:560px; }
#print-coupon {
	display:block;
	width:250px;
	cursor:pointer;
	text-align:center;
	margin:20px auto 0;
	font-size:1.2em;
	background-color:#f49;
	border:none;
	padding: .3em;
	color:dimgray;
	box-shadow:0 0 3px rgba(0,0,0,.5);
	outline:none;
	text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.2), 0px 1px 0px rgba(0, 0, 0, 0.4);
	font-weight:bold;
	line-height:30px;
	transition: box-shadow 1s ease-in-out;
}

#print-coupon:hover { box-shadow:0 0 10px #f49; }
#print-coupon:active { box-shadow:0 0 5px black; }
.coupon-text {
	text-align:center;
	color:red;
}


@media screen and (max-width:1000px) {
	.coupon-txt {
		text-align: center;
		color: red;
	}
	
	#print-coupon { display:none; }
	.coupon-sp-box { display: inline; }
	.movie-lists .sub-title-bar { padding:5px 10px; }
	.gravures li {
		width: 50px;
		height: 50px;
		margin: 5px;
	}

	#cast-navigation .tltle-bar ,
	#cast-navigation > a {
		height: 36px;
		line-height:36px;
	}
	
	#home-cast-pickup > div{
	  /*background: #ffffff;*/
	}
	
	#new-nav-box {
		width: 100%;
		height:0;
		background-image:none;
	}
	
	
	.title-bar[data-title-bar] {
		position:relative;
		color: transparent;
		text-indent:0;
		padding-left: 20px;
		margin-bottom: 10px;
		line-height:36px;
		height: 36px;
		background-image:url('../img/title-bar-bg.png');
	}
	

	.title-bar[data-title-bar]:before {
		position:absolute;
		left:0;
		top:0;
		color:#fff;
		display:block;
		width:100%;
		height:100%;
		line-height:34px;
		height: 34px;
		content:attr(data-title-bar);
		padding-left: 20px;
		margin:0;
		box-sizing: border-box;
	}
	
	.title-bar[data-title-bar] img { display:none; }
	#top-main-cont {
		width: 100%;
		height: auto;
		min-height:0;
		margin: 0 auto;
		padding: 0;
	}
	
	#top-main-new-info {
		width: 100%;
		float: none;
	}
	
	#top-main-new-info > div { background: #ffffff; }
	





	
	#contents-wrapper {
		width: 100%;
		padding:0 2% 10px;
		margin:0 auto;
		border:none;
		background: none;
		box-shadow: 0px 0px 0px #ffffff;
		behavior: url("../js/PIE.htc");
		box-sizing: border-box;
	}
	#home-left-content {
		margin:20px 0 0;
	}

	#main-content { min-height: 0; }
	#home-left-content,
	#main-content,
	#home-cast-pickup > div, {
		position:static;
		float: none;
		width: 100%;
		height: auto;
		box-sizing: border-box;
	}
	
	#home-cast-pickup > div {
		min-height:0;
	}
	
	.ranking-inner-link {
		float:none;
		display:block;
		width:auto;
		padding:0 10px;
		margin:0;
		border:1px dotted #aaa;
		text-align:left;
		line-height:40px;
	}
	
	.hotel-area-link { display:block; }
	.ranking-inner-link + .ranking-inner-link { border-top:none; }

	.rankings { height:auto; }
	#home-cast-pickup .cast-wrapper,
	.rankings {
		width: 80px;
		margin: 9px;
		float: none;
		padding: 0;
		box-sizing: border-box;
	}
	
	.rankings {
		position:relative;
		display:block;
		border:none;
		margin:0;
		width: 100%;
		float: none;
		padding:14px;
		box-sizing: border-box;
	}
	

	

	#home-cast-pickup .cast-wrapper + .cast-wrapper {
		border-top: 1px solid #222
	}
	
	.rankings {
		border-bottom: 1px solid #ccc;
		padding-bottom:20px;
	}
	
	.rankings + .rankings { margin-top:10px; }
	.rankings-inner-left,
	.rankings-inner-right,
	.ranking-no-1 .rankings-inner-right,
	.ranking-no-2 .rankings-inner-right,
	.ranking-no-3 .rankings-inner-right {
		display:block;
		width:100%;
		height:auto;
		overflow:visible;
		margin: 0;
		box-sizing: border-box;
	}
	

	

	
#shop-info {
	max-width:600px;
	margin: 10px auto 0;
}


/********************************
サイドバナー
 ********************************/
 
.banner_box {
	width: 285px;
	height: 130px;
	margin-bottom: 15px;
	text-align: center;
}


/* --- .img_area --- */

.banner_box .img_area {
	height: 130px;
	position: relative;
	z-index: 0;
	overflow: hidden;
	border: 1px solid #e78ad4;
}

.banner_box .img_area a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	z-index:4;
}

.banner_box .img_area:before {
	position: absolute;
	top: 10px;
	right: 10px;
	bottom: 10px;
	left: 10px;
	content: "";
	background: rgba(255,255,255,0);
	border: #f0f0f0 1px dotted;
	z-index: 2;
	transition: all 0.3s ease;
}

.banner_box .img_area:hover:before {
	background: rgba(255,255,255,0.95);
	border: transparent 1px solid;
}

.banner_box .img_area:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	z-index: 1;
	transition: all 0.3s ease;
	background: rgba(0,0,0,0.3);
}

.banner_box .img_area:hover:after { background: rgba(0,0,0,0); }
.banner_box .img_area img { transition: all 0.5s ease; }
.banner_box .img_area:hover img {
	opacity: 0.8;
	transform: scale(1.1);
}

/* --- h3 --- */
.banner_box .img_area h3 {
	width: 100%;
	font: normal 1em/2em 'Lora', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	z-index: 3; 
	color:#fff;
	font-size: 26px;
	font-weight: 400;
	line-height:1.5;
	letter-spacing: 3px;
	transition: all 0.3s ease;
}

.banner_box .img_area:hover h3 { color:#b99d6b; }
.banner_box .img_area h3 span {
	display: block;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 4px;
	text-transform: uppercase;
	transition: all 0.3s ease;
}

.banner_box .img_area:hover h3 span { color:#999; }


/* --- main-banners --- */
#main-banners .banner_box {
	display: inline-block;
	margin: 0 22.5px 0 0;
}

#main-banners .banner_box:last-child { margin: 0; }


/********************************
テーブル
 ********************************/
  
@media screen and (max-width:740px) {

	
	.coupon-detail {
		width:auto;
		padding-right:15px;
	}
	
	.coupon-qr { display:none; }


	.meeting-place-photo { max-width:150px; }

}