@charset "utf-8";
/* クリスマス2026 特設ページ */

.xmas2026 {
	--xmas-red: #8b0f14;
	--xmas-red-dark: #5e0a0e;
	--xmas-gold: #c9a24a;
	--xmas-cream: #fbf6ec;
	color: #2c2c2c;
}

.xmas2026 section {
	padding: 40px 0;
}

.xmas2026 h2 {
	font-size: 1.5rem;
	color: var(--xmas-red);
	border-bottom: 2px solid var(--xmas-gold);
	padding-bottom: 8px;
	margin-bottom: 24px;
}

.xmas2026 h3 {
	font-size: 1.15rem;
	color: var(--xmas-red-dark);
	margin: 24px 0 12px;
}

/* ファーストビュー */
.xmas-hero {
	background: linear-gradient(180deg, var(--xmas-red-dark), var(--xmas-red));
	color: #fff;
	text-align: center;
}

.xmas-hero h1 {
	margin-bottom: 16px;
}

.xmas-hero h1 .en {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.6rem;
	letter-spacing: 0.08em;
	color: var(--xmas-gold);
}

.xmas-hero h1 .ja {
	display: block;
	font-size: 1.1rem;
	margin-top: 8px;
}

.xmas-lead {
	font-size: 1.1rem;
	margin-bottom: 24px;
}

.xmas-flyer {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.xmas-hero .xmas-flyer {
	max-width: 480px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}

.xmas-period {
	margin: 24px 0;
	font-size: 1rem;
}

.xmas-period strong {
	color: var(--xmas-gold);
	margin-right: 0.5em;
}

/* CTA */
.xmas-cta {
	display: inline-block;
	background: var(--xmas-gold);
	color: #fff;
	font-weight: bold;
	font-size: 1.1rem;
	padding: 14px 36px;
	border-radius: 999px;
	text-decoration: none;
	box-shadow: 0 3px 0 #9c7a2f;
}

.xmas-cta:hover,
.xmas-cta:focus {
	color: #fff;
	text-decoration: none;
	opacity: 0.9;
}

.xmas-cta-wrap {
	text-align: center;
	margin: 24px 0;
}

/* 商品表 */
.xmas-table th,
.xmas-table td {
	vertical-align: middle;
}

.xmas-table .price {
	white-space: nowrap;
	text-align: right;
}

.xmas-table thead th {
	background: var(--xmas-red);
	color: #fff;
	border-color: var(--xmas-red);
}

.xmas-allergen {
	font-size: 0.9rem;
}

/* 期間・割引 */
.xmas-dates dt {
	color: var(--xmas-red);
}

.xmas-discount {
	background: var(--xmas-cream);
	border: 2px solid var(--xmas-gold);
	border-radius: 8px;
	padding: 16px 20px;
	margin-top: 16px;
}

.xmas-discount .rate {
	font-size: 1.4rem;
	font-weight: bold;
	color: var(--xmas-red);
}

.xmas-back .xmas-flyer {
	max-width: 900px;
}

/* 店舗 */
.xmas-stores li {
	margin-bottom: 12px;
}

.xmas-stores .name {
	font-weight: bold;
}

.xmas-bottom {
	background: var(--xmas-cream);
	text-align: center;
}

@media (max-width: 575px) {
	.xmas2026 section {
		padding: 28px 0;
	}

	.xmas-hero h1 .en {
		font-size: 1.25rem;
	}

	.xmas-table {
		font-size: 0.85rem;
	}

	.xmas-cta {
		font-size: 1rem;
		padding: 12px 24px;
	}
}
