.cateList .noImg {
	padding-left: 20px !important;
}

@media (max-width:767px) {
	.conceptD2 .conceptD__row .conceptD__img {
		margin-bottom: 30px !important;
	}
}

.bg--primary {
	background: #108A65 !important;
	color: #ffffff !important;
}

.bg--primary h2,
.bg--primary h3,
.bg--primary p {
	color: #ffffff;
}

.bg--secondary {
	background: #726551 !important;
	color: #ffffff !important;
}

.bg--secondary h2,
.bg--secondary h3,
.bg--secondary p {
	color: #ffffff;
}

.bg--highlight {
	background: #f2f2f2 !important;
}

.bg--white {
	background: #fff !important;
}



.itemArrange--typeB .itemArrange__wrap {
	padding: 30px;
}

.itemArrange--typeB .itemArrange__wrap .itemArrange__img {
	flex: 0 0 44%;
	max-width: 44%;
	margin-bottom: 0px;
}

.itemArrange--typeB .itemArrange__wrap .itemArrange__text {
	flex: 0 0 52%;
	max-width: 52%;
	margin-left: 4%;
}

.itemArrange--typeB .itemArrange__wrap .itemArrange__text p {
	margin-bottom: 20px;
}

.itemArrange--typeB .itemArrange__wrap .itemArrange__text .itemArrange__price {
	letter-spacing: 1px;
	line-height: 24px;
	font-size: 22px;
}

.itemArrange--typeB .itemArrange__wrap .itemArrange__text .itemArrange__price small {
	padding-left: 3px;
	font-size: 10px;
}

.itemArrange--typeB .itemArrange__wrap .itemArrange__text .button {
	max-width: 160px;
}

.mainCalendar {
	display: flex;
	justify-content: space-between;
}

.mainCalendar table.tbl_calendar {
	max-width: calc(50% - 30px);
}

.mainCalendar table.tbl_calendar caption {
	font-weight: bold;
	margin: 0px auto 15px;
	font-size: 18px;
}

.shop-hours {
	text-align: center;
	margin: 20px 0;
}

.shop-hours .hours {
	font-size: 1em;
	line-height: 1.8;
	margin-bottom: 0.8em;
	/* 下に余白をつけて notes と分離 */
}

/* 装飾を効かせたいリンクだけに適用 */
a.decorated-link img {
	border-radius: 6px;
	transition: 0.3s ease;
}

a.decorated-link:hover img {
	transform: scale(1.03);
}

.cateBlock {
	list-style: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.cateBlock li {
	list-style: none;
	border: 1px solid #5c4846;
	margin-bottom: 30px;
}

@media (max-width: 767px) {
	.cateBlock li {
		margin-bottom: 20px;
	}
}

.cateBlock li h3 {
	font-size: 14px;
	text-align: center;
	line-height: 24px;
	font-weight: 500;
}

.cateBlock li img {
	max-width: 100%;
}

.cateBlock li {
	padding: 10px;
}

.cateBlock li img {
	margin-bottom: 10px;
}

.cateBlock--wide li {
	padding: 20px;
}

.cateBlock--wide li img {
	margin-bottom: 20px;
}

@media (max-width: 767px) {
	.cateBlock li {
		padding: 5px;
	}

	.cateBlock--wide li {
		padding: 10px;
	}
}

.textBnr__box {
	display: block;
	position: relative;
	transition: 0.15s;
}

.textBnr__box > span {
	position: absolute;
	bottom: 60px;
	left: 20px;
	color: white;
	background: linear-gradient(to right,
			rgba(0, 0, 0, 0.3),
			/* 0.5 → 0.3 に変更 */
			rgba(0, 0, 0, 0));
	padding: 6px 12px 6px 12px;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);

}

.textBnr__box:hover {
	opacity: 0.8;
	transition: 0.15s;
}

.textBnr__box h3 {
	font-size: 24px;
}

.textBnr__box h3,
.textBnr__box p {
	line-height: 1.5;
}

.textBnr__box h3 + p {
	margin-top: 12px;
}

.textBnr__box .tb__btn {
	margin-top: 24px;
}

@media (min-width: 768px) {
	.textBnr__box.tb--narrow > span {
		padding: 30px;
	}

	.textBnr__box.tb--narrow h3 {
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.textBnr__box > span {
		padding: 30px;
	}

	.textBnr__box h3 {
		font-size: 16px;
	}

	.textBnr__box h3 + p {
		margin: 10px 0 0 0;
	}

	.textBnr__box .tb__btn {
		margin-top: 20px;
	}

	.textBnr__box .button {
		font-size: 12px;
		width: 170px;
	}
}
