/*
Template:ystandard
Theme Name:nakasan
*/

/* ==========================================================
   1. フォント読み込み
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');

body {
	font-family: 'Shippori Mincho', serif;
	font-size:16px;
	color:#1D1D1D ;
  width:100%;
  height:100%;
  margin:0 auto;
  padding:0;
  background:#ffffff;
  font-size:16px;
  line-height:1.8em;
	background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/08/grayback.webp'); 
	background-size: contain;
	background-repeat: repeat;
}

body.home{background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/08/grayback.webp'); 
	background-size: contain;
	background-repeat: repeat;}

body.blog{padding:0 1em;}
.archive__item.is-simple {background:none;}

.has-sidebar .content__wrap {
	max-width: 960px;margin:0 auto;}

.archive__item {
	border-bottom: none;}

.wp-block-latest-posts.wp-block-latest-posts__list li {
    border-bottom: 1px dotted #1d1d1d!important;
}

a{
  text-decoration:none;
}

ol, ul{
  margin: 0;
  padding:0;
}
ul{
  list-style:none;
}

h1, h2, h3, h4, h5, h6{
  margin: 0em;
  padding: 0;
  line-height: 1.5;
  letter-spacing: .05em;
}

h1+h2, h2+h3, h3+h4, h4+h5, h5+h6{
  margin-top: 0;
}

.entry-content h1+h2, .entry-content h2+h3, .entry-content h3+h4, .entry-content h4+h5, .entry-content h5+h6{
  margin-top: 0em;
}

td, th{
  border-right:none;
  border-bottom:none;
}

tr{
  border-left:none;
}

amp-img, img{
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

p{
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6{
  margin: 0em;
}

.ponly{
  display:none;
}
.monly{
  display:block;
}

.footer-poweredby{
  display:none;
}
.grecaptcha-badge{

  visibility: hidden;
}

.footer-main>* {
    margin-top: 2em;
    margin-bottom: 1em;
}

.container{
  width: 100%;
  padding: 0;
  margin: 0 auto;
  max-width: var(--width-max);
}
.global-nav__toggle .ys-icon, .global-nav__toggle svg{
  width: 24px;
  height: 32px;
}

.site-header button{
  color: #ffffff;
}

.header-type--row1 .site-branding {
	padding: 0.5em 2em 0.5em 0;
	margin-left:1em;
}


.header-type--row1 .global-nav {
}

.tel {
    line-height: 1.25;
    text-align: center;
    margin: 2em auto 1em;
}

.tel a {
    padding: 20px 32px 23px;
    display: inline-block;
    color: #ffffff;
    text-align: center;
    font-size: 1.5em;
    border: 1px solid #ffffff;
}

.tel a:hover{opacity:0.5;}

.tel a span{    font-size: 0.6em;
    display: block;
    margin-bottom: 4px;}

.footer-main {
    background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/08/grayback.webp');
    background-size: contain;
    background-repeat: repeat;
	text-align:center;
	    padding-top: 3em;
    padding-bottom: 0em;
}
.footer-main img.flogo{max-width:140px;margin:0 auto;}


.global-nav__menu>.menu-item.current-menu-item>a:after {
position: absolute;
    left: 0;
    width: 0;
    height: 1px;
    background-color: var(--header-text);
    content: "";
    transition: width .3s;
	
}
.global-nav__menu>.menu-item.current-menu-item>a:hover:after {
    width: 100%;
}
.global-nav__menu>.menu-item {
    line-height: 1;
}
.global-nav__menu>.menu-item>a {
	padding: 0.5em 0 1em;}

/* ==========================================================
   2. 共通パーツ
   ========================================================== */

a {
	color: #1D1D1D;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

.br-sp {
	display: inline;
}

/* --- ヘッダー --- */
.hd {
	position: relative;
	background: #1D1D1D;
}

.hd-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
}

.logo {
	display: flex;
	flex-direction: column;
	line-height: 1.4;
	color: #fff;
}

.logo-sub {
	font-size: 10px;
	letter-spacing: .3em;
	opacity: .8;
}

.logo-main {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .1em;
}

/* ハンバーガーボタン（SPのみ表示） */
.nav-btn {
	width: 32px;
	height: 24px;
	position: relative;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 0;
}

.nav-btn span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: #fff;
	transition: transform .25s ease, opacity .25s ease;
}

.nav-btn span:nth-child(1) { top: 0; }
.nav-btn span:nth-child(2) { top: 11px; }
.nav-btn span:nth-child(3) { top: 22px; }

.nav-btn.is-open span:nth-child(1) { transform: translateY(11px) rotate(45deg); }
.nav-btn.is-open span:nth-child(2) { opacity: 0; }
.nav-btn.is-open span:nth-child(3) { transform: translateY(-11px) rotate(-45deg); }

.global-nav__menu>.menu-item {
    text-align:center;
}


/* グローバルナビ（WordPress標準メニュー / SPはドロワー） */
.gnav {
	position: fixed;
	top: 0;
	right: 0;
	width: 78%;
	max-width: 320px;
	height: 100%;
	background: #1D1D1D;
	padding: 90px 24px 24px;
	transform: translateX(100%);
	transition: transform .3s ease;
	z-index: 100;
	overflow-y: auto;
}

.gnav.is-open {
	transform: translateX(0);
}

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

.gnav-list li + li {
	border-top: 1px solid rgba(255,255,255,.15);
}

.gnav-list a {
	display: block;
	padding: 16px 4px;
	color: #fff;
	font-size: 15px;
	letter-spacing: .05em;
}

.gnav-fb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-top: 20px;
	border-radius: 50%;
	background: #fff;
	color: #1D1D1D;
}

/* 電話予約ボックス */
.tel-box {
	display: none;
}

/* --- ボタン --- */
.btn {
	display: inline-block;
	min-width: 220px;
	padding: 16px 24px;
	text-align: center;
	background: #1D1D1D;
	color: #fff;
	font-size: 15px;
	letter-spacing: .15em;
	border: 1px solid #1D1D1D;
	transition: background .25s ease, color .25s ease;
}

.btn:hover {
	background: #fff;
	color: #1D1D1D;
}

/* --- 縦書き風セクション見出し --- */
 .entry-content h2.v-ttl {
	writing-mode: vertical-rl;
	text-orientation: upright;
	display: flex;
	align-items: center;
	gap: 4px;
	font-size:32px;
	font-weight: 600;
	letter-spacing: .3em;
	color: #1D1D1D;
	margin: 0 auto 40px;
	    flex-direction: column;
    align-items: flex-start;
	    line-height: 1.2;
}

 .entry-content .v-ttl-en {
	font-family: serif;
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: lowercase;
	opacity: .8;
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

 .entry-content h2.v-ttl-light {
	color: #fff;
}


/* --- フッター --- */
.ft {
	background: #1D1D1D;
	padding: 40px 16px;
	text-align: center;
}

.ft-logo {
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 16px;
}

.ft-logo-sub {
	font-size: 10px;
	letter-spacing: .3em;
	opacity: .8;
}

.ft-logo-main {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .1em;
}

.ft-copy {
	display: block;
	color: rgba(255,255,255,.6);
	font-size: 11px;
	letter-spacing: .05em;
}

.ys-icon svg.icon--facebook,.ys-icon svg.icon--instagram{width:1.75em;height:1.75em;}

/* ==========================================================
   3. セクション
   ========================================================== */

/* --- Hero --- */
.hero {
	overflow: hidden;
	line-height: 0;
}

.hero-video,
.hero-img {
	width: 100%;
	height: 260px;
	object-fit: cover;
}

/* --- Intro（店舗案内） --- */
.intro {
	background-color: #ece7dc;
	background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/08/topsec1.webp'); 
	background-size: cover;
  background-repeat: no-repeat;
	padding: 48px 20px;
}

.intro-in {
	max-width: 1080px;
	margin: 0 auto;
	text-align:center;
}

/* ヘッダーメディアのグレーマスク */
.header-media {
    position: relative;
}

.header-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(80, 80, 80, 0.45);
    z-index: 2;
    pointer-events: none;
	
	 /* 半透明グレー */
    background-color: rgba(60, 60, 60, 0.35);

    /* 網点 */
    background-image: radial-gradient(
        rgba(60, 60, 60, 0.45) 1px,
        transparent 1px
    );

    /* ドットの間隔 */
    background-size: 3px 3px;
	
}


/* 動画をマスクより下に配置 */
.header-media video {
    position: relative;
    z-index: 1;
}

.ttl {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.6;
	margin: 0 0 24px;
}

.lead {
	font-size: 16px;
	letter-spacing: .03em;
	    letter-spacing: .03em;
       margin: 16px auto 40px;
    text-align: left;
}

.intro-img {
	margin-top: 32px;
}

.intro-img img {
	width: 100%;
	object-fit: cover;
}

/* --- Menu（お品書き） --- */
.menu-sec {
	background: #3a3a3a;
	padding: 0 0 56px;
	margin-top:0;
}

.menu-photo img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.menu-body {
	padding: 40px 20px 0;
	text-align: center;
}

.menu-lead {
color: #ffffff;
    letter-spacing: .03em;
    text-align: center;
    margin: 0 auto 40px;
	    font-weight: 600;
}

.menu-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 16px;
	justify-content:center;
	    flex-wrap: wrap;
}

.menu-card{width:47.5%;}
.menu-card:hover{opacity:0.5;}

.menu-card img {
	width: 100%;
	max-width:160px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin-bottom: 10px;
}

.menu-card span {
	display: block;
	color: #fff;
	text-align: center;
	letter-spacing: .1em;
}

.menubt{margin:40px auto 0;text-align:center;}

.btn2 {
	display: inline-block;
	min-width: 220px;
	padding: 16px 24px;
	text-align: center;
	background: #ffffff;
	color: #1D1D1D;
	font-size: 16px;
	letter-spacing: .15em;
	border: 1px solid #ffffff;
	transition: background .25s ease, color .25s ease;
}

.btn2:hover {
	background: #1D1D1D;
	color: #ffffff;
}


.title-bn {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.title-bn__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.title-bn__mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(50, 50, 50, 0.8);
  z-index: 2;
}

.title-bn__frame {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  bottom: 12px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  z-index: 3;
  pointer-events: none;
}

.title-bn__content {
  position: relative;
  z-index: 4;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
   justify-content: space-between;
  gap: 8px;
  padding: 0 24px;
}

.title-bn__title {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 0;
  white-space: nowrap;
}

.title-bn__text {
  color: #f2f2f2;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  margin: 0;
}


/* --- News（お知らせ） --- */
.news-sec {
	position: relative;
	background-color: #f2eee5;
	padding: 56px 20px;
	margin-top:0;
}

.news-in {
	max-width: 900px;
	margin: 0 auto;
	flex-direction:column;
}

.news-list {
border-top: 1px solid;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.news-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 4px;
	border-bottom: 1px solid #c9c2b3;
	font-size: 13px;
}

.ys-posts.is-simple .ys-posts__item {
    border-bottom: 1px solid #1d1d1d;
}

.ys-posts__list.col-pc--3>* {
 width: 100%;
}


.news-date {
	color: #7a7268;
	letter-spacing: .05em;
}

.news-title {
	letter-spacing: .03em;
}

.news-none {
	padding: 24px 4px;
	font-size: 13px;
	color: #7a7268;
}

.ys-posts__list {
	flex-direction: column;}

.blog-link {
	position: relative;
	display: block;
	margin-top: 40px;
	overflow: hidden;
	    max-width: 380px;
    margin: 40px auto 0;
}

.blog-link img {
	width: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.blog-link:hover img {
	transform: scale(1.04);
	filter: brightness(.55);
	
}

.blog-link-txt {
	position: absolute;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	font-size: 20px;
	letter-spacing: .2em;
	font-family: serif;
}

/* --- Access（アクセス） --- */
.access-sec {
	position: relative;
	padding: 56px 20px 28px;
	overflow: hidden;
	color: #fff;
	background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/08/accessback.webp'); 
	background-size: cover;
  background-repeat: no-repeat;
	margin-top:0;
}

.access-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}

.access-sec::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.6);
	z-index: -1;
}

.access-in {
	max-width: 1080px;
	margin: 0 auto;
}

.access-grid {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 32px;
	justify-content:center;
}

.access-map {
	background: #ddd;
	    width: 100%;
    max-width: 420px;
    height: 280px;
}

.access-map iframe {
	width: 100%;
	border: 0;
	display: block;
}

.access-info {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
}

.access-info > div {
	display: grid;
	grid-template-columns: 84px 1fr;
	gap: 12px;
	    padding-bottom: 8px;
}

.access-info > div:last-child {
}

.access-info dt {
	font-weight: 700;
	letter-spacing: .1em;
	margin-top:0;
}

.access-info dd {
	margin: 0;
}

.access-copy {
	text-align: center;
	font-size: 15px;
	letter-spacing: .1em;
	margin: 0 0 32px;
}

.access-logo {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.access-logo-sub {
	font-size: 10px;
	letter-spacing: .3em;
	opacity: .8;
}

.access-logo-main {
	font-size: 26px;
	font-weight: 700;
	letter-spacing: .1em;
}

.wp-singular .content__main {
    background:none;
}	

.breadcrumbs__list {margin-left:1em;}


/* ==========================================================
   4. メディアクエリ：タブレット（600px〜）
   ========================================================== */
@media screen and (min-width: 600px) {
	
.header-type--row1 .site-branding{
 padding: 0 2em 0 0;
	margin-left:40px;
}
	
	.ponly{
  display:block;
}
.monly{
  display:none;
}
	
.tel {
    text-align: center;
        margin: 0 auto;
}	
	
.tel a{background: #83683E;
           padding: 20px 32px 23px;
    display: inline-block;
    color: #ffffff;
    text-align: center;
    margin-left: 2em;
	font-size:1.5em;
	border:none;
}	

	.br-sp { display: none; }

	.hero-video,
	.hero-img { height: 360px; }

	.ttl { font-size: 26px; }
	.lead {max-width: 680px; }

	.intro-in {
		display: flex;
		align-items: center;
		gap: 40px;
	}

	.intro-txt { flex: 1; }
	.intro-img { flex: 1; margin-top: 0; }

	.menu-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.menu-card {
    width: auto;
}
	
.menu-sec {
		background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/09/topsec2-1.webp'); 
	background-size: cover;
  background-repeat: no-repeat;
}
	
	.global-nav__menu>.menu-item {
    text-align: left;
}
	
	
	 .title-bn {
    height: 260px;
  }

  .title-bn__frame {
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
  }

  .title-bn__content {
    flex-direction: row;
    align-items: center;
    gap: 40px;
    padding: 0 60px;
  }

  .title-bn__title {
    font-size: 2.2rem;
  }

  .title-bn__text {
    font-size: 1.2rem;
  }

	.access-info > div {
		grid-template-columns: 100px 1fr;
	}
	
	.news-sec {
	background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/08/grayback.webp'); 
	background-size: cover;
  background-repeat: no-repeat;
	padding: 56px 20px;
	margin-top:0;
}
	
	
}


/* ==========================================================
   5. メディアクエリ：小型PC（900px〜）
   ========================================================== */
@media screen and (min-width: 900px) {

	/* ヘッダーをPC横並びレイアウトへ */
	.hd-in {
		max-width: 1280px;
		margin: 0 auto;
		padding: 18px 32px;
	}

	.nav-btn { display: none; }

	.gnav {
		position: static;
		width: auto;
		max-width: none;
		height: auto;
		background: none;
		padding: 0;
		transform: none;
		display: flex;
		align-items: center;
		gap: 28px;
		z-index: auto;
		overflow: visible;
	}

	.gnav-list {
		display: flex;
		align-items: center;
		gap: 26px;
	}

	.gnav-list li + li { border-top: 0; }

	.gnav-list a {
		padding: 4px 0;
		font-size: 13px;
	}

	.gnav-fb { margin-top: 0; }

	.tel-box {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 4px;
		background: #6b5a49;
		color: #fff;
		padding: 12px 22px;
		margin-left: 24px;
	}

	.tel-box-label {
		font-size: 11px;
		letter-spacing: .1em;
	}

	.tel-box-num {
		display: flex;
		align-items: center;
		gap: 6px;
		color: #fff;
		font-size: 19px;
		font-weight: 700;
		letter-spacing: .04em;
	}

	.hero-video,
	.hero-img { height: 460px; }

	.intro { padding: 80px 40px; }
	.intro-in { max-width: 1180px; gap: 64px; }
	.ttl { font-size: 30px; }
	.lead { font-size: 16px; }

	.menu-sec { padding: 0 0 80px; }

	.menu-in {
		display: flex;
		align-items: stretch;
	}

	.menu-photo { flex: 0 0 40%; }
	.menu-photo img { height: 100%; aspect-ratio: auto; }

	.menu-body {
		flex: 1;
		padding: 70px 60px 0;
		text-align: left;
	}

 .entry-content h2.v-ttl {    margin: 0 auto 40px;/*height:220px;*/ }

	.menu-lead { max-width: 100%; }
	
	.title-bn__title {
    font-size: 2.6rem;
  }

  .title-bn__text {
    font-size: 1.2rem;
  }
	

	.news-sec { padding: 80px 40px; }
	.news-in {gap: 60px; align-items: flex-start; }
 .entry-content h2.v-ttl { flex: 0 0 auto; }
	.news-list { flex: 1; }
	.blog-link {  }

	.access-sec { padding: 90px 40px 100px; }
	.access-grid {
		flex-direction: row;
		align-items: stretch;
		gap: 40px;
	}
	.access-map {  }
	.access-map iframe { height: 100%; min-height: 280px; }
	.access-info {  align-self: center; }
}


/* ==========================================================
   6. メディアクエリ：大型PC（1200px〜）
   ========================================================== */
@media screen and (min-width: 1200px) {

	.hero-video,
	.hero-img { height: 560px; }

	.intro-in { max-width: 1280px; }
	 .entry-content h2.ttl { font-size: 34px; }

	.menu-lead {}

	.menu-grid { gap: 24px; }

	.news-in,
	.access-in { max-width: 1280px; margin: 0 auto; }

	 .entry-content h2.v-ttl { font-size: 30px; }
}


/* ============================================================
   ============================================================
   7. お品書きページ（menu-content.html）専用スタイル
      ※ front-page 側と同じ nakasan テーマの一部として追記
   ============================================================
   ============================================================ */


.p-hero {
  position: relative;
  width: 100%;
  height: 480px; /* 背景画像に合わせて調整 */
  overflow: hidden;
}

.p-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.p-hero__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  writing-mode: vertical-rl;   /* 縦書き */
  text-orientation: upright;   /* 文字を縦向きのまま表示 */
  color: #fff;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  line-height: 1.4;
  margin: 0;
}

.p-hero__label {
  display: block;
  writing-mode: vertical-rl;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  font-weight: 400;
  margin-bottom: 1em; /* 縦書きなので実質は右側の余白になる */
	text-orientation: sideways;
}


.mn-block {
	padding: 48px 20px;
	    margin: 0 auto;
}

.mn-block--light {
	background-color: #ece7dc;
	background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/08/grayback.webp');
	background-size: contain;
	background-repeat: repeat;
	color: #1D1D1D;
}

.mn-block--dark {
	background-color: #747474;
	background-image: url('https://waryouri-nakasan.com/wp-content/uploads/2026/08/grayback.webp');
	background-size: contain;
	background-repeat: repeat;
	background-blend-mode: multiply;
	color: #fff;
}

.mn-top{}

.mn-in {
	max-width: 960px;
	margin: 0 auto;
}

/* --- バナー --- */
.mn-banner {
	position: relative;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.mn-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(20, 16, 12, .55);
}

.mn-banner-frame {
    position: relative;
    margin: 14px;
    padding: 40px 24px;
    border: 1px solid rgba(255, 255, 255, .55);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}


.mn-banner-ttl {
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: .12em;
	margin: 0;
}

.mn-banner-txt {
	color: #fff;
	letter-spacing: .05em;
	margin: 0;
	font-size: 1.2em;
}

/* --- リード文 --- */
.mn-lead {
	line-height: 2;
	letter-spacing: .02em;
	margin: 24px 0 32px;
	text-align: left;
}

.mn-block--dark .mn-lead {
	color: rgba(255, 255, 255, .9);
}

/* --- 小さめの注意書き（※〜） --- */
.mn-note-sm {
	font-size: 1em;
	line-height: 1.9;
	color: #7a7268;
	margin: 16px 0 0;
}

.mn-block--dark .mn-note-sm {
	color: #ffffff;
}

/* --- 営業時間などの注意ボックス --- */
.mn-notice {
margin-top: 40px;
    padding: 1.5em;
    border: 1px solid #1d1d1d;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.8;
}

.mn-notice p {
	margin: 0 0 6px;
}

.mn-notice p:last-child {
	margin-bottom: 0;
}

.mn-notice-ttl {
	font-weight: 600;
	font-size: 13px;
}

.mn-block--dark .mn-notice {
	border-color: rgba(255, 255, 255, .3);
	color: rgba(255, 255, 255, .85);
}

/* --- CTAボタン --- */
.mn-cta {
	text-align: center;
	margin-top: 40px;
}

/* --- リスト（価格表）まわり --- */
.mn-row {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.mn-col-list + .mn-col-list {
	margin-top: 32px;
}

.mn-list-group + .mn-list-group {
	margin-top: 28px;
}

/* 見出しバー */
.mn-ttl {
	display: flex;
	align-items: center;
	margin: 0 0 4px;
	padding: 14px 18px;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .08em;
	background: #696969;
	color: #fff;
}

.mn-block--dark .mn-ttl {
	background: #3c3c3c;
    color: #ffffff;
}

.mn-block--dark .mn-ttl .course{
	background: #c1c1c1;
    color: #1d1d1d;
}

/* 要予約バッジ付きの見出しバー（コース料理内で使用） */
.mn-ttl--badge {
	padding: 0;
	background: linear-gradient(90deg, #d9d5cc 0%, #d9d5cc 62%, #4a3c2f 100%);
}

.mn-ttl-label {
	flex: 1;
	padding: 14px 18px;
	color: #2b2723;
}

.mn-badge {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	padding: 10px 20px 10px 30px;
	margin-left: -14px;
	background: #4a3c2f;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	clip-path: polygon(20px 0, 100% 0, 100% 100%, 20px 100%, 0 50%);
}

.mn-ttl2 {
	display: flex;
	align-items: stretch;
	background: #c1c1c1;
	color: #1D1D1D;
}

.mn-ttl2-label {
	flex: 1;
	display: flex;
	align-items: center;
	padding: 16px 20px;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .08em;
}

.mn-badge2 {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 28px 16px 44px;
	margin-left: -32px;
	background: #3c3c3c;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .12em;
	clip-path: polygon(32px 0, 100% 0, 100% 100%, 0 100%);
}

/* 価格リスト */
.mn-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mn-item {
	padding: 2em;
    border-bottom: 1px solid #1d1d1d;
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    gap: 0px;
}

.mn-item.cspace {
display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    gap: 29px;
}

.mn-item.cspace2 {
display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    gap: 32px;
}

.mn-item.cspace3 {
display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    gap: 0;
	padding:3em 2em;
}

.mn-item.cspace4 {
display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    gap: 0;
	padding:2.5em 2em;
}

.mn-block--dark .mn-item {
	border-bottom-color: rgba(255, 255, 255, .25);
}

.mn-item-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}

.mn-item-name {
	font-weight: 600;
	font-size: 16px;
	letter-spacing: .04em;
}

.mn-item-price {
	flex-shrink: 0;
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
}

.mn-item-desc {
    font-size: 14px;
    letter-spacing: .02em;
    color: #444444;
}

.mn-block--dark .mn-item-desc {
	color: rgba(255, 255, 255, .6);
}

/* 複数価格（要予約コースなど）を縦に並べる */
.mn-item--multi .mn-item-row {
	align-items: center;
}

.mn-item-prices {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
}

.mn-price {
	font-size: 16px;
	font-weight: 600;
	white-space: nowrap;
}

/* --- 写真パネル --- */
.mn-col-photo {
	display: none; /* SPでは写真パネルを非表示にして価格表を優先表示 */
}

.mn-photo-panel img,
.mn-photo-flex img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mn-photo-lg {
	aspect-ratio: 4 / 3;
}

.mn-photo-row {
	display: flex;
	gap: 12px;
	margin-top: 12px;
}

.mn-photo-sm {
	flex: 1;
	aspect-ratio: 1 / 1;
}

.mn-photo-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin-top: 12px;
}

/* コース料理内：複数リストの高さに合わせて写真を積み重ねる */
.mn-photo-panel--split2,
.mn-photo-panel--split3 {
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
}

.mn-photo-flex {
	flex: 1;
	min-height: 160px;
}

.mn-photo-flex--tall {
	flex: 1.4;
}


/* ---- タブレット（600px〜） ---- */
@media screen and (min-width: 600px) {

	.mn-block { padding: 64px 32px; }

	.mn-banner-ttl { font-size: 32px; }
	.mn-lead { font-size: 16px; }

	.mn-photo-row { gap: 16px; }
	.mn-photo-grid { gap: 16px; }
	
	.mn-banner-frame {
    flex-direction: row;
}

	.mn-block.mn-top{ padding: 64px 32px 0; }
	
.mn-item-desc {
    font-size: 15px;
}	
	
}


/* ---- 小型PC（900px〜） ---- */
@media screen and (min-width: 900px) {

	.mn-block { padding: 80px 40px; }

	.mn-banner-frame { margin: 16px; padding: 80px 48px; }
	.mn-banner-ttl { font-size: 40px; }
	.mn-banner-txt {}
	.mn-block.mn-top{ padding: 80px 40px 0; }


	/* リストと写真を横並びに */
	.mn-row {
		flex-direction: row;
		align-items: stretch;
		gap: 40px;
	}

	.mn-col-list {
		flex: 1.35;
		min-width: 0;
	}

	.mn-col-photo {
		display: block;
		flex: 1;
		min-width: 0;
	}

	.mn-photo-panel {
		height: 100%;
		display: flex;
		flex-direction: column;
	}

	.mn-photo-lg {
		flex: 1;
		aspect-ratio: auto;
	}

	.mn-col-list + .mn-col-list { margin-top: 0; }
}


/* ---- 大型PC（1200px〜） ---- */
@media screen and (min-width: 1200px) {

	.mn-in { max-width: 960px; }

	.mn-banner-ttl { font-size: 48px; }

	.mn-item-name { font-size:1rem; }
	.mn-item-price,
	.mn-price { font-size: 16px; }
}


/* ============================================================
   ============================================================
   8. お品書きページ 追加パーツ
      （営業時間まとめボックス／コース料理・うなぎ料理・お飲み物で
        使用する2カラムの価格表＋写真グリッド）
   ============================================================
   ============================================================ */

/* --- ページ最上部：営業時間まとめボックス --- */
.mn-hours .mn-in {
	max-width: 900px;
}

.mn-ttl--center {
	justify-content: center;
	text-align: center;
}

.mn-notice--plain {
	border: none;
	padding: 0;
	margin-top: 24px;
	font-size: 14px;
}

.mn-notice--plain .mn-notice-ttl {
	font-size: 16px;
}

.mn-block--dark .mn-notice--plain {
	border: none;
}

/* お飲み物末尾の注意書き（中央寄せ） */
.mn-notice--center {
	text-align: justify;
}

.mn-notice--center p {
	margin: 0 0 4px;
}

.mn-notice--center p:last-child {
	margin-bottom: 0;
}

/* --- 2カラムの価格表／写真グリッド ---
   コース料理・うなぎ料理・お飲み物で使用。
   list-group と photo-card を出現順に並べるだけで、
   自動的に2カラムへ配置されます（SPでは1カラム）。
*/
.mn-grid2 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-top: 24px;
}

.mn-grid2 + .mn-grid2 {
	margin-top:24px;
}

.mn-grid2 .mn-list-group {
	margin-top: 0; /* mn-row用の margin-top をリセット */
}

/* 同じセル内で複数リストを縦に積む（お飲み物の右カラムなど） */
.mn-col-stack .mn-list-group + .mn-list-group {
	margin-top: 28px;
}

/* 写真カード（1枚だけの単純な写真ボックス） */
.mn-photo-card {
	aspect-ratio: 4 / 3;
}

.mn-photo-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mn-photo-card.singleimg img{height:auto;}


/* ---- タブレット（600px〜） ---- */
@media screen and (min-width: 600px) {

	.mn-grid2 {
		grid-template-columns: 1fr 1fr;
		gap: 28px 32px;
	}
	.mn-notice--center {
	text-align: center;
}
}


/* ---- 小型PC（900px〜） ---- */
@media screen and (min-width: 900px) {

	.mn-hours .mn-in { max-width: 960px; }
	.mn-grid2 + .mn-grid2 {
	margin-top: 80px;
}
	
	
}

