@charset "utf-8";

body{
	color:#333333;
	font-family: 'Noto Sans JP',"游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", Hiragino Sans, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size:14px;
	line-height:1.8;
	background:#1F1F1F;
}
body.on{
	overflow:hidden;
}


ul{
	letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
}

li{
	letter-spacing: normal; /* 文字間を通常に戻す */
}
a {
	color:#333333;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	text-decoration:none;
}

header a , nav a{
	text-decoration:none;
}


img{
	max-width:100%;
	height:auto;
}

.clear{
	clear:both;
}

.clearfix_af:after{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}

.clearfix_bf:before{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}
.clearfix_af ,.clearfix_bf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .clearfix_af{
	height: 1%;
}
.clearfix_af ,.clearfix_bf{
	display:block;
}
/* End Hack */

header{
	background: #ffbbae;
}

.menu_area{
	width:100%;
	height:100vh;
	background:url(assets/image/menu_bg@2x.png) center center no-repeat #1F1F1F;
	background-size:contain;
	position:fixed;
	top:0;
	left:0;
	z-index:999;
	justify-content:center;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	opacity:0;
	pointer-events: none;
	transition:all 0.4s;
}

.menu_area.on{
	opacity:1;
	pointer-events: unset;
}
.menu_area ul.menu li{
	text-align:center;
}

.menu_area ul.menu li a{
	font-family: 'Fugaz One', 'Noto Sans JP',"游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", Hiragino Sans, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 50px;
	line-height: 73px;
	color: #FFFFFF;
}


#switchBtnArea {
	position: fixed;
	top:40px;
	right:40px;
	width:52px;
	height:52px;
	background-color:#22E859;
	z-index:9999;
	border-radius:50%;
}

#switchBtnArea .switchBtn {
	top: 56px;
	right: 56px;
	width: 26px;
	height: 25px;
	display: block;
	z-index:9999;
	position: fixed;
}

#switchBtnArea .switchBtn span {
	left: 10%;
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	background-color: #000;
	transition: all 0.2s linear;
}
#switchBtnArea .switchBtn span:nth-of-type(1) {top:5px;transform: rotate(0);}
#switchBtnArea .switchBtn span:nth-of-type(2) {bottom:10px;transform: rotate(0);}

#switchBtnArea .switchBtn.btnClose span:nth-of-type(1) {top:9px;transform: rotate(-45deg);}
#switchBtnArea .switchBtn.btnClose span:nth-of-type(2) {bottom:14px;transform: rotate(45deg);}


h2{
	font-family: 'Fugaz One', 'Noto Sans JP',"游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", Hiragino Sans, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 50px;
	color:#fff;
	line-height:1;
	font-weight:normal;
	z-index:2;
	position:relative;
	margin-left:50px;
}

h2 span{
	z-index:2;
	position:relative;
}

h2 small{
	font-size: 40px;
}

h2 b{
	display:block;
	font-size: 20px;
	line-height: 30px;
	margin-top:10px;
	font-weight:bold;
}

h2:before{
	content: "";
	background-color: #22E859;
	width: 5px;
	height: 60px;
	position: absolute;
	left: 5px;
	top: -25px;
	transform: rotate(58deg);
	z-index:1;
}

.main_frame{
/*	max-width:1440px;*/
	margin:auto;
	background:url(assets/image/main_bg_l2023.png)no-repeat center top #1F1F1F;
	background-size:cover;
	min-height:5276px;
}

.container{
	max-width:1160px;
	padding:0 20px;
	box-sizing:border-box;
	margin:auto;
	position:relative;
}

.logo{
	position:fixed;
	top:40px;
	padding-left:30px;
	z-index:9999;
}

.logo img{
	width:213px;
}

.main_image{
	position:relative;
	width:100%;
/*	height:757px;*/
	height:100vh;
}

.main_image h1{
	position:absolute;
	text-align:center;
	left:0;
	right:0;
	top:calc(50% - 160px);
}

section#about{
	position:relative;
	top:-80px;
}

ul.about_list{
	margin:110px 0 0 50px;
	justify-content:space-between;
	display:flex;
	flex-wrap:wrap;
	color:#fff;
}

ul.about_list li{
	width:30%;
	position:relative;
	font-weight:600;
}

ul.about_list li .list_area{
	width:100%;
	position:relative;
	z-index:2;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align:center;
}

ul.about_list li:before{
	content:"";
	display:block;
	width:100%;
	padding-bottom:100%;
	background:#22E859;
	position:absolute;
	top:10px;
	left:10px;
	z-index:1;
}

ul.about_list li h3{
	font-family: 'Barlow', 'Noto Sans JP',"游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", Hiragino Sans, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	position:absolute;
	z-index:2;
	top:-50px;
	left:0;
	font-weight: bold;
	font-size: 80px;
	line-height:1;
}

ul.about_list li:nth-child(1) .list_area{
	background:url(assets/image/about_img01@2x.jpg)no-repeat center center ;
	background-size:cover;
}

ul.about_list li:nth-child(2) .list_area{
	background:url(assets/image/about_img02@2x.jpg)no-repeat center center ;
	background-size:cover;
}

ul.about_list li:nth-child(3) .list_area{
	background:url(assets/image/about_img03@2x.jpg)no-repeat center center ;
	background-size:cover;
}

ul.about_list li .list_area .comment{
	font-size: 24px;
	line-height: 131.5%;
	text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.29);
}

ul.about_list li .list_area .comment small{
	font-size: 18px;
	line-height: 180%;
	text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.29);
}

ul.about_list li .list_area .comment02{
	font-size: 46px;
	line-height: 95%;
	text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.29);
}

ul.about_list li .list_area .comment02 small{
	font-size: 20px;
	line-height: 180%;
	text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.29);
}

ul.about_list li .list_area .comment02 span{
	font-size: 22px;
	line-height: 140%;
	text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.29);
}

section#member{
	margin-top:100px;
}


ul.member_list{
	justify-content:space-between;
	display: flex;
	flex-wrap:wrap;
	margin-top:40px;
}

ul.member_list li{
	width:560px;
	height:213px;
	overflow:hidden;
	background:url(assets/image/member_bg.png)top right no-repeat;
	justify-content: flex-start;
	display: flex;
	flex-wrap:wrap;
	position:relative;
	margin-bottom:70px;
}

ul.member_list li .line{
	position:absolute;
	bottom: 0;
	left: 147px;
}

ul.member_list li .comment_area{
	padding-left:5px;
	width: 285px;
}

ul.member_list li.list01 .comment_area{
	padding-top:18px;
}

ul.member_list li.list02 .comment_area{
	padding-top:36px;
}

ul.member_list li .comment_area small{
	font-weight: bold;
	font-size: 13px;
	letter-spacing: 0.1em;
	color: #22E859;
	display:block;
}

ul.member_list li .comment_area h3{
	font-size: 20px;
	letter-spacing: 0.1em;
}

ul.member_list li .comment_area dl{
	font-weight:bold;
	font-size: 14px;
	letter-spacing: 0.1em;
	justify-content: flex-start;
	display: flex;
	flex-wrap:wrap;
}

ul.member_list li .comment_area dl dt{
	width:60px;
}

ul.member_list li .comment_area dl dd{
	flex:1;
}

#schedule{
	margin-top:65px;
	color:#fff;
}

#schedule .schedule_area{
	text-align:center;
	margin-top:60px;
}

#schedule .schedule_area h3{
	display:inline-block;
	font-weight: 500;
	font-size: 26px;
	line-height: 180%;
	letter-spacing: 0.1em;
	position:relative;
	padding-bottom:20px;
}

#schedule .schedule_area h3 span{
	display:block;
	font-weight: 500;
	font-size: 20px;
	line-height: 180%;
	letter-spacing: 0.1em;
}

#schedule .schedule_area h3:before{
	content:"";
	display:block;
	border-bottom: 5px solid #22E859;
	position:absolute;
	width:100%;
	left:0;
	bottom:0;
}


#schedule .text_center{
	margin-top:20px;
	text-align: center;
}

#schedule .text_center p {
	text-align: left;
	display: inline-block;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	letter-spacing: 0.1em;
	margin-top:10px;
}

#schedule .text_center p a{
	color:#fff;
}

#movie{
	margin-top:130px;
}

#movie ul.movie_list{
	margin-top:55px;
	justify-content: space-between;
	display: flex;
	flex-wrap:wrap;
}

#movie ul.movie_list li:first-child{
	width:63.58%;
	padding-right:2.5%;
}

#movie ul.movie_list li:first-child iframe{
	width:100%;
	height:433px;
}

#movie ul.movie_list li:last-child{
	flex:1;
}

#movie ul.movie_list li:last-child iframe{
	width:100%;
	height:208px;
}

#movie ul.movie_list li:last-child iframe:nth-child(2){
	margin-top:12px;
}

#location{
	margin-top:130px;
}

#location p{
	margin-top:15px;
	font-weight: bold;
	font-size: 20px;
	line-height: 180%;
	text-align: center;
	letter-spacing: 0.1em;
	color: #FFFFFF;
}

#location .map{
	margin-top:30px;
}


#location .map iframe{
	width:100%;
	height:520px;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}

#tw{
	margin-top:130px;
	padding-bottom:130px;
}

#tw .tw_area{
	width:330px;
	height:485px;
	margin:25px auto 0 auto;
	overflow:auto;
}

footer{
	background-color:#000;
}

footer ul{
	justify-content:space-between;
	display: flex;
	flex-wrap:wrap;
	align-items:center;
	padding:70px 180px;
}

footer ul li.footer_contact h3,
footer ul li.footer_contact .mail{
	display:none;
}

footer ul li.footer_logo{
	width:220px;
}

footer ul li.footer_logo img{
	width:213px;
}

footer ul li:nth-child(2){
	text-align:center;
	color:#fff;
	font-weight: 600;
	font-size: 12px;
	line-height: 400%;
	letter-spacing: 0.02em;
}

footer ul li.footer_sns{
	width:220px;
	text-align:right;
}

footer ul li.footer_sns a:first-child{
	margin-right:20px;
}


@media only screen and (min-width: 768px) {
	.sp_only{
		display:none !important;
	}

}


@media (max-width: 768px) {
	.tab_hidden{
		display:none !important;
	}

	ul.about_list{
		margin-left:0;
	}

	ul.member_list li{
		margin-left:auto;
		margin-right:auto;
	}

	#movie ul.movie_list li:first-child{
		width:100%;
	}

	#movie ul.movie_list li:last-child{
		width:100%;
		flex:auto;
	}

	#movie ul.movie_list li:last-child iframe{
		height: 433px;
	}

	#location .container{
		padding:0;
	}

	footer ul{
		display:block;
		text-align:center;
	}

	footer ul li.footer_logo{
		width:auto;
	}

	footer ul li.footer_sns{
		width:auto;
		text-align:center;
		margin-top:20px;
	}



}


@media (max-width: 767px) {

	.pc_only{
		display:none !important;
	}

	#switchBtnArea {
		top:23px;
		right:23px;
		width:40px;
		height:40px;
	}

	#switchBtnArea .switchBtn {
		top: 33px;
		right: 35px;
		width: 20px;
	}

	#switchBtnArea .switchBtn span:nth-of-type(1) {top:6px;transform: rotate(0);}
	#switchBtnArea .switchBtn span:nth-of-type(2) {bottom:10px;transform: rotate(0);}

	#switchBtnArea .switchBtn.btnClose span:nth-of-type(1) {top:9px;transform: rotate(-45deg);}
	#switchBtnArea .switchBtn.btnClose span:nth-of-type(2) {bottom:14px;transform: rotate(45deg);}

	.menu_area{
		background:url(assets/image/sp_menu_bg@2x.png) top calc(50% - 60px) center no-repeat #1F1F1F;
		background-size:contain;
	}
	.menu_area ul.menu{
		padding-bottom:60px;
	}
	.menu_area ul.menu li a{
		font-size:40px;
	}

	.logo{
		display:none;
	}

	.main_image h1 {
		top: calc(50% - 130px);
	}
	.main_image h1 img{
		width:267px;
	}

	.main_frame{
		max-width:1440px;
		margin:auto;
		background-image:unset;
		min-height:unset;
	}

	.sp_top_bg{
		background:url(assets/image/sp_main_bg_top2023.png)no-repeat center top #1F1F1F;
		background-size: contain;
	}

	.sp_bottom_bg{
		background:url(assets/image/sp_main_bg_bottom.png)no-repeat center top #1F1F1F;
		background-size: cover;
	}

	h2 {
		font-size: 36px;
		margin-left: 15px;
	}

	h2 small {
		font-size: 24px;
	}

	h2 b{
		font-size: 14px;
		line-height:21px;
	}

	section#about{
		top:0;
		margin-top:120px;
	}

	ul.about_list li{
		width:295px;
		margin:0 auto 80px auto;
	}

	ul.about_list li h3{
		font-size:70px;
		top:-40px;
	}

	ul.about_list li .list_area .comment{
		font-size: 20px;
	}

	ul.about_list li .list_area .comment small{
		font-size: 16px;
	}

	ul.about_list li .list_area .comment02{
		font-size:40px;
	}

	ul.about_list li .list_area .comment02 small{
		font-size:16px;
	}

	ul.about_list li .list_area .comment02 span{
		font-size:20px;
	}

	section#member {
		margin-top: 80px;
	}

	section#member h2{
		margin-left:35px;
	}

	section#member .container{
		padding:0;
	}

	ul.member_list li {
		width: 345px;
		height: 370px;
		overflow: hidden;
		background: url(assets/image/sp_member_bg.png)bottom left no-repeat;
		display:block;
		position: relative;
		margin-bottom: 70px;
	}

	ul.member_list li:nth-child(n + 5) {
		display:none;
	}


	ul.member_list li .image_area{
		text-align:right;
	}

	ul.member_list li.list01 .comment_area {
		padding-top: 5px;
		width: 260px;
		margin: auto;
	}

	ul.member_list li.list02 .comment_area {
		padding-top: 5px;
		width: 260px;
		margin: auto;
	}

	ul.member_list li .comment_area h3{
		font-size:18px;
	}

	ul.member_list li .comment_area dl{
		font-size:12px;
	}

	ul.member_list li .line {
		left: unset;
		right: 25px;
		bottom: unset;
		top: 151px;
	}

	.more{
		text-align:center;
		position: relative;
		top: -35px;
	}

	#schedule{
		margin-top:80px;
	}

	#schedule .schedule_area{
		margin-top:40px;
	}

	#schedule .schedule_area h3 span{
		font-size: 16px;
	}

	#schedule .schedule_area h3{
		font-size: 20px;
	}

	#schedule .text_center p{
		font-size:14px;
	}

	#schedule .text_center {
		padding: 0 15px;
		margin-top:10px;
	}

	#movie {
		margin-top: 20px;
	}

	#movie .container{
		padding-top:120px;
	}

	#movie ul.movie_list li{
		width:300px !important;
		margin:auto;
		padding:0 !important;
		text-align:center;
	}

	#movie ul.movie_list li:first-child{
		margin-bottom:12px;
	}

	#movie ul.movie_list li iframe{
		width:300px !important;
		height:190px !important;
	}

	section#location h2 {
		margin-left: 35px;
	}

	#location p{
		margin-left: 35px;
		margin-right: 35px;
		font-size: 16px;
		line-height: 180%;
		text-align:left;
	}

	#location .map iframe{
		height:208px;
	}

	#tw {
		margin-top: 160px;
	}

	footer ul{
		padding:60px 0;
	}

}
