@charset "utf-8";
/* =============================================================================
	基本
     ========================================================================== */
html {
	overflow: auto;
}

body {
	font-size: 17px;
	line-height: 1.7;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.03em;
	color: #3E3A39;
	min-width: 1080px;
	overflow: hidden;
}

.pc-none {
	display: none !important;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	body {
	}
	.sp-none {
		display: none !important;
	}
	.pc-none {
		display: block !important;
	}
}

p {

}

a:hover {
	opacity: 0.6;
}


@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	body {
		font-size: 12.5px;
		line-height: 1.7;
		font-family: 'Noto Sans JP', sans-serif;
		letter-spacing: 0.03em;
		color: #3E3A39;
		min-width: 100%;
		overflow: hidden;
		width: 100%;
	}
	img {
		width: 100%;
		height: auto;
	}
}

/* =============================================================================
     ヘッダー
     ========================================================================== */

header {
	padding: 40px 40px 191px 40px;
	position: relative;
}

.logo {
	position: relative;
	z-index: 9999;
}

.twitter {
	position: absolute;
	right: 237px;
	top: 40px;
	z-index: 9999;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	header {
		padding: 20px 20px 80px 20px;
		position: relative;
	}
	.logo a img {
		width: 83px;
		height: auto;
	}
}


/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
	/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	position:fixed;
	z-index: 999;
	/*ナビのスタート位置と形状*/
	top:-120%;
	left:0;
	width:100%;
	height: 100vh;/*ナビの高さ*/
	background:#fff;
	/*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
	top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
	/*ナビの数が増えた場合縦スクロール*/
	position: fixed;
	z-index: 999; 
	width: 100%;
	height: 100vh;/*表示する高さ*/
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
	/*ナビゲーション天地中央揃え*/
	position: absolute;
	z-index: 999;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
	font-size: 60px;
	font-family: 'Yeseva One', cursive;
	margin: 0 0 40px 0;

}

#g-nav li a{
	color: #3E3A39;
	text-decoration: none;
	display: block;

}

#g-nav li a span{
	font-size: 17px;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0 0 0 15px;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	#g-nav{
		/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
		position:fixed;
		z-index: 999;
		/*ナビのスタート位置と形状*/
		top:-120%;
		left:0;
		width:100%;
		height: 100vh;/*ナビの高さ*/
		background:#fff;
		/*動き*/
		transition: all 0.6s;
	}

	/*アクティブクラスがついたら位置を0に*/
	#g-nav.panelactive{
		top: 0;
	}

	/*ナビゲーションの縦スクロール*/
	#g-nav.panelactive #g-nav-list{
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999; 
		width: 100%;
		height: 100vh;/*表示する高さ*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	/*ナビゲーション*/
	#g-nav ul {
		/*ナビゲーション天地中央揃え*/
		position: relative;
		z-index: 999;
		padding: 0 40px;
		top:300px;
		left:50%;
		transform: translate(-50%,-50%);
	}

	/*リストのレイアウト設定*/

	#g-nav li{
		list-style: none;
		font-size: 30px;
		font-family: 'Yeseva One', cursive;
		margin: 0 0 30px 0;
		line-height: 1;

	}
	#g-nav li img{
		width: 40px;
		height: 40px;

	}

	#g-nav li a{
		color: #3E3A39;
		text-decoration: none;
		display: block;

	}

	#g-nav li a span{
		font-size: 10px;
		font-family: 'Noto Sans JP', sans-serif;
		margin: 0 0 0 15px;
	}
}

/*==================================================
　5-2-4 MENUがCLOSEに
===================================*/

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn{
	/*ボタン内側の基点となるためrelativeを指定。
追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
	position: absolute;
	top: 40px;
	right: 60px;
	cursor: pointer;
	width: 63px;
	height:60px;
	border-radius: 5px;
	z-index: 9999;
}

/*ボタン内側*/
.openbtn span{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	height: 1px;
	border-radius: 5px;
	width: 100%;
	background-color: #3E3A39;
}


.openbtn span:nth-of-type(1) {
	top:23px;	
}

.openbtn span:nth-of-type(2) {
	opacity: 0;
}

.openbtn span:nth-of-type(3) {
	top:39px;
}

.openbtn span:nth-of-type(3)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top:-20px;
	right: 83px;
	color: #fff;
	font-family: 'Yeseva One', cursive;
	text-transform: uppercase;
	color: #3E3A39;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openbtn.active span:nth-of-type(1) {
	transform: translateY(8px) rotate(-45deg);
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
	transform: translateY(-8px) rotate(45deg);
}

.openbtn.active span:nth-of-type(3)::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
	transform: translateY(0) rotate(-45deg);
	top:47px;
	right:56px;
	font-family: 'Yeseva One', cursive;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
	.openbtn{
		/*ボタン内側の基点となるためrelativeを指定。
	追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
		position: absolute;
		top: 20px;
		right: 20px;
		cursor: pointer;
		width: 32px;
		height:30px;
		border-radius: 5px;
		z-index: 9999;
	}
	/*ボタン内側*/
	.openbtn span{
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
		height: 1px;
		border-radius: 5px;
		width: 100%;
		background-color: #3E3A39;
	}


	.openbtn span:nth-of-type(1) {
		top:10px;	
	}

	.openbtn span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn span:nth-of-type(3) {
		top:20px;
	}
	.openbtn span:nth-of-type(3)::after {
		content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
		position: absolute;
		top:-15px;
		right: 42px;
		color: #fff;
		font-family: 'Yeseva One', cursive;
		text-transform: uppercase;
		color: #3E3A39;
	}
	/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

	.openbtn.active span:nth-of-type(1) {
		transform: translateY(5px) rotate(-45deg);
	}

	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn.active span:nth-of-type(3){
		transform: translateY(-5px) rotate(45deg);
	}

	.openbtn.active span:nth-of-type(3)::after {
		content:"Close";/*3つ目の要素のafterにClose表示を指定*/
		transform: translateY(0) rotate(-45deg);
		top:21px;
		right:28px;
		font-family: 'Yeseva One', cursive;
	}
}

.mv {
	background-color: #F1F3F5;
	background-image: url(images/bg_cross.png);
	background-position: center center;
	background-size: 175px 175px;
	padding: 10px 0 0 0;
}

.mv_in {
	width: 1080px;
	margin: -170px auto 0;
}

.mv_img{
	text-align: center;
}


.opening_hours {
	text-align: center;
	position: relative;
	padding: 80px 0;
	color: #BD9699;
}

.opening_hours:before {
	content: ''; 
	position: absolute;
	top: 78px;
	left: 148px;
	width: 126px;
	height: 122px;
	background-image: url(images/top_decoration1.png);
	background-size: contain;
}

.opening_hours:after {
	content: ''; 
	position: absolute;
	top: 78px;
	right: 148px;
	width: 126px;
	height: 122px;
	background-image: url(images/top_decoration2.png);
	background-size: contain;
}

.opening_hours_info {
	font-size: 30px;
	font-weight: bold;
	border-bottom: dotted 4px #E0CACD;
	padding: 3px 0;
}

.opening_hours_comment {
	margin: 25px 0 0;
	font-size: 19px;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	.mv {
		background-color: #F1F3F5;
		background-image: url(images/bg_cross.png);
		background-position: center center;
		background-size: 87.5px 87.5px;
		padding: 10px 20px 0 20px;
	}
	.mv_in {
		width: 100%;
		margin: -60px auto 0;
	}
	.opening_hours {
		padding: 30px 0;
	}
	.opening_hours:before {
		content: ''; 
		position: absolute;
		top: 66px;
		left: -5px;
		width: 78px;
		height: 76px;
		background-image: url(images/top_decoration1.png);
		background-size: contain;
	}

	.opening_hours:after {
		content: ''; 
		position: absolute;
		top: 66px;
		right: -5px;
		width: 78px;
		height: 76px;
		background-image: url(images/top_decoration2.png);
		background-size: contain;
	}

	.opening_hours_info {
		font-size: 22.5px;
		font-weight: bold;
		border-bottom: dotted 4px #E0CACD;
		padding: 3px 0;
	}
	.opening_hours_comment {
		margin: 20px 0 0;
		font-size: 14px;
	}
}


section.twitter_content {
	padding: 50px 0;
}

.twitter_content_in {
	width: 1080px;
	margin: 0 auto;
	position: relative;
}

section h2 {
	text-align: center;
	font-size: 100px;
	font-family: 'Yeseva One', cursive;
	margin: 0 0 20px;
	position: relative;
	z-index: 100;
	line-height: 1.2;
}

.twitter_content_in_embed {
	width: 520px;
	margin: 0 auto;
	position: relative;
}

.twitter_content_in::before {
	content: ''; 
	position: absolute;
	top: 150px;
	left: -60px;
	width: 239px;
	height: 690px;
	background-image: url(images/twitter_bg1.png);
	background-size: contain;
}

.twitter_content_in::after {
	content: ''; 
	position: absolute;
	top: 280px;
	right: -105px;
	width: 281px;
	height: 626px;
	background-image: url(images/twitter_bg2.png);
	background-size: contain;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {

	section.twitter_content {
		padding: 40px 0;
	}

	.twitter_content_in {
		width: 100%;
		margin: 0 auto;
		position: relative;
		padding: 0 20px;
		box-sizing: border-box;
	}

	section h2 {
		text-align: center;
		font-size: 50px;
		font-family: 'Yeseva One', cursive;
		margin: 0 0 20px;
		position: relative;
		z-index: 100;
		line-height: 1.2;
	}

	.twitter_content_in_embed {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}

	.twitter_content_in::before {
		background: none;
	}

	.twitter_content_in::after {
		background: none;
	}
}





section.cast {
	padding: 50px 0;
}

.cast_in {
	width: 1080px;
	margin: 0 auto 40px;
}

.cast_in p {
	font-size: 17px;
	line-height: 1.8823;
	text-align: center;
}

.cast_slider {
	margin: 0 0 40px;
}

.slider img {
	width:100%;/*スライダー内の画像を横幅100%に*/
	height:auto;
}

.slider .slick-slide {
	margin:0 2px;/*スライド左右の余白調整*/
}

.cast_link_button {
	width: 560px;
	margin: 0 auto;
}

.cast_link_button ul {
	font-size: 0;
}

.cast_link_button ul li {
	display: inline-block;
	width: 260px;
	height: 60px;
	text-align: center;
	background-color: #DEC6C8;
	color: #fff;
	box-sizing: border-box;
	padding: 14px;
	border-radius: 30px;
	font-size: 17px;
	margin: 0 10px;
	float: left;
}

.cast_link_button ul li a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	section.cast {
		padding: 40px 0;
	}

	.cast_in {
		width: 100%;
		margin: 0 auto 40px;
		padding: 0 20px;
		box-sizing: border-box;
	}

	.cast_in p {
		font-size: 12.5px;
		line-height: 1.8823;
		text-align: left;
	}

	.cast_link_button {
		width: 100%;
		margin: 0 auto;
	}

	.cast_link_button ul {
		width: 195px;
		margin: 0 auto;
		font-size: 0;
	}

	.cast_link_button ul li {
		display: inline-block;
		width: 195px;
		height: 45px;
		text-align: center;
		background-color: #DEC6C8;
		color: #fff;
		box-sizing: border-box;
		padding: 10px;
		border-radius: 30px;
		font-size: 12.5px;
		margin: 0 0 10px;
		float: left;
	}
}


section.about_mimi {
	padding: 50px 0 230px;
}

.about_mimi_in {
	width: 1080px;
	margin: 0 auto;
	position: relative;
}

.about_mimi_in::before {
	content: ''; 
	position: absolute;
	top: -80px;
	left: -60px;
	width: 178px;
	height: 193px;
	background-image: url(images/mimi_bg1.png);
	background-size: contain;
}

.about_mimi_in::after {
	content: ''; 
	position: absolute;
	top: -100px;
	right: -130px;
	width: 629px;
	height: 977px;
	background-image: url(images/mimi_bg2.png);
	background-size: contain;
}


.mimi_concept_logo {
	margin: 0 0 150px;
}

.mimi_concept {
	width: 600px;
	text-align: center;

}

p.mimi_concept_text {
	position: relative;
	line-height: 2.3529;
}

p.mimi_concept_text:before {
	content: ''; 
	position: absolute;
	top: -75px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 250px;
	height: 21px;
	background-image: url(images/mimi_decoration.png);
	background-size: contain;
}

p.mimi_concept_text:after {
	content: ''; 
	position: absolute;
	bottom: -75px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 250px;
	height: 21px;
	background-image: url(images/mimi_decoration.png);
	background-size: contain;
}

p.mimi_concept_text span {
	color: #DEC6C8;
	font-weight: bold;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	section.about_mimi {
		padding: 40px 0 315px;
		position: relative;
	}

	section.about_mimi::after {
		content: ''; 
		position: absolute;
		bottom: 20px;
		left: 10px;
		width: 349px;
		height: 304px;
		background-image: url(images/mimi_bg3_sp.png);
		background-size: contain;
		z-index: -998;
	}

	.about_mimi_in {
		width: 100%;
		margin: 0 auto;
		position: relative;
		padding: 0 20px;
		box-sizing: border-box;
	}

	.about_mimi_in::before {
		content: ''; 
		position: absolute;
		top: 20px;
		left: 18px;
		width: 65px;
		height: 113px;
		background-image: url(images/mimi_bg1_sp.png);
		background-size: contain;
	}

	.about_mimi_in::after {
		content: ''; 
		position: absolute;
		top: 26px;
		right: 12px;
		width: 58.5px;
		height: 109px;
		background-image: url(images/mimi_bg2_sp.png);
		background-size: contain;
	}


	.mimi_concept_logo {
		margin: 0 0 90px;
	}

	.mimi_concept_logo img {
		width: 165px;
		height: auto;
	}

	.mimi_concept {
		width: 100%;
		text-align: center;

	}

	p.mimi_concept_text {
		position: relative;
		line-height: 2.3529;
	}

	p.mimi_concept_text:before {
		content: ''; 
		position: absolute;
		top: -50px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 186px;
		height: 16px;
		background-image: url(images/mimi_decoration.png);
		background-size: contain;
	}

	p.mimi_concept_text:after {
		content: ''; 
		position: absolute;
		bottom: -50px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 186px;
		height: 16px;
		background-image: url(images/mimi_decoration.png);
		background-size: contain;
		z-index: -999;
	}

	p.mimi_concept_text span {
		color: #DEC6C8;
		font-weight: bold;
	}
}

section.menu {
	padding: 100px 0;
	background-color: #DEC6C8;
	background-image: url(images/bg_cross.png);
	background-position: center center;
	background-size: 175px 175px;
}

.menu_in {
	width: 1080px;
	margin: 0 auto;
}

.menu_content{
	width: 730px;
	margin: -90px auto 0;
	background: #fff;
	text-align: center;
	border-radius: 28px;
	padding: 105px 0 70px;
}

.menu_txt {
	margin: 35px 0 50px;
}

.link_button {
	display: inline-block;
	width: 260px;
	height: 60px;
	text-align: center;
	background-color: #DEC6C8;
	color: #fff;
	box-sizing: border-box;
	padding: 14px;
	border-radius: 30px;
	font-size: 17px;
	margin: 0 10px;
	position: relative;
	letter-spacing: 0.1em;
}

.link_button a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	section.menu {
		padding: 45px 0;
		background-color: #DEC6C8;
		background-image: url(images/bg_cross.png);
		background-position: center center;
		background-size: 87.5px 87.5px;
	}

	.menu_in {
		width: 100%;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}

	.menu_content{
		width: 100%;
		margin: -55px auto 0;
		background: #fff;
		text-align: center;
		border-radius: 15px;
		padding: 50px 20px 40px;
		box-sizing: border-box;
	}

	.menu_txt {
		margin: 20px 0 20px;
	}

	.link_button {
		display: inline-block;
		width: 195px;
		height: 45px;
		text-align: center;
		background-color: #DEC6C8;
		color: #fff;
		box-sizing: border-box;
		padding: 10px;
		border-radius: 30px;
		font-size: 12.5px;
		margin: 0 10px;
	}
}


.sister_store {

}

.sister_store_in {
	padding: 85px 25px 85px;
}

.sister_store_content {
	background: #EFF0F2;
	margin: -80px 0 0 0;
	min-width: 1080px;
}

.sister_store_content_in {
	width: 1080px;
	height: 430px;
	margin: 0 auto;
	padding: 160px 0 100px;
	position: relative;
}

.sister_store_content_in_midashi {
	color: #BD9699;
	font-size: 19px;
	font-weight: bold;
	margin: 20px 0 40px;
}

.sister_store_content_in_txt {
	width: 400px;
	margin: 0 0 40px;
}

.sister_store_content_in_img {
	position: absolute;
	top: 160px;
	right: 0;
}

.blank a:after {
	content: ''; 
	position: absolute;
	margin: 6px 0 0 16px;
	width: 20px;
	height: 16px;
	background-image: url(images/blank.png);
	background-size: contain;
}


@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
.sister_store {

}

.sister_store_in {
	padding: 50px 10px 50px;
}

.sister_store_content {
	background: #EFF0F2;
	margin: -55px 0 0 0;
	min-width: 100%;
	border-radius: 15px;
	text-align: center;
}

.sister_store_content_in {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 20px 23px 60px;
	position: relative;
	box-sizing: border-box;
}

.sister_store_content_in_midashi {
	width: 95%;
	color: #BD9699;
	font-size: 19px;
	font-weight: bold;
	margin: 20px auto 15px;
	text-align: left;
}

.sister_store_content_in_txt {
	width: 95%;
	margin: 0 auto 20px;
	text-align: left;
}

.sister_store_content_in_img {
	position: relative;
	top: 0;
	right: 0;
	margin: 0 0 20px 0;
}

.blank a:after {
	content: ''; 
	position: absolute;
	margin: 7px 0 0 10px;
	width: 14px;
	height: 10px;
	background-image: url(images/blank.png);
	background-size: contain;
}
}



.map_in {
	width: 100%;
	min-width: 1080px;
}

.map_umekomi {
	width : calc(100% - 467px) ;
	float: left;
	height: 600px;
}

.access {
	width: 467px;
	height: 600px;
	float: left;
	background: #BD9699;
	padding: 60px 50px;
	box-sizing: border-box;
	color: #fff;
}

.access_h2 {
	font-size: 80px;
	color: #fff;
	margin: 0 0 5px 0;
}

.access p {
	text-align: left;
}

.access p.access_furigana {
	text-align: center;
	margin: 0 0 50px;
}

.access_txt {
	margin: 0 0 50px;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	.map_in {
		width: 100%;
		min-width: 100%;
		height: 475px;
		position: relative;
	}

	.map_umekomi {
		width : 100% ;
		float: none;
		position: absolute;
		top: 250px;
		height: 225px;
	}

	.access {
		width : 100% ;
		height: 250px;
		float: none;
		background: #BD9699;
		padding: 20px 20px;
		box-sizing: border-box;
		color: #fff;
		position: absolute;
		top: 0;
	}

	.access_h2 {
		font-size: 40px;
		color: #fff;
		margin: 0 0 2px 0;
		line-height: 1;
	}

	.access p {
		text-align: left;
	}

	.access p.access_furigana {
		font-size: 8.5px;
		text-align: center;
		margin: 0 0 8px;
	}

	.access_txt {
		margin: 0 0 14px;
	}
}



footer {
	background-color: #EEE2E3;
	background-image: url(images/bg_cross.png);
	background-position: center center;
	background-size: 175px 175px;
}

.footer_in {
	width: 1080px;
	margin: 0 auto;
	padding: 85px 0 120px;
}

.footer_logo {
	float: left;
	margin: 0 0 0 -35px;
}

.footer_menu {
	float: right;
	margin: 0 -43px 0 0;
}

.footer_menu ul {
	display: flex;
	margin: 15px 0 0 0;
}

.footer_menu ul li {
	margin: 0 25px;
}

.footer_menu ul li:last-child {
	margin: 0 0 0 25px;
}

.footer_menu ul li a {
	font-family: 'Yeseva One', cursive;
	color: #3E3A39;
	text-decoration: none;
}

.copy {
	text-align: center;
	font-size: 13px;
	padding: 0 0 20px;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {

footer {
	background-color: #EEE2E3;
	background-image: url(images/bg_cross.png);
	background-position: center center;
	background-size: 87.5px 87.5px;
}

.footer_in {
	width: 100%;
	margin: 0 auto;
	padding: 35px 20px 50px;
	box-sizing: border-box;
}

.footer_logo {
	width: 132px;
	height: auto;
	float: none;
	margin: 0 auto;
}

.footer_menu {
	float: none;
	margin: 0;
}

.footer_menu ul {
	display: flex;
	justify-content: space-between;
	margin: 35px 0 0 0;
}

.footer_menu ul li {
	font-size: 15px;
	margin: 0;
}

.footer_menu ul li:last-child {
	margin: 0;
}

.footer_menu ul li a {
	font-family: 'Yeseva One', cursive;
	color: #3E3A39;
	text-decoration: none;
}

.copy {
	text-align: center;
	font-size: 11px;
	padding: 0 0 10px;
}

}

section.system {
	width: 100%;
	margin: -120px 0 0 0;
}

section h1 {
	text-align: center;
	font-size: 100px;
	font-family: 'Yeseva One', cursive;
	margin: 0 0 10px;
	position: relative;
	z-index: 100;
	line-height: 1.2;
}

span.h1_furi {
	font-size: 21px;
	text-align: center;
	display: block;
	color: #BD9699;
	margin: 0 0 50px;
}

section h1:before {
	content: ''; 
	position: absolute;
	width: 56px;
	height: 56px;
	background-image: url(images/h1_decoration.png);
	background-size: contain;
	margin: 30px 0 0 -100px;
}

section h1:after {	content: ''; 
	content: ''; 
	position: absolute;
	width: 56px;
	height: 56px;
	background-image: url(images/h1_decoration.png);
	background-size: contain;
	margin: 30px 0 0 40px;
}

.system_in {
	background: #F1F3F5;
	border-radius: 85px 85px 0 0 ;
	padding: 110px 0;
}

.system_setsumei {
	text-align: center;
	margin: 0 0 100px;
}

.system_setsumei span {
	display: block;
	text-align: center;
	margin: 20px 0;
}

.system_waku {
	width: 930px;
	margin: 0 auto 100px;
	background-color: #fff;
	border-radius: 25px 25px 25px 25px;
	position: relative;
}

.system_waku_midashi {
	text-align: center;
	font-size: 23px;
	font-weight: bold;
	color: #fff;
	background-color: #E0CACD;
	border-radius: 25px 25px 0 0;
	padding: 15px 0;
	letter-spacing: 0.1em;
}

.system_waku_midashi span {
	font-size: 17px;
	font-weight: normal;
}

.system_waku_setsumei {
	padding: 45px 115px;
	text-align: center;
	letter-spacing: 0.1em;
}

.system_waku_setsumei p {
	margin: 0 0 15px;
}

.system_waku:before {
	content: ''; 
	position: absolute;
	top: -32px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 910px;
	height: 21px;
	background-image: url(images/decoration_1.png);
	background-size: contain;
}

.chuuigaki {
	width: 980px;
	margin: -50px auto 0;
	text-align: center;
}

.chuuigaki_txt {
	margin: 0 0 32px;
}

.h2_midashi {
	margin: 100px 0 80px 0;
}

.h2_midashi span {
	font-size: 17px;
	display: block;
	text-align: center;
	letter-spacing: 0.2em;
}

.system_waku_setsumei dl {
	padding: ;
	text-align: left;
	margin: 0 0 20px;
}

.system_waku_setsumei dl dt {
	float: left;
	width: 66%;
}

.system_waku_setsumei dl dd{
	float: left;

}

.hosoku {
	border-top: 1px dashed #E0CACD;
	padding: 30px 0 0;
}

.rule_waku {
	width: 930px;
	margin: 0 auto 100px;
	background-color: #fff;
	border-radius: 25px 25px 25px 25px;
	position: relative;
}

.rule_waku_setsumei {
	padding: 45px 115px;
	text-align: center;
	letter-spacing: 0.1em;
}

.rule_waku_setsumei p {
	margin: 0 0 15px;
	border-bottom: 1px dashed #E0CACD;
	padding: 0 0 15px;
}

.rule_waku_setsumei p:last-child {
	border-bottom: none;
}

@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
	section.system {
		width: 100%;
		margin: -50px 0 0 0;
	}

	section h1 {
		text-align: center;
		font-size: 50px;
		font-family: 'Yeseva One', cursive;
		margin: 0 0 10px;
		position: relative;
		z-index: 100;
		line-height: 1.2;
	}

	span.h1_furi {
		font-size: 15px;
		text-align: center;
		display: block;
		color: #BD9699;
		margin: 0 0 30px;
	}

	section h1:before {
		content: ''; 
		position: absolute;
		width: 27px;
		height: 27px;
		background-image: url(images/h1_decoration.png);
		background-size: contain;
		margin: 20px 0 0 -50px;
	}

	section h1:after {	content: ''; 
		content: ''; 
		position: absolute;
		width: 27px;
		height: 27px;
		background-image: url(images/h1_decoration.png);
		background-size: contain;
		margin: 20px 0 0 20px;
	}

	.system_in {
		background: #F1F3F5;
		border-radius: 45px 45px 0 0 ;
		padding: 45px 20px;
	}

	.system_setsumei {
		text-align: center;
		margin: 0 0 100px;
	}

	.system_setsumei span {
		display: block;
		text-align: center;
		margin: 20px 0;
	}

	.system_waku {
		width: 100%;
		margin: 0 auto 50px;
		background-color: #fff;
		border-radius: 13px;
		position: relative;
	}

	.system_waku_midashi {
		text-align: center;
		font-size: 17px;
		font-weight: bold;
		color: #fff;
		background-color: #E0CACD;
		border-radius: 13px 13px 0 0;
		padding: 10px 15px;
		letter-spacing: 0.1em;
	}

	.system_waku_midashi span {
		font-size: 17px;
		font-weight: normal;
	}

	.system_waku_setsumei {
		padding: 35px 24px;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.system_waku_setsumei p {
		margin: 0 0 15px;
	}

	.system_waku:before {
		content: '';
		top: 0;
		left: 0;
		width: 100%;/*指定したい幅*/
		padding-top: 0%;/*画像の幅に対する高さ比率*/
		display: block;
		position: relative;
		height: 0;
		background-image: none;
	}

	.system_waku:after {
		content: ''; 
		position: absolute;
		top: -16px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 96%;
		height: 100px;
		background-image: url(images/decoration_1.png);
		background-size: contain;
		background-repeat: no-repeat;
	}

	.chuuigaki {
		width: 100%;
		margin: -25px auto 0;
		text-align: center;
	}

	.chuuigaki_txt {
		text-align: left;
		margin: 0 0 32px;
	}

	.h2_midashi {
		margin: 75px 0 60px 0;
	}

	.h2_midashi span {
		font-size: 13px;
		display: block;
		text-align: center;
		letter-spacing: 0.2em;
	}

	.system_waku_setsumei dl {
		padding: ;
		text-align: left;
		margin: 0 0 10px;
	}

	.system_waku_setsumei dl dt {
		float: left;
		width: 60%;
		margin: 0 3% 10px 0;
	}

	.system_waku_setsumei dl dd{
		float: left;
		width: 37%;
		text-align: right;
		margin: 0 0 10px;
	}

	.hosoku {
		border-top: 1px dashed #E0CACD;
		padding: 15px 0 0;
	}

	.rule_waku {
		width: 100%;
		margin: 0 auto 50px;
		background-color: #fff;
		border-radius: 25px 25px 25px 25px;
		position: relative;
	}

	.rule_waku_setsumei {
		padding: 35px 24px;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.rule_waku_setsumei p {
		margin: 0 0 15px;
		border-bottom: 1px dashed #E0CACD;
		padding: 0 0 15px;
	}

	.rule_waku_setsumei p:last-child {
		border-bottom: none;
	}
}





.menu_link {
	width: 930px;
	margin: 0 auto 50px;
}

.menu_link ul {

}

.menu_link ul li {
	display: inline-block;
	width: 294px;
	height: 60px;
	text-align: center;
	background-color: #DEC6C8;
	color: #fff;
	box-sizing: border-box;
	padding: 14px;
	border-radius: 30px;
	font-size: 17px;
	margin: 0 24px 0 0;
	float: left;
}

.menu_link ul li a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

.menu_link ul li:last-child {
	margin:0;
}

.menu_waku {
	width: 930px;
	margin: 0 auto 100px;
	background-color: #fff;
	border-radius: 25px 25px 25px 25px;
	position: relative;
}

.menu_waku_setsumei {
	padding: 45px 62px;
	text-align: center;
	letter-spacing: 0em;
}

.menu_waku_setsumei dl.column2 {
	float: left;
	width: 48.5%;
	border-right: 1px dashed #E0CACD;
	box-sizing: border-box;
	text-align: left;
	margin: 0 3% 0 0;
}

.menu_waku_setsumei dl.column2:last-child {
	border-right: none;
	margin: 0;
}


.menu_waku_setsumei dl.column2 dt {
	float: left;
	width: 56%;
}

.menu_waku_setsumei dl.column2 dd {
	float: left;
}

.menu_option {
	padding: 30px 0 0;
}

.h2_midashi2 {
	margin: 80px 0 40px 0;
}

.h2_midashi2 span {
	font-size: 17px;
	display: block;
	text-align: center;
	letter-spacing: 0.2em;
}

.menu_waku_setsumei dl.column1 {
	text-align: left;
}

.menu_waku_setsumei dl.column1 dt {
	width: 76%;
	float: left;
}

.menu_waku_setsumei dl.column1 dd {
	width: 24%;
	float: left;
}


@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
.menu_link {
	width: 220px;
	margin: 0 auto 30px;
}

.menu_link ul {

}

.menu_link ul li {
	display: inline-block;
	width: 220px;
	height: 45px;
	text-align: center;
	background-color: #DEC6C8;
	color: #fff;
	box-sizing: border-box;
	padding: 10px;
	border-radius: 30px;
	font-size: 12.5px;
	margin: 0 0 10px 0;
	float: left;
}

.menu_link ul li a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

.menu_link ul li:last-child {
	margin:0;
}

.menu_waku {
	width: 100%;
	margin: 0 auto 50px;
	background-color: #fff;
	border-radius: 13px 13px 13px 13px;
	position: relative;
}

.menu_waku_setsumei {
	padding: 35px 24px;
	text-align: center;
	letter-spacing: 0em;
}

.menu_waku_setsumei dl.column2 {
	float: none;
	width: 100%;
	border-right: none;
	box-sizing: border-box;
	text-align: left;
	margin: 0 3% 0 0;
}

.menu_waku_setsumei dl.column2:last-child {
	border-right: none;
	margin: 0;
}


.menu_waku_setsumei dl.column2 dt {
	float: left;
	width: 57%;
	margin: 0 0 8px 0;
}

.menu_waku_setsumei dl.column2 dd {
	float: left;
	margin: 0 0 8px 0;
}

.menu_option {
	padding: 15px 0 0;
}

.h2_midashi2 {
	margin: 40px 0 20px 0;
}

.h2_midashi2 span {
	font-size: 13px;
	display: block;
	text-align: center;
	letter-spacing: 0.2em;
}

.menu_waku_setsumei dl.column1 {
	text-align: left;
}

.menu_waku_setsumei dl.column1 dt {
	width: 73%;
	float: left;
	margin: 0 3% 8px 0;
}

.menu_waku_setsumei dl.column1 dd {
	width: 24%;
	float: left;
	margin: 0 0 8px 0;
}
}



.todays_cast {
	width: 930px;
	margin: 0 auto;
}

.todays_cast_in {
	margin: 50px 0;
}

.todays_cast_in_txt {
	font-size: 37px;
	text-align: center;
	font-weight: bold;
	float: left;
	margin: 0 0 0 175px;
}

.todays_cast_in_button {
	display: inline-block;
	width: 260px;
	height: 60px;
	text-align: center;
	background-color: #DEC6C8;
	color: #fff;
	box-sizing: border-box;
	padding: 14px;
	border-radius: 30px;
	font-size: 17px;
	margin: 0 175px 0 0;
	float: right;
}

.todays_cast_in_button a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

.cast_list_in {
	width: 930px;
	margin: 0 auto;
}

.cast_list_in_txt {
	text-align: center;
	margin: 0 0 40px 0;
}

.cast_list_detail {
	display: flex;
	flex-wrap: wrap;
}

.cast_info {
	width: 216px;
	margin: 0 22px 40px 0;
}

.cast_info:nth-child(4n) {
	width: 216px;
	margin: 0 0 40px 0;
}

.cast_info_in {
	text-align: center;
}

p.cast_name {
	font-size: 28px;
	font-weight: bold;
	color: #BD9699;
	line-height: 1;
	border-bottom: 4px dotted #E0CACD;
	padding: 0 0 10px;
	margin: 0 0 10px;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cast_info_in dl {
	text-align: left;
	margin: 0 0 10px 0;
}

.cast_info_in dl dt {
	float: left;
	width: 80px;
}

.cast_info_in dl dt span {
	font-size: 12px;
}

.cast_info_in dl dd {
	float: left;
	width: 136px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cast_message {
	text-align: left;
	height: 87px;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cast_recruit {
	position: relative;
	width: 1080px;
	margin: 0 auto;
}

.cast_recruit:before {
	content: ''; 
	position: absolute;
	width: 237px;
	height: 353px;
	background-image: url(images/cast_recruit3.png);
	background-size: contain;
	top: 60px;
	left: -60px;
	z-index: 100;
}

.cast_recruit:after {
	content: ''; 
	position: absolute;
	width: 240px;
	height: 432px;
	background-image: url(images/cast_recruit4.png);
	background-size: contain;
	bottom: 50px;
	right: -65px;
	z-index: 100;
}

.cast_recruit_in {
	width: 1080px;
	height: 373px;
	margin: 0 auto;
	background-color: #fff;
	position: relative;
	border-radius: 25px;
}

.cast_recruit_in:before {
	content: ''; 
	position: absolute;
	width: 82px;
	height: 82px;
	background-image: url(images/cast_recruit1.png);
	background-size: contain;
	top: 16px;
	left: 20px;
}

.cast_recruit_in:after {
	content: ''; 
	position: absolute;
	width: 82px;
	height: 81px;
	background-image: url(images/cast_recruit2.png);
	background-size: contain;
	bottom: 16px;
	right: 20px;
}

p.cast_recruit_in_title {
	position: absolute;
	top: 95px;
	left: 223px;
	font-size: 37px;
}

.cast_recruit_in_button {
	position: absolute;
	top: 200px;
	left: 209px;
	display: inline-block;
	width: 260px;
	height: 60px;
	text-align: center;
	background-color: #DEC6C8;
	color: #fff;
	box-sizing: border-box;
	padding: 14px;
	border-radius: 30px;
	font-size: 17px;
}

.cast_recruit_in_button a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

.cast_recruit_in_txt {
	position: absolute;
	width: 345px;
	top: 94px;
	right: 187px;
}


@media screen and (max-width: 639px), screen and (orientation: landscape) and (max-width: 800px) {
.todays_cast {
	width: 100%;
	margin: 0 auto;
}

.todays_cast_in {
	margin: 20px 0;
	text-align: center;
}

.todays_cast_in_txt {
	font-size: 17px;
	text-align: center;
	font-weight: bold;
	float: none;
	margin: 0 0 10px 0;
}

.todays_cast_in_button {
	display: inline-block;
	width: 195px;
	height: 45px;
	text-align: center;
	background-color: #DEC6C8;
	color: #fff;
	box-sizing: border-box;
	padding: 10px;
	border-radius: 30px;
	font-size: 12.5px;
	margin: 0;
	float: none;
}

.todays_cast_in_button a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

.cast_list_in {
	width: 100%;
	margin: 0 auto;
}

.cast_list_in_txt {
	text-align: center;
	margin: 0 0 40px 0;
}

.cast_list_detail {
	display: flex;
	flex-wrap: wrap;
}

.cast_info {
	width: 47.5%;
	margin: 0 5% 30px 0;
}

.cast_info:nth-child(2n) {
	margin: 0 0 30px 0;
}

.cast_info:nth-child(4n) {
	width: 47.5%;
	margin: 0 0 30px 0;
}

.cast_info_in {
	text-align: center;
}

p.cast_name {
	font-size: 22px;
	font-weight: bold;
	color: #BD9699;
	line-height: 1;
	border-bottom: 2px dotted #E0CACD;
	padding: 0 0 10px;
	margin: 0 0 10px;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cast_info_in dl {
	text-align: left;
	margin: 0 0 10px 0;
}

.cast_info_in dl dt {
	float: left;
	width: 44%;
}

.cast_info_in dl dt span {
	font-size: 12px;
}

.cast_info_in dl dd {
	float: left;
	width: 56%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cast_message {
	text-align: left;
	height: 87px;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cast_recruit {
	position: relative;
	width: 100%;
	margin: 0 auto;
	height: 620px;
}

.cast_recruit:before {
	content: ''; 
	position: absolute;
	width: 227px;
	height: 337px;
	background-image: url(images/cast_recruit3.png);
	background-size: contain;
	top: 300px;
	left: -48px;
	z-index: 100;
}

.cast_recruit:after {
	content: ''; 
	position: absolute;
	width: 230px;
	height: 414px;
	background-image: url(images/cast_recruit4.png);
	background-size: contain;
	top: 270px;
	right: -48px;
	z-index: 100;
}

.cast_recruit_in {
	width: 100%;
	height: 310px;
	margin: 0 auto;
	background-color: #fff;
	position: relative;
	border-radius: 13px;
}

.cast_recruit_in:before {
	content: ''; 
	position: absolute;
	width: 41px;
	height: 41px;
	background-image: url(images/cast_recruit1.png);
	background-size: contain;
	top: 8px;
	left: 10px;
}

.cast_recruit_in:after {
	content: ''; 
	position: absolute;
	width: 41px;
	height: 41px;
	background-image: url(images/cast_recruit2.png);
	background-size: contain;
	bottom: 8px;
	right: 10px;
}

p.cast_recruit_in_title {
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	font-size: 22px;
}

.cast_recruit_in_button {
	position: absolute;
	top: 220px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	display: inline-block;
	width: 195px;
	height: 45px;
	text-align: center;
	background-color: #DEC6C8;
	color: #fff;
	box-sizing: border-box;
	padding: 10px;
	border-radius: 30px;
	font-size: 12.5px;
}

.cast_recruit_in_button a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

.cast_recruit_in_txt {
	position: absolute;
	width: 80%;
	top: 90px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

}