@charset "UTF-8";

/* サブヘッダー（食べるサイトタイトル） */
.sub-header h1 {
	/* background-color:#b42e2e; */
}

.sub-header .pickup {
	margin:30px auto;
}

.sub-header .pickup h2 {
	font-size:20px;
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bototm:10px;
}



.sub-header .pickup h2::before,
.sub-header .pickup h2::after {
	display:inline-block;
  background-color: #000; /* 横線の色 */
  content: "";
  height: 1px; /* 横線の高さ */
  width: 60px; /* 横線の長さ */
	margin:0 10px;
}

.sub-header .pickup h3 {
	font-size:20px;
	margin-top:0px;
	margin-bottom:10px;
	display:inline;
}

.sub-header .pickup h3 a{
	color:#00102E;
}

.sub-header .pickup h4 {
	font-size:18px;
	margin-bottom:10px;
}

.sub-header .pickup .cat-links {
	display:inline-block;
	vertical-align:text-bottom;
}

.sub-header .pickup .cat-links a {
	font-size:12px;
	color: #233452 !important;
	display: inline-block;
	line-height: 1.4rem;
	padding: 0 6px;
	border: 1px solid #233452;
	border-radius: 3px;
	font-weight:bold;
}


.sub-header .pickup .post-tag {
	display:inline-block;
	margin:0 5px;
}

.sub-header .pickup .post-tag a {
	font-size:14px;

/*
	font-size:12px;
	color: #233452 !important;
	display: inline-block;
	line-height: 1.4rem;
	padding: 0 6px;
	border: 1px solid #233452;
	border-radius: 3px;
	font-weight:bold;
*/
}

.sub-header .pickup .post-tag a::before {
	content:"#";
}

.sub-header .pickup .d-flex {
	flex-direction:column;
	gap:20px;
}

.sub-header .pickup .inner-content {
	background-color:#fff;
	padding:15px;
}

.sub-header .pickup .shop-adrs {
	display:inline-block;
	font-size:14px;
}

.sub-header .pickup .shop-img {
	min-width:300px;
}

.sub-header .pickup .shop-img a {
	aspect-ratio:4 / 3;
	overflow:hidden;
}

.sub-header .pickup .shop-img a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sub-header .pickup .shop-info,
.sub-header .pickup .menu-detail {
	flex-grow:1;
}

.sub-header .pickup .menu-detail p {
	font-size:14px;
}

.sub-header .pickup .menu-img {
	aspect-ratio:1 / 1;
	width:150px;
	overflow:hidden;
	flex-shrink: 0; /* flexで縮まないように */
}

.sub-header .pickup .menu-img img {
	object-fit:cover;
	width:100%;
	height:100%;
}

.sub-header .btn-area{
}

.sub-header .btn-area a.btn {
 color:#000;
font-family:sans-serif;
font-size:13px;
	border-bottom:1px solid #000;
}

.sub-header .btn-area a.btn:hover{
	border-bottom:none;
}




.sub-header .search-area form {
	display:flex;
	flex-direction:column;
	gap:20px;
}

.sub-header .search-area form > input, 
.sub-header .search-area form > select {
	flex-grow:1;
	color:#00102e;
	border:1px solid #000;
}

.sub-header .search-area label {
	display:block;
}


.food-navigation {
	margin-top:30px;
}

.food-navigation ul {
	list-style:none;
}

.food-navigation .d-flex {
	flex-direction:column;
	padding:0;
	gap:3px;
}

.food-navigation li {
	text-align:center;
}

.food-navigation > ul > li {
	border:1px solid #000;
	position:relative;

}

.food-navigation > ul > li > a{
color:#000;
background-color:#fff;
padding:5px 10px;
display:block;

}

.food-navigation > ul > li > a:hover{
opacity:1;
background: #efefef;

}
.food-navigation > ul > li > a:active{
opacity:1;
background: #efefef;
}


.food-navigation > ul > li > a::after {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
	content: "\f078";
	color:#000;
	margin-left:5px;
}

.food-navigation > ul > li.active > a::after {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
	content: "\f077";
	color:#000;
	margin-left:5px;
}

ul.food-sub-navigation {
	border-top:1px solid #000;
	background-color:#fff;
	position: absolute;
	z-index: 10;
	overflow: hidden;
	width:100%;
	max-height: 0;
	padding: 0;
	opacity:0;
	transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.3s ease;
}

.food-navigation li.active ul.food-sub-navigation {
	/* padding:10px 0; */
	opacity:1;
	max-height:500px;
	width:100%;
	transition: max-height 0.3s ease, opacity 0.3s ease;
}

.food-navigation li.active ul.food-sub-navigation li {
	border-bottom:1px solid #efefef;
}


.food-navigation li.active ul.food-sub-navigation a {
	padding:10px 20px;
	display:block;
}

ul.food-sub-navigation span {
	font-size:12px;
}

/* ---------- 一覧ページ -------------- */
.posts-layout .row {
	display:flex;
	flex-wrap:wrap;
}


/* ---------- シングルページ ---------- */
.subsite-meta {
	font-size:14px;
	margin-top:20px;
	text-align:center;
}

.subsite-meta > div {
	display:inline;
	margin:0 5px;
}

.subsite-meta > div.print-link {
	display:none;
}


.d-flex.shop-wrapper{
	flex-direction:column;
	gap:20px;
}

.single .img-area,
.print .img-area {
	flex-direction:column;
	gap:20px;
}


.single .post-thumb a,
.print .post-thumb a{
	display:block;

}

.single .post-thumb a img,
.print .post-thumb a img{
	width:100%;
}

.single .sub-imgs,
.print .sub-imgs{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
}


.single .sub-img,
.print .sub-img {
	aspect-ratio:1 / 1;
flex: 0 1 calc((100% - 32px) / 3);}

.single .sub-img img,
.print .sub-img img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.single .menu,
.print .menu {
	background-color:#fff2e4;
	border-radius:10px;
	padding:15px;

  background-image: repeating-linear-gradient(
    45deg,               /* 角度 */
    #fff8e9 0px,            /* 線の色（開始）*/
    #fff8e9 2px,            /* 線の太さ */
    transparent 2px,     /* 線と線の間隔（開始） */
    transparent 10px     /* 線と線の間隔（終了）*/
  );
}

.single .menu  .menu-item,
.print .menu  .menu-item{
	background-color:#fff;
	padding:15px;
	border-radius:5px;
	margin-bottom:30px;
	display:flex;
	flex-direction:column;
	box-shadow:0px 0px 5px rgb(255 206 132 / 80%);;
}

.single .menu h2,
.print .menu h2{
	margin-top:0 !important;
	text-align:center;
	color:#cc6a22;
}

.single .menu .menu-item .menu-detail h4,
.print .menu .menu-item .menu-detail h4{
	margin-top:0 !important;
	border-bottom:1px dashed #ccc;
	padding-bottom:10px;
}
.single .menu .d-flex,
.print .menu .d-flex {
	gap:40px;
}

.single .menu .menu-item .menu-detail .price,
.print .menu .menu-item .menu-detail .price {
	text-align:right;
	font-weight:bold;
}

.single .menu .menu-item .menu-detail .menu-description,
.print .menu .menu-item .menu-detail .menu-description {
	margin-bottom:0;
}

.single .menu .menu-item  .menu-img {
	aspect-ratio: 4 /3 ;
	overflow:hidden;
	margin-bottom:10px;
}

.single .menu .menu-item  .menu-img img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

.details {
	margin:50px auto;
}


.details h2 {
	text-align:center;
}

.details h2::before,
.details h2::after {
	content:"";
	display:inline-block;
	width:30px;
	border-bottom:1px solid #ccc;
	margin:10px;
}


.details .d-flex {
	gap:20px;
	flex-direction:column;
}

.details .shop-name {
	font-size:20px;
	margin-bottom:0;
}

.details .shop-name span {
	font-size:14px;
	font-weight:normal;
}


.details .map a.btn {
	background-color:#000;
	color:#fff;
	display:inline-block;
	padding:0 20px;
	border-radius:15px;
	margin:20px 0;
}

.details .map a.btn::after {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
	content:"\f08e";
	color:#fff;
	margin-left:5px;
}

.details .address {
	font-size:14px;
	margin-right:20px;
}

.details .tel {
	font-size:14px;
}

/*
.details dl {
	display:grid;
  grid-template-columns: repeat(2, auto);
  column-gap: 0;
  row-gap: 0;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
}

.details dt {
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
	text-align:center;
	background-color:#EAE4D8;
	color:#3C3228;
	font-size:14px;
	padding:10px;
	width:90px;
}

.details dd {
  margin: 0;
  padding-left: 0;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
	padding:10px;
}
*/

.details-wrapper {
	display:flex;
	flex-direction:column;
	gap:30px;
	margin-bottom:30px;
}

.details-wrapper h3:not(.name) {
	font-size:16px;
    border: 1px solid #ccc;
    padding: 5px 10px;
    background-color: #f4eee2;
    color: #452717;
	margin-bottom:10px;
}

.detail h3.name {
	margin:0 !important;
	text-align:center;
	font-size:24px;
}

.detail .map-link {
	text-align:center;
}

.detail .map-link a{
	display:inline-block;
	background-color:#000;
	color:#fff;
	border-radius:20px;
	padding:5px 20px;
	margin-bottom:20px;
}

.detail.overview p {
	line-height:1.2;
/*	text-align:center; */
}

.detail.overview p.kana {
	text-align:center;
}

.detail.overview  .exterior-img {
	aspect-ratio: 4 / 3;
	overflow:hidden;
	margin-bottom:20px;
}

.detail.overview  .exterior-img img{
	width:100%;
	height:100%;
	object-fit:cover;
}


.detail dl {
display:grid;
grid-template-columns: 70px 1fr;
font-size:14px;
  row-gap: 0.5em;
line-height:1.4;
}

.detail dt {
	position:relative;
	padding-right:5px;
	padding-bottom:5px;
	border-bottom:1px dashed #ccc;
}

.detail dt:before {
	content:"：";
	position:absolute;
	right:0;
	
}

.detail dd {
  margin: 0;
	padding-bottom:5px;
  word-break: break-all;
  overflow-wrap: anywhere;
	border-bottom:1px dashed #ccc;
}

.nearby-spot h1{
	display:none;
}

.nearby-spot h3 {
	font-size: 16px;
    border: 1px solid #ccc;
    padding: 5px 10px;
    background-color: #f4eee2;
    color: #452717;
    margin-bottom: 10px;
}


/* ---------- mtssb 予約品目シングルページ ---------- */
.mtssb-entry-content .entry-thumb {
	text-align:center;
}

.mtssb-entry-content .mtssb-detail h2 {
    font-size: 1.2rem;
    border: 1px solid #efefef;
    background: linear-gradient(to bottom, #ffffff, #efefef);
    padding: 5px 14px;
    border-top: 3px solid #4795ce;
}


.program-detail {
	display:flex;
	flex-direction:column;
}

.mtssb-detail h2,
.calendar-area h2,
.about-place h2 {
	font-size:1.2rem;
	border:1px solid #efefef;
	background:linear-gradient(to bottom, #ffffff, #efefef);
	padding:5px 14px;
	border-top:3px solid #4795ce;
}

.mtssb-detail strong {
	font-size:1.1rem;
}


.mtssb-detail dt {
	color:#553e14;
	border:1px solid #FFBD35;
	background-color:#FFEEB9;
	font-weight:bold;
	padding-left:14px;
	margin-bottom:10px;
}

.mtssb-detail dd {
	margin-bottom:20px;
}


.calendar-area .term {
	display:flex;
	gap:10px;
	color:#000;
}

.calendar-area .d-flex{
	gap:20px;
}

.calendar-area .term dt {
	border:1px solid #000;
	padding:0 10px;
	font-size:0.9rem;
}

.calendar-area .term dd {
	font-weight:bold;
}

.calendar-area .calatend {
	font-size:1.1rem;
	margin-bottom:20px;
	border:1px solid #f00;
	border-radius:10px;
	padding:20px;
}

.calendar-area .form-area {
	flex-direction:column;
}


.mark-meaning h3 {
	font-size:1.2rem;
	margin:0;
	
}

.mark-meaning {
	font-size:0.9rem;
	margin-bottom:20px;
}

.calendar-area .booking-flow {
	background-color:#e4f5a0;
	padding:10px 20px;
}

.calendar-area .booking-flow h3 {
	font-size: 0.9rem;
	border-radius: 1.4rem;
	border: 1px solid #ccc;
	font-family: sans-serif;
	padding: 10px;
	text-align: center;
	color: #fff;
	background-color: #365c31;
}



.calendar-area .booking-flow ol {
	display:flex;
	flex-wrap:wrap;
	gap:30px;
list-style: none;

}

.calendar-area .booking-flow ol li {
	font-family:sans-serif;
	font-size:14px;
	border:2px solid #a6d96d;
	border-radius:6px;
	padding:10px;
	position:relative;
	flex-basis:100%;
	background-color:#fff;
}

.calendar-area .booking-flow ol li::after {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
  content: "\f358";
  position: absolute;
    top: auto;
    bottom: -36px; /* liの下に矢印を配置 */
    left: 50%;
    transform: translateX(-50%);
	font-size:1.4rem;
	color:#ff8000;
}

.calendar-area .booking-flow ol li:last-child::after {
  content: none;

}


.about-place .d-flex {
	gap:20px;
	flex-direction:column;
}

.about-place .map {
	flex-basis:100%;
}

.about-place dl {
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	margin-bottom:20px;
}

.about-place dt{
	color:#553e14;
	flex-basis:130px;
	border:1px solid #FFBD35;
	background-color:#FFEEB9;
	font-weight:bold;
	text-align:center;
	font-size:0.9rem;
}

.about-place dd{
	flex-basis:calc(100% - 150px);
}

.single-mtssb_article .kaniburi-links {
	margin-top:50px;
}


.single-mtssb_article .kaniburi-links h3 {
    text-align: center;
    font-size: 1.4rem;
    background-color: #c00;
    color: #fff;
	padding:6px;
}



/* -------- サイドバー -------- */
#secondary .entry-meta .post-tag a:before {
	content:">"
}

#secondary .shop-info h4 {
	font-size:12px;
	margin-bottom:0;
	background-color:#ffefe2;
	padding:3px 10px;
}

#secondary .menu-detail h5 {
	font-size:16px;
	margin-bottom:10px;
}

#secondary .menu-detail .price {
	font-weight:bold;
}
/* ================================
ブレイクポイント
================================== */
@media (min-width: 480px) {

}

@media (min-width: 768px) {
	.single .entry-content .img-area,
	.print .entry-content .img-area {
		flex-direction:row;
		align-items:start;
	}

	.single .post-thumb,
	.print .post-thumb{
		flex-basis:50%;
		flex-shrink:0;
	}

	.single .menu  .menu-item,
	.print .menu  .menu-item{
		flex-direction:row;
		gap:20px;
	}

	.single .menu  .menu-item .menu-img,
	.print .menu  .menu-item .menu-img {
		flex-basis:40%;
		flex-shrink:0;
	}
	.single .menu .menu-item .menu-detail,
	.print .menu .menu-item .menu-detail{
		flex-grow:1;
	}

	.details-wrapper {
		flex-direction:row;
		gap:30px;
		flex-wrap:wrap;
	}

	.details-wrapper .detail {
		flex:1;
		flex-basis:calc(50% - 20px);

	}

	.nearby-spot {
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:30px;
	}

}

@media (min-width: 1024px) {

	.sub-header .pickup .d-flex {
		flex-direction:row;
		align-items:center;
	}


	.sub-header .search-area form {
		flex-direction:row;
	}
	.sub-header .tool .d-flex {
		flex-direction:row;
	}

	.sub-header .tool .d-flex .search-area {
		width:300px;
	}

	.sub-header .tool .d-flex .pickup {
		width:calc(100% - 300px);
	}

	.sub-header .tool .d-flex .pickup .pickup-cell {
		display:flex;
	}



	.food-navigation .d-flex {
		flex-direction:row;
		width:100%;
	}

	.food-navigation li {
		width:100%;
	}

	/* シングルページ */
	.subsite-meta > div.print-link {
		display:inline;
	}


	.menu-item {
		flex-basis:33%;
	}


	/* 予約品目シングルページ */

	.mtssb-detail {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
		gap:20px;
		justify-content:space-between;
	}

	.mtssb-detail h2 {
		width:100%;
	}

	.mtssb-detail dl {
		flex-basis:48%;
	}

	.calendar-area .term-area {
		justify-content:space-between;
	}

	.calendar-area .mark-meaning {
		flex-basis:250px;
	}

	.calendar-area .form-area {
		flex-direction:row;
		align-items:start;
	}

	.calendar-area .booking-flow {
		flex-basis:250px;
		order:2;
		margin-top:50px;
		flex-grow:unset;
	}

	.calendar-area .infotablecal {
		flex-grow:2;
	}

	.about-place .d-flex {
		flex-direction:row;
	}



}

@media (min-width: 1320px) {

}

@media (min-width: 1920px) {

}

@media print {
	.print .img-area {
		flex-direction:row;
	}

	.print .menu  .menu-item{
		flex-direction:row;
		gap:20px;
	}

	.print .menu  .menu-item .menu-img {
		flex-basis:40%;
		flex-shrink:0;
	}
	.print .menu .menu-item .menu-detail{
		flex-grow:1;
	}
	.details-wrapper {
		flex-direction:row;
		gap:30px;
		flex-wrap:wrap;
	}

	.details-wrapper .detail {
		flex:1;
		flex-basis:calc(50% - 20px);

	}

}

