
/* 全体 */
.menuWrap1{
  max-width: 1100px;
  margin: 70px auto;
  padding: 0 20px;
}

.menuWrap1Category{
	
}

/* カテゴリタイトル */
.menuWrap1Title {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 25px;
  border-bottom: 2px solid #eee;
  padding-bottom: 8px;
}

/* グリッド設定 */
.menuWrap1Grid {
  display: grid;
  gap: 30px;
}

/* 720px以上で3列 */
@media (min-width: 720px) {
  .menuWrap1Grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* メニューカード */
.menuWrap1Card {
  background: #fff;
  padding: 15px 0;
  border-bottom: 1px solid #f0f0f0;
}

/* 上段：画像・名前・価格を1行で揃える */
.menuWrap1Top {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 画像 */
.menuWrap1Top img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 6px;
}

/* 名前 */
.menuWrap1Name {
  flex: 1; /* 左右に伸びて価格と間隔を確保 */
  color: #333;
	text-align: left;
}

/* 価格（右揃え） */
.menuWrap1Price {
  font-weight: 600;
  white-space: nowrap;
  color: #444;
}

/* 説明文 */
.menuWrap1Desc {
  font-size: 0.9rem;
  color: #666;
  margin-top: 10px;
  line-height: 1.4;
	text-align: left;
}










/* 全体レイアウト */
.menu-container1row {
	margin: 0 auto;
	padding: 0 auto;
  max-width: 1100px;
  padding: 0 20px;
  display: grid;
  gap: 40px;
}

/* 720px以上は2列 */
@media (min-width: 720px) {
  .menu-container1row {
    grid-template-columns: 1fr;
  }
}
.menu-container {
	margin: 0 auto;
	padding: 0 auto;
  max-width: 1100px;
  padding: 0 20px;
  display: grid;
  gap: 40px;
}

/* 720px以上は2列 */
@media (min-width: 720px) {
  .menu-container {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* カテゴリタイトル */
.menu-title {
  margin: 40px auto;
  font-size: 1.4rem;
  margin-bottom: 20px;
  padding-bottom: 6px;
  border-bottom: 2px solid #eee;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* メニューリスト */
.menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* メニューアイテム（整列） */
.menu-item {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}


.menu-name {
  font-size: 1rem;
  color: #333;
	text-align: left;
	line-height: 120%;
	padding-right: 8px;
}

.menu-price {
  font-size: 1rem;
  color: #444;
  font-weight: 600;
	text-align: right;
}

/* 最後は区切り線なし */
.menu-item:last-child {
  border-bottom: none;
}


.site-header { /* ヘッダー上部固定 */
	position: sticky; /* ← ここが肝 */
	top: 0;
	/* height: var(--header-h); */
	align-items: center;
	z-index: 1000;
	backdrop-filter: blur(4px); /* 好みで */
}

.hLogo{
	float: left;
	padding-left: 18px;
	padding-top: 4px;		
}
.hTitle{
	padding: 0;
	margin: 0;
	font-size: 180%;
}
.headerNav{
	position: absolute;
	width: 100%;
}

#header_tel{
	display:block;
	position: fixed;
	right: 65px;
	top: 15px;
	z-index: 999;
	font-size: 150%;
}

.menuCon{
	clear: both;
	margin: 0 auto;
	padding: 0 auto;
	top: 0;
	align-items: center;
}

@media (min-width: 720px) {
	.hLogo{
		float: left;
		padding-top: 0px;		
		padding-left: 18px;
	}

	.hTitle{
		font-size: 150%;
	}

	.headerNav{
		max-width: 1100px;
	}
	.menuCon{
		max-width: 1100px;
	}
	#header_tel{
		display:none;
	}
}

/*ページトップへ戻るボタン*/
#page_top{
	position: fixed;
	right: 10px;
	bottom: -50px;
	z-index: 1000;
}
#page_top a{
	position: relative;
	display: block;
	text-decoration: none;
	color: #565656;
	font-size: 250%;
}
#page_top a:hover{
	color: #727272;
}

/*電話番号ボタン*/
#tel_btn{
	display:none;
}

@media (min-width: 720px) {

	#tel_btn{
		display:block;
		position: fixed;
		right: 60px;
		bottom: -60px;
		z-index: 999;
		border: 1px solid #565656;
		background: #ffffff;
		padding: 5px 20px 10px 20px;
		line-height: 150%;
	}

	#tel_btn span{
		font-size: 90%;
	}
	#tel_btn a{
		position: relative;
		display: block;
		text-decoration: none;
		color: #000000;
		font-size: 150%;
	}
	#tel_btn a:hover{
		color: #565656;
	}
}

.footerInfo{
	margin-top: 50px;
	color: #cccccc;
}

.footerShopName{
	font-size: 220%;
	font-weight: 500;
	margin-left: 10px;
	margin-bottom: 20px;
}

.footerInfo p{
	line-height: 200%;
}

.footerInfo a{
	color: #cccccc;
	text-decoration: underline;
}

.footerInfo a:hover{
	color: #ffffff;
	text-decoration: none;
}

.footerAdd{
	margin-top: 15px;
	margin-bottom: 15px;
}

.footerMap{
	margin: 0 auto;
	border: 1px solid #cccccc;
	background: #aba497;
	width: 50px;
}

	.footerMap a{
		display: block;
		text-decoration: none;
		color: #262626;
		line-height: 200%;
	}

.footerTel{
	margin-top: 15px;
	font-family: 'Playfair Display', serif;
	font-size: 200%;
}

.footerWhatsUp i{
	margin-top: 15px;
	font-size: 300%;
}

.footerWhatsUp span{
	font-family: 'Playfair Display', serif;
	font-size: 180%;
	margin-left: 10px;
}

.footerSNS{
	clear: both;
	margin: 0 auto;
	overflow: hidden;
	width: 100%;
	margin-top: 30px;
	margin-bottom: 50px;
}

	.footerSNS a{
		margin-left: 12px;
		margin-right: 12px;
		color: #766c5c;
	}

	.footerSNS a:hover{
		color: #aba497;
	}

	.footerSNS a i{
		font-size: 300%;
	}


.footerMenuCon{
	margin-bottom: 40px;	
}

.footerMenuList{
	padding: 0 auto;
	margin: 0 auto;
	list-style: none;
	display: flex;
	max-width: 400px;
}

	.footerMenuList li{
	  display: flex;
	  align-self: auto;
	  flex: 1;
	  border-right: 1px solid #cccccc;
	  min-width: 0;
	}

	.footerMenuList li:first-child{
	  border-left: 1px solid #cccccc;
	}

	.footerMenuList li a{
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1;
		padding: 0.3em;
		text-align: center;
		word-break: break-all;
		box-sizing: border-box;
		color: #cccccc;
		font-size: 85%;
	}

	.footerMenuList li a:hover{
		background: #565656;
	}

.copyrightWrap{
	margin-bottom: 50px;
}

/*▼▼▼トップ言語選択ブロック▼▼▼*/

.lanBtnSty{
	margin: 0 1rem;
	padding: .6rem 1rem;
	border: 1px solid #ccc;
	border-radius: 6px;
	cursor: pointer;
}

@media (min-width: 720px) {
	.langSele{
		max-width: 1100px;
	}
	.lanBtnSty{
		font-size: 80%;
	}
}
/*▲▲▲トップ言語選択ブロック▲▲▲*/

/*▼▼▼トップメイン画像スライド▼▼▼*/

.container {
	margin-right: auto;
	margin-left: auto;
    max-width: 100%;
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col-12 {
  position: relative;
  width: 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  -webkit-transform: none;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat 50% / 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  box-sizing: content-box;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
	position: absolute;
	right: 15%;
	bottom: 30%;
	left: 15%;
	z-index: 10;
	padding-top: 20px;
	padding-bottom: 20px;
	color: #fff;
}

.carousel-caption p{
	font-weight: 700;
	font-size: 3rem;
	text-align: center;
	text-shadow: 3px 4px #8a964a;
}

@media (min-width: 720px) {
	.carousel-caption {
		bottom: 50%;
	}

	.carousel-caption p{
		font-size: 4rem;
	}
}
/*▲▲▲トップメイン画像スライド▲▲▲*/

/*▼▼▼FAQ▼▼▼*/
.faq-section {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: "Helvetica", "Arial", sans-serif;
}

.faq-item {
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e0e0e0;
}

.faq-question {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
}

.faq-icon {
  width: 38px;
  height: 38px;
  background: #262626;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; /* ここでアイコン幅を固定して質問を折り返しやすくする */
}

.question-text {
	font-size: 1.1rem;
	font-weight: 600;
	margin: 0;
	line-height: 1.5;
	margin-top:5px;
}

.faq-answer {
	font-size: 1rem;
	margin: 0;
	color: #444;
	line-height: 1.7;
	text-align: left;
	margin-left:48px;
}
/*▲▲▲FAQ▲▲▲*/
