@charset "UTF-8";


/*
	Theme Name: La Mano di Marco
	Theme URI: https://www.la-mano-di-marco.com
	Author: オフィス谷口
	Author URI: https://www.officetaniguchi.com
	Version: 0.0.2
*/



/* 共通設定 */

body {
	color: #464646;
	font-family: "Zen Old Mincho", serif;
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 0;
	padding: 0;
}
header, nav, footer {
	display: block;
}
header, article, footer {
	overflow: auto;
	margin: 0 auto;
	padding: 0;
}
hr {
	background-color: #499bea;
	border-style: none;
	height: 7px;
	margin: 0;
	padding: 0;
}
img {
	border: 0;
	margin: 0;
	max-width: 100%;
	vertical-align: bottom;
}
table {
	border-collapse: collapse;
}
.boldfont {
	font-weight: bold;
}
.caption {
	padding-left: 1.1em;
	text-indent: -1.1em;
}
.redfont {
	color: #f00;
}
.smallfont {
	font-size: 0.8em;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
.textcenter {
	text-align: center;
}


/* ヘッダー */

header {
	background: #313131;
	color: #fff;
	display: grid;
	grid-template-columns: 45% 1fr;
	left: 0;
	opacity: 0.8;
	overflow: hidden;
	padding: 1rem 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9990;
}
header > div:first-child {
	1align-content: end;
	align-content: center;
}
header > div:first-child div, header > div:last-child {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
header > div:first-child div {
	align-self: end;
	margin: 0 auto;
	width: 80%;
}
header > div:first-child div p {
	font-size: 0.8em;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 0;
	padding: 0;
	text-align: center;
}
header > div:first-child div p span {
	margin-left: 1em;
}
header > div:last-child nav {
	grid-column: 1 / 3;
}
header > div:last-child p {
	align-content: center;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	margin: 0;
	padding: 0;
}
header > div:last-child p:first-child a {
	color: #fff;
	display: block;
	font-size: 2em;
	letter-spacing: 0.1em;
	line-height: 1em;
	text-align: center;
	text-decoration: none;
}
header > div:last-child p:first-child a::before {
	content: '\f098';
	font: var(--fa-font-solid);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: inline-block;
	margin-right: 0.3em;
}
header h1 {
	height: 60px;
	margin: 0;
	text-align: center;
}
header h1 img {
	height: auto;
	width: 90%;
}
header h1 a {
	color: #fff;
	text-decoration: none;
}
header h1 a:hover {
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	opacity: 0.7;
}
#reservation {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#reservation li:nth-child(2) {
	margin-top: 0.3em;
}
#reservation li a {
	background-color: #800000;
	border-radius: 5px;
	color: #fff;
	display: block;
	font-weight: bold;
	margin: 0 auto;
	padding: 0.3em 0;
	text-align: center;
	text-decoration: none;
	width: 70%;
}



/* メインメニュー */

nav {
	height: 40px;
	margin-top: 1em;
}
nav ul {
	display: flex;
	height: 40px;
	justify-content: flex-start;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
nav li {
	flex-grow: 1;
}
nav li a {
	color: #fff;
	display: block;
	font-size: 80%;
	font-weight: bold;
	height: 100%;
	letter-spacing: 0.1em;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}
nav li a:hover {
	background: #207ce5;
	background: -moz-linear-gradient(top, #207ce5 0%, #499bea 100%);
	background: -webkit-linear-gradient(top, #207ce5 0%, #499bea 100%);
	background: linear-gradient(to bottom, #207ce5 0%, #499bea 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#207ce5', endColorstr='#499bea', GradientType=0);
}
nav input, nav label {
	display: none;
}



/* フッター */

footer {
	background: #313131;
	color: #fff;
	display: grid;
	grid-template-columns: 45% 1fr;
	font-size: 0.8em;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	padding: 3em 0;
	text-align: center;
	width: 100%;
}
footer a {
	color: #fff;
	text-decoration: none;
}
footer div:last-child {
	grid-column: 1 / 3;
	margin-top: 2em;
}
footer > div p:nth-child(3) {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
footer > div p:nth-child(3) a::before {
	content: '\f098';
	font: var(--fa-font-solid);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: 0.3em;
}
footer h2 a br {
	display: none;
}
footer ul {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
footer ul li {
	padding: 0.7em 0;
	width: 30%;
}
footer ul a {
	display: block;
	font-weight: bold;
	text-align: left;
	text-decoration: none;
	width: 100%;
}
footer ul a span::before {
	content: '\f054';
	font: var(--fa-font-solid);
	font-family: "Font Awesome 6 Free";
	font-weight: 700;
	margin-right: 0.5em;
}
footer p {
	margin-top: 5px;
}
footer p a {
	letter-spacing: 0.1em;
}



/* メインコンテンツ */
body {
	margin-top: 120px;
}
article h2 {
	color: #789;
	font-family: "Tangerine", cursive;
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1em;
	margin: 0 0 2rem;
	padding: 0 0 5px;
	text-align: center;
}
article h2 > span {
	display: block;
}
article h2 > span span {
	background: url(img/h-border.png) left top no-repeat;
	background-size: contain;
	display: block;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0 auto;
	padding-top: 10px;
	width: 25%;
}
article > section {
	margin: 7rem auto;
	width: 1200px;
}
#appo {
	border: 2px solid #ccc;
	margin: 0 auto;
	padding: 1em 0;
	width: 80%;
}
#appo dl {
	display: flex;
	flex-wrap: wrap;
	margin: 1em auto;
	overflow: hidden;
	padding: 0;
	row-gap: 1rem;
	width: 65%;
}
#appo dl > * {
	color: #8c8c8c;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.1em;
	padding: 0;
}
#appo dl dd {
	width: 70%;
}
#appo dl dd span {
	margin-left: 1em;
}
#appo dl dt {
	width: 30%;
}
#appo h3 {
	color: #047391;
	font-size: 4rem;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 2rem 0;
	text-align: center;
}
#appo p {
	color: #f00;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	text-align: center;
}
#appo h3::before {
	content: '\f098';
	font: var(--fa-font-solid);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: 0.3em;
}
#appoint > p {
	margin: 2em 0;
	text-align: center;
}
#appoint1 {
	margin: 4em auto;
}
#appoint1 caption {
	background-color: #f0f8ff;
	font-size: 1.5em;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 0.8em 0;
}
#appoint1 tr > * {
	border: 1px solid #eee;
	padding: 0.5em 1em;
}
#appoint1 tr th {
	background-color: #eee;
}
#breadcrumb {
	background-color: #000;
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	margin: 1rem auto;
	padding: 0.4em 15px 0.6em;
	width: 1200px;
}
#breadcrumb li {
	color: #fff;
	margin: 0;
	padding: 0;
	width: auto;
}
#breadcrumb li a {
	color: #fff;
}
#breadcrumb li:first-child::before {
	content: '\f015';
	font: var(--fa-font-solid);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	padding-right: 0.5em;
}
#breadcrumb li:not(:last-child)::after {
	content: '\f054';
	font: var(--fa-font-solid);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	padding: 0 0.4em 0 0.7em;
}

#list_area table {
	margin: 3rem auto;
}
#list_area table tr > * {
	border-bottom: 1px solid #ccc;
	padding: 1em 1em 0.5em;
}
#infoarea {
	margin: 2rem auto;
	width: 80%;
}
#infoarea table {
	margin: 0 auto;
	width: 100%;
}
#infoarea table tbody tr:first-child {
	color: #f00;
}
#infoarea table tbody tr:first-child > * {
	font-weight: bold;
}
#infoarea table tbody tr {
	border-bottom: 1px dashed #ccc;
}
#infoarea table tbody tr > * {
	padding: 0 0.5em 0.5em;
}
#infoarea table tbody tr th {
	font-weight: normal;
	width: 20%;
}
#map iframe {
	width: 100%;
}
#not_found {
	border: 1px solid #f00;
	padding: 5rem 0;
	text-align: center;
}
#pagination ul {
	list-style-type: none;
	margin:  5rem 0 3rem;
	padding: 0;
	text-align: center;
}
#pagination ul li {
	display: inline-block;
	height: 50px;
	margin: 0 2px;
	padding: 0;
	position: relative;
	width: 50px;
}
#pagination ul li a {
	background-color: #f5deb3;
	border-radius: 50px;
	color: #fff;
	display: block;
	left: 0;
	line-height: 50px;
	position: absolute;
	text-align: center;
	text-decoration: none;
	top: 0;
	transition: all 0.3s ease;
	width: 100%;
}
#pagination ul li a:hover {
	background-color: #8b0000;
	color: #fff;
}
#pagination ul li span {
	background-color: #8b0000;
	border-radius: 50px;
	color: #fff;
	display: block;
	left: 0;
	line-height: 50px;
	position: absolute;
	text-align: center;
	text-decoration: none;
	top: 0;
	transition: all 0.3s ease;
	width: 100%;
}
#post h2 {
	font-size: 2em;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#post p {
	margin: 2em 0;
	text-align: center;
}
#post table {
	margin: 2em auto;
}
#privacy > div {
	margin: 1em 0;
}
#privacy > div p {
	margin: 1em 0;
}
#privacy > dl {
	margin: 2em auto;
	padding: 0;
	width: 90%;
}
#privacy > dl dd {
	margin: 1em;
}
#privacy > dl dd p {
	margin: 1em;
}
#privacy > dl dd ul {
	margin: 1em auto;
	width: 90%;
}
#privacy > dl dt {
	font-weight: bold;
	margin-top: 3em;
	text-decoration: underline;
}
#post table tr > * {
	border: 1px solid #eee;
	padding: 0.5em;
}
#share_area {
	border: 1px solid #ccc;
	margin: 5em auto;
	padding-top: 2em;
	text-align: center;
	width: 70%;
}
#share_area ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	list-style-type: none;
	margin: 2em auto;
	padding: 0;
	width: 60%;
}
#share_area ul li {
	margin: 0;
	padding: 0;
	text-align: center;
}
#share_area ul a img {
	height: auto;
	width: 64px;
}
#thankyou p {
	margin: 2em 0;
	text-align: center;
}
#to_newslist {
	margin: 1em;
	text-align: right;
}
.content-form h3, .day-calendar h3 {
	background-color: #192f60 !important;
	border-radius: 5px !important;
	color: #fff !important;
	font-size: 1.5em !important;
	letter-spacing: 0.1em !important;
	line-height: 1em !important;
	margin: 1.5em 3em 1em !important;
	padding: 1em 0 !important;
	text-align: center !important;
}
.content-form label.field-item {
	display: block;
}
.content-form table tr:first-child th, .content-form table tr:first-child td {
	border-top: 1px dashed #ccc !important;
}
.content-form button {
	background-image:-moz-linear-gradient(top, #ffa035 0%, #ff8300) !important;
	background-image:-webkit-gradient(linear,left top,left bottom, from(#ffa035), to(#ff8300)) !important;
	border-radius: 7px !important;
	box-shadow: 2px 2px 2px #555 !important;
	color: #fff !important;
	cursor: pointer !important;
	display: block !important;
	font-size: 1.8em !important;
	font-weight: bold !important;
	letter-spacing: 0.1em !important;
	line-height: 1em !important;
	margin: 0 auto !important;
	padding: 0.7em 0 !important;
	text-align: center !important;
	text-decoration: none !important;
	width: 25% !important;
}
.content-form fieldset {
	margin: 2em auto;
	width: 80%;
}
.content-form fieldset table {
	margin: 0 auto;
	width: 80%;
}
.content-form fieldset table tr > * {
	padding: 1em;
}
.content-form fieldset table tr th {
	background-color: #eee;
}
.content-form fieldset table ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.coupon {
	background: #f1f1f1;
	margin: 15px auto;
	padding: 10px 0;
	width: 700px;
}
.coupon h3 {
	1background: #70a6ff;
	background-color: #f00;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	box-sizing: border-box;
	color: white;
	display: inline-block;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 0 0 0 -20px;
	padding: 10px;
	position: relative;
	text-align: center;
	width: calc(100% + 20px);
}
.coupon h3::before {
	border: none;
	border-bottom: solid 15px transparent;
	1border-right: solid 20px #6081b7;
	border-right: solid 20px #dc143c;
	content: '';
	left: 0;
	position: absolute;
	top: 100%;
}
.coupon table {
	margin: 2rem auto;
}
.coupon table tr > * {
	padding: 0.5em;
}
.day-calendar > p {
	text-align: center;
}
.day-calendar > table {
	margin: 0 auto;
}
.day-calendar > table tr:first-child > *, .day-calendar .day-left {
	background-color: #eee;
}
.link a::before {
	content: '\f04b';
	color: #800000;
	font: var(--fa-font-solid);
	font-family: "Font Awesome 6 Free";
	font-weight: 700;
	display: inline-block;
	margin-right: 0.5em;
}
.lunch_drink {
	background-color: #fffff0;
	margin: 2rem 0;
	overflow: hidden;
}
.lunch_drink p {
	margin: 2em 1em;
	text-align: center;
}
.lunch_drink table {
	margin: 2rem auto;
}
.lunch_drink table tr > * {
	border-bottom: 1px solid #ddd;
	padding: 0.5em;
}
.monthly-calendar {
	margin: 4rem auto;
	width: 80%;
}
.monthly-calendar caption {
	background-color: #192f60 !important;
	color: #fff !important;
	font-size: 1.5em !important;
	letter-spacing: 0.1em !important;
	line-height: 1em !important;
	padding: 0.7em 0 !important;
}
.monthly-calendar table tr > * {
	border: 1px solid #ddd;
}
.monthly-calendar .week-title {
	background-color: #ffefd5;
	padding: 1em;
}
.menu1 {
	background-color: #fffff0;
	margin: 2rem 0;
	overflow: hidden;
}
.menu1 table {
	margin: 2rem auto;
}
.menu1 table tr > * {
	border-bottom: 1px solid #ddd;
	padding: 0.5em 0.5em 0.3em;
}
.menu1 table tr > td {
	text-align: right;
}
.menu_down {
	background: url(img/line_under.png) center bottom 5% no-repeat;
	padding-bottom: 100px;
	width: 100%;
}
.menu_down h3, .lunch_drink h3 {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	text-align: center;
}
.menu_down p {
	text-align: center;
}
.menu_down p:nth-of-type(1) {
	font-size: 1.3rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 1em;
}
.menu_down ul {
	list-style-type: none;
	margin: 2em auto;
	padding: 0;
	width: fit-content;
}
.menu_down ul li {
	margin: 0.5em 0;
}
.menu_down ul li::before {
	content: '\f111';
	font: var(--fa-font-solid);
	font-family: "Font Awesome 6 Free";
	font-weight: 700;
	display: inline-block;
	margin-right: 0.3em;
}
.menu_down table {
	margin: 2rem auto;
	width: 90%;
}
.menu_down table tr > * {
	padding: 0.5em;
}
.menu_up {
	background: url(img/line_up.png) center top 5% no-repeat;
	background-color: #fffff0;
	margin: 2rem 0;
	padding-top: 100px;
}
.top_content {
	display: flex;
}
.top_content > div {
	text-align: center;
	width: 60%;
}
.top_content > div h3 {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 3rem auto;
	width: 80%;
}
.top_content > div > div {
	margin: 2rem auto;
	width: 70%;
}
.top_content > p {
	width: 40%;
}
.top_content > p img {
	display: block;
	height: auto;
	width: 100%;
}
.top_content:nth-child(even) > div {
	order: 2;
}
.top_content:nth-child(even) > p {
	order: 1;
}





/* 画面サイズ 1200px用 */
@media screen and (max-width: 1200px) {
	article > section {
		width: 90%;
	}
	header > div:first-child div {
		display: block;
		width: auto;
	}
	header h1 {
		height: 50px;
	}
	footer {
		grid-template-columns: 55% 1fr;
	}
}
/* 画面サイズ 1180px用 */
@media screen and (max-width: 1180px) {
	header > div:last-child {
		grid-template-columns: 1fr;
	}
	footer {
		grid-template-columns: 60% 1fr;
	}
	footer ul li:last-child {
		flex-grow: 2;
	}
	.menu_down, .menu_up {
		background-size: 90%;
	}
}
/* 画面サイズ 1024px用 */
@media screen and (max-width: 1024px) {
	#appo dl {
		width: 70%;
	}
}
/* 画面サイズ 960px用 */
@media screen and (max-width: 960px) {
	article h2 > span span {
		width: 40%;
	}
	header > div:last-child p:first-child a {
		font-size: 1.7em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#appo dl {
		width: 80%;
	}
	#share_area ul {
		width: 80%;
	}
	.content-form label.field-item {
		display: block !important;
		margin: 1em auto !important;
		padding: 0;
		text-align: left !important;
		width: 70%;
	}
	.content-form table {
		overflow: hidden !important;
	}
	.content-form table {
		margin-left: auto;
		margin-right: auto;
		width: 80%;
	}
	.content-form table th, .content-form table td {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		
	}
	.content-form table td {
		border: 0 !important;
		margin-bottom: 3em !important;
		margin-top: 2em !important;
	}
	.content-form table tr:first-child th, .content-form table tr:first-child td {
		border: 0 !important;
		boeder-color: #f00 !important;
	}
	.content-form table td {
		text-align: center;
	}
	.content-form table td .input-number {
		float: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		width: 30%;
	}
	.content-form table th, .content-form table tr:first-child th {
		border-bottom: 1px solid #ccc !important;
		border-top: 1px solid #ccc !important;
		text-align: center;
	}
}
/* 画面サイズ 915px用 */
@media screen and (max-width: 915px) {
	#appo h3 {
		font-size: 3rem;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
}
/* 画面サイズ 854px用 */
@media screen and (max-width: 854px) {
	#appo dl > * {
		font-size: 1.3rem;
		letter-spacing: 0.1em;
		line-height: 1.1em;
	}
}
/* 画面サイズ 823px用 */
@media screen and (max-width: 823px) {
	header > div:last-child p:first-child a {
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	.menu_down p:nth-of-type(1).dinner_text {
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		line-height: 1.5em;
		margin-left: auto;
		margin-right: auto;
		width: 90%;
	}
}
/* 画面サイズ 800px用 */
@media screen and (max-width: 800px) {
	header > div:last-child {
		display: block;
	}
	header > div:last-child p:first-child {
		margin: 1rem auto;
	}
	#reservation {
		display: grid;
		grid-template-columns: 35% 55%;
		justify-content: space-around;
		margin: 0 auto;
		1width: 70%;
	}
	#reservation li {
		padding: 0;
	}
	#reservation li:nth-child(2) {
		margin: 0;
	}
	#reservation li a {
		width: auto;
	}
	.menu_down {
		background-image: url(img/line_under2.png);
	}
	.menu_up {
		background-image: url(img/line_up2.png);
	}
}
/* 画面サイズ 768px用 */
@media screen and (max-width: 768px) {
	footer h2 {
		margin-bottom: 1rem;
	}
	footer h2 a br {
		display: inline;
	}
	.coupon {
		width: 90%;
	}
}
/* 画面サイズ 740px用 */
@media screen and (max-width: 740px) {
	#appo dl {
		width: 90%;
	}
	article h2 > span span {
		width: 60%;
	}
	header > div:last-child {
		grid-template-columns: 70% 1fr;
	}
	#reservation {
		grid-template-columns: 30% 60%;
	}
}

/* 画面サイズ 736px用 */
@media screen and (max-width: 736px) {
	footer ul li {
		width: 50%;
	}
	footer ul li:last-child {
		flex-grow: 1;
		width: 100%;
	}
}

/* 画面サイズ 667px用 */
@media screen and (max-width: 667px) {
	body {
		margin-top: 50px;
	}
	header {
		margin-top: 0;
		position: static;
	}
	nav {
		background-color: #228b22;
		height: 50px;
		margin-top: 0;
		overflow: visible;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 99999;
		width: 100%;
	}
	nav label {
		cursor: pointer;
		display: block;
		float: right;
		height: 30px;
		margin-right: 15px;
		margin-top: 10px;
		position: relative;
		width: 30px;
		z-index: 11;
	}
	nav label::before {
		box-shadow: #fff 0 12px 0;
		-webkit-box-shadow: #fff 0 12px 0;
	}
	nav label::after {
		bottom: 0;
	}
	nav label::before, nav label::after {
		background: #fff;
		content: '';
		display: block;
		height: 6px;
		position: absolute;
		transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
		-webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
		width: 30px;
	}
	nav input:checked ~ label::before {
		-webkit-box-shadow: transparent 0 0 0;
		box-shadow: transparent 0 0 0;
		-webkit-transform: rotate(45deg) translate3d(6px, 11px, 0);
		transform: rotate(45deg) translate3d(6px, 11px, 0);
	}
	nav input:checked ~ label::after {
		-webkit-transform: rotate(-45deg) translate3d(6px, -11px, 0);
		transform: rotate(-45deg) translate3d(6px, -11px, 0);
	}
	nav input:checked ~ ul {
		right: 0;
	}
	nav ul {
		background-color: #006400;
		box-shadow: 8px 0px 8px -1px rgba(0,0,0,0.31);
		-webkit-box-shadow: 8px 0px 8px -1px rgba(0,0,0,0.31);
		-moz-box-shadow: 8px 0px 8px -1px rgba(0,0,0,0.31);
		display: block;
		height: auto;
		right: -230px;
		margin-top: 45px;
		position: absolute;
		top: 0;
		transition: left 0.4s;
		-webkit-transition: left 0.4s;
		width : 230px;
		z-index: 99999;
	}
	nav ul li {
		border: 0;
		display: block;
		height: 50px;
	}
	nav li a {
		border-top: 1px solid #fff;
		font-size: 1em;
		letter-spacing: 0.1em;
		line-height: 43px;
		padding-left: 2em;
		text-align: left;
	}
	nav li a span::before {
		content: '\f054';
		font: var(--fa-font-solid);
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		margin-left: 1em;
		margin-right: 0.5em;
	}
	#appo {
		width: 90%;
	}
	#reservation {
		grid-template-columns: 25% 65%;
	}
	#share_area {
		width: 80%;
	}
}

/* 画面サイズ 640px用 */
@media screen and (max-width: 640px) {
	header {
		grid-template-columns: 55% 1fr;
	}
	.lunch_drink table, .menu1 table {
		margin: 1rem auto;
		width: 90%;
	}
	.lunch_drink table tr > td, .menu1 table tr > td {
		widtn: auto;
	}
	.lunch_drink table tr > th, .menu1 table tr > th {
		width: 80%;
	}
}
/* 画面サイズ 600px用 */
@media screen and (max-width: 600px) {
	#appo p {
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		line-height: 1.5em;
	}
	#action-button button {
		width: 60% !important;
	}
	#reservation {
		display: block;
		margin: 0 auto;
		width: 90%;
	}
	#reservation li:nth-child(2) {
		margin-top: 0.3em;
	}
	.coupon table tr, .coupon table tr > * {
		display: block;
		width: auto;
	}
	.coupon table tr:nth-child(2) {
		margin: 1rem 0;
	}
	.coupon table tr td {
		text-align: center;
	}
	.coupon table tr th {
		background-color: #008000;
		color: #fff;
	}
	.monthly-calendar table {
		width: 95% !important;
	}
	.monthly-calendar td {
		width: 14% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
/* 画面サイズ 568px用 */
@media screen and (max-width: 568px) {
	#appo dl > * {
		font-size: 1rem;
		letter-spacing: 0.1em;
		line-height: 1.5em;
	}
	#share_area {
		width: 90%;
	}
}
/* 画面サイズ 428px用 */
@media screen and (max-width: 428px) {
	header, footer {
		display: block;
	}
	footer ul {
		margin: 2rem auto;
		width: 80%;
	}
	footer ul li:last-child {
		width: 50%;
	}
	#appo dl {
		display: block;
	}
	#appo dl dd, #appo dl dt {
		text-align: center;
		width: 100%;
	}
	#appo dl dd {
		padding: 1em 0 2em;
	}
	#appo dl dt {
		background-color: #eee;
		padding: 0.5em 0 0.7em;
	}
	#appo h3 {
		font-size: 2rem;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#appo p {
		font-size: 1rem;
		letter-spacing: 0.1em;
		line-height: 1.5em;
		margin: 1em auto;
		width: 80%;
	}
	#appoint1 tr, #appoint1 tr > * {
		display: block;
	}
	#appoint1 tr td {
		padding-bottom: 2em;
		text-align: center;
	}
	#booking-mei, #booking-mei_kana, #booking-sei, #booking-sei_kana {
		width: 70% !important;
	}
	#infoarea table, #infoarea table tbody tr, #infoarea table tbody tr > * {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}
	#infoarea table tbody tr > * {
		display: block;
	}
	#infoarea table tbody tr td {
		padding:  0 1.5em 0.5em;
	}
	#infoarea table tbody tr th {
		text-align: left;
		width: 100%;
	}
	#share_area ul {
		grid-row-gap: 2em;
		grid-template-columns: 1fr 1fr;
	}
	#privacy > dl dd p {
		margin: 1em 0;
	}
	.booking-seimei {
		display: block !important;
		margin-top: 1em !important;
		text-align: center !important;
		width: 100% !important;
	}
	.content-form label.field-item {
		width: 95%;
	}
	.lunch_drink table tr > th, .menu1 table tr > th {
		width: 70%;
	}
	.menu_down {
		background-image: url(img/line_under3.png);
	}
	.menu_up {
		background-image: url(img/line_up3.png);
	}
	.menu_down h3 {
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		line-height: 1.5em;
	}
	.menu_down p:nth-of-type(1) {
		font-size: 1rem;
		font-weight: normal;
		letter-spacing: 0.1em;
		line-height: 1.5em;
	}
	.menu_down table {
		width: 100%;
	}
	.menu_down table tr > td {
		text-align: right;
		width: 5rem;
	}
	.menu_down table tr > th {
		width: auto;
	}
	.monthly-calendar {
		margin: 0 auto !important;
		width: 95% !important;
	}
	.monthly-calendar table {
		width: 100% !important;
	}
	.monthly-calendar td, .monthly-calendar th {
		padding: 6px 0 !important;
	}
	.top_content {
		display: grid;
		grid-template-columns: 1fr;
	}
	.top_content > div, .top_content > p {
		width: 100%;
	}
	.top_content > div h3 {
		width: 90%;
	}
	.top_content > div {
		grid-row: 2;
	}
	.top_content > p {
		grid-row: 1;
	}
}
/* 画面サイズ 400px用 */
@media screen and (max-width: 400px) {
	article h2 > span span {
		width: 90%;
	}
	footer ul {
		width: 70%;
	}
	footer ul li:nth-child(even) {
		width: 40%;
	}
	footer ul li:nth-child(odd) {
		width: 60%;
	}
	footer ul li:last-child {
		width: 100%;
	}
	#appoint1 {
		width: 90%;
	}
	.day-calendar h3 {
		margin-left: auto !important;
		margin-right: auto !important;
		width: 80%;
	}
	.top_content > div > div {
		width: 80%;
	}
}
/* 画面サイズ 375px用 */
@media screen and (max-width: 375px) {
	#appo h3 {
		font-size: 1.7rem;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
}
