@charset "utf-8";

article{
	color:#707070;
}

article h2{
	font-size:26px;
	font-weight:bold;
	padding-top:15px;
	margin:50px 0 15px 0;
}
article p{
	font-size:16px;
}

article a{
	color:#707070;
	text-decoration:underline;
}

article a:hover{
	color:#137dcf;
	text-decoration:none;
	opacity:0.8;
}

@media(max-width:767px){
	article h2{
		font-size:15px;
		font-weight:bold;
		margin:10px 0 5px 0;
	}
	article p{
		font-size:12px;
	}
}

.detail-link{
	float:right;
	margin-top:20px;
}

article section:after{
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* 
mainVisual
***************************/

#mainVisual{
	display:flex;
	justify-content:center;
	background:#333;
}

/* 
contents
***************************/

nav#contents{
	border:1px solid #707070;
	border-radius:5px;
	padding:20px 20px 20px 30px;
	margin:20px 0;
}

nav#contents ul{
	margin-left:20px;
}

nav#contents li{
	list-style:disc;
}

nav#contents li + li{
	margin-top:7px;
}

@media(max-width:767px){
	nav#contents{
		margin:10px 0 0 0;
		padding:15px 15px 15px 25px;
	}
	nav#contents ul{
		margin-left:10px;
	}
	nav#contents li{
		font-size:12px;
	}
}

/*
about
***************************/
#about .grid{
	display:flex;
	gap:25px;
	margin:15px 0;
}
#about .grid .item{
	padding:0;
	width:50%;
	position: relative;
}
.label-type{
	position: absolute;
	top: 0;
	left: 0;
	background: red;
	display: flex;
	width: 80px;
	height: 80px;
	align-items: center;
	justify-content: center;
	color: #fff;
	line-height: 1;
}
.label-no{
	font-size: 80px;
	font-family: "Arial" !important;
}
.label-yes{
	font-size: 60px;
	font-weight: bold;
}

#about .grid .item p{
	padding:10px 0;
	text-align:center;
}

#about p.kome{
	position:relative;
	padding-left:1.5rem;
	font-size:18px;
}

#about p.kome:before{
	content:"※";
	position:absolute;
	top:0;
	left:0;
	font-size:18px;
}

@media(max-width:767px){
	#about .grid{
		gap:15px;
		margin:10px 0;
	}
	#about .grid .item p{
		padding:7px 0;
	}
	#about p.kome{
		padding-left:1.0rem;
	}
	#about p.kome,
	#about p.kome:before{
		font-size:13px;
	}
	.label-type{
		position: absolute;
		top: 0px;
		left: 0px;
		width: 30px;
		height: 30px;
	}
	.label-no{
		font-size: 28px;
	}
	.label-yes{
		font-size: 18px;
		font-weight: bold;
	}
}

/*
star-express
***************************/

.star-express{
	display:flex;
	align-items: center;
	width:50%;
	margin:40px auto;
	gap:50px;
}
.star-express .item:first-child{
	text-align:center;
	width:30%;
}
.star-express .item:last-child{
	width:70%;
}

@media(max-width:767px){
	.star-express{
		width:80%;
		gap:30px;
		margin:10px auto;
	}
	.star-express .item:first-child{
		text-align:right;
	}
}

/*
spec
***************************/

#spec .grid{
	display:flex;
	gap:40px;
}

#spec .grid .item{
	width:100%;
}

#spec table.tbl-spec{
	width:100%;
	border-collapse: separate;
	border-spacing:0;
	margin-bottom:30px;
}

#spec .tbl-spec th,
#spec .tbl-spec td{
	vertical-align:top;
	padding:7px 15px;
	border-top:1px solid #999;
	vertical-align:middle;
}

#spec .tbl-spec tr:last-child th,
#spec .tbl-spec tr:last-child td{
	border-bottom:1px solid #999;
}

#spec .tbl-spec th{
	font-weight:normal;
	width:30%;
}

#spec .tbl-spec tr:nth-child(odd) th{
	background:#E6E6E6;
}

@media(max-width:767px){
	#spec .tbl-spec th{
		width:50%;
	}
	#spec .tbl-spec td{
		text-align:center;
	}
	
	#spec .tbl-spec th,
	#spec .tbl-spec td{
		font-size:12px;
		padding:5px 10px;
		line-height:1.4;
	}
}

/* 
reservation
***************************/

#reservation{
	background:none;
	padding-bottom:60px;
}

#reservation .rosen-api-area-route .rosen-api-txt{
	color:#333;
}

#reservation .content{
	padding:0;
}
#reservation .seat-set{
	padding:0;
	border-top:none;
}

