@charset "utf-8";
/*=================================
1: setting
2: header
3: footer
4: common-content
5: top page
6: second page
=================================*/


/* ウィンドウ幅が～768pxの場合に適用するCSS */
@media only screen and (max-width: 768px) {

/* 1: setting
================================== */
body {
	width: 100%;
	min-width: 100%;
	font-size: 1.5rem;
}
.sp_none {
	display: none;
}

.sp_show {
	display:block!important;
}

img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}


/* 2: header
================================== */
#wrapper {
	overflow-x:hidden;
}

#header {
	height:80px;
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	z-index:999999;
	border-bottom:solid 1px #ccc;
}

	#header .inr {
		padding:0;
	}

#header h1 {
	width:250px;
	top:15px;
	left:5px;
}

	#header h1 img {
		max-width:250px;
		height:auto;
	}

#header::after {
	top:75px;
}


#btn {
	display: block;
}

#gloval_nav {
	display:none;
}


.dl-trigger {
	display: block;
	top: 10px;
	right:5px;
	position:fixed;
	height: 50px;
	width:38px;
	background: none;
	border: none;
	text-indent: -900em;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	z-index: 99999;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	margin-bottom:20px;
	z-index:99999999;
}
.dl-trigger img {
	width: 30px;
	height: auto;
	margin: 10px auto 0;
}
.dl-trigger span {
	position: absolute;
	left: 0;
	right: 0;
	display: inline-block;
	width: 30px;
	height: 2px;
	margin: 0 auto;
	transition: all .4s;
	background-color: #ebad20;
}
.dl-trigger span:nth-of-type(1) {
	top: 7px;
}
.dl-trigger span:nth-of-type(2) {
	top: 15px;
}
.dl-trigger span:nth-of-type(3) {
	bottom: 25px;
}
.dl-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg);
}
.dl-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.dl-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}
.fixbody {
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.spnav_close {
	margin-top:20px;
    margin-bottom: 30px;
    cursor: pointer;
}

.spnav_close span {
    display: block;
    width: 30%;
    margin: 0 auto;
    padding: 10px;
    background: #FFF;
    text-align: center;
    color: #000;
    font-weight: bold;
}

	.spnav_close span:hover {
		background:#48c4b7;
		color:white;
	}

#gloval_nav {
	position:fixed;
	top:-5px;
	left:0;
	width:100%;
	height:100%;
	z-index:999999;
	overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom:80px;
}

#gloval_nav .flexbox_sbwap {
	display:block;
	position:relative;
	z-index:999;
	background:rgba(0,0,0,0.85);
	width:100%;
}

.parentNav > li {
	margin:0;
	position:relative;
	width:100%;
}

#header .parentNav > li > a,
#header .header_menu li a {
	display:block;
	width:100%;
	color:white;
	border-bottom:solid 1px #fff;
	position: relative;
	padding: 15px 25px;
	font-weight:bold;
}

#header .parentNav > li > a:hover {
	border-radius:0;
}

.parentNav > li > a::after {
	border:0;
}

#header .lang a {
	padding:10px;
	background:rgba(0,0,0,0.85);
	color:white;
}

.nav_tit,
.megaNavClose {
	display:none;
}

.nav_menu {
	width:100%;
	padding:15px 15px 0 15px
}

.open_icn {
	display: block;
	position: absolute;
	top: 0;
	right: 0px;
	width: 48px;
	height: 48px;
	background: linear-gradient(0deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 22%, rgba(235,173,32,1) 42%, rgba(255,243,143,1) 90%);
	z-index: 999;
}
.open_icn:before,
.open_icn:after {
	display: block;
	content: '';
	width: 2px;
	height: 12px;
	background: #FFF;
	position: absolute;
	top: 18px;
	left: 24px;
	border:0;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}
.open_icn:before{
	width: 12px;
	height: 2px;
	top: 23px;
	left: 19px;
}
.open_icn:after,
.open_icn:before {
	transition: all .4s;
}
.open_icn.open_icnactive:after {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.open_icn.open_icnactive:before {
	opacity: 0;
}

#gloval_nav ul > li > .meganav {
	position:relative;
	top:0;
	padding:10px;
}

.sub-nav-group {
	padding-top:0;
}

.nav_menu > .flexbox_wap > li {
	width:100%;
	margin-bottom:10px;
}

.meganav li {
	width:100%;
}

.meganav li a {
	display:block;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	border-bottom: dotted 1px white
}

.meganav li a::before {
	top:14px;
}

.header_menu {
	background:white;
	position:relative;
	top:0;
	left:0;
}

.logo_link {
	position:relative;
	background:rgba(0,0,0,0.85);;
	top:0;
	left:0;
	overflow:hidden;
}

.logo_link li {
	margin:0;
}

.lang {
	width:100%;
}

.sns_youtube,
.sns_tw,
.sns_fb {
	width:calc(100%/3);
	float:left;
	padding:20px;
}


/* 3: footer
================================== */
#footer .inr ul.f_menu {
	justify-content: center;
}

.f_bg li {
	width:100%;
	text-align:left;
	padding:0.2em;
}

.f_bg li a {
	display:block;
}

	#footer .f_menu li a {
		font-size: 1.2rem;
	}

	#footer .f_menu li::before {
    margin-right: 0;
	}

#footer dd {
	display:none;
}

#footer dt {
	position:relative;
	display:block;
	padding:0.5em;
}

#footer dt::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 5px;
    position: absolute;
    right: 0;
    top: 35%;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#footer dd a {
	display:block;
	position:relative;
	padding:0.5em;
}

#footer dd a::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 5px;
    position: absolute;
    right: 0;
    top: 35%;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}




/* 4: common-content
================================== */

.sec main .inr {
	padding: 10px;
}
#breadcrumb {
	font-size: 1.2rem;
	padding:0;
}

#breadcrumb ul {
	margin:0 5px;
}



/* 5: top page
================================== */
#main_visual {
	padding-top:90px;
	padding-bottom:20px;
}


#main_visual .inr {
	height:auto;
	width:auto;
	position:relative;
	background:none;
	margin:10px;
}

	#main_visual .inr:after {
		content:"";
		width:100%;
		height:5px;
		position:absolute;
		top:0;
		left:0;
		background: linear-gradient(180deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 11%, rgba(235,173,32,1) 25%, rgba(255,243,143,1) 55%, rgba(125,73,30,1) 100%);
	}

	#main_visual .inr:before {
		content:"";
		width:100%;
		height:5px;
		position:absolute;
		bottom:0;
		left:0;
		background: linear-gradient(180deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 11%, rgba(235,173,32,1) 25%, rgba(255,243,143,1) 55%, rgba(125,73,30,1) 100%);
	}

#main_visual .flexbox_sbwap {
	position:relative;
	padding:20px;
	display:block;
}

	#main_visual .flexbox_sbwap::after {
		content:"";
		width:5px;
		height:100%;
		position:absolute;
		top:0;
		left:-5px;
		background: linear-gradient(90deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 11%, rgba(235,173,32,1) 25%, rgba(255,243,143,1) 55%, rgba(125,73,30,1) 100%);
	}

	#main_visual .flexbox_sbwap::before {
		content:"";
		width:5px;
		height:100%;
		position:absolute;
		top:0;
		right:-5px;
		background: linear-gradient(90deg, rgba(118,71,28,1) 0%, rgba(205,141,42,1) 11%, rgba(235,173,32,1) 25%, rgba(255,243,143,1) 55%, rgba(125,73,30,1) 100%);
	}

#main_visual h2 {
	font-size:3.2rem;
}

#main_visual li.tC,
.top_visual {
	width:100%;
}

#main_visual .top_btn li {
	width: calc(100%/5 - 10px);
}

.date,
.stage_white .date,
.stage_black .date {
	font-size:1.6rem;
}

.sec .date {
	margin-bottom:1em;
}

#main_visual .poster {
	float:none;
	margin:0 auto;
}

.guard {
	float:none;
}

.guard a {
	display:block;
}

#next_stage .flexbox_cwap {
	display:block;
}

.stage_white, .stage_black {
	width:100%;
	min-height:auto;
}

#next_stage li h2 {
	margin-top:30px;
	font-size:1.8rem;
}

.stage_white .date_next,
.stage_black .date_next {
	font-size:1.8rem;
}

#next_stage .top_btn li {
    width: calc(100%/3 - 10px);
    margin-left:0;
}

.top_btn li {
    margin: 0 5px;
}


.h2_title h2 {
	background: url(../img/top/h2_back_sp.png) no-repeat top center;
	padding: 35px 0 0 0;
	font-size:2.0rem;
	height:200px;
	text-align:center;
}

.h2_title h2 span {
	font-size:1.8rem;
}

.top #news .h2_title,
#pickup .h2_title {
	height:320px;
}


#news .inr .flexbox_sbwap li,
.news .flexbox_wap li {
  width: 100%;
  margin-bottom: 20px;
}
	
.top #news .inr .flexbox_wap li {
	width: 100%;
	margin-bottom: 20px;
}

#pickup .inr .flexbox_cwap {
	margin: 20px 10px 120px 10px;
}

#news .inr .flexbox_sbwap {
	margin:0 10px;
}

#news .inr li img {
	display:none;
}

#news .inr {
	padding:10px;
}

#pickup .inr .flexbox_cwap li {
	width:calc(100%/3 - 10px);
	margin:0 10px 20px 0;
}

.link .flexbox_cwap li {
	width: calc(100%/2 - 20px);
	margin-bottom:10px;
}

.f_bg .flexbox_cwap > li {
	margin-bottom:10px;
	width:100%;
}

.sec #footer .link {
	background:none;
}

/* : sec page
================================== */

.sec #main {
	padding-top:75px;
}

.sec #news .h2_title,
#lineup .h2_title,
#seatingchart .h2_title {
	height:350px;
}

#shop .h2_title,
#goods .h2_title,
#hours .h2_title,
#gallery .h2_title,
#faq .h2_title,
#accessmap .h2_title {
	height:150px;
}

.sec #lineup .flexbox_sbwap {
	display:block;
}

.top_box {
	padding:30px;
}

.top_box::before,
.top_box::after,
.top_box_inr::before,
.top_box_inr::after {
	width:40px;
	height:40px;
	background-size:contain;
}

.pickup_box {
	padding:30px;
}

#lineup .poster,
.lineup_content {
	width:100%;
}

#lineup .poster {
	float:none;
	max-height:auto;
	margin-bottom:1em;
}

#lineup .poster a {
	height:auto;
	margin:0 auto;
}

#lineup dl {
	font-size:1.4rem;
}

#lineup dt {
	margin-right:0;
}

.sec h3 {
	clear:both;
	font-size:2.0rem;
}
.sec #shop h3 {
	clear:both;
	font-size:2.0rem;
}

#lineup dl,
#lineup .pickup_box dl {
	display:block;
	border-bottom:0;
	margin-bottom:0;
}

#lineup dd {
	padding:0.5em 1em;
}

#lineup dl.syutsuen dt,
#lineup dl.syutsuen dd {
	width:100%;
}

.goods li {
	width:100%;
	margin-right:0;
}

.gallery li {
	width:calc(100%/2 - 20px);
}

.gallery li.tate img{
	max-height:212px;
}

.table_scroll {
	overflow-x:auto;
}

.tbl td, .tbl th {
	padding:0.2em;
	font-size:1.3rem;
}

.faq_box {
	margin:0 0 1em 0;
}

.faq_box dt {
	font-size:1.6rem;
	padding-right:55px;
}
.i_box {
	width:30px;
	height:30px;
}

.attention {
	width:calc(100% - 20px);
}

.attention_txt {
	width:100%;
}

.cd-fixed-bg {
	background-size: cover;
	background-attachment: scroll;
}

.cd-fixed-bg.cd-bg-1  {
  background-image: url('../img/top/h2_back1_sp.jpg');
}


.tab_content {
	padding:20px 0;
}



}







/* ウィンドウ幅が～500pxの場合に適用するCSS */
@media only screen and (max-width: 500px) {


.gallery li {
	width:100%;
}

.gallery li.tate img{
	max-height:100%;
}
	
.sec #shop h4 {
	font-size: 1.5rem;
}

}


/* ieハック */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .dl-trigger img { margin: 0 auto; } /* IE11 */
}
