/*
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: 32px 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;
	}
	.product-category-section {
		margin: 16px 0;
	}
}

/* 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: 16px !important;
		padding-left: 0px !important;
	}
	.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;
	}
	.woocommerce-products-header {
		padding-right: 0px !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; /* 落ち着いたゴールド/ブラウン系 */
}

/* --------------------------------------------------
アコーディオン機能用のスタイル (PCファースト)
-------------------------------------------------- */

.info-section {
	max-width: 1000px;
	padding: 20px 16px 50px;
	margin: 0 auto;
}

/* PC（基本）: 横並び */
.info-section__container {
	display: flex;
	flex-direction: row;      /* PCは横並び */
	align-items: flex-start;  /* 高さ違いを上揃え */
	gap: 20px;
	line-height: 1.5;
}

.info-section__column {
	flex: 1;                  /* 均等幅 */
	width: 50%;
	background: #fff;
	/* border-radius削除 */
	overflow: hidden;
	box-shadow: 0 2px 5px rgba(0,0,0,0.05);
	border: 1px solid var(--info-border-color); /* ボーダー色変数適用 */
}

/* 見出し（トリガー部分） */
.info-section__heading {
	margin: 0;
	padding: 20px;
	background-color: #fff;
	font-size: 1.1rem;
	font-weight: bold;
	color: var(--info-text-main);
	cursor: pointer;
	position: relative;
	transition: background-color 0.3s;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.info-section__heading:hover {
	background-color: var(--info-bg-color); /* ホバー時に背景色変数を薄く適用 */
}

/* アコーディオンの矢印アイコン */
.info-section__heading::after {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--info-text-main);
	border-right: 2px solid var(--info-text-main);
	transform: rotate(135deg); /* 下向き */
	transition: transform 0.3s ease;
	margin-left: 15px;
}

/* 開いている時の矢印 */
.info-section__heading.is-open::after {
	transform: rotate(-45deg); /* 上向き */
	border-color: var(--info-accent); /* アクセントカラー変数適用 */
}

/* 開いている時の見出し文字色 */
.info-section__heading.is-open {
	color: var(--info-accent); /* アクセントカラー変数適用 */
}

/* コンテンツ部分 */
.info-section__body {
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: height 0.3s ease-out, opacity 0.3s ease-out;
}

.info-section__inner {
	padding: 0 20px 20px 20px;
	border-top: 1px solid var(--info-border-color);
}

/* 開いた状態 */
.info-section__body.is-open {
	opacity: 1;
}

/* --------------------------------------------------
コンテンツ内部スタイル
-------------------------------------------------- */
.info-section__description {
	margin: 15px 0;
	font-size: 0.95rem;
	color: var(--info-text-main);
}

/* PCのみ改行を表示 */
.u-pc-only {
	display: inline;
}

/* 定義リスト */
.info-section__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 20px 0;
}

.info-section__item {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border-bottom: 1px dotted var(--info-border-color);
	padding-bottom: 5px;
}

.info-section__term {
	font-weight: bold;
	width: 80px;
	flex-shrink: 0;
	color: var(--info-text-sub); /* サブテキスト色変数適用 */
}
.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;
}

/* 注意書き */
.info-section__notes {
	background-color: var(--info-bg-color); /* 背景色変数適用 */
	padding: 10px;
	/* border-radius削除 */
	font-size: 0.75rem;
	color: var(--info-text-sub);
	border: 1px solid var(--info-border-color);
}

.info-section__note {
	margin: 0;
	line-height: 1.5;
}

/* スケジュールリスト */
.info-section__schedule {
	list-style: none;
	padding: 0;
	margin: 0;
}

.info-section__schedule-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--info-border-color);
}

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

/* 強調表示アイテム */
.info-section__schedule-item--highlight {
	background-color: #fff9f0; /* アクセントカラーに合う淡い色に調整 */
	padding: 12px 10px;
	margin: 0 -10px;
	/* border-radius削除 */
	color: var(--info-accent); /* アクセントカラー変数適用 */
	font-weight: bold;
}

.info-section__date {
	width: 100px;
	flex-shrink: 0;
}

.info-section__status {
	text-align: right;
}

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


/* --------------------------------------------------
スマホ表示（max-width: 767px）の設定
PCファーストのため、ここでスマホ用の上書きを行う
-------------------------------------------------- */
@media (max-width: 767px) {
	.info-section {
		padding: 0px 16px 16px;
	}
	.info-section__container {
		flex-direction: column; /* 縦並びに戻す */
	}

	.info-section__column {
		width: 100%; /* 幅いっぱい */
		flex: none;
	}

	.u-pc-only {
		display: none; /* スマホでは改行非表示 */
	}
	
	.info-section__heading {
		padding: 16px 20px;
	}

	.info-section__small {
		display: block; /* スマホではブロック表示で改行させる */
		margin-top: 4px;
		text-align: right;
	}
}
