@charset "utf-8";

#loading {
	display: none;
	z-index: 1001;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background: #fff;*/
	background: rgba(255,255,255,.8);
	transition: opacity 1s;
}
#loading[style] {
	pointer-events: none;
}
html,button,input,select,textarea{color:#000}html{font-size:62.5%}hr{display:block;height:1px;border:0;border-top:1px solid #000;margin:64px 0;padding:0}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}ul,ol{list-style:none}a{color:inherit;text-decoration:inherit}a[href]:hover{text-decoration:underline}svg{fill:inherit;vertical-align:middle}small{font-size:inherit}

/* :::::: fonts :::::: */
@font-face {
	font-family: "NotoSerifCJKjp";
	font-style: normal;
	font-weight: 400;
	src: url("../font/NotoSerifCJKjp-Regular.woff2") format("woff2"),
	     url("../font/NotoSerifCJKjp-Regular.woff") format("woff");
}
@font-face {
	font-family: "NotoSerifCJKjp";
	font-style: normal;
	font-weight: 500;
	src: url("../font/NotoSerifCJKjp-Medium.woff") format("woff");
}
@font-face {
	font-family: "NotoSerifCJKjp";
	font-style: normal;
	font-weight: 700;
	src: url("../font/NotoSerifCJKjp-Bold.woff") format("woff");
}
@font-face {
	font-family: "NotoSansCJKjp";
	font-style: normal;
	font-weight: 400;
	src: url("../font/NotoSansCJKjp-Regular.woff") format("woff");
}

body {
	/*overflow: hidden;*/
	margin: 0;
	font-size: 1.6em;
	line-height: 1.8;
	font-family: NotoSerifCJKjp, serif;
	font-weight: 400;
	/*-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;*/
	font-feature-settings: "pkna";
	background: url(../img/shop_bg_dt.png);
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
body.loaded {
	overflow: auto;
}
@media screen and (max-width: 767px) {
	body {
		background: url(../img/shop_bg_mb.png);
	}
}

#wrapper {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
body:not(.loaded) #wrapper {
	/*opacity: 0;*/
}
body.loaded #wrapper {
	transition: opacity .3s;
}
@media screen and (max-width: 767px) {
	#wrapper {
		padding-top: 86px;
	}
}

img {
	max-width: 100%;
}
img, svg, video, iframe {
	vertical-align: middle;
}
@media screen and (min-width: 768px) {
	.v-mb { display: none !important; }
}
@media screen and (max-width: 767px) {
	.v-dt { display: none !important; }
}


/* --------------------------------------------------------------------------
   full width bg
   -------------------------------------------------------------------------- */
.l-shop-header::before,
.l-shop-menu::before,
.l-shop-crumb::before,
.l-shop-footer::before,
.l-contents-info::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: 0;
	right: calc(50% - 50vw);
	left: calc(50% - 50vw);
	height: 100%;
	background: inherit;
}


/* --------------------------------------------------------------------------
   header
   -------------------------------------------------------------------------- */
.l-shop-header {
	z-index: 1;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 40px;
	margin: 0 auto;
	color: #fff;
	background: #000;
}
.l-shop-header * {
	position: relative;
}
.l-shop-header a:hover {
	text-decoration: inherit;
}

/* :::::: title :::::: */
.l-shop-header .header_title {
	line-height: 0;
}
.l-shop-header .header_title .neboke {
	margin-left: .3em;
}
.l-shop-header .header_title img {
	width: auto;
	height: 24px;
}

/* :::::: list :::::: */
.l-shop-header .header_list {
	display: flex;
	align-items: center;
	height: 40px;
	font-size: 1rem;
}
.l-shop-header .header_list li {
	position: relative;
	height: 100%;
}
.l-shop-header .header_list a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 1em;
	letter-spacing: .1em;
}
.l-shop-header .header_list li:not(:first-child)::before {
	content: "";
	position: absolute;
	top: calc(50% - .45em);
	left: 0;
	height: 1em;
	border-left: 1px solid currentcolor;
	opacity: .5;
}


/* --------------------------------------------------------------------------
   ご予約/お問い合わせ
   -------------------------------------------------------------------------- */
.l-conversion {
	z-index: 100;
	position: fixed;
	font-size: 1.2rem;
	letter-spacing: .05em;
}
.l-conversion a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: 4px;
	color: #fff;
	background: #6d0000;
}
@media screen and (min-width: 768px) {
	.l-conversion {
		top: calc(50% - 120px);
		right: 0;
		width: 44px;
	}
	.l-conversion li {
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	.l-conversion li:last-child {
		margin-top: 20px;
	}
	.l-conversion a {
		width: 44px;
		height: 140px;
		border-radius: 4px 0 0 4px;
		transition: transform .3s cubic-bezier(0.33, 1, 0.68, 1);
	}
	.l-conversion a::after {
		content: "";
		position: relative;
		left: .1em;
		margin-top: .7em;
		border-width: 3px 0 3px 6px;
		border-style: solid;
		border-color: transparent;
		border-left-color: currentcolor;
	}
	.l-conversion a:hover {
		text-decoration: none;
	}
	.l-conversion a:not(:hover) {
		transform: translateX(4px);
	}
}
@media screen and (max-width: 767px) {
	#wrapper {
		padding-bottom: 64px;
	}
	.l-conversion {
		display: flex;
		bottom: 0;
		left: 0;
		width: 100%;
		font-size: 1.5rem;
	}
	.l-conversion li {
		flex-basis: 50%;
	}
	.l-conversion li:last-child {
		margin-left: 1px;
	}
	.l-conversion a {
		width: 100%;
		height: 64px;
	}
	.l-conversion a::before {
		content: "";
		width: 24px;
		height: 24px;
		margin-right: .3em;
		background: url(../img/ico_net.svg) center / contain no-repeat;
	}
	.l-conversion li:last-child a::before {
		width: 20px;
		height: 20px;
		background-image: url(../img/ico_phone.svg);
	}
}
@media screen and (max-width: 374px) {
	.l-conversion {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}


/* --------------------------------------------------------------------------
   visual
   -------------------------------------------------------------------------- */
.l-shop-visual {
	position: relative;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}
.c-slideshow {
	position: relative;
	width: 100vw;
	height: calc(668vw / 13.68);
	min-height: 258px;
}
.c-slideshow:empty {
	display: grid;
	place-content: center;
	background: whitesmoke;
}
.c-slideshow:empty::after {
	content: "No Image";
}
.c-slideshow li {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* :::::: slideshow :::::: */
.c-slideshow li {
	background: center / cover no-repeat;
}
.c-slideshow[data-num="2"] li {
	animation: slideshow2 8s infinite linear;
}
.c-slideshow[data-num="3"] li {
	animation: slideshow3 12s infinite linear;
}
.c-slideshow[data-num="4"] li {
	animation: slideshow4 16s infinite linear;
}
.c-slideshow[data-num="5"] li {
	animation: slideshow5 20s infinite linear;
}
.c-slideshow[data-num="6"] li {
	animation: slideshow6 24s infinite linear;
}
.c-slideshow li:nth-last-child(1) { animation-delay: -4s; }
.c-slideshow li:nth-last-child(2) { animation-delay: -8s; }
.c-slideshow li:nth-last-child(3) { animation-delay: -12s; }
.c-slideshow li:nth-last-child(4) { animation-delay: -16s; }
.c-slideshow li:nth-last-child(5) { animation-delay: -20s; }
.c-slideshow img {
	opacity: 0;
}
@keyframes slideshow2 { 6%, 47% { opacity: 1; } 53%, 94% { opacity: 0; } }
@keyframes slideshow3 { 6%, 30% { opacity: 1; } 36%, 94% { opacity: 0; } }
@keyframes slideshow4 { 6%, 23% { opacity: 1; } 27%, 94% { opacity: 0; } }
@keyframes slideshow5 { 6%, 18% { opacity: 1; } 22%, 94% { opacity: 0; } }
@keyframes slideshow6 { 6%, 15% { opacity: 1; } 18%, 94% { opacity: 0; } }

/* :::::: scroll :::::: */
.l-shop-visual .scroll {
	z-index: 2;
	position: absolute;
	bottom: 0;
	left: calc(50% - 50px);
	width: 100px;
	padding-bottom: 40px;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1;
	font-family: Roboto, sans-serif;
	font-weight: 400;
	letter-spacing: .2em;
	text-align: center;
	text-transform: uppercase;
}
.l-shop-visual .scroll:hover {
	text-decoration: none;
}
.l-shop-visual .scroll::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-left: 1px solid #fff;
	height: 32px;
}

/* --------------------------------------------------------------------------
   ≡
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
	.o-menu-button {
		z-index: 101;
		position: fixed;
		top: 20px;
		right: 16px;
		width: 44px;
		height: 44px;
	}
	.o-menu-button:focus {
		outline: transparent;
	}
	.o-menu-button::before,
	.o-menu-button::after {
		content: "";
	}
	.o-menu-button::before,
	.o-menu-button::after,
	.o-menu-button .bar {
		position: absolute;
		top: 50%;
		left: 4px;
		width: 36px;
		border-top: 1px solid currentcolor;
	}
	.o-menu-button::before {
		transform: rotate(45deg);
	}
	.o-menu-button::after {
		transform: rotate(-45deg);
	}
	.o-menu-button:not(.active)::before {
		transform: translateY(-11px);
	}
	.o-menu-button:not(.active)::after {
		transform: translateY(11px);
	}
	.o-menu-button.active .bar {
		transform: scaleX(0);
	}
	.o-menu-button.anima::before,
	.o-menu-button.anima::after,
	.o-menu-button.anima .bar {
		transition: transform .4s cubic-bezier(0.33, 1, 0.68, 1);
	}
}


/* --------------------------------------------------------------------------
   menu
   -------------------------------------------------------------------------- */
.l-shop-menu {
	z-index: 1;
	position: relative;
	height: 100px;
	margin: 0 auto;
	text-align: center;
	transition: background .3s;
}
.l-shop-menu::before {
	border-bottom: 1px solid #bababa;
}
.l-shop-menu a:hover {
	text-decoration: inherit;
}
@media screen and (min-width: 768px) {
	.l-shop-menu {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#wrapper.is-menufixed .l-shop-menu {
		z-index: 10;
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		max-width: 1000px;
		padding: 0 20px;
		background: #fff;
	}
	.l-shop-menu .menu_content {
		display: flex;
		align-items: center;
	}
}
@media screen and (max-width: 767px) {
	.l-shop-menu {
		z-index: 100;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.l-shop-menu .menu_content {
		position: absolute;
		overflow: auto;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		padding: 86px 0 32px;
		background: #fff;
	}
	.l-shop-menu:not(.active) {
		pointer-events: none;
	}
	.menu_content:not(.active) {
		transform: translateY(-100%);
	}
	.menu_content.anima {
		transition: transform .4s cubic-bezier(0.33, 1, 0.68, 1);
	}
}

/* :::::: title :::::: */
.l-shop-menu .menu_title {
	width: 160px;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: .3em;
}
@media screen and (max-width: 940px) {
	.l-shop-menu .menu_title {
		width: 140px;
	}
}
@media screen and (max-width: 767px) {
	.l-shop-menu .menu_title {
		display: flex;
		align-items: center;
		z-index: 1;
		position: relative;
		width: auto;
		height: 86px;
		padding: 20px;
		border-bottom: 1px solid #bababa;
		font-size: 1.6rem;
		letter-spacing: .1em;
		background: #fff;
	}
	.l-shop-menu .menu_title img {
		width: 145px;
	}
	.l-shop-menu .menu_title b {
		margin-left: 1em;
	}
}

/* :::::: list :::::: */
.l-shop-menu .menu_list {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .1em;
}
.l-shop-menu .menu_list a {
	display: block;
	position: relative;
	padding: 1em;
}
@media screen and (min-width: 768px) {
	.l-shop-menu .menu_list {
		display: flex;
		margin-right: .5em;
		margin-left: auto;
	}
	.l-shop-menu .menu_list li {
		margin-left: .5em;
	}
	.l-shop-menu .menu_list a::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 1em;
		width: calc(100% - 2em);
		height: 1em;
		opacity: .5;
		background: linear-gradient(currentcolor, currentcolor) right bottom / 0 1px no-repeat;
		transition: background-size .4s cubic-bezier(0.33, 1, 0.68, 1);
	}
	.l-shop-menu .menu_list a:not([href])::after,
	.l-shop-menu .menu_list a:hover::after {
		background-position: left bottom;
		background-size: 100% 1px;
	}
	.l-shop-menu .menu_list a:not([href])::after {
		opacity: 1;
	}
}
@media screen and (max-width: 940px) {
	.l-shop-menu .menu_list {
		font-size: 1.2rem;
	}
	.l-shop-menu .menu_list a {
		padding: 1em .5em;
	}
	.l-shop-menu .menu_list a::after {
		left: .5em;
		width: calc(100% - 1em);
	}
}
@media screen and (max-width: 767px) {
	.l-shop-menu .menu_list {
		padding: 0 20px;
		font-size: 1.6rem;
		font-weight: 400;
		text-align: left;
		background: #fff;
	}
	.l-shop-menu .menu_list li {
		border-bottom: 1px solid #dadada;
	}
	.l-shop-menu .menu_list a {
		position: relative;
		padding: .8em .5em;
	}
	.l-shop-menu .menu_list a::before {
		content: "";
		position: absolute;
		top: calc(50% - 4px);
		right: 20px;
		border-width: 4px 0 4px 6px;
		border-style: solid;
		border-color: transparent;
		border-left-color: #dadada;
	}
}

/* :::::: tel :::::: */
.l-shop-menu .menu_tel {
	padding: 1em 1em .5em;
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: .2em;
}
.l-shop-menu .menu_tel * {
	font-weight: 400;
	vertical-align: middle;
	letter-spacing: 0;
	text-indent: -.1em;
}
.l-shop-menu .menu_tel span {
	font-family: NotoSansCJKjp, sans-serif;
}
.l-shop-menu .menu_tel b {
	margin-left: .1em;
	color: #6d0000;
	font-size: 2.4rem;
}
@media screen and (max-width: 940px) {
	.l-shop-menu .menu_tel {
		font-size: 1rem;
	}
	.l-shop-menu .menu_tel b {
		font-size: 2rem;
	}
}
@media screen and (max-width: 767px) {
	.l-shop-menu .menu_tel {
		display: block;
		padding: 20px 0;
		font-size: 1.4rem;
		line-height: 1.2;
		font-weight: 400;
	}
	.l-shop-menu .menu_tel b {
		font-size: 3rem;
	}
}


/* --------------------------------------------------------------------------
   crumb
   -------------------------------------------------------------------------- */
.l-shop-crumb {
	z-index: 1;
	position: relative;
	padding: 16px 0;
	font-size: 1rem;
	letter-spacing: .2em;
	background: #e5e5e5;
}
.l-shop-crumb a {
	display: inline-block;
	padding: 0 .5em;
}
.l-shop-crumb a:not([href]) {
	color: #6d0000;
}


/* --------------------------------------------------------------------------
   footer
   -------------------------------------------------------------------------- */
.l-shop-footer {
	z-index: 1;
	position: relative;
	margin: 0 auto;
	color: #fff;
	background: #565656;
}

/* :::::: 店舗情報 :::::: */
.l-shop-info {
	display: flex;
	justify-content: space-between;
	padding-top: 80px;
}
.shop-info_map iframe {
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 768px) {
	.shop-info_map {
		flex-basis: calc(50% - 16px);
		height: 320px;
	}
	.shop-info_data {
		flex-basis: calc(50% - 16px);
	}
}
@media screen and (max-width: 767px) {
	.l-shop-info {
		flex-direction: column;
		padding-top: 40px;
	}
	.shop-info_map {
		order: 1;
		height: 240px;
		margin: 40px -20px 0;
	}
}

.shop-info_data .shop_title {
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: .1em;
}
.shop-info_data .shop_title .shop_name {
	margin-left: 8px;
}
.shop-info_data .shop_data {
	display: flex;
	flex-wrap: wrap;
	margin-top: 32px;
	font-size: 1.2rem;
	line-height: 1.5;
}
.shop-info_data .shop_data > dt {
	flex-basis: 8em;
}
.shop-info_data .shop_data > dd {
	flex-basis: calc(100% - 8em);
}
.shop-info_data .shop_data > dt:nth-of-type(n+2),
.shop-info_data .shop_data > dd:nth-of-type(n+2) {
	margin-top: 1em;
}
.shop-info_data .shop_data dl {
	display: flex;
	flex-wrap: wrap;
}
.shop-info_data .shop_data .day > dt {
	flex-basis: 6em;
}
.shop-info_data .shop_data .day > dd {
	flex-basis: calc(100% - 6em);
}
.shop-info_data .shop_data .time > dt {
	flex-basis: 5em;
}
.shop-info_data .shop_data .time > dd {
	flex-basis: calc(100% - 5em);
}
.shop-info_data .shop_data .time .lo {
	display: inline-block;
}
.shop-info_data .shop_data .note::before {
	content: "※";
}

/* :::::: エリア別店舗一覧 :::::: */
.l-area-info {
	margin-top: 64px;
	padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
	.l-area-info {
		margin: 32px -20px 0;
		padding-bottom: 40px;
	}
}

.area-info_title {
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: .1em;
	text-align: center;
}
.area-info_list {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
	letter-spacing: .1em;
}
.area-info_list li::before {
	content: "-";
	margin-right: .3em;
}
.area-info_list dl {
	flex-basis: calc(33.33333% - 24px);
	padding: 0 20px;
	white-space: nowrap;
}
.area-info_list dt {
	font-size: 1.4rem;
}
.area-info_list dd {
	font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
	.area-info_list dl:nth-of-type(n+2) {
		border-left: 1px solid currentcolor;
	}
}
@media screen and (max-width: 767px) {
	.area-info_list {
		flex-wrap: wrap;
		margin: 0;
	}
	.area-info_list dl {
		margin-top: 16px;
	}
	.area-info_list .area_osaka {
		order: 1;
	}
	.area-info_list dt {
		font-size: 1.2rem;
	}
	.area-info_list dd {
		font-size: 1rem;
	}
}

/* :::::: instagram :::::: */
.l-insta-link {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 104px;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	color: #000;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .1em;
	background: #c4c1bc;
}
.l-shop-footer .l-insta-link:hover {
	text-decoration: none;
}
.l-insta-link .ico {
	width: 30px;
	height: 30px;
	margin-right: .8em;
	fill: currentcolor;
}
@media screen and (max-width: 374px) {
	.l-insta-link {
		font-size: 1.2rem;
	}
}

/* :::::: contentsinfo :::::: */
.l-contents-info {
	position: relative;
	color: #000;
	background: #fff;
}
.l-contents-info .logo {
	line-height: 1;
}
.l-contents-info .logo a {
	display: flex;
	justify-content: space-between;
	width: 259px;
}
.l-contents-info .logo img {
	width: auto;
	height: 40px;
}
.l-footer-link {
	display: flex;
	align-items: center;
	margin-left: auto;
	font-size: 1rem;
	letter-spacing: .1em;
}
.l-footer-link li {
	position: relative;
}
.l-footer-link li:not(:first-child)::before {
	content: "";
	position: absolute;
	top: calc(50% - .45em);
	left: 0;
	height: 1em;
	border-left: 1px solid currentcolor;
	opacity: .5;
}
.l-footer-link a {
	display: block;
	padding: 1em 2em;
}
@media screen and (min-width: 768px) {
	.l-contents-info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 107px;
	}
}
@media screen and (max-width: 767px) {
	.l-contents-info {
		padding: 24px 0;
		text-align: center;
	}
	.l-contents-info .logo a {
		margin: 0 auto;
	}
}

/* :::::: copyright :::::: */
.copyright {
	font-size: 1rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}
@media screen and (min-width: 768px) {
	.copyright {
		margin-left: 2em;
	}
}


/* --------------------------------------------------------------------------
   ボタン
   -------------------------------------------------------------------------- */
.c-button {
	text-align: center;
}
.c-button a {
	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;
}
.c-button a:hover {
	text-decoration: inherit;
	background: #000;
}


/* --------------------------------------------------------------------------
   main
   -------------------------------------------------------------------------- */
.l-shop-main {
	padding: 80px 0 120px;
}
.l-shop-main .page_title {
	font-size: 3rem;
	line-height: 1.4;
	font-weight: 400;
	text-align: center;
}
@media screen and (min-width: 768px) {
	#wrapper.is-menufixed .l-shop-main {
		margin-top: 100px;
	}
}
@media screen and (max-width: 767px) {
	.l-shop-main {
		margin-top: 18px;
		padding-top: 40px;
	}
	.l-shop-main.p-home {
		padding-top: 16px;
	}
	.l-shop-main .page_title {
		margin: 0 -20px;
		padding-bottom: 16px;
		border-bottom: 1px solid #bababa;
		font-size: 2rem;
	}
}

.l-shop-main .l-section {
	margin: 80px 0;
}

/* :::::: section title :::::: */
.l-shop-main .section_title {
	margin-bottom: 40px;
	padding: 24px;
	border-top: 1px solid #bababa;
	border-bottom: 1px solid #bababa;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 400;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.l-shop-main .section_title {
		margin-bottom: 24px;
		padding: 16px;
	}
}

/* :::::: お料理を選んで予約する :::::: */
.l-shop-main .c-cuisine-list {
	display: flex;
	flex-wrap: wrap;
}
.l-shop-main .c-cuisine-list a {
	display: block;
	text-decoration: inherit;
}
.l-shop-main .cuisine_photo {
	aspect-ratio: 4 / 3;
}
.l-shop-main .cuisine_photo .spacer {
	display: block;
	overflow: hidden;
}
.l-shop-main .cuisine_photo figcaption {
	padding: 12px;
	font-size: 16px;
	text-align: center;
}
.l-shop-main .cuisine_photo img {
	transition: transform 1s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-shop-main .c-cuisine-list a:hover .cuisine_photo img {
	transform: scale(1.1);
}
.l-shop-main .cuisine_data {
	color: #937717;
	font-size: 12px;
	text-align: left;
}
.l-shop-main .cuisine_data li::before {
	content: "■";
	margin-right: .3em;
}
@media screen and (min-width: 768px) {
	.l-shop-main .c-cuisine-list > li {
		flex-basis: calc(25% - 18px);
	}
	.l-shop-main .c-cuisine-list > li:not(:nth-child(4n+1)) {
		margin-left: 24px;
	}
	.l-shop-main .c-cuisine-list > li:nth-child(n+5) {
		margin-top: 24px;
	}
	.l-shop-main .cuisine_data dt {
		font-weight: 700;
	}
}
@media screen and (max-width: 767px) {
	.l-shop-main .cuisine_data dt a {
		padding: 8px;
	}
	.l-shop-main .c-cuisine-list {
		flex-wrap: wrap;
	}
	.l-shop-main .c-cuisine-list > li {
		flex-basis: calc(50% - 4px);
	}
	.l-shop-main .c-cuisine-list > li:nth-child(2n) {
		margin-left: 8px;
	}
	.l-shop-main .c-cuisine-list > li:nth-child(n+3) {
		margin-top: 16px;
	}
}