/* CSS Document */



/* mv
---------------------------------------------------------------------- */

@media (min-width:1001px) {
	#mv { background: url(../images/mv.jpg) center center no-repeat;
		background-size: cover; }
	#mv h2 { text-indent: -10000px; overflow: hidden; 
		background: url(../images/ttl.png) center center no-repeat; 
		margin-left: -320px; }
}
@media (max-width:1000px) {
	#mv { background: url(../images/mv.jpg) center center no-repeat; background-size: cover; }
	#mv:after { content: ""; position: absolute; top:0; left: 0; background: url(../../images/ttl_shadow.png) center center no-repeat; width: 100%; height: 50vw;
		background-size: 16vw auto; }
	#mv h2 { text-indent: -100000px; 
	background: url(../images/ttl.png) center bottom -9vw no-repeat;
	background-size: 35vw;}
}



/* tbl
---------------------------------------------------------------------- */
.restaurant-cnt .tbl{ display:flex; border-top:1px solid #a0a0a0; border-bottom:1px solid #a0a0a0; }
.restaurant-cnt .tbl + .tbl{ border-top:none; }
.restaurant-cnt .tbl > dt{ color: #4d7954; }
@media (min-width:1001px) {
.restaurant-cnt .tbl{ flex-direction:row; justify-content:flex-start; }
.restaurant-cnt .tbl > dt{ padding:0.8em 0.8em 0.8em 1.5em; display:flex; flex-direction:column; justify-content:center; }
.restaurant-cnt .tbl > dd{ padding:0.8em 1.5em 0.8em 0.8em; }
.restaurant-cnt .tbl > dd small{ display:inline-block; margin-left:1em; font-size:14px; }
}
@media (max-width:1000px) {
.restaurant-cnt .tbl{ flex-direction:column; justify-content:flex-start; }
.restaurant-cnt .tbl > dt{ padding:0.8em 0.8em 0em 0.8em; }
.restaurant-cnt .tbl > dd{ padding:0.5em 0.8em 0.8em 0.8em; }
.restaurant-cnt .tbl > dd small{ display:block; font-size:3.73vw; }
}


/* slick
---------------------------------------------------------------------- */
.restaurant_gallery .slick-dots{ position: absolute; right:0; width:100%; list-style-type:none; margin:0; display:flex; flex-direction:row; justify-content:flex-end; align-items:center;  }
.restaurant_gallery .slick-dots li button{ border: 0; outline: none; background: transparent; color:transparent; font-size:0; line-height:0; padding:0; cursor: pointer; }
.restaurant_gallery .slick-dots li button::before{ content:""; display:inline-block; border-radius:50%; background-color:#d2d2cc; opacity:1; vertical-align:middle; }
@media (min-width:1001px) {
.restaurant_gallery .slick-dots{ bottom: 40px; padding:0 40px; }
.restaurant_gallery .slick-dots li{ width:10px; height:15px; margin:0 10px; }
.restaurant_gallery .slick-dots li.slick-active{ width:15px; height:15px;  }
.restaurant_gallery .slick-dots li button::before{ width:10px; height:10px; }
.restaurant_gallery .slick-dots li.slick-active button::before{ width:15px; height:15px;  }
}
@media (max-width:1000px) {
.restaurant_gallery .slick-dots{ bottom: 7vw; padding:0 2vw; }
.restaurant_gallery .slick-dots li{ width:5px; height:10px; margin:0 5px; }
.restaurant_gallery .slick-dots li.slick-active{ width:10px; height:10px;  }
.restaurant_gallery .slick-dots li button{ height:10px; }
.restaurant_gallery .slick-dots li button::before{ width:5px; height:5px; }
.restaurant_gallery .slick-dots li.slick-active button::before{ width:10px; height:10px;  }
}


/* common
---------------------------------------------------------------------- */
.c-brown{ color: #4d7954; }
.bg_pattern { position: absolute; z-index: -1; }


/* intro
---------------------------------------------------------------------- */
#intro { position: relative; }

@media (min-width:1001px) {
#intro { padding: 80px 0 160px 0; }
#intro .bg_pattern { bottom: -100px; right: -40px; }
}

@media (max-width:1000px) {
#intro { padding:21vw 0 6vw 0; }
#intro .bg_pattern { bottom: -14vw; right: -22vw; width: 55vw; }
#intro h3 { text-align: center; }
}

@media (max-width:1000px) {
#intro .intro-ttl{ margin-bottom:6vw; font-size: 6vw; letter-spacing: 0.5vw; }
}


@media (min-width:1001px) {
#intro h3{ text-align: center; }
}


/* dinner
---------------------------------------------------------------------- */
#dinner { position:relative; }
#dinner::after { content:""; position:absolute; z-index:-1; left:0; display:block; width:calc(100% - 30%); margin-right:30%; background: url(../../images/bg2.png) center center repeat; }
@media (min-width:1001px) {
#dinner { padding:0 0 150px 0; position: relative;}
#dinner .bg_pattern { top: -100px; left: 100px; }
#dinner::after { top:230px; height:calc(100% - (330px + 80px));  }
}
@media (max-width:1000px) {
#dinner { padding:30vw 0 10vw 0; }
#dinner::after { top:70vw; height:calc(100% - 75vw); width:calc(100% - 15.63%); margin-right:15.63%; }
#dinner .bg_pattern { top: 7vw; left: -16vw; width: 55vw; }
}


@media (min-width:1001px) {
#dinner .dinner-ttl{ margin-bottom:60px; }
}
@media (max-width:1000px) {
#dinner .dinner-ttl{ margin-bottom:6vw; }
}


#dinner .dinner-item { position:relative; z-index:2; }
#dinner .dinner-item table.ctable { margin: 0 auto; }
#dinner .dinner-item--ttl{ color: #4d7954; text-align:center; }
#dinner .dinner-item--txt big{ display:block; margin-bottom:1em; font-size:19px; }
#dinner .dinner-item--tbl{ display:flex; flex-wrap:wrap; flex-direction:column;  }
@media (min-width:1001px) {
#dinner .dinner-item { margin-bottom: 80px; }
#dinner .dinner-item + .dinner-item{ margin-top:100px; }
#dinner .dinner-item table.ctable { width: 600px; }
#dinner .dinner-item--fig{ margin-bottom:50px; }
#dinner .dinner-item--ttl{ margin-bottom:25px;  font-size:24px; line-height: 1.5;}
#dinner .dinner-item--txt{ margin-bottom:35px; text-align:center; }
#dinner .cbtn{ margin: 0 auto; }
}
@media (max-width:1000px) {
#dinner .dinner-item { margin-bottom: 15vw; }
#dinner .dinner-item + .dinner-item{ margin-top:26vw; }
#dinner .dinner-item--fig{ margin-bottom:13vw; }
#dinner .dinner-item--ttl{ margin-bottom:6.6vw;  font-size:6vw; }
#dinner .dinner-item--txt{ margin-bottom:9.3vw; }
}

#dinner .dinner-main--fig img{ width:100%; border-radius:0; }
@media (min-width:1001px) {
#dinner .dinner-main--fig img{ height:450px; object-fit:cover;  }
#dinner .dinner-main--tbl .tbl{ width:390px; }
#dinner .dinner-main--tbl .tbl dt{ width:70px; }
}

#dinner .dinner-menu{ display:flex; align-items:flex-start; background-color:#ffffff; border:1px solid #c1c1c1; border-radius:5px; }
#dinner .dinner-menu--txt{ text-align:left; }
@media (min-width:1001px) {
#dinner .dinner-menu{ flex-direction:row; justify-content:space-between; padding:50px; }
#dinner .dinner-menu--fig{ width:500px; margin-bottom:0; }
#dinner .dinner-menu--txt{ width:calc(100% - (500px + 50px)); }
#dinner .dinner-menu--txt p {margin-bottom: 25px;}
#dinner .dinner-menu--txt a.cbtn { margin-left: 0; }

}
@media (max-width:1000px) {
#dinner .dinner-menu{ flex-direction:column; padding:5.3vw;}
#dinner .dinner-menu--fig{ margin-bottom:6vw; }
#dinner .dinner-menu--txt p {
		margin-bottom: 4vw;
	}
}

#dinner a.cbtn {
	margin: auto;
}

#dinner .catch { text-align: center; }
#dinner .catch span { color: #4d7954; }
@media (min-width:1001px) {
#dinner .catch { font-size: 18px; margin: 20px 0 50px; }
}
@media (max-width:1000px) {
#dinner .catch { font-size: 5vw; margin: 6vw 0 10vw; }
}

#dinner .dinner-meat { justify-content: space-between; }
#dinner .dinner-meat--box h4 { color: #4d7954; }
@media (min-width:1001px) {
#dinner .dinner-meat--box { width: 560px; }
#dinner .dinner-meat--box h4 { margin: 30px 0 15px; font-size: 20px;  }
}
@media (max-width:1000px) {
#dinner .dinner-meat--box { margin-bottom: 10vw; }
#dinner .dinner-meat--box h4 { margin: 5vw 0 3vw; font-size: 5vw; }
}


/* content
---------------------------------------------------------------------- */
#content { position:relative; }
#content::after { content:""; position:absolute; z-index:1; left:0; display:block; width:calc(100% - 30%); margin-right:30%; background: url(../../images/bg2.png) center center repeat; }
@media (min-width:1001px) {
#content { padding:0 0 150px 0; }
#content::after { top:330px; height:calc(100% - 400px); }
}
@media (max-width:1000px) {
#content { padding:30vw 0 40vw 0; }
#content::after { top:66vw; height:calc(100% - 90vw); width:calc(100% - 15.63%); margin-right:15.63%; }
}


@media (min-width:1001px) {
#content .dinner-ttl{ margin-bottom:60px; }
}
@media (max-width:1000px) {
#content .dinner-ttl{ margin-bottom:6vw; }
}


#content .content-item { position:relative; z-index:2; }
#content .content-item--ttl{ color: #4d7954; text-align:center; }
#content .content-item--txt big{ display:block; margin-bottom:1em; font-size:19px; }
#content .content-item--tbl{ display:flex; flex-wrap:wrap; flex-direction:column;  }
@media (min-width:1001px) {
#content .content-item + .content-item{ margin-top:100px; }
#content .content-item--fig{ margin-bottom:50px; }
#content .content-item--ttl{ margin-bottom:25px;  font-size:24px;}
#content .content-item--txt{ margin-bottom:35px; text-align:center; }
#content .content-item--tbl{ align-items:center; }
#content .content-item table.ctable { width: 400px; margin: 0 auto; }
}
@media (max-width:1000px) {
#content .content-item  + .content-item{ margin-top:26vw; }
#content .content-item--fig{ margin-bottom:13vw; }
#content .content-item--ttl{ margin-bottom:6.6vw;  font-size:6vw; }
#content .content-item--txt{ margin-bottom:9.3vw; }
}

@media (min-width:1001px) {
#content .content-item--tbl .tbl{ width:390px; }
#content .content-item--tbl .tbl dt{ width:70px; }
}





/* information
---------------------------------------------------------------------- */
#information { position: relative; }
#information .bg_pattern { z-index: 0; }
@media (min-width:1001px) {
#information { padding: 100px 0 170px; }
#information .bg_pattern { top: 20px; right: 10px; }
}
@media (max-width:1000px) {
#information { padding:20vw 0; margin-top:40vw; }
#information .bg_pattern { top: 7vw; right: -16vw; width: 55vw; }
}

#information .information-tbl .tbl:first-of-type{ border-top:none; }
#information .information-tbl .list{ display:flex; flex-direction:row; justify-content:flex-start; }
#information .information-tbl .list dt{ white-space:nowrap; }
@media (min-width:1001px) {
#information .information-tbl .tbl > dt,
#information .information-tbl .tbl > dd{ padding:1.5em 1em; }
#information .information-tbl .tbl > dt{ width:230px; }
#information .information-tbl .tbl > dd{ width:calc(100% - 230px); }
}






/* ---------------------------------------------------------------------- */


@media (min-width: 1001px) and (max-width:1500px) {

} /* End @media (min-width: 1001px) and  (max-width:1500px) */


/* ---------------------------------------------------------------------- */


@media (min-width: 751px) and (max-width:1300px) {

} /* End @media (min-width: 1001px) and  (max-width:1390px) */


/* ---------------------------------------------------------------------- */

