@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
html{
	width: 100%;
	font-size: 2.66666vw; /* 画面幅375pxの時1rem=10px */
	font-weight: 400;
}
body{
	min-width: 320px;
	line-height: 1;
	position: relative;
	overflow-x: hidden;
	overflow-wrap: break-word;
	word-wrap: break-word;
	font-family: 'Shippori Mincho B1',游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	background: #000;
	color: #fff;
	font-weight: 500;
}
@media only screen and (min-width: 600px) {
	html{
		font-size: 0.76923vw; /* 画面幅1300pxの時1rem=10px */
	}
}
@media only screen and (min-width: 1300px) {
	html{
		font-size: 10px;
	}
}

img{
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a{
	text-decoration: none;
	color:inherit;
}
svg{
	width: 100%;
	height: 100%;
}
a,
input, textarea, button, label, select,
.js--btn-hamburger,
.js--btn-popup, .popup--cmn .close,
.swiper-button-prev, .swiper-button-next{
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	outline: 0;
}
::selection {
	background: rgba(153, 0, 18, .2);
}


/*====================================
loading
====================================*/
.loading{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
	background-color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.loading img{
	width: 19.5rem;
}

@media print,screen and (min-width: 600px) {
	.loading img{
		width: 33.9rem;
	}
}

/*====================================
Common
====================================*/
.fw400{
	font-weight: 400;
}
.anchor{
	display: block;
	width: 0;
	height: 0;
}
.width--cmn{
	margin-left: auto;
	margin-right: auto;
	width: 31.5rem;
}

@media only screen and (max-width: 599px) {
	.disp--pc{
		display: none !important;
	}
}

@media print,screen and (min-width: 600px) {
	.disp--sp{
		display: none !important;
	}
	.width--cmn{
		width: 110rem;
	}
}

/* effect
--------------------------------------*/
.effect--fadein-up.is--show,
.is--show .effect--fadein-up{
	opacity: 1 !important;
	transform: translate(0) !important;
	transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), transform 1s cubic-bezier(0.33, 1, 0.68, 1);
}
.effect--fadein-fog.is--show,
.is--show .effect--fadein-fog{
	opacity: 1 !important;
	filter: blur(0) !important;
	transform: scale(1) !important;
	transition: opacity 1s ease-out, filter 1s ease-out, transform 1s ease-out;
}

@media only screen and (max-width: 599px) {
	.effect--fadein-up:not(.effect--pc-only){
		opacity: 0;
		transform: translateY(1.5rem);
	}
	.effect--fadein-fog:not(.effect--pc-only){
		opacity: 0;
		filter: blur(1.5rem);
		transform: scale(1.1);
	}
}

@media print,screen and (min-width: 600px) {
	.effect--fadein-up:not(.effect--sp-only){
		opacity: 0;
		transform: translateY(1.5rem);
	}
	.effect--fadein-fog:not(.effect--sp-only){
		opacity: 0;
		filter: blur(1.5rem);
		transform: scale(1.1);
	}
}

/* ボタン
--------------------------------------*/
.btn--cmn1{
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	width: 31.5rem;
	height: 6rem;
	font-size: 1.5rem;
}

@media print,screen and (min-width: 600px) {
}


/* タイトル
--------------------------------------*/
.ttl--cmn1{
	position: relative;
	text-align: center;
	margin-bottom: 8.5rem;
	letter-spacing: 0.15em;
}
.ttl--cmn1 .ttl-e{
	font-size: 6.8rem;
	color: #161616;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.ttl--cmn1 .ttl-j{
	position: relative;
	z-index: 2;
	font-size: 2.2rem;
}

.ttl--cmn2{
	font-size: 1.8rem;
	margin-bottom: 3rem;
}

@media print,screen and (min-width: 600px) {
	.ttl--cmn1{
		margin-bottom: 11.5rem;
	}
	.ttl--cmn1 .ttl-e{
		font-size: 12rem;
	}
	.ttl--cmn1 .ttl-j{
		font-size: 3rem;
	}

	.ttl--cmn2{
		font-size: 2.2rem;
	}
}

/* 色
--------------------------------------*/
.c--white{
	color: #fff;
}
.c--black{
	color: #000;
}
.c--red{
	color: #980012;
}

.bg--white{
	background-color: #fff;
}
.bg--black{
	background-color: #000;
}
.bg--gray{
	background-color: #333;
}
.bg--red{
	background-color: #980012;
}

/* ホバー
--------------------------------------*/
.hover--opacity,
.hover--img-opacity > img{
	transition: opacity .3s ease;
}

@media print,screen and (min-width: 600px) {
	.hover--c-white,
	.hover--c-red{
		transition: color .3s ease;
	}
	a.hover--c-white:hover,
	a:hover .hover--c-white{
		color: #fff !important;
	}
	a.hover--c-red:hover,
	a:hover .hover--c-red{
		color: #980012 !important;
	}

	.hover--bg-white,
	.hover--bg-black{
		transition: background .3s ease, color .3s ease, border .3s ease;
	}
	a.hover--bg-white:hover,
	a:hover .hover--bg-white{
		background-color: #fff !important;
	}
	a.hover--bg-black:hover,
	a:hover .hover--bg-black{
		background-color: #1F1F1F !important;
	}

	.hover--underline{
		background-position: right bottom;
		background-size: 0 100%;
		background-image: linear-gradient(to bottom, transparent calc(100% - 1px), currentColor 1px);
		background-repeat: no-repeat;
		transition: color .3s ease, background-size 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	}
	a.hover--underline:hover,
	a:hover .hover--underline,
	.js--btn-popup:hover .hover--underline{
		background-position: left bottom;
		background-size: 100% 100%;
	}

	a.hover--opacity:hover,
	a.hover--img-opacity:hover > img,
	a:hover .hover--img-opacity > img{
		opacity: 0.7;
	}
}

/* 画像
--------------------------------------*/
.img--fit img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* IE */
.browser--ie .img--fit{
	position: relative;
	overflow: hidden;
}
.browser--ie .img--fit img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.img--posted{
	display: block;
	width: 100%;
	position: relative;
	height: 0;
	overflow: hidden;
	padding-bottom: 100%;
}
.img--posted > img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* テキスト
--------------------------------------*/
div.txt--i,
p.txt--i,
ul.txt--i > li,
li.txt--i{
	padding-left: 1em;
	text-indent: -1em;
}
.txt--u{
	text-decoration: underline;
}
.txt--center{
	text-align: center;
}

@media print,screen and (min-width: 600px) {
	a.txt--u:hover,
	a:hover .txt--u{
		text-decoration: none;
	}
}

.txt--cmn{
	font-size: 1.6rem;
	line-height: 2.62;
	letter-spacing: 0.06em;
}
.txt--cmn2{
	font-size: 1.8rem;
	line-height: 2.33;
	letter-spacing: 0.06em;
}
.txt--cmn img,
.txt--cmn2 img{
	width: auto;
	height: auto;
	max-width: 100%;
}

.txt--line-clamp{
	/*display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	/*max-height: calc(2.62em * 2);
	overflow: hidden;*/
}
.txt--line-clamp a{
	transition: color .3s ease;
}
.txt--line-clamp .hover--underline{
	transition: background-size 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}


/* iframe処理
--------------------------------------*/
.gmap--wrap{
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 50rem;
}
.gmap--wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50rem;
}


/* popup
--------------------------------------*/
.popup--cmn{
	display: none;
	z-index: 1005;
	position: relative;
}
.popup--cmn .popup-overlay{
	background-color: rgba(0, 0, 0, .9);
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.popup--cmn .popup-container{
	position: relative;
	pointer-events: auto;
}
.popup--cmn .scroll-area{
	padding-right: 3rem;
	scrollbar-width: thin;
  scrollbar-color: #333 #161616;
}
.popup--cmn .scroll-area::-webkit-scrollbar{
	background: #161616;
	width: 0.6rem;
}
.popup--cmn .scroll-area::-webkit-scrollbar-thumb{
	background: #333;
}
.popup--cmn .close{
	position: absolute;
	display: block;
	cursor: pointer;
	box-sizing: border-box;
	z-index: 3;
	width: 3rem;
	height: 3rem;
	top: -5rem;
	right: 0;
	transition: opacity .3s ease;
}
.popup--cmn .close:before,
.popup--cmn .close:after{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	background-color: #fff;
	width: 4.2rem;
	height: 1px;
	top: calc((100% - 1px) / 2);
	left: calc((100% - 4.2rem) / 2);
	transition: background .3s ease;
}
.popup--cmn .close:before{
	transform: rotate(45deg);
}
.popup--cmn .close:after{
	transform: rotate(135deg);
}
.popup--cmn .popup-inner{
	box-sizing: border-box;
	width: 31.5rem;
	max-height: calc(100vh - 15rem);
}
.popup--cmn .scroll-area{
	box-sizing: border-box;
	overflow-y: auto;
	max-height: calc(100vh - 15rem);
}

@media print,screen and (min-width: 600px) {
	.js--btn-popup{
		cursor: pointer;
	}
	.popup--cmn .scroll-area{
		padding-right: 4.2rem;
	}
	.popup--cmn .close{
		width: 4rem;
		height: 4rem;
		top: -11rem;
		right: -7rem;
	}
	.popup--cmn .close:before,
	.popup--cmn .close:after{
		width: 5.6rem;
		left: calc((100% - 5.6rem) / 2);
	}
	.popup--cmn .close:hover{
		opacity: 0.7;
	}
	.popup--cmn .popup-inner{
		width: 82rem;
		max-height: calc(100vh - 26rem);
	}
	.popup--cmn .scroll-area{
		max-height: calc(100vh - 26rem);
	}
}


/* swiper
--------------------------------------*/
/* ナビゲーション */
.swiper-arrows{
	position: absolute;
	pointer-events: none;
	width: 100%;
	z-index: 5;
	width: 12.2rem;
	height: 5.2rem;
	bottom: 0;
	right: calc((100% - 12.2rem) / 2);
}
.swiper-arrows:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	background-color: #980012;
	width: 1px;
	height: 2.6rem;
	left: calc((100% - 1px) / 2);
	top: calc((100% - 2.6rem) / 2);
}
.swiper-button-prev,
.swiper-button-next{
	box-sizing: border-box;
	position: absolute;
	pointer-events: auto;
	cursor: pointer;
	top: 0;
	margin: 0;
	width: 2.6rem;
	height: 5.2rem;
}
.swiper-button-prev:before,
.swiper-button-next:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 3.8rem;
	height: 3.8rem;
	border-top: 1px solid #fff;
	top: calc((100% - 3.8rem) / 2);
}
.swiper-button-prev:after,
.swiper-button-next:after{
	display: none;
}
.swiper-button-prev{
	left: 0;
}
.swiper-button-prev:before{
	border-left: 1px solid #fff;
	transform: rotate(-45deg);
	left: 0.7rem;
}
.swiper-button-next{
	right: 0;
}
.swiper-button-next:before{
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	right: 0.7rem;
}

@media print,screen and (min-width: 600px) {
	.swiper-arrows{
		right: 0;
	}
}

/* スクロールバー */
.swiper-scrollbar.swiper-scrollbar-horizontal{
	box-sizing: border-box;
	top: auto;
	left: 0;
	z-index: 3;
	border-radius: 0;
	background-color: #161616;
	padding: 0;
	height: 0.5rem;
	width: calc(100% - 16.9rem);
	bottom: 2.3rem;
}
.swiper-scrollbar-drag{
	border-radius: 0;
	background-color: #980012;
	height: 0.5rem;
	cursor: pointer;
}

/*====================================
header
====================================*/
.hamburger-btn{
	box-sizing: border-box;
	cursor: pointer;
	position: fixed;
	z-index: 1001;
	width: 4rem;
	height: 4rem;
	top: 2rem;
	right: 2rem;
}
.hamburger-btn-inner{
	display: block;
	position: absolute;
	width: 2.3rem;
	height: 1.3rem;
	top: 1.35rem;
	right: 0.85rem;
	transition: transform 0.35s ease;
}
.hamburger-btn span{
	position: absolute;
	top: 0;
	right: 0;
	width: 2.3rem;
	height: 0.1rem;
	background-color: #fff;
	transition: transform 0.35s ease, opacity 0.35s ease, background .3s ease, width .3s ease;
}
.hamburger-btn span:last-child{
	top: 1.2rem;
}
.hamburger-btn.is--open .hamburger-btn-inner{
	width: 2.071rem;
	height: 2.071rem;
	top: 0.96rem;
	right: 0.96rem;
	transform: rotate(360deg);
}
.hamburger-btn.is--open span{
	width: 2.8rem;
}
.hamburger-btn.is--open span:first-child{
	transform: translate(0.4rem, 0.9rem) rotate(-45deg);
}
.hamburger-btn.is--open span:last-child{
	transform:translate(0.4rem, -0.3rem) rotate(45deg);
}

/* hamburger menu
--------------------------------------*/
#hamburger-menu{
	z-index:1000;
	position: fixed;
	box-sizing: border-box;
	height: 100vh;
	top: 0;
	width: 24rem;
	right: -24rem;
	transition: transform .3s ease;
	overflow: hidden;
}
#hamburger-menu.is--open{
	transform: translateX(-24rem);
}
#hamburger-menu .bg-layer{
	position: absolute;
	width: 30rem;
	height: 30rem;
	border-radius: 100%;
	top: -15rem;
	right: -15rem;
	background: radial-gradient(circle, #53000A 0%, #44020A 4rem, #330107 7.5rem, #000 85%);
}

#hamburger-menu .menu-inner{
	box-sizing: border-box;
	position: relative;
	overflow-y: scroll;
	width: 100%;
	height: 100%;
	padding: 8.5rem 0;
}
#hamburger-menu .hamburger-nav-block{
	line-height: 1;
	letter-spacing: 0;
}
#hamburger-menu .nav-item-txt{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 7rem;
	padding: 0 6.6rem 0 3rem;
}

#hamburger-menu .hamburger-btn-block{
	padding: 3rem 3rem 0 3rem;
	letter-spacing: 0;
}
#hamburger-menu .hamburger-btn-block .btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 6rem;
}
#hamburger-menu .hamburger-btn-block .btn:not(:last-child){
	margin-bottom: 2rem;
}

/* hamburger-layer */
#hamburger-layer{
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index:999;
	pointer-events: none;
	opacity: 0;
	background-color: rgba(0, 0, 0, .9);
}
#hamburger-layer.is--open{
	pointer-events: auto;
	opacity: 1;
}

/* header
--------------------------------------*/
header{
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
}
header .header-logo{
	position: absolute;
	width: 7.8rem;
	top: 2rem;
	left: calc((100% - 7.8rem) / 2);
}

@media print,screen and (min-width: 600px) {
	header .header-logo{
		width: 10.7rem;
		top: 5rem;
		left: 5rem;
	}
}

/* gnav
--------------------------------------*/
.gnav{
	position: fixed;
	z-index: 1000;
	right: 0;
	top: 21.2rem;
	width: 12.4rem;
}
.gnav .nav-item{
	position: relative;
	padding-right: 3.4rem;
	text-align: right;
}
.gnav .nav-item:not(:last-child){
	margin-bottom: 3.5rem;
}
.gnav .nav-item:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	background-color: #980012;
	height: 0.2rem;
	width: 0;
	right: 2.4rem;
	top: calc((100% - 0.2rem) / 2);
	transition: right .2s ease, width .2s ease;
}
.gnav .nav-item-txt{
	font-size: 1.5rem;
	color: #aeaeae;
}
.gnav .nav-item.is--active:before{
	width: 2.4rem;
	right: 0;
}
.gnav .nav-item.is--active .nav-item-txt{
	color: #fff;
}
.gnav .gnav-btn-block{
	margin-top: 5rem;
}
.gnav .gnav-btn-block .btn{
	width: 100%;
	height: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
}

@media only screen and (max-height: 590px) {
	.gnav{
		top: calc((100vh - 37.6rem) / 2);
	}
}

/*===============================
footer
===============================*/
/* float-bnr-reserve
--------------------------------------*/
.float-bnr-reserve{
	position: fixed;
	z-index: 900;
	bottom: 0;
	right: 0;
	width: 100%;
	opacity: 0;
	transition: opacity .3s ease;
	display: flex;
	letter-spacing: 0;
}
.float-bnr-reserve.is--scroll{
	opacity: 1;
}
.float-bnr-reserve .btn{
	height: 6rem;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* footer
--------------------------------------*/
footer{
	box-sizing: border-box;
	position: relative;
	min-height: 62.8rem;
	background: url(../img/footer-bg-sp.jpg) no-repeat center bottom 6rem;
	background-size: 100% auto;
	margin-top: -14rem;
}
footer:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 21.6rem;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
}
footer .copyright{
	position: absolute;
	z-index: 2;
	bottom: 16rem;
	left: 0;
	width: 100%;
	font-size: 1rem;
}

@media only screen and (max-width: 599px) {
	footer{
		padding-bottom: 6rem;
	}
}

@media print,screen and (min-width: 600px) {
	footer{
		margin-top: -47rem;
		min-height: 121.7rem;
		background-image: url(../img/footer-bg-pc.jpg);
		background-size: 200rem auto;
		background-position: center bottom;
	}
	footer:before{
		height: 41.1rem;
	}
	footer .copyright{
		bottom: 20rem;
	}
}

/*====================================
top
====================================*/
#top{
	overflow: hidden;
}
.sec-main{
	position: relative;
}
.sec-main:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	z-index: 2;
	width: 100%;
	height: 8.6rem;
	bottom: 0;
	left: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
}
.sec-main .sec-inner{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sec-main .restaurant-logo{
	width: 25.018rem;
}

@media print,screen and (min-width: 600px) {
	.sec-main{
		height: 80rem;
	}
	.sec-main:before{
		height: 30rem;
	}
	.sec-main > img{
		height: 100%;
		width: auto;
		position: relative;
		left: calc((200rem - 100%) / 2 * -1);
	}
	.sec-main .restaurant-logo{
		width: 42.583rem;
	}
}

/* news
--------------------------------------*/
.sec-news{
	position: relative;
	z-index: 2;
	padding-top: 8.7rem;
}
.sec-news .block-ttl{
	font-size: 2.2rem;
	letter-spacing: 0.15em;
}
.sec-news .news-item:not(:last-child){
	margin-bottom: 3rem;
}
.sec-news .news-img-box,
.sec-news .news-txt{
	display: none;
}
.sec-news .news-head,
.popup--cmn .is--news .news-head{
	display: flex;
	align-items: center;
}
.sec-news .news-new span,
.popup--cmn .is--news .news-new span{
	display: inline-block;
	font-size: 1rem;
	width: 4rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sec-news .news-time,
.sec-news .news-ttl{
	font-size: 1.5rem;
	letter-spacing: 0.06em;
}
.sec-news .news-ttl{
	line-height: 1.73;
	/*max-height: calc(1.73em * 2);*/
}
.sec-news .news-ttl span{
	display: inline-block;
}

.popup--cmn .is--news .news-head{
	margin-bottom: 1.3rem;
}
.popup--cmn .is--news .news-new span{
	margin-right: 1.5rem;
}
.popup--cmn .is--news .news-time,
.popup--cmn .is--news .news-ttl,
.popup--cmn .is--news .news-txt{
	font-size: 1.6rem;
}
.popup--cmn .is--news .news-ttl,
.popup--cmn .is--news .news-txt{
	line-height: 2.62;
}
.popup--cmn .is--news .news-ttl{
	pointer-events: none;
}
.popup--cmn .is--news .news-txt{
	margin-top: 1rem;
}

@media only screen and (max-width: 599px) {
	.sec-news .block-ttl{
		padding-bottom: 3.3rem;
		border-bottom: 1px solid #980012;
	}
	.sec-news .block-list{
		padding-top: 3.2rem;
	}
	.sec-news .news-head{
		margin-bottom: 1.3rem;
	}
	.sec-news .news-new span{
		margin-right: 1.5rem;
	}

	.popup--cmn .is--news .news-img-box{
		margin-bottom: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec-news{
		padding-top: 8rem;
	}
	.sec-news .sec-inner{
		width: 90rem;
	}
	.sec-news .container-news{
		display: flex;
		align-items: center;
	}
	.sec-news .block-ttl{
		font-size: 3rem;
		padding-right: 5rem;
	}
	.sec-news .block-list{
		flex: 1;
		border-left: 1px solid #980012;
		padding: 0.2rem 0 0.2rem 5rem;
	}
	.sec-news .news-txt-box{
		display: flex;
		align-items: center;
	}
	.sec-news .news-head{
		margin-right: 2rem;
	}
	.sec-news .news-new{
		margin-right: 2rem;
		width: 4rem;
	}
	.sec-news .news-ttl{
		line-height: 1.5em;
		/*max-height: 1.3em;*/
	}
	
	.popup--cmn .js--popup-receive.is--news{
		display: flex;
	}
	.popup--cmn .is--news .news-img-box{
		margin-right: 3rem;
	}
	.popup--cmn .is--news .news-img-box img{
		width: auto;
		height: auto;
		max-width: 35.4rem;
	}
	.popup--cmn .is--news .news-txt-box{
		flex: 1;
	}
}

/* about
--------------------------------------*/
.sec-about .container-about{
	padding-top: 13.5rem;
	position: relative;
}
.sec-about .bg-layer1,
.sec-about .bg-layer2{
	position: absolute;
	pointer-events: none;
	border-radius: 100%;
	opacity: 0.6;
	background: radial-gradient(circle, #53000A 0%, #44020A 26.9%, #330107 50.29%, #000 100%);
}
.sec-about .container-about .bg-layer1{
	width: 34.2rem;
	height: 32.2rem;
	top: -4.5rem;
	left: -15.5rem;
}
.sec-about .container-about .bg-layer2{
	width: 61.2rem;
	height: 37.8rem;
	bottom: -12.9rem;
	right: -41.5rem;
}
.sec-about .container-about .container-inner,
.sec-about .container-feature .feature-block{
	position: relative;
	z-index: 2;
}

.sec-about .container-feature{
	position: relative;
	padding-top: 10.5rem;
}
.sec-about .container-feature .bg-layer1{
	width: 61.2rem;
	height: 61.2rem;
	top: -6.9rem;
	left: -40rem;
}
.sec-about .feature-block:not(:first-child){
	padding-top: 8.5rem;
}
.sec-about .feature-block .box-head{
	margin-bottom: 4.5rem;
}
.sec-about .feature-block .box-head .item-ttl{
	font-size: 4rem;
	letter-spacing: 0.15em;
}
.sec-about .feature-block .box-txt{
	box-sizing: border-box;
	padding-top: 2.7rem;
	background: linear-gradient(144deg, #5E000B 0%, #000 13rem, #000 100%);
}

@media only screen and (max-width: 599px) {
	.sec-about .container-about .sec-ttl{
		margin-bottom: 6rem;
	}

	.sec-about .feature-block .item-ttl{
		padding-bottom: 3.5rem;
		border-bottom: 1px solid #980012;
	}
	.sec-about .feature-block .box-head .item-txt{
		padding-top: 2.5rem;
	}
	.sec-about .feature-block .box-txt{
		width: 100%;
	}
}

@media print,screen and (min-width: 600px) {
	.sec-about .container-about{
		padding-top: 26.5rem;
	}
	.sec-about .bg-layer1,
	.sec-about .bg-layer2{
		background: radial-gradient(circle, #53000A 0%, #44020A 10%, #330107 20%, #000 75%);
	}
	.sec-about .container-about .bg-layer1{
		top: 5rem;
		left: calc((100% - 110rem) / 2 - 4.4rem);
	}
	.sec-about .container-about .bg-layer2{
		top: 3rem;
		right: calc((100% - 110rem) / 2 - 44.6rem);
	}
	.sec-about .container-about .block-txt{
		width: 83.2rem;
		margin-left: auto;
		margin-right: auto;
	}

	.sec-about .container-feature{
		padding-top: 26rem;
	}
	.sec-about .container-feature .bg-layer1{
		top: -4.4rem;
		left: calc((100% - 110rem) / 2 - 32rem);
	}
	.sec-about .container-feature .bg-layer2{
		width: 44.6rem;
		height: 26rem;
		top: 2.4rem;
		right: calc((100% - 110rem) / 2 - 16.4rem);
	}
	.sec-about .feature-block:not(:first-child){
		padding-top: 15rem;
	}
	.sec-about .feature-block .box-head{
		width: 90rem;
		margin-bottom: 4.5rem;
		display: flex;
		align-items: center;
	}
	.sec-about .feature-block .box-head .item-ttl{
		font-size: 7rem;
		padding-right: 5rem;
	}
	.sec-about .feature-block .box-head .item-txt{
		flex: 1;
		padding-left: 5rem;
		border-left: 1px solid #980012;
		font-size: 2.2rem;
		line-height: 2.09;
	}
	.sec-about .feature-block .box-img{
		height: 66rem;
	}
	.sec-about .feature-block .box-img img{
		height: 100%;
		width: auto;
		position: relative;
		left: calc((200rem - 100%) / 2 * -1);
	}
	.sec-about .feature-block .box-txt{
		position: relative;
		z-index: 2;
		margin-top: -11.9rem;
		padding: 5.7rem 6rem;
	}
	.sec-about .feature-block .box-txt .box-inner{
		width: 100%;
	}
}

/* menu
--------------------------------------*/
.sec-menu{
	padding-top: 13rem;
	position: relative;
}
.sec-menu .deco{
	position: absolute;
	pointer-events: none;
	z-index: 2;
	width: 20.8rem;
	top: 6.5rem;
	left: -10.4rem;
}
.sec-menu .menu-list{
	position: relative;
	z-index: 3;
}
.sec-menu .menu-block{
	display: block;
	position: relative;
}
.sec-menu .menu-block .box-ttl{
	position: absolute;
	z-index: 3;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 7rem;
	background-color: rgba(0, 0, 0, .6);
	display: flex;
	align-items: center;
	justify-content: center;
}
.sec-menu .menu-block .box-ttl span{
	position: relative;
}
.sec-menu .menu-block .box-ttl .icon{
	position: absolute;
	width: auto;
	height: 1.2rem;
	right: -2.05rem;
	top: calc((100% - 1.2rem) / 2);
}

@media only screen and (max-width: 599px) {
	.sec-menu .sec-ttl{
		margin-bottom: 6.5rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec-menu{
		padding-top: 25.5rem;
	}
	.sec-menu .deco{
		width: 48rem;
		top: 6.4rem;
		left: calc((100% - 110rem) / 2 - 34rem);
	}
	.sec-menu .menu-list{
		display: flex;
	}
	.sec-menu .menu-block{
		width: calc(100% / 3);
	}
	.sec-menu .menu-block .box-img{
		overflow: hidden;
		position: relative;
		width: 100%;
		height: 60rem;
	}
	.sec-menu .menu-block .box-img img{
		width: auto;
		height: 100%;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		transition: opacity .3s ease;
	}
	.sec-menu .menu-block .box-img img:not(.grayscale){
		opacity: 0;
		position: absolute;
		z-index: 2;
		top: 0;
	}
	.sec-menu .menu-block:hover .box-img img:not(.grayscale){
		opacity: 1;
	}
	.sec-menu .menu-block .box-ttl span{
		font-size: 2.2rem;
	}
	.sec-menu .menu-block .box-ttl .icon{
		right: -2.3rem;
	}
}
@media print,screen and (min-width: 2000px) {
	.sec-menu .menu-list{
		width: 200rem;
		margin: 0 auto;
	}
}

/* chef
--------------------------------------*/
.sec-chef{
	position: relative;
	padding-top: 13.5rem;
	background: url(../img/chef-bg-sp.jpg) no-repeat center top 34.9rem;
	background-size: 100% auto;
}
.sec-chef .deco{
	position: absolute;
	width: 20.8rem;
	top: -5rem;
	right: -10.4rem;
}
.sec-chef .container-chef .box-name{
	font-size: 1.8rem;
	margin-bottom: 2.5rem;
	letter-spacing: 0.06em;
}
.sec-chef .container-chef .box-name span{
	font-size: 1.6rem;
}

.sec-chef .container-recommend{
	padding-top: 7.5rem;
}
.sec-chef .container-recommend .block-slide{
	position: relative;
	padding-bottom: 9.2rem;
}
.sec-chef .container-recommend .recommend-block .box-txt{
	background-color: rgba(51, 51, 51, .7);
}
.sec-chef .container-recommend .recommend-block .item-btn{
	width: 100%;
	height: 6rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.popup--cmn .is--recommend{
	display: flex;
}
.popup--cmn .is--recommend .item-ttl{
	margin-bottom: 1rem;
}
.popup--cmn .is--recommend .item-btn{
	display: none;
}

@media only screen and (max-width: 599px) {
	.sec-chef .container-chef .block-img{
		margin-bottom: 3.4rem;
	}
	.sec-chef .container-chef .box-txt{
		font-size: 1.6rem;
		letter-spacing: 0;
		line-height: 2.62;
	}

	.sec-chef .container-recommend .recommend-block .item-ttl{
		padding: 2.7rem 3rem;
	}
	.sec-chef .container-recommend .recommend-block .item-txt{
		display: none;
	}

	.popup--cmn .is--recommend{
		flex-direction: column;
	}
	.popup--cmn .is--recommend .box-img{
		order: 2;
		margin-top: 3.5rem;
	}
	.popup--cmn .is--recommend .box-txt{
		order: 1;
	}
}

@media print,screen and (min-width: 600px) {
	.sec-chef{
		padding-top: 31.5rem;
		background: url(../img/chef-bg-pc.jpg) no-repeat center top 62.4rem;
		background-size: 200rem auto;
	}
	.sec-chef .deco{
		width: 48rem;
		top: -13rem;
		right: calc((100% - 110rem) / 2 - 24rem);
	}
	.sec-chef .container-chef{
		width: 90rem;
		display: flex;
		align-items: center;
	}
	.sec-chef .container-chef .block-img{
		width: 40rem;
	}
	.sec-chef .container-chef .block-txt{
		flex: 1;
		padding-left: 10rem;
	}
	.sec-chef .container-chef .box-name{
		font-size: 2.2rem;
		margin-bottom: 4rem;
	}
	.sec-chef .container-chef .box-name span{
		font-size: 1.8rem;
	}
	.sec-chef .container-chef .box-txt{
		line-height: 2.55;
	}

	.sec-chef .container-recommend{
		padding-top: 15rem;
	}
	.sec-chef .container-recommend .block-slide{
		padding-bottom: 8.2rem;
	}
	.sec-chef .container-recommend .recommend-block{
		display: flex;
	}
	.sec-chef .container-recommend .recommend-block .box-img{
		width: 60.7rem;
	}
	.sec-chef .container-recommend .recommend-block .box-txt{
		box-sizing: border-box;
		flex: 1;
		padding: 5.5rem 6rem;
	}
	.sec-chef .container-recommend .recommend-block .item-ttl{
		font-size: 2.2rem;
		line-height: 2.09;
		margin-bottom: 3rem;
	}
	.sec-chef .container-recommend .recommend-block .item-txt{
		font-size: 1.8rem;
		line-height: 2.55;
	}
}

/* scene
--------------------------------------*/
.sec-scene{
	position: relative;
	padding-top: 13.5rem;
}
.sec-scene .scene-block .box-txt{
	box-sizing: border-box;
	background: linear-gradient(154deg, #5E000B 0%, #000 8rem, #000 100%);
	width: 25.5rem;
	height: 8rem;
	margin: -4rem auto 0 auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media only screen and (max-width: 599px) {
	.sec-scene .scene-block:not(:last-child){
		margin-bottom: 3rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec-scene{
		padding-top: 29.5rem;
	}
	.sec-scene .container-scene{
		display: flex;
	}
	.sec-scene .scene-block{
		width: calc((100% - 1rem * 2) / 3);
	}
	.sec-scene .scene-block:not(:nth-child(3n)){
		margin-right: 1rem;
	}
	.sec-scene .scene-block .box-txt{
		width: 30rem;
	}
}

/* shop
--------------------------------------*/
.sec-shop{
	position: relative;
	z-index: 1;
	padding-top: 14rem;
}
.sec-shop .block-slide{
	position: relative;
	padding-bottom: 9.2rem;
}
.sec-shop .photo-block{
	position: relative;
}
.sec-shop .photo-block .box-txt{
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0.9rem 2rem;
	background-color: rgba(0, 0, 0, .6);
}

.sec-shop .container-info{
	padding-top: 8rem;
}
.sec-shop .container-info .container-ttl{
	margin-bottom: 0.6rem;
}
.sec-shop .container-info .info-list-wrap{
	letter-spacing: 0;
}
.sec-shop .container-info .info-item{
	box-sizing: border-box;
	padding: 2.1rem 3rem;
}
.sec-shop .container-info .info-item:not(:last-child){
	border-bottom: 1px solid #888;
}

.sec-shop .container-reserve{
	padding-top: 8rem;
}
.sec-shop .container-reserve .btn{
	box-sizing: border-box;
	width: 100%;
	height: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.2rem;
}
.sec-shop .container-reserve .btn.web-reserve{
	background-color: rgba(153, 0, 18, .8)
}
.sec-shop .container-reserve .btn.tel{
	background-color: rgba(0, 0, 0, .7);
	text-align: center;
}
.sec-shop .container-reserve .btn.tel .txt2{
	font-size: 1.5rem;
	margin-top: 1rem;
}

@media only screen and (max-width: 599px) {
	.sec-shop .container-info .info-list:not(:last-child){
		padding-bottom: 2.2rem;
		border-bottom: 1px solid #888;
	}
	.sec-shop .container-info .info-item .item-label{
		padding-bottom: 0.2rem;
	}

	.sec-shop .container-reserve .btn:not(:last-child){
		margin-bottom: 4rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec-shop{
		padding-top: 29rem;
	}
	.sec-shop .block-slide{
		overflow: hidden;
		padding-bottom: 8.2rem;
		position: relative;
		left: calc((100% - 110rem) / 2);
		width: calc(110rem + (100% - 110rem) / 2);
	}
	.sec-shop .swiper{
		overflow: visible;
		margin: 0;
		width: 60.7rem;
	}
	.sec-shop .swiper-arrows{
		right: calc((100vw - 110rem) / 2);
	}
	.sec-shop .swiper-scrollbar.swiper-scrollbar-horizontal{
		width: calc(110rem - 16.9rem);
	}

	.sec-shop .container-info{
		padding-top: 18rem;
	}
	.sec-shop .container-info .container-ttl{
		margin-bottom: 5rem;
	}
	.sec-shop .container-info .info-list-wrap{
		display: flex;
		justify-content: space-between;
	}
	.sec-shop .container-info .info-list{
		width: calc((100% - 10rem) / 2);
	}
	.sec-shop .container-info .info-item{
		display: flex;
		align-items: center;
		min-height: 12rem;
		padding: 1.8rem 0;
	}
	.sec-shop .container-info .info-item.is--height-twice{
		min-height: 24rem;
	}
	.sec-shop .container-info .info-item .item-label{
		box-sizing: border-box;
		width: 16.1rem;
		padding: 0 3rem;
	}
	.sec-shop .container-info .info-item .item-txt{
		flex: 1;
	}

	.sec-shop .container-reserve{
		padding-top: 10rem;
		display: flex;
		justify-content: space-between;
	}
	.sec-shop .container-reserve .btn{
		width: calc((100% - 6rem) / 2);
		height: 12rem;
		font-size: 2.6rem;
	}
	.sec-shop .container-reserve .btn.tel{
		pointer-events: none;
	}
	.sec-shop .container-reserve .btn.tel .txt2{
		margin-top: 1.5rem;
	}
}


/*====================================

====================================*/

@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
}

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