@charset "utf-8";.pc_only,.pc_only_2 {	display: none;}.sp_only{	display: block;}@media screen and (min-width: 768px){    .pc_only{		display: block;	}	.sp_only{		display: none;	}	.sp_only_2 {		display: none;	}}@media screen and (min-width: 768px){    .pc_only_2 {		display: block;	}	.sp_only_2 {		display: none;	}}body {	font-family: "Noto Serif JP", serif;	font-optical-sizing: auto;	font-weight: 400;	font-style: normal;	color: #000;}table {	border-collapse: collapse;}th,td {	border: 1px solid #000;	padding: 12px 16px;	font-weight: 400;}th {	vertical-align: baseline;}img {	width: 100%;}.font {	font-family: "Noto Sans JP", sans-serif;}@media screen and (min-width: 768px){    main {		/* padding: 2.5% 5% 0; */	}}/* ---------- ヘッダー ---------- */.logo {	position: absolute;	left: 20px;	top: 10px;	/* transform: translate(-50%, -50%); */	width: 30%;	z-index: 1;}@media screen and (min-width: 768px) {	.header {		position: relative;		width: 100%;		top: 0;		font-family: "Noto Sans JP", sans-serif;		z-index: 2;	}	.header_flex_1 {		display: flex;		flex-direction: row;		justify-content: center;		align-items: center;		width: 100%;	}	.header_flex_1 > *:nth-child(1) {		width: 90%;	}	.header_flex_1 > *:nth-child(2) {		width: 10%;	}	.header .header_contact {		display: flex;		flex-direction: column;		justify-content: center;		width: fit-content;		margin: 0 5% 0 auto;		font-size: 1rem;		gap: 5px;	}	.header .header_contact span {		display: block;		text-align: center;	}	.header .header_contact .text {		font-family: "Noto Serif JP", serif;		font-size: 0.6rem;	}	.header .header_contact .tel {		display: flex;		flex-direction: row;		align-items: center;		justify-content: center;	}	.header .header_contact .tel .tel_child_1 {		width: auto;		height: 1.4rem;	}	.header .header_contact .tel .tel_child_2 {		width: auto;		font-size: 1.4rem;		color: #1E354A;	}	.header .booking {		display: flex;		flex-direction: column;		align-items: center;		justify-content: center;		gap: 10px;		width: 20%;		padding: 3% 2%;		background-color: #1E354A;	}	.header .booking .booking_child_1 {		width: auto;		height: 1.4rem;	}	.header .booking .booking_child_2 {		width: auto;		font-size: 0.8rem;		font-family: "Noto Serif JP", serif;		color: #fff;	}	.header_flex_2 {		display: flex;        align-items: center;        justify-content: flex-end;        width: fit-content;        margin: 1% 2% 0 auto;	}	.header_flex_2 li {		margin: 0 0 0 3%;		font-size: 1rem;		color: #1E354A;	}	.header_flex_2 a {		display: flex;		flex-direction: column;		align-items: center;		justify-content: center;		text-align: center;	}	/* .header_flex_2 p:nth-of-type(1) {		margin: 0;		font-size: 0.6em;		color: #C79405;	} */	/* .header_flex_2 p:nth-of-type(2) {		margin: 5% 0 0 0;	} */	.logo {		top: 45px;		width: 15%;	}}@media screen and (min-width: 1024px) {	.header .header_contact {		margin: 0 6% 0 auto;	}	.header_flex_2 {		margin: 1% 4% 0 auto;	}	.header_flex_2 li {		margin: 0 0 0 5%;		font-size: 1rem;	}	.header .booking {		gap: 10px;		width: 15%;		padding: 3% 0%;	}	.logo {		top: 40px;		width: 18%;	}}@media screen and (min-width: 1440px) {	.header .header_contact .tel .tel_child_1 {		height: 1.8rem;	}	.header .header_contact .tel .tel_child_2 {		font-size: 1.8rem;	}	.header_flex_2 li {		margin: 0 0 0 10%;		font-size: 1.2rem;	}	.header .booking {		width: 10%;	}}@media screen and (min-width: 1920px) {	.logo {		left: 50px;	}	.header .header_contact .text {		font-size: 1rem;	}	.header .header_contact .tel .tel_child_1 {		height: 2rem;	}	.header .header_contact .tel .tel_child_2 {		font-size: 2rem;	}}/* ---------- fv ---------- */.fv {	position: relative;	height: 150px;	/* background-color: #ff7f7f; */	background-image: url(../img/dinner/fv.png);	background-size: cover;	background-position: center;}@media screen and (min-width: 768px) {	.fv {		height: 200px;	}	.fv_text {		position: absolute;		bottom: 0;		left: 5%;		font-size: 2rem;		font-family: "Noto Sans JP", sans-serif;		color: #fff;	}}@media screen and (min-width: 1024px) {	.fv {		height: 250px;	}	.fv_text {		left: 12%;	}}@media screen and (min-width: 1440px) {	.fv {		height: 350px;	}	.fv_text {		font-size: 2.6rem;	}}@media screen and (min-width: 1920px) {	.fv {		height: 450px;	}	.fv_text {		font-size: 3.2rem;	}}/* ---------- 背景 ---------- */.bg_1 {	padding: 5% 5% 30%;	 background-image: url(../img/top/bg_sp.png);}@media screen and (min-width: 768px) {	.bg_1 {		padding: 5% 2.5% 15%;		 background-image: url(../img/top/bg_pc.png); 	}}@media screen and (min-width: 1024px) {	.bg_1 {		padding: 5% 5% 15%;	}}@media screen and (min-width: 1440px) {	.bg_1 {		padding: 5% 7.5% 15%;	}}@media screen and (min-width: 1920px) {}/* ---------- DINNER ---------- */.dinner {	text-align: center;}.dinner_box_wrap {	display: flex;	flex-direction: column;	justify-content: center;	align-items: stretch;	gap: 48px;	width: 80%;	margin: 10% auto 0;}.dinner_box {	width: 100%;	margin: 0 auto;	padding: 5%;	/* border: 1px solid #000; */	box-shadow: 0px 0px 20px #77777729;}.dinner_box_flex {	display: flex;	flex-direction: column;	justify-content: flex-start;	align-items: stretch;	gap: 24px;	margin: 0 0 10% 0;}.dinner_box_title {	position: relative;	width: fit-content;	margin: 0 auto;	font-size: 1.6rem;	font-weight: 700;}.dinner_box_title::after {	content: '';	display: inline-block;	position: absolute;	bottom: -12px;	left: 50%;	transform: translate(-50%, 0%);	width: 50px;	height: 1px;	background-color: #000;}.dinner_box_text_wrap {	display: flex;	flex-direction: column;	justify-content: center;	align-items: stretch;	gap: 8px;	margin: 10% auto 0;}.price {	margin: auto auto 0;	font-size: 1.2rem;	color: #707070;}.price span {	font-weight: 700;}.dinner_img {	margin: 10% 0 0 0;}@media screen and (min-width: 768px) {	.dinner_text {		width: 50%;		margin: 0 auto;	}	.dinner_box_wrap {		display: flex;		flex-direction: row;		flex-wrap: wrap;		justify-content: center;		align-items: stretch;		gap: 64px;		width: 80%;	}	.dinner_box {		display: flex;		flex-direction: column;		justify-content: flex-start;		align-items: stretch;		width: calc((100% - 64px) / 2);		margin: 0 auto;		padding: 5%;		/* border: 1px solid #000; */	}	.dinner_box_title {		position: relative;		width: fit-content;		margin: 0 auto;		font-size: 1.6rem;	}	.dinner_box_title::after {		content: '';		display: inline-block;		position: absolute;		bottom: -12px;		left: 50%;		transform: translate(-50%, 0%);		width: 50px;		height: 1px;		background-color: #000;	}	.dinner_box_text_wrap {		display: flex;		flex-direction: column;		justify-content: center;		align-items: stretch;		gap: 8px;		margin: 10% auto 0;	}	.dinner_img {		width: 90%;		margin: 10% 0 0 0;	}}@media screen and (min-width: 1024px) {	.dinner_box_wrap {		gap: 64px;		width: 60%;	}	.dinner_box {		width: calc((100% - 64px) / 2);		margin: 0 auto;		padding: 5%;	}}@media screen and (min-width: 1440px) {	.dinner_box_title {		font-size: 2.2rem;	}	.dinner_text {		width: 45%;	}	.dinner_box_wrap {		gap: 64px;		width: 50%;	}	.price {		font-size: 1.4rem;	}	.dinner_img {		width: 70%;		margin: 10% 0 0 0;	}}@media screen and (min-width: 1920px) {	.dinner_box_title {		font-size: 2.8rem;	}	.dinner_text {		width: 40%;	}	.dinner_box_wrap {		gap: 64px;		width: 45%;	}	.price {		font-size: 1.6rem;	}	.dinner_img {		width: 60%;		margin: 10% 0 0 0;	}}/* ---------- SHOPINFO ---------- */.shopinfo {	padding: 30% 0;	background-image: url(../img/top/bg_shop_info_sp.png);	background-size: contain;}.shopinfo_title {	width: 90%;	margin: 0 auto;	font-size: 1.8rem;	color: #310D0A;}.shopinfo_table {	width: 90%;	margin: 0 auto;}.shopinfo_table tr th,.shopinfo_table tr td {	border: 0;}.shopinfo_table tr th {	padding-left: 0;}.shopinfo_table tr td {	padding-top: 0;	border-bottom: 1px solid #000;}.shopinfo_table tr td.border {	border-bottom: 0;}.shopinfo_img {	display: block;	width: 70%;	margin: 5% auto 0;}@media screen and (min-width: 768px) {	.shopinfo {		padding: 15% 0;	}	.shopinfo_table_pc {		display: flex;		flex-direction: row;		justify-content: center;		align-items: flex-end;		width: 90%;		margin: 0 auto;	}	.shopinfo_table {		width: 55%;	}	.shopinfo_table tr th,	.shopinfo_table tr td {		padding: 0.75em;		font-size: 0.8rem;		/* font-weight: 700; */	}	.shopinfo_table tr th {		padding-left: 0;		border-bottom: 1px solid #000;	}	.shopinfo_table tr td.border {		padding-bottom: 0;	}	.shopinfo_img {		width: 45%;		margin: 0;		padding: 0 5%;	}}@media screen and (min-width: 1024px) {	.shopinfo_title {		font-size: 2.4rem;	}	.shopinfo_table {		width: 57.5%;	}	.shopinfo_table tr th,	.shopinfo_table tr td {		font-size: 1rem;	}	.shopinfo_img {		width: 42.5%;		margin: 0;		padding: 0 5%;	}}@media screen and (min-width: 1440px) {	.shopinfo_table {		width: 67.5%;	}	.shopinfo_img {		width: 32.5%;		margin: 0;		padding: 0 5%;	}}@media screen and (min-width: 1920px) {	.shopinfo_title {		font-size: 3rem;	}	.shopinfo_table {		width: 65%;	}	.shopinfo_table tr th,	.shopinfo_table tr td {		font-size: 1.4rem;	}	.shopinfo_img {		width: 35%;		margin: 0;		padding: 0 5%;	}}/* ---------- */.map {	margin: 30% auto 0;}.map_title {	width: 90%;	margin: 0 auto;	font-size: 1.8rem;	color: #310D0A;}.map_posi {	position: relative;	width: 100%;	height: 0;	margin: 5% 0 0 0;	padding-top: 100%;}.map iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;}@media screen and (min-width: 768px) {	.map {		width: 90%;		margin: 15% auto 0;	}	.map_posi {		position: relative;		width: 100%;		height: 0;		padding-top: 56.25%; /* 56.25%で16:9 */		aspect-ratio: 16 / 9;	}	.map_title {		margin: 0;	}}@media screen and (min-width: 1024px) {	.map_title {		font-size: 2.4rem;	}}@media screen and (min-width: 1440px) {}@media screen and (min-width: 1920px) {	.map_title {		font-size: 3rem;	}}/* ---------- フッター ---------- */.footer {	padding: 20% 15%;	color: #fff;	background-color: #1E354A;}.footer_img {	margin: 20% 0 0 0;}.footer_title {	text-align: center;	font-size: 1.5rem;}.footer_title span {	display: block;	font-size: 1.75em;}.footer_text {	margin: 5% 0 0 0;	text-align: center;	font-size: 0.8em;}.footer_flex_2 {	display: flex;	flex-direction: row;	flex-wrap: wrap;	align-items: center;	justify-content: center;	gap: 2.5%;	margin: 2.5% auto 0;}.footer_flex_2 > * {	position: relative;	width: 30%;	margin: 2.5% 0 0 0;	/* padding: 0 0 0 20px; */	text-align: center;	font-size: 0.8rem;	font-family: "Noto sans JP", sans-serif;}.footer_flex_2 > *::before {	/* content: "";	position: absolute;	left: 5%;	top: 50%;	transform: translate(0%, -50%);	display: block;	width: 10px;	height: 1px;	background-color: #fff; */}.footer_flex_2 a {	width: fit-content;}.footer_flex_2 span {	display: block;	margin: 0 5% 0 0;}.footer_logo {	display: block;	margin: 10% auto 0;}.footer_contact {	display: flex;	flex-direction: column;	justify-content: center;	margin: 10% auto 0;	font-size: 1rem;	gap: 10px;}.footer_contact span {	display: block;	text-align: center;}.footer_contact .text {	font-family: "Noto Serif JP", serif;	font-size: 0.8rem;}.footer_contact .tel {	display: flex;	flex-direction: row;	align-items: center;	justify-content: center;}.footer_contact .tel .tel_child_1 {	width: auto;	height: 1.4rem;}.footer_contact .tel .tel_child_2 {	width: auto;	font-size: 1.4rem;	font-family: "Noto Sans JP", sans-serif;	color: #fff;}.footer_contact .booking {	display: flex;	flex-direction: row;	align-items: center;	justify-content: center;	gap: 10px;	width: 100%;	margin: 5% auto;	padding: 10% 5%;	background-color: #1E354A;	border: 1px solid #fff;}.footer_contact .booking .booking_child_1 {	width: auto;	height: 1.4rem;}.footer_contact .booking .booking_child_2 {	width: auto;	font-family: "Noto Serif JP", serif;	color: #fff;}@media screen and (min-width: 768px) {	.footer {		padding: 5%;	}	.footer_flex {		display: flex;		flex-direction: row;		align-items: center;		justify-content: center;	}	.footer_flex > * {		width: 50%;		height: fit-content;	}	.footer_flex_2 {		width: 65%;		margin: 2.5% auto;		font-size: 0.6rem;	}	.footer_flex_pc {		display: flex;		flex-direction: row;		justify-content: center;		align-items: center;	}	.footer_flex_pc_child_1 {		width: 25%;	}	.footer_flex_pc_child_2 {		width: 30%;		padding: 0 2.5%;	}	.footer_flex_pc_child_3 {		width: 45%;	}	.footer_logo {		margin: 0;	}	.footer_contact {		margin: 0;		gap: 5px;	}	.footer_contact .booking {		margin: 5px auto 0;		padding: 5%;	}	.footer_contact .booking .booking_child_1 {		width: auto;		height: 0.8rem;	}	.footer_contact .booking .booking_child_2 {		font-size: 0.8rem;	}	.copyright {		width: fit-content;		margin: 2.5% auto 0 0;		text-align: center;		color: #4A6A87;	}}@media screen and (min-width: 1024px) {	.footer_flex_pc_child_1 {		width: 25%;	}	.footer_flex_pc_child_2 {		width: 25%;	}	.footer_flex_pc_child_3 {		width: 50%;	}	.footer_flex_2 {		margin: 0;		gap: 5%;		font-size: 0.8rem;	}	.footer_flex_2 > * {		width: fit-content;		margin: 0;	}	.footer_text {		font-size: 0.8rem;	}}@media screen and (min-width: 1440px) {	.footer_flex_2 > * {		font-size: 1.2rem;	}	.footer_contact {		width: 80%;		margin: 0 auto;	}	.footer_contact .tel .tel_child_1 {		height: 1.6rem;	}	.footer_contact .tel .tel_child_2 {		font-size: 1.6rem;	}}@media screen and (min-width: 1920px) {	.footer_flex_2 > * {		font-size: 1.4rem;	}	.footer_contact {		width: 60%;	}}