/*
Theme Name: Basara TCD child
Template: basara_tcd100
*/

.l-header {
	height: auto!important;
}

.l-inner03 {
	margin: 0;
	border-radius: 0px;
}
.sidefixed-banner {
	position: fixed;
	width: 100px;
	top: 50%;
	right: 0;
	transform: translatey(-50%);
	z-index: 9999;
}


#l-main .menu-list__img-wrapper {
	width: auto;
	margin-right: 0;
}

@media (max-width: 768px) {
	.sidefixed-banner {
		display: none;
	}
	.sp-none {
		display: none!important;
	}
}

.gutena-tabs-block {
	width: 100%;
}

.wp-block-button.wc-block-components-product-button {
	width: auto!important;
}

.wc-block-product-template.wc-block-product-template {
	list-style: none;
	margin-left: 0;
}
/* === shop-cards（親ブロック） === */
.shop-cards {
	display: flex;
	justify-content: space-between;
	gap: 2rem; /* カード間の余白 */
}

.shop-cards--flex-between {
	/* フレックス配置のカスタム修飾 */
	justify-content: space-between;
}

/* === shop-card（子ブロック） === */
.shop-card {
	flex: 1 1 30%; /* 3カラムで均等配置 */
	background-color: #fff;
	overflow: hidden;
	text-align: center;
}

.shop-card__image {
	margin-bottom: 0!important;
}

/* === 画像 === */
.shop-card__image img {
	width: 100%;
	height: auto;
	display: block;
}

/* === ロゴエリア === */
.shop-card__logo {
	display: flex;
	justify-content: center;
	gap: 1rem;
	padding: 1rem 0;
}

.shop-card__logo-link {
	line-height: normal;
}

.shop-card__logo-link img {
	height: 64px;
	width: auto;
}

/* === 予約ボタン === */
.shop-card__reservation {
	margin: 0 0 1rem 0;
}

.shop-card__reservation-link {
	display: inline-block;
	width: 100%;
	padding: 0.8rem 1.5rem;
	color: #fff!important;
	text-decoration: none;
	font-weight: bold;
	transition: background 0.3s ease-in-out;
}

.shop-card__reservation-link--bg001 {
	background-color: #6b4f2a; /* お好きなカラーに */
}

.shop-card__reservation-link--bg001:hover {
	background-color: #533917;
	text-decoration: none!important;
}

.shop-card__reservation-link--bg002 {
	background-color: #6b4f2a; /* 違うカラー例 */
}

.shop-card__reservation-link--bg002:hover {
	background-color: #533917;
	text-decoration: none!important;
}

/* === コメント === */
.shop-card__comment {
	padding: 0 1rem 1.5rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #333;
}

@media (max-width: 991px) {
	.p-cb-design-content-type2 .p-cb-design-content-inner {
		display: flex;
		flex-direction: column-reverse;
	}

	.p-cb-design-content-type2 .p-cb-design-content-info {
		margin-top: 40px;
		margin-bottom: 0px;
	}
}
@media (max-width: 768px) {
	.shop-cards {
		gap: 0.5rem;
	}
	.shop-card__logo-link img {
		height: 44px;
	}
	.shop-card__reservation-link {
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: normal;
		padding: 0.5rem 0.5rem;
		font-size: 0.8rem;
		min-height: 4.5em;        
	}
	.shop-card__comment {
		padding: 0 0.4rem 0rem;
	}
}

.p-footer-images h3 {
	color: #6b4f2a;
}

.p-footer-images h3::before, .p-footer-images h3::after {
	background-color: #6b4f2a;
}

.text-center {
	text-align: center;
}
/*
.p-archive03 .p-archive03-item {
flex: 0 0 calc((100% - 60px) / 3);
}
*/
.p-product-archive {
	padding: 0 40px;
}

#l-main .gutena-tabs-content {
	max-width: none;
	padding: 0 40px;
}

.c-contact-cta .c-contact-cta__inner-button .c-button {
	margin-bottom: 1rem;
}

.p-cb-design-content .p-cb-item-desc {
	text-align: center;
}

span.c-small {
	font-size: 80%;
}

.lang-switcher-wrapper {
	width: 100%;
	padding: 0 40px;
	display: flex;
	justify-content: flex-end;
}
.lang-switcher{
	display:inline-flex;
	gap:.5rem;
	align-items:center;
}
.lang-switcher__select{
	padding:.35rem .6rem;
	border:1px solid #ccc;
	border-radius:.15rem;
}
.lang-switcher__label{
	font-size:.9rem;
	color:#444;
}

.product-category-section { 
	margin: 64px 0;
}
.product-category-title {
	font-size: 1.8rem;
	margin-bottom: 12px;
}

.p-shoppage-content-carousel,
.woocommerce-products-header {
	padding-right: 40px!important;
	padding-left: 40px!important;
}

.p-archive03-item-thumbnail {
	padding-top: 100%!important;
}

.p-archive03-item-actions {
	margin-top: 100%;
}

@media (min-width: 992px) {
	.wp-block-tcd-parallax-image .parallax-image-content {
		max-width: 830px!important;
	}
}

/* scssを上書きする */
#l-main .p-page-header {
	margin-top: 0!important;
}
.p-page-header-image .p-header-content {
	height: 7rem!important;
	padding: 20px;
}

div#trt-reservation-widget {
	margin: 0 auto 2rem;
}

div.trt-reservation-form-head {
	padding-bottom: 10px;
}

div.trt-reservation-form-body>div:last-child {
	padding-bottom: 6px;
}

div.trt-reservation-form-body>div>a {
	color: #fff!important;
}

div.trt-reservation-form-body>div>a:hover {
	text-decoration: none!important;
}

div#trt-reservation-widget {
	height: 292px!important;
}

div.trt-reservation-form {
	height: 290px!important;
}

.pc-align-center {
	text-align: center;
}

.p-archive03-item-cart.p-archive03-item-cart--underprice {
	margin-top: 1rem;
}

.p-archive03-item-cart--underprice a {
	background: #6b4f2a;
	border-radius: 48px;
}

.p-archive03-item-cart--underprice a:hover {
	background: #4a3315;
}

.p-archive03-item-cart a::before {
	padding-right: 4px;
}

.p-cb-design-content-image {
	width: 100%;
	aspect-ratio: 1000 / 600;
}

.p-shoppage-content {
	margin-top: 0px!important;
}
@media (max-width: 768px) {
	#l-main .gutena-tabs-content {
		padding: 0px;
	}
	.gutena-tab-title-text {
		font-size: 14px;
	}
	.gutena-tabs-block>.gutena-tabs-tab>.gutena-tab-title {
		padding: 0.2em 0.7em;
	}
	#l-main .menu-list__title {
		flex-direction: row!important;
	}
	#l-main .menu-lists {
		gap: 0rem!important;
	}
	.lang-switcher-wrapper {
		padding: 0 20px;
	}
	.p-shoppage-content-carousel {
		padding-right: 0;
		padding-left: 0;
	}
	.p-product-archive {
		padding: 0 16px!important;
	}
	.woocommerce-products-header {
		padding: 0!important;
	}
	.single-product .l-footer,
	.woocommerce-shop .l-footer {
		padding-bottom: 180px;
	}

	.p-header-content-catch {
		font-size: 1.725rem!important;
	}
	.p-page-header-image .p-header-content {
		height: 5rem!important;
		padding: 20px;
	}
	.p-shoppage-content-carousel, .woocommerce-products-header {
		padding-right: 16px !important;
		padding-left: 0px !important;
	}
	#l-main .p-page-header {
		margin-top: 10px !important;
	}
	.page-template-page-yugyotei .wp-block-post-title a {
		font-size: 16px;
	}
	.l-main-inner {
		margin-top: 0;
	}
	.p-entry {
		margin-top: 40px;
	}
	.pc-align-center {
		text-align: left;
	}
	.p-archive03-item-cart--underprice a {
		font-size: 0.8rem;
	}
	.p-archive03-item-cart a::before {
		font-size: 16px;
	}
}

.qt_google_map {
	margin: 2rem 0 0 0;
}

/* お弁当ショップのキャンセルポリシーと年末年始の営業 */

/* --- CSS Variables --- */
:root {
	--info-bg-color: #f6f6f6; /* ほんのり温かみのあるベージュグレー */
	--info-border-color: #e0e0e0;
	--info-text-main: #333333;
	--info-text-sub: #666666;
	--info-accent: #a88d5e; /* 落ち着いたゴールド/ブラウン系 */
}

/* --- Component CSS --- */
.info-section {
	width: 100%;
	background-color: var(--info-bg-color);
	padding: 60px 20px;
}

/* 全体の枠組み */
.info-section__container {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1070px;
	margin: 0 auto;
	gap: 40px; /* カラム間の余白 */
	padding: 40px 50px;
	background-color: #fff;
	border: 1px dashed var(--info-border-color);
}

/* 各カラム */
.info-section__column {
	flex: 1 1 320px; /* 横幅の基準 */
	display: flex;
	flex-direction: column;
}

/* 見出しデザイン */
.info-section__heading {
	margin: 0 0 28px;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--info-text-main);
	text-align: center;
	position: relative;
	padding-bottom: 15px;
	letter-spacing: 0.05em;
}

/* 見出しの下線装飾 */
.info-section__heading::after {
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	background-color: var(--info-accent);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.info-section__description {
	margin: 0 0 24px;
	font-size: 0.9rem;
	line-height: 1.8;
	color: var(--info-text-main);
	text-align: center; /* 導入文は中央揃えで上品に */
}

/* --- リストスタイル（ポリシー側） --- */
.info-section__list {
	margin: 0 0 24px;
	padding: 0;
}

.info-section__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px dashed #ccc;
	font-size: 0.95rem;
}

.info-section__item:last-child {
	border-bottom: none;
}

.info-section__term {
	font-weight: bold;
	color: var(--info-text-main);
	display: flex;
	align-items: center;
}

/* アイコン風の装飾 */
.info-section__term::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	background-color: var(--info-accent);
	border-radius: 50%;
	margin-right: 8px;
}

.info-section__desc {
	margin: 0;
	text-align: right;
	color: var(--info-text-main);
}

/* --- 注釈テキスト --- */
.info-section__notes {
	margin-top: auto;
	background-color: #fff;
	padding: 16px;
	border: 1px solid #f0f0f0;
	border-radius: 2px;
}

.info-section__note {
	margin: 0 0 6px;
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--info-text-sub);
	text-align: justify; /* 両端揃えできれいに見せる */
}

.info-section__note:last-child {
	margin-bottom: 0;
}

/* --- スケジュールリスト（年末年始側） --- */
.info-section__schedule {
	list-style: none;
	padding: 0;
	margin: 0;
	background-color: #fff; /* 右側も白背景エリアを作ってメリハリ */
	padding: 10px 20px;
	border-radius: 2px;
	border: 1px solid #f0f0f0;
}

.info-section__schedule-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid #eee;
}

.info-section__schedule-item:last-child {
	border-bottom: none;
}

/* おせち期間を目立たせる */
.info-section__schedule-item--highlight .info-section__status {
	color: var(--info-accent);
	font-weight: bold;
}

.info-section__date {
	font-weight: 500;
	font-size: 1.05rem;
	color: var(--info-text-main);
	letter-spacing: 0.05em;
}

.info-section__status {
	text-align: right;
	font-size: 0.9rem;
}

.info-section__small {
	display: block;
	font-size: 0.7rem;
	font-weight: normal;
	margin-top: 4px;
	color: var(--info-text-sub);
}

/* --- Responsive (SP) --- */
@media screen and (max-width: 768px) {
	.info-section {
		padding: 20px;
	}
	.info-section__container {
		flex-direction: column;
		gap: 40px;
		padding: 30px 20px;
	}

	.info-section__column {
		flex: auto;
	}

	.info-section__heading {
		font-size: 1.1rem;
		margin-bottom: 20px;
	}

	.info-section__description {
		text-align: left;
	}

	/* SPではリストを縦積みに */
	.info-section__item {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.info-section__desc {
		padding-left: 14px; /* ドット分のインデント */
	}
}
