@charset "UTF-8";
/*
 * yanaka753 営業日カレンダー
 * 休業は色だけでなく「休」の文字でも示す（色覚特性や白黒印刷でも判別できるように）。
 */

/* ===== yanaka753 冒頭ブロック（店舗写真＋営業日を横並び） ===== */

/*
 * テーマ側に .entry-content > :first-child を display:flex にする汎用スタイルがあり、
 * class+疑似クラスの詳細度がこちらの .yanaka-intro より高く上書きされてしまうため、
 * display と justify-content のみ !important で確実にgridへ固定する。
 */
.yanaka-intro {
	display: grid !important;
	grid-template-columns: minmax(0, 480px) minmax(0, 480px);
	justify-content: center !important;
	gap: 40px;
	align-items: start;
	margin: 0 0 48px;
}

.yanaka-intro__profile img {
	width: 100%;
	max-width: 480px;
	height: auto;
	margin: 0 auto;
	display: block;
	border-radius: 6px;
}

.yanaka-intro__profile > :last-child {
	margin-bottom: 0;
}

.yanaka-intro__schedule {
	padding: 24px 20px 20px;
	border: 1px solid #ececec;
	border-radius: 6px;
	background: #fdfdfd;
}

.yanaka-intro__schedule h2 {
	margin: 0 0 1em;
	padding: 0;
	border: none;
	height: auto;
	font-size: 1.15rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-align: center;
}

@media (max-width: 1100px) {
	.yanaka-intro {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	/* 縦積みでは写真が大きくなりすぎるので抑える */
	.yanaka-intro__profile img {
		max-width: 420px;
		margin: 0 auto;
		display: block;
	}
}


/* ===== 営業日カレンダー ===== */

.y753-cal {
	margin: 0 0 20px;
}

.y753-cal__month + .y753-cal__month {
	margin-top: 32px;
}

.y753-cal__title {
	margin: 0 0 .8em;
	padding: 0;
	border: none;
	height: auto;
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: .04em;
	text-align: center;
}

.y753-cal__table {
	width: 100%;
	max-width: 460px;
	margin: 0 auto;
	border-collapse: collapse;
	table-layout: fixed;
}

.y753-cal__wd {
	padding: 6px 0;
	border: none;
	background: transparent;
	color: #888;
	font-size: .78rem;
	font-weight: 400;
	text-align: center;
}

/* 日曜と土曜だけ色を変える */
.y753-cal__wd--0 { color: #d16b6b; }
.y753-cal__wd--6 { color: #6b8ad1; }

.y753-cal__day,
.y753-cal__pad {
	border: 1px solid #ececec;
	padding: 0;
	text-align: center;
	vertical-align: middle;
	aspect-ratio: 1 / 1;
}

.y753-cal__pad {
	border-color: transparent;
}

.y753-cal__day,
.y753-cal__pad {
	padding: 6px 2px;
}

.y753-cal__num {
	display: block;
	font-size: 1rem;
	line-height: 1.3;
}

.y753-cal__mark {
	display: block;
	min-height: 1.2em;
	margin-top: 2px;
	font-size: .68rem;
	line-height: 1.2;
	word-break: keep-all;
}

.y753-cal__day.is-open {
	background: #fff;
	color: #333;
}

.y753-cal__day.is-closed {
	background: #f4f4f4;
	color: #aaa;
}

.y753-cal__day.is-closed .y753-cal__mark {
	color: #c98b8b;
}

/* 今日が一目で分かるように枠を付ける */
.y753-cal__day.is-today {
	outline: 2px solid #ffcccc;
	outline-offset: -2px;
	font-weight: 600;
}

.y753-cal__legend {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 16px 0 0;
	font-size: .8rem;
	color: #777;
}

.y753-cal__legend-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.y753-cal__swatch {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 1px solid #ececec;
}

.y753-cal__swatch.is-open { background: #fff; }
.y753-cal__swatch.is-closed { background: #f4f4f4; }

.y753-cal__note {
	max-width: 460px;
	margin: 14px auto 0;
	font-size: .85rem;
	line-height: 1.8;
	color: #666;
	text-align: center;
}

@media (max-width: 599px) {
	.y753-cal__num {
		font-size: .85rem;
	}

	.y753-cal__mark {
		font-size: .62rem;
	}
}
