/*--------------------------
レストラン泉屋
izumiya946.jp
--
2024-11-29	
2022-10-27	org
----------------------------*/
@charset "UTF-8";

/*------------------------
A Modern CSS Reset
------------------------*/
/* Box sizingの定義 */
*, *::before, *::after	{ box-sizing: border-box; }
/* デフォルトのpaddingを削除 */
ul[class], ol[class]	{ padding: 0; }
/* デフォルトのmarginを削除 */
body, 
h1, h2, h3, h4, h5, h6,
ul[class], ol[class], li,
figure, figcaption, blockquote, dl	{ margin: 0; }
/* bodyのデフォルトを定義 */
body {
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
}
/* class属性を持つul、ol要素のリストスタイルを削除 */
ul[class], ol[class]	{ list-style: none; }
/* classを持たない要素はデフォルトのスタイルを取得 */
a:not([class])	{ text-decoration-skip-ink: auto; }
/* img要素の扱いを簡単にする */
img	{ max-width: 100%; margin: auto; }
img	{ display: block; }
/* iframe */
iframe	{ max-width: 100%; margin: auto; }
iframe	{ display: block; }
/* Natural flow and rhythm in articles by default */
/* article要素内の要素に自然な流れとリズムを定義 
article > * + * { margin-top: 1em; }
*/
/* inputやbuttonなどのフォントは継承を定義 */
input, button, textarea, select	{ font: inherit; }
 
/* Remove all animations and transitions for people that prefer not to see them */
/* 見たくない人用に、すべてのアニメーションとトランジションを削除 */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}


/*----------------------
Inview
----------------------*/
/*
.effect		{ overflow: hidden; }
*/
.ef-fade,
.ef-fade01,
.ef-zoom,
.ef-rotate	{ transition: .6s; }
.ef-fade:nth-child(even)	{ transition: .9s; }
.ef-fade:nth-child(3)	{ transition: 1.2s; }
.ef-fade	{ opacity: 0; transform: translate(0, 60px); -webkit-transform: translate(0, 60px); }
.fade		{ opacity: 1; transform: translate(0, 0); -webkit-transform: translate(0, 0); }
.ef-fade01	{ opacity: 0; }
.fade01		{ opacity: 1; }
.ef-zoom	{ transform: scale(0, 0); -webkit-transform: scale(0, 0); }
.zoom		{ transform: scale(1, 1); -webkit-transform: scale(1, 1); }
.ef-rotate	{ transform: rotateY(0deg); -webkit-transform: rotateY(0deg); }
.rotate		{ transform: rotateY(360deg); -webkit-transform: rotateY(360deg); }


/*----------------------
Customize
--------------------- */
html { scroll-behavior: smooth; }

body {
	color: #334;
	font-size: 1rem;
	line-height: 1.5;
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;	/* mobile safariの自動文字サイズ調整をoffにする */
	-webkit-tap-highlight-color: transparent;	/* モバイルでタッチ時のハイライトカラーを消す */
	-webkit-font-smoothing: antialiased;	/* 文字のアンチエイリアスをきれいに表示 */
	-moz-osx-font-smoothing: grayscale;
}
/*
section:nth-child(odd)	{ background-color: #63548b; }
section	{ background-color: transparent; }
section	{ background-color: rgba(255,255,255,1); }
*/
section:nth-child(even) .grid	{ direction: rtl; }
section:nth-child(even) .grid > *	{ direction: ltr; text-align: start; }

a		{ text-decoration: none; }
a:hover	{ text-decoration: underline; }

h1 span,
h2 span,
h3 span,
h4 span	{ display: inline-block; }

table	{ border-collapse: collapse; }

/*----------------------
⭐カラー調整
----------------------*/
body	{ color: #333; background-color: #edb3; }
section:nth-child(even)	{ background-color: #f1dea736; }
/*a	{ color: #fff; }*/
/*h1,h2	{ color: #fff; }*/
/*h3	{ color: #fff; }*/
/*h4	{ color: #fff; }*/

/*----------------------
Dark
--------------------- */
section.dark	{ color: #eee; background: url(blackboard_dark.jpg); }

/*----------------------
※印つき<ul>、<ol>リスト
----------------------*/
ul.asterisk		{margin-top: 1em; }
ul.asterisk li	{padding-left: 1em; text-indent: -1em; }
ul.asterisk li:before { content: '※'; display: inline; }
ol.asterisk		{ counter-reset: number; }
ol.asterisk li:before { content: "※"counter(number)" "; counter-increment: number; }

/*----------------------
矢印つき<ul>リスト
----------------------*/
ul.arrow	{margin-top: 1em; }
ul.arrow li	{padding-left: 1em; text-indent: -1em; }
ul.arrow li:before { content: '\f138'; font-family: forkawesome; padding-right: .5em; opacity: .3; }


/*----------------------
共通要素
--------------------- */
.inner {
	max-width: 1200px;
	margin: auto;
	padding: 2em 1em;
}
.inner > * + h2	{ margin-top: 4rem; }
.inner > h2 + *	{ margin-top: 2rem; }
.inner > * + h3	{ margin-top: 3rem; }
.inner > h3 + *	{ margin-top: 1rem; }
.inner > * + h4	{ margin-top: 3rem; }
.inner > h4 + *	{ margin-top: 1rem; }
.inner > * + h5	{ margin-top: 2rem; }
.inner > h5 + *	{ margin-top: 1rem; }

.sectitle	{ display: flex; flex-flow: column; justify-content: center; text-align: center; }
.sectitle	{ min-height: 20vh; background: url(bg1.jpg) no-repeat 50% 60% / cover; }
.sectitle	{ background-image: url(../images/izumiya2.jpg); }
.sectitle	{ position: relative; }
.sectitle:before	{
	position: absolute; width: 100%; height: 100%;
	background-color: #4336;
	-webkit-backdrop-filter: saturate(100%) blur(10px);
	backdrop-filter: saturate(100%) blur(6px);
	content: '';
}
.sectitle > *	{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	color: #fff;
	z-index: 1;
}
.sectitle h2	{ font-size: .8em; font-weight: normal; }
/*
.sectitle	{ margin-bottom: 1em; color: #1968a6; font-size: 1.2em; text-align: center; }
.sectitle:before	{
	content: '';
	display: block;
	margin: 0 auto .5em;
	height: 2em;
	background: url(yugakukan.png) no-repeat 50% 50% / contain;
}
*/

/*.title	{ white-space: nowrap; background-color: transparent; }*/
.title	{ text-align: center; }
.title+*	{ margin-top: 2em; }

.cbar	{ text-align: center; }
.cbar:after	{
	content: '';
	display: block;
	margin: .5em auto 0;
	height: 3px;
	border-radius: 1em;
	background-color: #ecd47f;
}

.more	{ max-width: 280px; margin: 2rem auto; text-align: center; }
.more a { display: inline-block; padding: .5rem 2rem; }
.more a { color: #fff; background-color: #36d; border-radius: 3em; transition: .2s; }
.more a:hover { background-color: #039; text-decoration: none; }

.morebtn	{ display: inline-block; padding: .05rem 1rem; }
.morebtn	{ color: #fff; background-color: #36d; border-radius: 3em; transition: .2s; }
.morebtn:hover { background-color: #039; text-decoration: none; }

/*----------------------
Grid
----------------------*/
.grid	{
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(256px, 1fr));
	gap: 1em;
	align-items: stretch;
	list-style-type: none;
}
.grid > *	{
	position: relative;
	padding: .5rem;
	color: #333;
	background-color: rgba(255,255,255,.8);
	border-radius: .3em;
	box-shadow: 0 0 12px rgba(0,0,0,.1);
	list-style-type: none;
}
.grid.x2	{ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid.x3	{ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.grid.x4	{ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.grid.shadow{ box-shadow: none; }
.grid.shadow > *	{ padding: .5rem; box-shadow: 0 0 10px rgba(0,0,0,.1); }
.grid.rvs	{ direction: rtl; }
.grid.rvs > *	{ direction: ltr; text-align: start; }
.grid.plain	{}
.grid.plain > *,
.grid .none	{ padding: 0; color: inherit; background: none; box-shadow: none; overflow-wrap: break-word; }
.grid .img	{ text-align: center; }
.grid img	{ margin: auto; display: block; max-width: 100%; }
.grid span	{ display: block; margin-top: .5rem; font-size: .9em; text-align: center; }
.grid p		{ font-size: .9em; }
.grid h3	{ text-align: center; }
.grid h3:after	{
	content: '';
	display: block;
	margin: .5em auto 0;
	height: 3px;
	border-radius: 1em;
	background-color: #d0c190;
}
/*.grid h4	{ margin-bottom: 8px; padding-bottom: 4px; font-size: 1em; border-bottom: 3px solid #61AFA0; }*/

/*----------------------
Flex
----------------------*/
.flex	{
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	grid-gap: 2rem;
}
.flex.vc	{ align-items: center; }
.flex.rvs	{ flex-direction: row-reverse; }
.flex .img	{ flex: 1 0 auto; max-width: 50%; }

.flex+.flex,
.flex+.grid,
.grid+.flex,
.grid+.grid	{ margin-top: 1.5rem; }

/*----------------------
Flex
list with box-shadow
----------------------*/
.flexs	{ margin: 1em auto;; padding: 0; list-style-type: none; }
.flexs	{ display: flex; flex-wrap: nowrap; justify-content: center; }
.flexs li	{ padding: 1em; box-shadow: 0 0 16px 0px rgba(0,0,0,.2); }
.flexs li	{ flex: 1 0 auto; }
.flexs li+li	{ margin-left: 1em; }
.flexs .phbox	{ color: #666; font-size: .8em; text-align: center; }


.note	{ padding: .75em; border: 3px solid #666; }
.note.red	{ border: 3px solid #e33; }
.note ul	{ margin: 0; padding-left: 1.5em; }
.note li+li	{ margin-top: .5em; }
.note strong{ color: #e00; }

.mbo	{ display: initial; }
.pco	{ display: none; }

.b	{ font-weight: bold; }
.bb	{ font-weight: bold; color: #000; font-size:1.2em; }

.xs	{ font-size: .6rem; }
.s	{ font-size: .8rem; }
.m	{ font-size: 1rem; }
.lg	{ font-size: 1.1rem; }
.xl	{ font-size: 1.2rem; }

.l	{ text-align: left;  }
.r	{ text-align: right; }
.c	{ text-align: center; }
.vt	{ vertical-align: top; }

.caution	{ color: #c00; }
.red	{ color: #e00; }
.grn	{ color: #393; }
.date	{ color: #393; }
.url	{ color: #393; word-break: break-all; }


.marker,
.marker.yellow	{ background: linear-gradient(transparent 50%, #ffef8f 50%); }	/* 黄色 */
.marker.lime	{ background: linear-gradient(transparent 50%, #66FFCC 50%); }	/* 黄緑色 */
.marker.water	{ background: linear-gradient(transparent 50%, #66ccff 50%); }	/* 水色 */
.marker_pink	{ background: linear-gradient(transparent 50%, #ff66ff 50%); }	/* 桃色 */


/*----------------------
アイコン付加
----------------------*/
a[href$=".pdf"]:after	{ content: '\f1c1'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
a[href$=".docx"]:after,
a[href$=".doc"]:after	{ content: '\f1c2'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
a[href$=".xlsx"]:after,
a[href$=".xls"]:after	{ content: '\f1c3'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
a[href$=".zip"]:after	{ content: '\f1c6'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
a[href^="mailto:"]:after{ content: '\f0e0'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
/*
a[href^="http"]:after	{ content: '\f08e'; font-family: forkawesome; margin-left: .5em; opacity: .7; }
*/
/* No Icon */
.no_icon:after {
	content: '' !important;
	margin-left: 0 !important;
}


/*----------------------
Fit Center
----------------------*/
.fit-center {
	margin-left: auto;
	margin-right: auto;
	width: fit-content;
	max-width: 960px;
}
.fit-center.image	{ max-width: 800px; }

/*----------------------
レスポンシブ対応（横スクロール）
<div class="scroll-box">
	<table>〜</table>
</div>
----------------------*/
.scroll-x {
/*	white-space: nowrap;*/
	overflow-x: auto;
	overflow-y: hidden;
}

/*----------------------
テーブル要素
----------------------*/
table.solid		{ margin: 1em 0; }
table.solid th,
table.solid td	{ padding: .5em .5em; border: 1px solid #fff9; }
table.solid th	{ font-weight: normal; background-color:#e7f3fa; }
table.solid .d	{ text-align: center; background-color:#e7f3fa; }
table.solid .e	{ text-align: center; background-color:#fffff0; }

table.noline	{ margin: 1em 0; }
table.noline th,
table.noline td	{ padding: .5em .8em; vertical-align: top; }
table.noline .d	{ white-space: nowrap; text-align: center; background-color: #f0f0f0; }


/*----------------------
画像関連
----------------------*/
.phbox {
	margin: 2em auto;
	font-size: .8rem;
	text-align: center;
}
.phbox.shadow {
	padding: 1em;
	background-color: rgba(255,255,255,.9);
	border-radius: .3em;
}

.phbox_c,
.phbox_r,
.phbox_l,
.phbox_nc,
.phbox_nr,
.phbox_nl	{
	display: flex;
	justify-content: center;
	text-align: center; color: #666; font-size: .8em;
}
.phbox_c p,
.phbox_r p,
.phbox_l p	{ padding: 1em; box-shadow: 0 0 16px 0px rgba(0,0,0,.2); }


/*----------------------
YouTube
----------------------*/
.youtube iframe	{ display: block; aspect-ratio: 16/9; width: clamp(160px, 100%, 800px); height: auto; }


/*----------------------
Googlemap
----------------------*/
.googlemap iframe	{ display: block; width: 100%; height: auto; max-width: 800px; aspect-ratio: 16/9; }







/*----------------------
Header
----------------------*/
.header {
	background-color: #175d39;
	background-color: #004002;
	width: 100%;
	z-index: 10;
/*
	position: sticky;
	top: 0;
	transition: .3s;
*/
}
.header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .5em 1em;
/*
	position: relative;
	background: #36c url(header.jpg) no-repeat center top;
	background: linear-gradient(to bottom,#004077,#0068B7 30%,#00A0E9);
	background: linear-gradient(to bottom,#333077,#3348a7,#33A0E9);
*/
}
.header .logo	{}
.header .logo a {
	display: block;
	margin: auto;
	width: clamp(60px, 40vw, 240px);
	aspect-ratio: 3 / 1;
	background-image: url(logo3x1.png);
	background-repeat: no-repeat;
	background-size: cover;
	text-indent: -9999px;
	transition: .2s;
/*
	aspect-ratio: 5 / 1;
	background-image: url(logo5x1-light.svg);
	object-fit: contain;
*/
}
.header .logo a:hover	{ transform: scale(1.05); text-decoration: none; }

/*----------------------
	Fixed → Sticky
------------------------
.header.fixed { position: sticky; top: 0; }	モバイル表示でfixされない！
----------------------*/
.header.fixed { display: block; position: fixed; top: 0; }
.header.fixed {
	background-color: #074d29bb;
	background-color: #004002bb;
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
.header.fixed .logo a	{ width: clamp(60px, 35vw, 180px); }
/*
.header.fixed .logo a	{ max-width: 180px; background-image: url(logo3x1-dark.png); }
.header.fixed .dr-open	{ background-image: url(menu-dark.svg); }	/* ドロワーボタン */
.header.fixed+*	{ margin-top: 96px; }
/*
.header.fixed+section { margin-top: 100px; }
*/
/*----------------------
	Mobile Navigation
	and
	Navigation Drawer
----------------------*/
.nav-sp	{ display: flex; gap: 1em; }
.nav-btn	{	/* ボタン共通 */
	display: block;
	width: 12vw; max-width: 60px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	text-indent: -9999px;
	background-image: url(base.svg);
	cursor :pointer;
	transition: .2s;
/*
	width: 15vw; max-width: 50px;
	height: 15vw; max-height: 50px;
	background: url(base.svg) no-repeat 50% 50% / contain;
	border-radius: 3px;
	z-index: 2;
*/
}
.nav-btn:hover	{ transform: scale(1.1); text-decoration: none; }

.nav-info	{ background: url(info.svg) no-repeat 50% 50% / contain; }	/* お知らせボタン */
.dr-open	{ background: url(menu-light.svg) no-repeat 50% 50% / contain; }	/* ドロワーボタン */
.dr-close,
.dr-content	{ position: fixed; top: 0; width: 100vw; height: 100vh; transition: .3s; }
.dr-close	{ left: 0; background-color: #000; z-index: 99; opacity: 0; }	/* 閉じる用の薄黒カバー（全体） */
.dr-close	{ display: none; }	/* 初期は非表示 */
.dr-content	{ background-color: #264f27; z-index: 9999; overflow: auto; }	/* ドロワーコンテンツ（最前面） */
.dr-content	{ right: 0; transform: translateX(105%); }	/* 右に隠しておく */
/*
.dr-content	{ left: 0; transform: translateX(-105%); }	/* 左に隠しておく */
.dr-unshown	{ display: none; }	/* チェックボックス等は非表示に */

#nav-drawer	{}
#nav-drawer .dr-content { width: 80%; max-width: 400px; }
#nav-drawer .dr-content label {
	display: block;
	padding: 1em;
	color: #fff;
	cursor :pointer;
}
#nav-drawer .dr-content a	{ display: block; padding: 1.5em 1em; color: #fff; transition: .2s; }
#nav-drawer .dr-content a:hover	{ text-decoration: none; background-color: rgba(0, 0, 0, .1); }
/* 下階層 */
#nav-drawer .dr-content ul	{ margin: 0; padding: 0; display: block; }
#nav-drawer .dr-content ul	{ background-color: rgba(0, 0, 0, .1); border-bottom: thin solid rgba(255,255,255,.2); }
#nav-drawer .dr-content li	{ padding-left: 2em; line-height: 1.0; list-style-type: none; }
#nav-drawer .dr-content li	{ height: 0; overflow: hidden; transition: .4s; }
/* アコーディオン */
#nav-drawer .dr-content .accordion	{ display: none; }
#acc-box:checked ~ #acc-box-sub li	{ height: 3em; opacity: 1; }
.acc-none	{ border-bottom: thin solid rgba(255,255,255,.2); }
.acc-none span	{ display: none; }
/* SNS */
#nav-drawer .dr-content .sns	{ position: initial; display: flex; background-color: transparent; }
#nav-drawer .dr-content .sns li	{ padding: 1rem 0; line-height: initial; }
#nav-drawer .dr-content .sns li	{ height: auto; }
#nav-drawer .dr-content .sns a	{ display: flex; padding: 0; }
/* スライドメニュー */
#nav-input:checked ~ .dr-close	{ display: block; opacity: .7; }	/* ✓→漆黒カバー */
#nav-input:checked ~ .dr-content{ transform: translateX(0%); box-shadow: -6px 0 25px rgba(0,0,0,.5); }	/* ✓→スライドメニュー */
#nav-input:checked ~ .header.fixed { bottom: 0; }


/*----------------------
PC Navigation
----------------------*/
.nav-pc ul	{ margin: 0; padding: 1em; list-style-type: none; }
.nav-pc ul	{ display: flex; flex-wrap: wrap; justify-content: center; gap: 1em 1.5em; }
.nav-pc span{ display: none; }
.nav-pc a	{ display: block; color: inherit; transition: .2s; }
.nav-pc a:hover	{ text-decoration: none; opacity: .8; }


/*----------------------
Footer
----------------------*/
.footer {
	font-size: 12px;
}
.footer .inner	{}
.footer .address{ padding: 1em; border: 1px solid rgba(255,255,255,.3) }
.footer .nav-pc	{ padding: 2em 0; }
.footer .cprt	{ padding: 1em; text-align: center; font-family: arial, sans-serif; }

.footer .nav-pc	{ color: #fff; background-color: #275b2d; }
.footer .cprt	{ color: #fff; background-color: #0f3112; }

.footer .nav-foot	{}
.footer .nav-foot ul	{ margin: 0; padding: 0; list-style-type: none; }
.footer .nav-foot ul	{ display: flex; flex-wrap: wrap; gap: 2em; }
.footer .nav-foot li	{ flex: 1 0 auto; }
.footer .nav-foot li	{ display: flex; flex-direction: column; justify-content: center; }
.footer .nav-foot a		{ padding: .25rem 0; color: inherit; }
.footer .nav-foot a+a	{ border-top: thin solid rgba(255,255,255,.3); }
/*
.footer .nav-foot li:nth-child(1)	{ flex: 1 0 30%; }
.footer .nav-foot a:after	{ display: none; }
.footer .nav-foot img { display: block; margin: auto; }
*/

/*	2017-02-17
	Accordion - フッター部分に追加＆調整 */
/* アコーディオン効果 */
.footer .accordion { display: inline-block; padding-right: 1em; }
.footer .accordion label	{ position: relative; color: #fff; cursor: pointer; }
.footer .accordion input	{ display: none; }
.footer .accordion .cont	{ position: absolute; padding-left: 1em; background-color: #36c; overflow: hidden; }
.footer .accordion .cont	{ height: 0; }
.footer .accordion input:checked + .cont { height: auto; }
.footer .accordion ul		{ margin: 0; padding: 0; list-style: none; }


/*----------------------
Page Top
----------------------*/
#pagetop { position: fixed; bottom: 1rem; right: 1rem; z-index: 99; }
#pagetop {
	width: 4rem;
	aspect-ratio: 1/1;
	line-height: 1;
	font-size: 12px;
	text-align: center;
	color: white;
	background-color: orange;
	border-radius: 3em;
}
#pagetop	{ display: flex; flex-flow: column; justify-content: center; align-items: center; }
/*#pagetop	{ opacity: .6; }*/
#pagetop a	{ display: block; width: 100%; padding: .5em 0 1em; color: inherit; text-decoration: none; }
#pagetop a:before { content: '\f106'; display: block; font-size: 200%; font-family: forkawesome; }



/*----------------------
Links
----------------------*/
.links ul	{}
.links li	{}
.links a	{}
.links a span:nth-child(1)	{ margin-right: 1em; }
.links a span:nth-child(2)	{ display: inline-block; color: #393; word-break: break-all; }
.links a:hover	{ text-decoration: none; }
.links a:hover span:nth-child(1)	{ text-decoration: underline; }



/*----------------------
Coding style: CSS NEST
飲食メニュー
menu.html
index.html
----------------------*/
.foodmenu	{
	.grid	{ margin-top: clamp(1em, 4vw, 3em) !important; direction: ltr !important; }
	.grid.plain tr	{ margin-bottom: 1em; display: flex; justify-content: space-between; gap: 1em; }
	.grid.plain td+td	{ padding-left: 0; }
	.grid.plain .r		{ white-space: nowrap; }
	.marker	{ display: table; margin: clamp(1em, 4vw, 3em) auto 1em; font-size: clamp(9px, 3vw, 14px) !important; }
	@media screen and (min-width: 400px) {
		.grid.plain	{ grid-template-columns: repeat(auto-fit, minmax(384px, 1fr)); grid-gap: 0; }
		.grid.plain tr	{ display: table-row; }
	}
	@media screen and (min-width: 800px) {
		.grid.plain table+*	{ padding: 1em; border-left: thin solid #3212; }
		.grid.plain td	{ padding: .5em 1.5em; }
	}
}
.foodmenu.porone	{
	h3	{ margin-top: clamp(1em, 4vw, 3em); }
	a	{ text-decoration: none; }
	.grid span .price	{ display: inline-block; font-size: 1em; font-style: normal; }
}

/*----------------------
Coding style: CSS NEST
宴会メニュー
menu.html
----------------------*/
.party	{
	color: #ece2c2;
	background-color: #c1272d;

	.inner p	{ max-width: none; }
	.marker	{ background: none; }
/*
	.grid span { font-size: .75em; }
	@media screen and (min-width: 768px) {
		.grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); grid-gap: 1em; }
	}
*/
}



/*----------------------
for SmartPhone 
Landscape （横）
----------------------*/
@media screen and (min-width:480px) {
/*	.grid	{ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); grid-gap: 1.5em; }*/
	.title	{ display: flex; align-items: center; }
	.title:before,
	.title:after	{ content: ''; height: 3px; background-color: rgb(209 185 105 / 60%); flex-grow: 1; }
	.title:before	{ margin-right: 1.5em; }
	.title:after	{ margin-left: 1.5em; }
}


@media screen and (min-width:640px) {
/*	.grid	{ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); grid-gap: 1.5em; }*/
	.grid > *	{ padding: 1rem; }
}


/*----------------------
for Tablet
----------------------*/
@media screen and (min-width:768px) { /* and ( max-width:1024px) { */

	h2	{ font-size: 2.4rem; }
	h3	{ font-size: 2.0rem; }
	h4	{ font-size: 1.4rem; }
	h5	{ font-size: 1.2rem; }
/*
	h3 { letter-spacing: .1em; }
	h4 { letter-spacing: .1em; }
	section:not([class])	{ min-height: 320px; }
*/
	.xs	{ font-size: .6rem; }
	.s	{ font-size: .8rem; }
	.m	{ font-size: 1rem; }
	.lg	{ font-size: 1.2rem; }
	.xl	{ font-size: 1.5rem; }

	.fl	{ float: left; }
	.fr	{ float: right; }
	.clr{ clear: both; }

	.inner { padding: 3em 1em; }
	.inner p	{ max-width: 800px; margin: 1.75em auto; line-height: 1.75; font-size: 110%; }
	.inner .phbox	{ max-width: 800px; font-size: .9rem; }

	.sectitle	{ font-size: 1.8em; min-height: 30vh; }

	.grid	{ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-gap: 2em; }
	/*.grid.x2	{ grid-template-columns: 3fr 2fr; }*/
	.grid p		{ font-size: 1em; }

	.mbo	{ display: none; }
	.pco	{ display: initial; }

	/* Responsive Table Adjust 横スクロール解除 */
	table	{ display: table; white-space: normal; }

	.link .ttl,
	.link a	{ font-size: 1.2em; }
	.arrow li a		{ font-weight: normal; font-size: 1.1em; }
	.arrow li.sub a	{ font-weight: normal; font-size: 1.0em; }

	.phbox_r,
	.phbox_nr	{ float: right; margin: 0 0 2em 1em; }

	.phbox_l,
	.phbox_nl	{ float: left; margin: 0 1em 2em 0; }

	.nav-pc ul	{ gap: 1em 2em; }
}


/*----------------------
for PC
----------------------*/
@media screen and (min-width:1024px) {
}

