@charset "UTF-8";

/*************************
        reset
*************************/
html {
	scroll-behavior: smooth;

}

html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	font-size: 100%;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section {
	display: block;
}

body {
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 14px;
	overflow-x: hidden;
}

ol,
ul {
	list-style: none;
	list-style-type: none;
}

img {
	display: block;
	border: none;
	max-width: 100%;
	width: 100%;
	vertical-align: bottom;
}

a {
	display: block;
	text-decoration: none;
	color: #000;
}

/*------------------------------------------*
* margin系CSS
*------------------------------------------*/
.mt5 {
	margin-top: 5px;
}

.mt10 {
	margin-top: 10px;
}

.mt15 {
	margin-top: 15px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt40 {
	margin-top: 40px;
}

.mt50 {
	margin-top: 50px;
}

.mt80 {
	margin-top: 80px;
}

.mr5 {
	margin-right: 5px;
}

.mr10 {
	margin-right: 10px;
}

.mr15 {
	margin-right: 15px;
}

.mr20 {
	margin-right: 20px;
}

.mb5 {
	margin-bottom: 5px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb15 {
	margin-bottom: 15px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb25 {
	margin-bottom: 25px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb35 {
	margin-bottom: 35px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb45 {
	margin-bottom: 45px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb60 {
	margin-bottom: 60px;
}

.mb80 {
	margin-bottom: 80px;
}

.ml5 {
	margin-left: 5px;
}

.ml10 {
	margin-left: 10px;
}

.ml15 {
	margin-left: 15px;
}

.ml20 {
	margin-left: 20px;
}

.ml40 {
	margin-left: 40px;
}

.ml50 {
	margin-left: 50px;
}

.mtb10 {
	margin: 10px 0;
}

.m-auto {
	margin-left: auto;
	margin-right: auto;
}

.left-contents {
	float: left;
}

.right-contents {
	float: right;
}

.clear {
	height: 0;
	clear: both;
}

.v-middle {
	vertical-align: middle;
}

.v-bottom {
	vertical-align: bottom;
}

.align-right {
	text-align: right;
}

.align-left {
	text-align: left;
}

.align-center {
	text-align: center;
}

.fs28 {
	font-size: 28px;
}

.fs24 {
	font-size: 24px;
}

.fs20 {
	font-size: 20px;
}

.fs14 {
	font-size: 14px;
}

.fs12 {
	font-size: 12px;
}

.fs10 {
	font-size: 10px;
}

.relative {
	position: relative;
}

.cp_absolute {
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 12px;
	padding: 3px;
	color: #fff;
	background-color: rgba(0, 0, 0, .7);
	margin: 0;
}

.cp_absolute.l {
	right: auto;
	left: 0;
}

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

/*************************
       clearfix
*************************/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/*********************
      config
*********************/
body {
	margin: 0;
	padding: 0;
	font-family: source-han-sans-cjk-ja, sans-serif;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	line-height: 1.7;
	color: #333;
}

.wrap {
	overflow: hidden;
}

.amatic {
	font-family: "Libre Baskerville", "Amatic SC";
}

.kosugi {
	font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGP明朝E", "serif";
}

a.op {
	transition: .3s;
}

a.op:hover {
	opacity: .7;
}

.mw960 {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.mw1280 {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

p {
	font-size: 14px;
}

.mincho {
	font-family: "Noto Serif JP", serif;
}

.cap {
	font-size: 12px;
}

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

	.sp {
		display: block !important;
	}

	p {
		font-size: 13px;
	}

	.cap {
		font-size: 10px;
	}
}

/******header*******/

.header {
	position: fixed;
	left: 0;
	top: 0;
	height: 60px;
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	z-index: 10;
	background: #fff;
	box-sizing: border-box;
}

.header_inner {
	position: relative;
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
	background: #fff;
}

h1.title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 10%;
	padding: 15px;
}

.nav {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 50%;
}

.nav_list {
	text-align: right;
}

.nav_list li {
	display: inline-block;
	text-align: right;
	padding-left: 20px;
}

.nav_list li a {
	color: #851300;
	font-weight: 600;
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: flex-end;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

/* header固定のため余白をつける。メニューのCSSには関係ない */
.main {
	margin-top: 60px;
}

@media only screen and (max-width: 979px) {
	h1.title {
		width: 30%;
	}

	.nav {
		position: fixed;
		right: -320px;
		/* 右から出てくる */
		top: 0;
		width: 300px;
		/* スマホに収まるサイズ */
		height: 100vh;
		padding-top: 60px;
		background-color: #fff;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
		/* メニューが多くなったらスクロールできるように */
	}

	.hamburger {
		position: absolute;
		right: 15px;
		top: 8px;
		width: 40px;
		/* クリックしやすい幅 */
		height: 40px;
		/* クリックしやすい高さ */
		cursor: pointer;
		z-index: 300;
	}

	.nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.nav_list h1.title {
		width: 70%;
		margin-left: auto;
	}

	.icon_tel {
		width: 16px;
		margin-right: .5em;
	}

	.nav_item {
		text-align: center;
		padding: 0 14px;
		display: block;
		width: 100%;
	}

	.nav_item a {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid #eee;
		text-decoration: none;
		color: #333;
	}

	.nav_item a:hover {
		background-color: #eee;
	}

	.hamburger_border {
		position: absolute;
		left: 11px;
		width: 18px;
		height: 2px;
		background-color: #dc0012;
		background-color: #000;
		transition: all .6s;
	}

	.hamburger_border_top {
		top: 14px;
	}

	.hamburger_border_center {
		top: 20px;
	}

	.hamburger_border_bottom {
		top: 26px;
	}

	.black_bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #333;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}

	/* 表示された時用のCSS */
	.nav-open .nav {
		right: 0;
	}

	.nav-open .black_bg {
		opacity: .8;
		visibility: visible;
	}

	.nav-open .hamburger_border_top {
		transform: rotate(45deg);
		top: 20px;
	}

	.nav-open .hamburger_border_center {
		width: 0;
		left: 50%;
	}

	.nav-open .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 20px;
	}
}

/* sp */



/******ttl*******/
.ttl_box {
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
	max-width: 80%;
	margin: 0 auto;
	padding: 40px;
}

.ttl_box p:nth-of-type(1) {
	width: 37%;
	/* 幅指定 */
	display: flex;
	align-items: center;
	justify-content: center;
	color: #dc0012;
	font-weight: bold;
	font-size: 24px;
}

.ttl_box h1 {
	width: 25%;
	/* 幅指定 */
	display: flex;
	align-items: center;
	justify-content: center;

}

.ttl_box p:nth-of-type(2) {
	width: 37%;
	/* 幅指定 */
	display: flex;
	align-items: center;
	justify-content: center;
	color: #dc0012;
	font-weight: bold;
	font-size: 24px;
}

.ttl_box p img {
	height: 20px;
	width: auto;
	margin: 0 auto;
	display: block;
}

@media screen and (max-width:979px) {
	.ttl_box {
		max-width: 80%;
		padding: 20px 0;
	}

	.ttl_box p:nth-of-type(1) {
		order: 2;
		width: 50%;
	}

	.ttl_box h1 {
		order: 1;
		width: 100%;
		margin: 0 auto 20px;
	}

	.ttl_box h1 img {
		display: block;
		margin: 0 auto;
		width: 50%;
	}

	.ttl_box p:nth-of-type(2) {
		order: 3;
		width: 50%;
	}

	.ttl_box p:nth-of-type(1) img,
	.ttl_box p:nth-of-type(2) img {
		display: block;
		margin: 0 auto;
		width: 90%;
	}
}


/******メインビジュアルカスタマイズ*******/
.swiper {
	position: relative;
}

.swiper-slide {
	/*fedeアニメーションは必要ないため透過を無しにする*/
	opacity: 1 !important;
}

.swiper-slide .image,
.swiper-slide .image img {
	/*切り替わり中は前のスライドのアニメーションを遅らせる*/
	transition-delay: 0.5s;
}

.swiper-slide .image {
	transform: translateX(-100%);
	overflow: hidden;
}

.swiper-slide .image img {
	transform: translateX(100%);
}

.swiper-slide-active {
	/*アクティブなスライドが一番上に来るように*/
	z-index: 2;
}

.swiper-slide-active .image,
.swiper-slide-active .image img {
	transition-delay: 0s;
	transition-duration: 0.5s;
	transform: translateX(0%);
}



/*text animetions*/
.anime-up {
	font-family: "Noto Serif JP", serif;
	position: absolute;
	left: 10%;
	top: 10%;
	z-index: 2;
	font-size: 55px;
	letter-spacing: .2em;
	writing-mode: vertical-rl;
	color: #fff;
	font-feature-settings: 'pkna';
}

@keyframes showTextFromBottom {
	0% {
		transform: translateY(100%) rotate(90deg);
	}

	100% {
		transform: translateY(0px) rotate(0deg);
	}
}

.anime-up.displayed span {
	animation: showText 1s backwards;
	display: inline-block;
}

.anime-up.displayed>span {
	overflow: hidden;
}

.anime-up.displayed>span>span {
	animation: showTextFromBottom 1s backwards;
}


@media screen and (max-width:979px) {
	.anime-up {
		left: 5%;
		font-size: 42px;
	}
}

.scroll {
	font-size: 12px;
	z-index: 2;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	writing-mode: vertical-rl;
	color: #fff;
}

.arrow-down {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	position: relative;
	width: 0.1em;
	height: 6em;
	margin-right: .6em;
	background: currentColor;
}

.arrow-down::before {
	content: '';
	width: 0.65em;
	height: 0.65em;
	border: 0.1em solid currentColor;
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg);
	transform-origin: bottom left;
	position: absolute;
	left: 50%;
	bottom: -0.05em;
	box-sizing: border-box;
}




@media (max-width: 979px) {
	.scroll {
		left: unset;
		top: unset;
		transform: unset;
		right: 10px;
		bottom: 30px;
	}
}

img.line01 {
	z-index: 2;
	position: absolute;
	width: 100%;
	bottom: 0px;
}

img.line02 {
	z-index: 2;
	position: absolute;
	width: 100%;
	top: 0px;
}

img.shadow {
	filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
}

.subttl img {
	height: 100px;
	width: auto;
	display: block;
	margin: 0 auto;
}

.section01 {
	position: relative;
	z-index: 1;
}

.section01_top {
	position: relative;
}

.section01_top .subttl {
	position: absolute;
	left: 150px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}

.section01_top .section01_read {
	position: absolute;
	left: 150px;
	bottom: 150px;
	width: 55%;
}

.section02 {
	background: #851300;
	padding: 100px 0 0;
}

.box01 {
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row-reverse;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
	max-width: 980px;
	margin: 0 auto;
}

.box01 .box01_txt {
	width: 45%;
	/* 幅指定 */
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 16px;
	line-height: 2.5em;
	letter-spacing: .2em;
	position: relative;
}

.box01_bg {
	width: 70%;
	position: absolute;
	z-index: 0;
	left: -35%;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}

.box01_img {
	width: 45%;
	/* 幅指定 */
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.box01_img .img02 {
	position: absolute;
	bottom: 0;
	left: 0;
	max-width: 165%;
	width: 165%;
	z-index: 1;
}

.box02 {
	flex-direction: row;
	margin: 60px auto;
}

.box02_bg {
	width: 70%;
	position: absolute;
	z-index: 0;
	right: -10%;
	bottom: 15%;
}

.box02 .box01_img {
	display: block;
	width: 55%;
}

.box02 .box01_img img {
	width: 70%;
	margin-right: auto;
	border-radius: 15px;
}

.box01_img .cap {
	color: #fff;
	margin-top: 10px;
}

@media (max-width: 979px) {
	.section01_top .subttl {
		left: 10%;
	}

	.subttl img {
		height: 60px;
	}

	.section01_top .section01_read {
		position: absolute;
		left: 10%;
		bottom: -30px;
		width: 70%;
	}

	.box01 {
		display: block;
		margin: 0px auto 0;
	}

	.box01_img .img02 {
		display: none;
	}

	.box01_img {
		width: 100%;
	}

	.box01 .box01_txt {
		width: 80%;
		margin: 80px auto;
		font-size: 14px;
	}

	.box02 .box01_img {
		width: 80%;
		margin: 0 auto;
	}

	.box02 .box01_img img {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
	}

	.box01_bg {
		width: 60%;
		left: unset;
		top: unset;
		transform: unset;
		right: -40px;
		bottom: -100px;
	}

	.box02_bg {
		display: none;
	}

	.box03_bg {
		position: absolute;
		width: 80%;
		right: -40px;
		bottom: -40px;
	}
}


.box04 {
	max-width: 1100px;
	margin: 100px auto;
}

.box04_ttl {
	width: 70%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 40px;
}

.box04_ttl img {
	width: 45%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

.box04_img {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}

.box04_img div {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30%;
}

@media (max-width: 979px) {
	.box04_ttl {
		width: 100%;
		display: block;
	}

	.box04_ttl img {
		width: 50%;
		margin: 0 auto 20px;
	}

	.box04_ttl img+img {
		width: 60%;
		margin: 0 auto 0px;
	}

	.box04_img {
		display: block;
	}

	.box04_img div {
		width: 80%;
		margin: 0 auto;
	}

	.box04_img div:nth-of-type(2) {
		margin: 40px auto;
	}
}

/********menu*********/
.section03 {
	padding: 100px 0 0;
}

.menu_box_wrap {
	max-width: 1100px;
	margin: 80px auto;
}

.menu_btn {
	margin-top: 100px;
}

.menu_btn_anchor:hover {
	cursor: pointer;
}

.menu_btn_img {
	transition: 0.3s;
}

.menu_btn_anchor:hover .menu_btn_img {
	opacity: .7;
	transition: 0.3s;
}

.menu_btn_ttl {
	font-family: "Noto Serif JP", serif;
	background: #851300;
	color: #fff;
	padding: 10px 30px;
	text-align: left;
	font-size: 20px;
}

.click {
	font-family: "Noto Serif JP", serif;
	background: #000;
	color: #fff;
	padding: 5px 0px;
	text-align: center;
	font-size: 24px;
	transition: 0.3s;
}

.click span {
	transform: scale(1.4, 1);
	font-size: 80%;
	vertical-align: baseline;
	display: inline-block;
}

.menu_btn_anchor:hover .click {
	background: #851300;
	transition: 0.3s;
}

.menu_btn_img {
	position: relative;
}

.menu_txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index: 9;
	height: 30px;
	width: auto;
}

.menu_target {
	display: none;
}

/********menu_box*********/
.okonomi {
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.okonomi>div {
	width: 49%;
	background-color: #f0e4cb;
	margin: 10px auto 0;
}

.okonomi>div:nth-of-type(odd) {
	margin-right: 1%;
}

.okonomi>div:nth-of-type(even) {
	margin-left: 1%;
}

.icon01 {
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 20%;
}

p.okonomi_lead {
	text-align: center;
	background: #851300;
	font-size: 14px;
	color: #fff;
}

p.okonomi_lead img {
	display: block;
	margin: 0 auto;
	padding: 4px 5px;
}

.okonomi_txt {
	padding: 20px 5%;
}

.menu_name {
	/* font-family: "Noto Serif JP", serif; */
	font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
	color: #851300;
	font-size: 20px;
	overflow: hidden;
	width: 100%;
	border-bottom: 1px solid #851300;
	font-weight: bold;
}

.menu_name span.price {
	float: right;
	letter-spacing: -0.01em;
}

.menu_name span {
	font-weight: bold;
}

.eng {
	font-size: 12px;
	color: #851300;
	margin-bottom: 10px;
}

.component {
	font-size: 14px;
	letter-spacing: 0;
}

.sentence {
	letter-spacing: -0.1em;
}

/********トッピングメニュー*********/
.okonomi>div.topping {
	width: 100%;
	padding: 20px;
	margin-right: 0%;
	margin-left: 0%;
}

.topping_inner {
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.topping_inner>div {
	width: 50%;
}

.sobaniku {
	border: 1px solid #851300;
	padding: 10px 5%;
	margin-bottom: 10px;
}

.topping_inner .sobaniku .menu_name {
	max-width: 100%;
}

.topping_inner .menu_name {
	font-size: 20px;
	max-width: 90%;
	margin: 0 auto;
	position: relative;
}

.topping_inner .menu_name .eng {
	font-size: 14px;
	vertical-align: baseline;
	color: #333;
	position: absolute;
	left: 11em;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	font-family: source-han-sans-cjk-ja, sans-serif;
	font-weight: normal;
}

.topping_inner .menu_name .eng02 {
	left: 16em;
}

.sobamataha {
	letter-spacing: -0.05em;
}


/********おつまみメニュー*********/
.otsumami_btn {}

.otsumami {
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */

	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr 1fr;
}

.otsumami>div {
	background-color: #f0e4cb;

	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
}

.otsumami>div:nth-of-type(3n) {
	margin-left: 1%;
	margin-right: 1%;
}



div.kakiteppan {
	background-color: #f0e4cb;
	display: flex;
		align-items: center;
		/* 縦中央に配置 */
		background-color: #f0e4cb;
		grid-column: span 2;
		/* 画像とテキストの間に余白 */
		margin-top: 10px;
}

.kakiteppan_img {
	width: 65%;
}

.kakiteppan_txt {
	position: relative;
	text-align: center;
	margin: 0 auto;
}
div.kakiteppan+div{
	background-color: #f0e4cb;
	margin-top: 10px;
}
div.kakiteppan+div .otsumami_txt {
	padding: 0px 5%;
}


.kakiteppan_txt .menu_name {
	line-height: 1.2em;
	font-size: 28px;
}

.kakiteppan_txt .menu_name span.price {
	float: none;
}

small small {
	font-size: 11px;
	vertical-align: baseline;
}

.icon02 {
	position: absolute;
	top: -60px;
	left: -60px;
	width: 40%;
}

.otsumami .eng {
	color: #333;
	text-align: center;
	margin-bottom: 0px;
}

.otsumami_txt {
	padding: 20px 5%;
}

.menu_name.ruby {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

.menu_name.mw90 {
	max-width: 90%;
	margin: 0 auto;
}

.menu_name.mw70 {
	max-width: 70%;
	margin: 0 auto;
}

/********クイックメニュー*********/
.quickmenu {
	padding: 20px;
	background-color: #f0e4cb;
	margin: 10px auto 0;
}

.quickmenu_inner {
	display: flex;
	/* フレックスボックスにする */
	align-items: center;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.quickmenu_inner>div {
	width: 24%;
	display: flex;
	/* フレックスボックスにする */
	align-items: end;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.quickmenu_img {
	width: 68%;
}

.quickmenu_txt {
	width: 30%;
}

.quickmenu_txt_in {
	/* min-height: 97px; */
}

.quickmenu_txt .menu_name {
	font-size: 16px;
	text-align: center;
}

.quickmenu_txt .eng {
	font-size: 11px;
	color: #333;
	margin-bottom: 10px;
	text-align: center;
}

.quickmenu_txt p.price {
	font-family: "Noto Serif JP", serif;
	color: #851300;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}

/********ドリンクメニュー*********/
.drink {
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
	padding: 20px;
	background-color: #f0e4cb;
	margin: 10px auto 0;
}

#menu_target03 div.beer {
	width: 30%;
	margin-bottom: 40px;
}

#menu_target03 div.shochu {
	width: 65%;
	margin-bottom: 40px;
}

#menu_target03 div.highball {
	width: 30%;
}

#menu_target03 div.umechu {
	width: 30%;
}

#menu_target03 div.nonal {
	width: 30%;
}

.drink_ttl {
	background: #851300;
	padding: 5px 1em;
	margin-bottom: 20px;
	position: relative;
}

.drink_ttl img {
	height: 24px;
	width: auto;
}

#menu_target03 .menu_name {
	font-size: 18px;
}

#menu_target03 .eng {
	color: #333;
}

.beer .drink_box {
	max-width: 90%;
	margin-left: auto;
}

.beer>div:nth-child(2) {
	max-width: 100%;
	margin: 0 auto;
}

.shochu_inner {
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.shochu_inner>div {
	width: 48%;
}

.sour_inner {
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.sour_inner div.drink_box {
	width: 30%;
}

.drink05 {
	height: 34px;
}

.drink05 img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	left: 1em;
}

.umechu_txt {
	position: absolute;
	right: 0;
	top: -30px;
	font-size: 20px;
	font-family: "Noto Serif JP", serif;
	color: #851300;
	font-weight: bold;
}

#menu_target03 .tight .menu_name {
	letter-spacing: -0.1em;
	font-size: 14px;
}


@media (max-width: 979px) {
	.okonomi {
		display: block;
	}

	.okonomi>div {
		width: 90%;
		margin: 20px auto 0;
	}

	.okonomi>div:nth-of-type(odd) {
		margin-right: auto;
	}

	.okonomi>div:nth-of-type(even) {
		margin-left: auto;
	}

	.menu_txt {
		height: 20px;
	}

	.click {
		font-size: 16px;
	}

	.menu_name {
		font-size: 16px;
		letter-spacing: -0.01em;
	}

	.component {
		font-size: 10px;
	}

	p.okonomi_lead {
		font-size: 10px;
	}

	.okonomi>div.topping {
		width: 90%;
		margin: 20px auto 0;
		padding: 20px 10px;
	}

	.topping_inner {
		display: block;
	}

	.topping_inner>div {
		width: 100%;
	}

	.topping_inner .menu_name {
		font-size: 14px;
	}

	.topping_inner .menu_name .eng {
		font-size: 10px;
	}

	.topping_inner .menu_name .eng02 {
		left: 8em;
	}

	.sentence {
		letter-spacing: -0.1em;
	}

	.topping_inner .menu_name.sentence .eng02 {
		left: 12em;
		letter-spacing: -0.03em;
	}


	.topping_inner .menu_name.sobamataha {
		font-size: 12px;
		letter-spacing: -0.05em;
	}

	.topping_inner .menu_name.sobamataha .eng02 {
		left: 11.5em;
	}

	.okonomi>div.topping+p.cap,
	.okonomi>div.topping+p.cap+p.cap {
		max-width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	
				div.kakiteppan {
			display: grid;
				grid-template-rows: subgrid;
				grid-row: span 2;
				width: unset;
				width: 100%;
		}

		.kakiteppan_img {
		width: 100%;
	}

		.kakiteppan_txt {
		width: 100%;
		text-align: left;
		padding: 0px 5% 10px;
	}

		.otsumami .kakiteppan_txt .menu_name  {
		display: flex;
		/* フレックスボックスにする */
		align-items: baseline;
		/* 縦の位置指定 */
		justify-content: space-between;
		/* 横の位置指定 */
		flex-direction: row;
		/* 要素の並び順 */
		flex-wrap: wrap;
		/* 折り返し指定 */
		font-size: 18px;
	}
				.otsumami div.kakiteppan+div {
			grid-template-rows: subgrid;
			margin-top: 0px;
		}

	.icon02 {
		position: absolute;
		top: -150%;
			left: -10px;
			width: 100px;
	}

	.otsumami {
		width: 90%;
		margin: 0 auto;
		gap: 10px;
		grid-template-columns: 1fr 1fr;
	}

	.otsumami .menu_name {
		/* font-size: 12px;
		letter-spacing: -0.01em; */
		letter-spacing: -0.1em;
		font-size: 10px;
	}

	.otsumami .menu_name.horumonteppan {
		letter-spacing: -0.1em;
		font-size: 10px;
	}

	.otsumami_txt {
		padding: 0px 5% 10px;
	}

	.otsumami_txt .eng {
		font-size: 10px;
		text-align: left;
		letter-spacing: -.01em;
	}

	.menu_name.mw70 {
		max-width: 100%;
	}

	.menu_name.mw90 {
		max-width: 100%;
	}

	.quickmenu {
		width: 90%;
		padding: 20px 10px;
	}

	.quickmenu_inner>div {
		width: 49%;
	}

	.quickmenu_inner>div:nth-of-type(1),
	.quickmenu_inner>div:nth-of-type(2) {
		margin-bottom: 20px;
	}

	.quickmenu_txt_in+.quickmenu_txt_in {
		margin-top: 5px;
	}

	.quickmenu_txt .menu_name {
		font-size: 10px;
	}

	.quickmenu_txt .eng {
		font-size: 10px;
		letter-spacing: -0.03em;
		line-height: 1em;
		margin-bottom: 0;
	}

	.quickmenu_img {
		width: 58%;
	}

	.quickmenu_txt {
		width: 40%;
	}

	.quickmenu_txt p.price {
		font-size: 12px;
	}

	.drink {
		display: block;
		width: 90%;
		padding: 20px 10px;
	}

	#menu_target03 .menu_name {
		font-size: 16px;
	}

	#menu_target03 div.beer {
		width: 100%;
	}

	#menu_target03 div.shochu {
		width: 100%;
	}

	.shochu_inner {
		display: block;
	}

	.shochu_inner>div {
		width: 100%;
	}

	#menu_target03 div.highball {
		width: 100%;
		margin-bottom: 40px;
	}

	.sour_inner div.drink_box {
		width: 24%;
	}

	#menu_target03 div.umechu {
		width: 100%;
		margin-bottom: 40px;
	}

	.umechu_txt {
		position: absolute;
		right: 10px;
		font-size: 16px;
		color: #fff;
		font-weight: normal;
		/* top: 50%;
		transform: translateY(-50%); */
		top: 2px;
		letter-spacing: -0.1em;
	}

	#menu_target03 div.nonal {
		width: 100%;
	}

	.sour_inner {
		justify-content: flex-start;
	}

	#menu_target03 .sour_inner .menu_name {
		font-size: 12px;
		letter-spacing: 0;
	}

	.sour_inner div.drink_box:not(:nth-of-type(1)),
	.sour_inner div.drink_box:not(:nth-of-type(5)) {
		margin-right: 1%;
	}

	#menu_target03 .tight {
		width: 49%;
	}

	.eng {
		font-size: 10px;
	}

	#menu_target03 .eng {
		letter-spacing: 0;
	}

	.drink_ttl img {
		height: 20px;
	}
}


/********img09********/
.img09 {
	margin: 200px auto 100px;
}

@media (max-width: 979px) {
	.img09 {
		margin: 0px auto 00px;
	}
}

/********section03********/

.section03 .subttl span {
	display: block;
	text-align: center;
	border-top: 1px solid #851300;
	border-bottom: 1px solid #851300;
	color: #851300;
	font-size: 18px;
	margin: 20px auto 0;
	padding: 5px 0;
	max-width: 30%;
}

.map_wrap {
	max-width: 1100px;
	margin: 100px auto 0;
}

.map_ttl {
	background-color: #851300;
	padding: 20px;
	display: flex;
	/* フレックスボックスにする */
	align-items: center;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.map_ttl div:nth-of-type(1) {
	width: 25%;
}

.map_ttl p {
	color: #fff;
	font-size: 40px;
	width: 28%;
}

.map_ttl div:nth-of-type(2) {
	width: 45%;
}

.map {
	width: 100%;
	height: auto;
	position: relative;
	padding-top: 43.25%;
	padding-top: 60%;
}

.map iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.map_txt {
	position: absolute;
	right: 0;
	bottom: 0;
	background-color: #851300;
	padding: 30px;
	border-top-left-radius: 20px;
	z-index: 1;
	width: 50%;
	color: #fff;
}

.map_txt_ttl {
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom: 1px solid #fff;
	display: flex;
	/* フレックスボックスにする */
	align-items: center;
	/* 縦の位置指定 */
	justify-content: left;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.map_txt_ttl img {
	display: inline-block;
	width: 30%;
}

.map_txt_ttl span {
	font-size: 24px;
	padding-left: .5em;
}

.map_txt_inner {
	display: flex;
	/* フレックスボックスにする */
	align-items: normal;
	;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.map_txt_inner>div {
	width: 40%;
}

.map_txt_inner>div p {
	font-size: 12px;
}

.map_txt_inner>div:nth-of-type(2) p {
	text-align: right;
}

.map_wrap .cap {
	text-align: right;
}

.map_wrap+.map_wrap {
	margin: 100px auto;
}

@media (max-width: 979px) {
	.section03 .subttl span {
		font-size: 14px;
		max-width: 70%;
	}

	.map_ttl {
		padding: 20px 40px;
	}

	.map_ttl div:nth-of-type(1) {
		width: 55%;
	}

	.map_ttl p {
		font-size: 20px;
		width: 45%;
		padding-left: .5em;
	}

	.map_ttl div:nth-of-type(2) {
		width: 100%;
		margin: 20px auto 0;
	}

	.map {
		padding-top: 150%;
	}

	.map_txt {
		padding: 20px;
		width: 90%;
	}

	.map_txt_ttl img {
		width: 50%;
	}

	.map_txt_ttl span {
		font-size: 18px;
		padding-left: .5em;
	}

	.map_txt_inner>div {
		width: 50%;
	}

	.map_txt_inner>div p {
		font-size: 10px;
		letter-spacing: 0;
	}

	.map_wrap .cap {
		text-align: left;
		max-width: 90%;
		margin: 10px auto 0;
	}
}

/********section04********/
.img11_wrap {
	position: relative;
	margin: 200px auto;
}

img.img11 {
	max-width: 75%;
}

img.icon03 {
	position: absolute;
	right: 15%;
	top: -50px;
	width: 25%;
}

.workdetails {
	max-width: 1100px;
	margin: 0 auto;
}

.workdetails table {
	border-collapse: collapse;
	table-layout: fixed;
}

.workdetails table tr {
	border-top: 1px solid #000;
	display: table;
	table-layout: fixed;
	width: 100%;
}

.workdetails table tr:last-of-type {
	border-bottom: 1px solid #000;
}

.workdetails table tr th {
	width: 30%;
	padding: 2% 2% 2% 0;
	text-align: left;
	display: table-cell;
	vertical-align: middle;
	line-height: 2em;
}

.workdetails table tr td {
	width: 53%;
	padding: 2% 2% 2% 0;
	text-align: left;
	display: table-cell;
	vertical-align: middle;
	line-height: 2em;
}

@media (max-width: 979px) {
	img.img11 {
		max-width: 100%;
	}

	img.icon03 {
		position: absolute;
		right: unset;
		top: unset;
		left: 50%;
		transform: translateX(-50%);
		-webkit- transform: translateX(-50%);
		width: 70%;
		bottom: -140px;
	}

	.img11_wrap {
		position: relative;
		margin: 50px auto 200px;
	}

	.workdetails {
		max-width: 90%;
		margin: 0 auto;
	}

	.workdetails table tr {
		font-size: 12px;
	}

	.workdetails table tr th,
	.workdetails table tr td {
		padding: 4% 2% 4% 0;
	}
}

/********footer********/
.footer {
	background-color: #000;
	margin-top: 200px;
}

.footer_link {

	padding: 150px 0;
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	/* フレックスボックスにする */
	align-items: center;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
	color: #fff;
}

.footer_link>div:nth-of-type(1) {
	width: 50%;
	/* 幅指定 */
}

.footer_link h1 {
	margin-bottom: 50px;
	max-width: 60%;
}

.footer_link>div:nth-of-type(2) {
	width: 30%;
	/* 幅指定 */
	display: flex;
	/* フレックスボックスにする */
	align-items: stretch;
	/* 縦の位置指定 */
	justify-content: space-between;
	/* 横の位置指定 */
	flex-direction: row;
	/* 要素の並び順 */
	flex-wrap: wrap;
	/* 折り返し指定 */
}

.footer_link>div:nth-of-type(2) li {
	width: 50%;
	display: inline-block;
	margin-bottom: 30px;
	color: #fff;
}

.footer_link>div:nth-of-type(2) li a {
	text-decoration: none;
	color: #fff;
}

p.copyright {
	text-align: right;
	color: #fff;
	padding-right: 3em;
}

@media (max-width: 979px) {
	.footer {
		margin-top: 80px;
	}

	.footer_link {
		padding: 80px 0 60px;
		display: block;
		position: relative;
	}

	.footer_link>div:nth-of-type(1) {
		width: 80%;
		margin: 0 auto;
		text-align: center;
	}

	.footer_link h1 {
		max-width: 60%;
		margin: 0 auto 20px;
	}

	.footer_link>div:nth-of-type(2) {
		width: 80%;
		display: block;
		margin: 60px auto 0;
	}

	.footer_link>div:nth-of-type(2) li a {
		;
		font-weight: bold;
	}

	p.copyright {
		text-align: center;
		padding: 0 0 30px;
		font-size: 12px;
	}

	.totop {
		position: absolute;
		right: 10%;
		bottom: 50px;
		z-index: 2;
	}

	.totop a {
		text-decoration: none;
		color: #fff;
		font-size: 26px;
		transform: scale(1.4, 1);
		line-height: 1em;
		width: 100%;
	}
}

.swiper-slide {
	-webkit-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
}