@charset "utf-8";

/* --------------------------------------------------------------------------
   誘導
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
	.l-induction {
		margin: 0 -20px;
		padding: 20px;
		background: rgba(0,0,0,.1);
		text-align: center;
	}
	
	/* :::::: ご予約はこちら :::::: */
	.induction_button a {
		display: inline-block;
		width: 100%;
		max-width: 360px;
		padding: 20px;
		color: #fff;
		font-size: 1.8rem;
		line-height: 1.4;
		letter-spacing: .3em;
		background: #6d0000;
	}
	.induction_button a b {
		font-weight: 400;
	}
	.induction_button a span {
		font-size: 1rem;
	}
	.induction_button a:hover {
		text-decoration: inherit;
	}
	
	/* :::::: お電話からの受付はこちら :::::: */
	.induction_contact {
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid #bababa;
		font-size: 1.4rem;
		line-height: 1.4;
	}
	.induction_contact a:hover {
		text-decoration: inherit;
	}
	.menu_tel span {
		font-size: 2.4rem;
		font-family: NotoSansCJKjp, sans-serif;
	}
	.menu_tel b {
		margin-left: .1em;
		color: #6d0000;
		font-size: 3rem;
		font-weight: 400;
	}
	
	/* :::::: 営業時間 :::::: */
	.induction_time {
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid #bababa;
		font-size: 1.4rem;
	}
	.induction_time .open-time {
		display: flex;
		justify-content: center;
		margin: 8px auto 0;
	}
	.induction_time dl {
		display: flex;
		flex-wrap: wrap;
		text-align: left;
	}
	.induction_time .day {
		max-width: 360px;
	}
	.induction_time .day > dt {
		flex-basis: 6em;
	}
	.induction_time .day > dd {
		flex-basis: calc(100% - 6em);
	}
	.induction_time .time > dt {
		flex-basis: 5em;
	}
	.induction_time .time > dd {
		flex-basis: calc(100% - 5em);
	}
	.induction_time .time .lo {
		display: inline-block;
	}
}


/* --------------------------------------------------------------------------
   home - 導入
   -------------------------------------------------------------------------- */
.l-shop-main .l-intro {
	margin: 0 0 80px;
	text-align: center;
}
.l-shop-main .intro_title {
	font-size: 3rem;
	line-height: 1.5;
	font-weight: 400;
}
.l-shop-main .l-intro p {
	margin-top: 24px;
	font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
	.l-shop-main .l-intro p {
		line-height: 2.4;
	}
}
@media screen and (max-width: 767px) {
	.l-shop-main .l-intro {
		margin: 40px 0;
		text-align: left;
	}
	.l-shop-main .intro_title {
		font-size: 2.4rem;
	}
}


/* --------------------------------------------------------------------------
   home - 新着情報
   -------------------------------------------------------------------------- */
.l-shop-main .l-news {
	max-width: 720px;
	margin: 80px auto;
}
.l-shop-main .l-news .section_title {
	border: 0;
	margin-bottom: 0;
}
.l-shop-main .l-news .c-news-list li > a::after {
	right: 12px;
}
.l-shop-main .l-news .news_item {
	padding: 16px 24px 16px 12px;
}

/* :::::: もっとみる :::::: */
.l-shop-main .l-news .c-more {
	margin-top: 8px;
	font-size: 1.2rem;
	text-align: right;
}
.l-shop-main .l-news .c-more a {
	position: relative;
	padding: 8px 0;
	text-decoration: inherit;
}
.l-shop-main .l-news .c-more a::before {
	content: ">";
	margin-right: .3em;
}
.l-shop-main .l-news .c-more a::after {
	content: "";
	position: absolute;
	bottom: 4px;
	left: 0;
	width: 100%;
	height: 1em;
	opacity: .5;
	background: linear-gradient(currentcolor, currentcolor) right bottom / 0 1px no-repeat;
	transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.l-shop-main .l-news .c-more a:hover::after {
	background-position: left bottom;
	background-size: 100% 1px;
}


/* --------------------------------------------------------------------------
   タブ
   -------------------------------------------------------------------------- */
.l-shop-main .c-tabs {
	display: flex;
	justify-content: center;
	margin-top: 32px;
	font-size: 1.2rem;
	line-height: 1.4;
	text-align: center;
}
.l-shop-main .c-tabs li {
	flex-basis: 150px;
}
.l-shop-main .c-tabs li + li {
	margin-left: 20px;
}
.l-shop-main .c-tabs a {
	display: block;
	padding: 16px;
	border: 1px solid #bababa;
	text-decoration: inherit;
}
.l-shop-main .c-tabs a:hover {
	background: #fff;
}
.l-shop-main .c-tabs a.active {
	border-color: #6d0000;
	color: #fff;
	background: #6d0000;
}
@media screen and (max-width: 767px) {
	.l-shop-main .c-tabs {
		margin-top: 24px;
	}
}

/* 記事はまだ投稿されていません */
.no-contents {
	margin-top: 80px;
	padding: 40px 20px;
	font-size: 1.4rem;
	text-align: center;
	background: #fff;
}


/* --------------------------------------------------------------------------
   新着情報
   -------------------------------------------------------------------------- */
.l-shop-main.p-news .c-news-list {
	margin-top: 80px;
}
@media screen and (max-width: 767px) {
	.l-shop-main.p-news .c-news-list {
		margin-top: 24px;
	}
}

.l-shop-main .c-news-list li {
	position: relative;
	border-bottom: 1px solid #bababa;
}
.l-shop-main .c-news-list li:first-child {
	border-top: 1px solid #bababa;
}
.l-shop-main .c-news-list li > a,
.l-shop-main .c-news-list li > a::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.l-shop-main .c-news-list li > a::before {
	content: "";
	z-index: -1;
	background: #fff;
	transform-origin: 0 50%;
	transition: transform .4s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-shop-main .c-news-list li > a:not(:hover)::before {
	transform-origin: 100% 50%;
	transform: scaleX(0);
}
.l-shop-main .c-news-list li > a::after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 40px;
	border-width: 5px 0 5px 8px;
	border-style: solid;
	border-color: transparent;
	border-left-color: #dadada;
	transition: border-color .3s;
}
.l-shop-main .c-news-list li > a:hover::after {
	border-left-color: #6d0000;
}
.l-shop-main .news_item {
	display: flex;
	padding: 24px 40px;
	font-size: 1.2rem;
}
.l-shop-main .news_date {
	flex-basis: 7em;
}
.l-shop-main .news_category {
	flex-basis: 9em;
	font-size: 1rem;
}
.l-shop-main .news_category a {
	display: inline-block;
	z-index: 1;
	position: relative;
	padding: 3px 16px;
	border-radius: 2px;
	color: #fff;
	line-height: 1.4;
	background: #6d0000;
}
.l-shop-main .news_category a:hover {
	text-decoration: inherit;
	background: #000;
}
.l-shop-main .news_title {
	flex-basis: calc(100% - 16em);
}
.l-shop-main .news_title b {
	color: #6d0000;
	font-weight: 400;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	.l-shop-main .c-news-list li > a::after {
		right: 12px;
	}
	.l-shop-main .news_item {
		flex-wrap: wrap;
		padding: 16px 24px 16px 12px;
	}
	.l-shop-main .news_title {
		flex-basis: 100%;
		margin-top: 4px;
	}
	.l-shop-main .news_item br {
		display: none;
	}
}


/* --------------------------------------------------------------------------
   ページネーション
   -------------------------------------------------------------------------- */
.l-shop-main .c-paginate {
	margin-top: 64px;
	font-size: 1.4rem;
}
.l-shop-main .c-paginate,
.l-shop-main .c-paginate .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
}
.l-shop-main .c-paginate .page-numbers {
	width: 50px;
	height: 50px;
	border: 1px solid #bababa;
}
.l-shop-main .c-paginate .page-numbers.dots,
.l-shop-main .c-paginate .page-numbers.prev,
.l-shop-main .c-paginate .page-numbers.next {
	width: 20px;
	border: 0;
	background: transparent;
}
.l-shop-main .c-paginate a.page-numbers:hover,
.l-shop-main .c-paginate .page-numbers.prev:hover,
.l-shop-main .c-paginate .page-numbers.next:hover {
	text-decoration: inherit;
	background: #fff;
}
.l-shop-main .c-paginate .page-numbers.current {
	border-color: #6d0000;
	color: #fff;
	background: #6d0000;
}
.l-shop-main .c-paginate .page-numbers + .page-numbers {
	margin-left: 16px;
}
.l-shop-main .c-paginate .page-numbers .ar {
	fill: none;
	stroke: currentcolor;
}
@media screen and (max-width: 767px) {
	.l-shop-main .c-paginate {
		font-size: 1.2rem;
	}
	.l-shop-main .c-paginate .page-numbers {
		width: 44px;
		height: 44px;
	}
	.l-shop-main .c-paginate .page-numbers + .page-numbers {
		margin-left: 4px;
	}
}


/* --------------------------------------------------------------------------
   記事ページ
   -------------------------------------------------------------------------- */
.l-shop-main.p-article {
	padding-right: 80px;
	padding-left: 80px;
}
@media screen and (max-width: 767px) {
	.l-shop-main.p-article {
		margin-top: 40px;
		padding: 0 20px;
	}
}
@media screen and (max-width: 374px) {
	.l-shop-main.p-article {
		padding: 0;
	}
}

/* :::::: 日付・カテゴリー・タイトル :::::: */
.l-shop-main .article_head {
	display: flex;
	align-items: center;
	font-size: 1.2rem;
}
.l-shop-main .article_category {
	margin-left: 16px;
	padding: 3px 16px;
	border-radius: 2px;
	color: #fff;
	font-size: 1rem;
	line-height: 1.4;
	background: #6d0000;
}
.l-shop-main .article_title {
	margin-top: 32px;
	padding-bottom: 32px;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 400;
}

/* :::::: 記事 :::::: */
.l-shop-main .article_content {
	margin: 0 -80px;
	padding: 40px 80px 64px;
	border-top: 1px solid #bababa;
	border-bottom: 1px solid #bababa;
	font-size: 1.4rem;
	line-height: 2;
}
.l-shop-main .article_content > *:first-child {
	margin-top: 0;
}
.l-shop-main .article_content > *:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	.l-shop-main .article_content {
		margin: 0 -20px;
		padding: 20px 20px 32px;
		border: 0;
	}
}
@media screen and (max-width: 374px) {
	.l-shop-main .article_content {
		margin: 0;
		padding: 0;
	}
}

.l-shop-main .article_content h2,
.l-shop-main .article_content h3,
.l-shop-main .article_content h4 {
	line-height: 1.5;
	font-weight: 400;
}
.l-shop-main .article_content h2 {
	margin-top: 32px;
	font-size: 2rem;
}
.l-shop-main .article_content h3 {
	margin-top: 20px;
	font-size: 1.8rem;
}
.l-shop-main .article_content p {
	margin-top: 12px;
}
.l-shop-main .article_content ul,
.l-shop-main .article_content ol {
	margin: 24px 0;
}
.l-shop-main .article_content li {
	margin-top: .2em;
}
.l-shop-main .article_content ul li {
	padding-left: 1em;
	text-indent: -1em;
}
.l-shop-main .article_content ol li {
	counter-increment: num;
	padding-left: 1.4em;
	text-indent: -1.4em;
}
.l-shop-main .article_content li::before {
	display: inline-block;
}
.l-shop-main .article_content ul li::before {
	content: "-";
	width: 1em;
}
.l-shop-main .article_content ol li::before {
	content: counter(num) ".";
	width: 1.4em;
}
.l-shop-main .article_content li > *,
.l-shop-main .article_content li::before {
	text-indent: 0;
}
.l-shop-main .article_content figure {
	margin: 40px 0;
	text-align: center;
}
.l-shop-main .article_content figure img {
	height: auto;
}

/* :::::: 一覧へもどる :::::: */
.l-shop-main .c-back {
	margin-top: 40px;
	font-size: 1.4rem;
	text-align: center;
}
.l-shop-main .c-back a {
	padding: 16px;
}
.l-shop-main .c-back a::before {
	content: "<";
	margin-right: 24px;
}
.l-shop-main .c-back a:hover {
	text-decoration: inherit;
	background: #fff;
}


/* --------------------------------------------------------------------------
   お料理
   -------------------------------------------------------------------------- */
.l-shop-main.p-menu .l-section {
	text-align: center;
}

/* :::::: アンカー :::::: */
.l-shop-main .c-anchor,
.l-shop-main .c-anchor li {
	display: flex;
	justify-content: center;
	align-items: center;
}
.l-shop-main .c-anchor {
	margin-top: 32px;
	color: #6d0000;
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
}
.l-shop-main .c-anchor li {
	position: relative;
}
.l-shop-main .c-anchor li + li::before {
	content: "/";
	position: absolute;
	top: calc(50% - .75em);
	left: -.25em;
}
.l-shop-main .c-anchor a {
	position: relative;
	padding: 16px 32px;
}
.l-shop-main .c-anchor a {
	text-decoration: inherit;
}
.l-shop-main .c-anchor a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 32px;
	width: calc(100% - 64px);
	height: 1em;
	background: linear-gradient(currentcolor, currentcolor) right bottom / 0 1px no-repeat;
	transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.l-shop-main .c-anchor a:hover::after {
	background-position: left bottom;
	background-size: 100% 1px;
}
.l-shop-main .c-anchor a span {
	display: inline-block;
}
@media screen and (min-width: 375px) {
	.l-shop-main .c-anchor br {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.l-shop-main .c-anchor {
		margin: 32px -20px 0;
		font-size: 1.4rem;
	}
	.l-shop-main .c-anchor a {
		padding: 16px 24px;
	}
	.l-shop-main .c-anchor a::after {
		left: 16px;
		width: calc(100% - 32px);
	}
	.l-shop-main .c-anchor + .l-section {
		margin-top: 40px;
	}
}

/* :::::: おすすめコース :::::: */
.l-shop-main .c-menu {
	max-width: 640px;
	margin: 0 auto;
	font-size: 1.6rem;
	text-align: left;
}
.l-shop-main .menu_data {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 8px;
}
.l-shop-main .menu_price {
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.l-shop-main .menu_data {
		flex-direction: column;
		align-items: inherit;
	}
	.l-shop-main .menu_price {
		align-self: flex-end;
	}
}


/* --------------------------------------------------------------------------
   店内・空間
   -------------------------------------------------------------------------- */
.l-shop-main.p-restaurant .l-section {
}

/* :::::: 席情報 :::::: */
.l-shop-main .c-restaurant {
	max-width: 640px;
	margin: 0 auto;
	font-size: 1.6rem;
	text-align: left;
}
.l-shop-main .restaurant_main .data {
	margin-top: 8px;
}
.l-shop-main .restaurant_main .data dd {
	font-size: 1.4rem;
}
.l-shop-main .restaurant_main .data ul {
	display: flex;
	flex-wrap: wrap;
	margin-right: -1.5em;
}
.l-shop-main .restaurant_main .data li {
	margin-right: 1.5em;
}
.l-shop-main .restaurant_main .data li::before {
	content: "■";
	margin-right: .3em;
}
@media screen and (max-width: 767px) {
}

/* :::::: メイン :::::: */
.l-shop-main .restaurant_main {
	position: relative;
	transition: height .3s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-shop-main .restaurant_main .item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.l-shop-main .restaurant_main .item.active {
	z-index: 1;
	position: relative;
}
.l-shop-main .restaurant_main .photo {
	transition: opacity .3s;
	height: 0;
	padding-bottom: calc(450% / 6.4);
}
.l-shop-main .restaurant_main .data {
	transition: opacity .3s;
}
.l-shop-main .restaurant_main .item:not(.active) .photo {
	opacity: 0;
	transition-delay: .3s;
	transition-duration: 0s;
}
.l-shop-main .restaurant_main .item:not(.active) .data {
	opacity: 0;
}

/* :::::: サムネイル :::::: */
.l-shop-main .restaurant_thumb {
	display: flex;
	flex-wrap: wrap;
	margin-top: 24px;
}
.l-shop-main .restaurant_thumb .item {
	cursor: pointer;
}
.l-shop-main .restaurant_thumb .item.active {
	pointer-events: none;
}
.l-shop-main .restaurant_thumb .item figure {
	position: relative;
}
.l-shop-main .restaurant_thumb .item figure::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 2px solid transparent;
	transition: border-color .3s;
}
.l-shop-main .restaurant_thumb .item.active figure::after {
	border-color: #6d0000;
}
@media screen and (min-width: 768px) {
	.l-shop-main .restaurant_thumb .item {
		flex-basis: calc(25% - 12px);
	}
	.l-shop-main .restaurant_thumb .item:not(:nth-child(4n+1)) {
		margin-left: 16px;
	}
	.l-shop-main .restaurant_thumb .item:nth-child(n+5) {
		margin-top: 16px;
	}
}
@media screen and (max-width: 767px) {
	.l-shop-main .restaurant_thumb {
		margin-top: 16px;
	}
	.l-shop-main .restaurant_thumb .item {
		flex-basis: calc(50% - 4px);
	}
	.l-shop-main .restaurant_thumb .item:nth-child(2n) {
		margin-left: 8px;
	}
	.l-shop-main .restaurant_thumb .item:nth-child(n+3) {
		margin-top: 8px;
	}
}


/* --------------------------------------------------------------------------
   Not Found
   -------------------------------------------------------------------------- */
.l-shop-main.p-notfound {
	text-align: center;
}
.l-shop-main.p-notfound .page-title {
	font-size: 3rem;
	line-height: 1.4;
	font-weight: 400;
	text-align: center;
}
.l-shop-main.p-notfound p {
	margin-top: 16px;
}
.l-shop-main.p-notfound .btn {
	display: inline-block;
	width: 100%;
	max-width: 320px;
	margin-top: 32px;
	padding: 20px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.4;
	background: #6d0000;
}
.l-shop-main.p-notfound .btn:hover {
	text-decoration: inherit;
	background: #000;
}
@media screen and (max-width: 767px) {
	.l-shop-main.p-notfound .page-title {
		margin: 0 -20px;
		padding-bottom: 16px;
		border-bottom: 1px solid #bababa;
		font-size: 2rem;
	}
}





