.plan-item .plan-accordion .set-ttl {
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.plan-group-toggle-pc .set-ttl {
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.plan-accordion .set-content {
	overflow: hidden;
}
.others-section .set-ttl {
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.others-section .set-content {
	overflow: hidden;
}
.option-note,
.plan-group-container .lead {
	font-size: 1.3rem;
	line-height: 1.9;
	text-align: left;
}
section.fade.mb-80:not(:first-of-type) {
	padding-top: 1.5rem;
	margin-top: 4rem;
	position: relative;
}
section.fade.mb-80:not(:first-of-type)::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	height: 2px;
	background-color: #e0e0e0;
}
.plan-group-toggle-pc {
	display: none;
}
.hall-acc-banner {
	display: none;
	width: 100%;
	text-align: left;
	padding: 12px 14px;
	border-radius: 12px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: #333;
	margin: 8px 0;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.hall-acc-banner .label {
	display: inline-block;
	background: rgba(255, 255, 255, 0.92);
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 0.95rem;
}
.hall-acc-panel {
	padding-top: 1rem;
	display: block; 
}
#plan-quickbar a.is-current {
	font-weight: 700;
	text-decoration: underline;
}
.site-frame > header.is-condensed {
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}
:root {
	--prime: #6d558d; 
	--quickbar-current-bg: #fff6c8; 
	--spec-dd-indent: 1.8rem;
}
.plan-accordion .set-content .set-items-photo {
	display: block; 
	width: 100%; 
	height: auto; 
	margin-bottom: 1.5rem; 
}
.spec-list .spec-row {
	display: grid;
	grid-template-columns: clamp(15em, 32%, 12em) 1fr; 
	column-gap: 0;
	align-items: end; 
	margin: 0 0 1.1rem 0;
	padding: 0;
	border: none;
}
.spec-list .spec-row dt,
.spec-list .spec-row dd {
	margin: 0;
}
.spec-list .spec-row dt {
	position: relative;
	font-weight: 700;
	color: var(--prime);
	padding-bottom: 0.6rem; 
}
.spec-list .spec-row dt::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	width: 100%; 
	background: var(--prime);
	border-radius: 2px;
}
.spec-list .spec-row dd {
	color: #333;
	font-weight: 400;
	padding-bottom: 0.55rem; 
	border-bottom: 1px solid #ddd;
	padding-left: var(--spec-dd-indent) !important;
}
.option-tables {
	display: flex;
	justify-content: space-between;
	gap: 2rem; 
}
.option-tables .option-table {
	width: calc(50% - 1rem); 
}
.spec-head {
	display: block;
	margin: 2.2rem 0 1rem;
	padding: 0.7rem 1.05rem 0.65rem 1.15rem;
	font-weight: 900;
	font-size: clamp(1.6rem, 2.2vw, 2.2rem); 
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: #2e2840; 
	border-left: 0.7rem solid var(--prime, #6d558d);
	border-radius: 0.8rem;
	background: linear-gradient(
		to right,
		rgba(109, 85, 141, 0.16),
		transparent 70%
	);
	background: linear-gradient(
		to right,
		color-mix(in srgb, var(--prime) 18%, transparent),
		transparent 70%
	);
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.06);
}
#options .spec-subhead {
	display: block;
	position: relative;
	margin: 1.2rem 0 0.55rem;
	padding: 0.25rem 0 0.6rem 1rem;
	font-weight: 800;
	font-size: clamp(1.35rem, 1.9vw, 1.7rem); 
	color: #504a58;
	border-left: 0.4rem solid var(--prime, #6d558d);
}
#options .spec-subhead::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: #e5e5e5; 
}
#options .spec-list .spec-row dd {
	text-align: left;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
#options .spec-head + .spec-subhead {
	margin-top: 1rem;
}
#options .spec-subhead + .spec-row {
	margin-top: 0.25rem;
}
#options .spec-row {
	grid-template-columns: 20em 1fr; 
}
@media print {
	#options .spec-head,
	#options .spec-subhead {
		break-after: avoid;
		box-shadow: none;
	}
}
#options .spec-subhead,
#options .spec-row {
	margin-left: 1.85rem;
	margin-right: 1.85rem; 
	width: calc(100% - 3.7rem); 
	box-sizing: border-box;
}
.gratitude-price-columns {
	display: flex; 
	justify-content: space-around; 
	gap: 1.5rem; 
	margin-bottom: 2rem; 
}
.price-column {
	width: 50%; 
}
.price-column .column-title {
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1rem;
}
.gratitude-price-columns .spec-row dd {
	text-align: right;
}
.gratitude-price-columns .spec-row {
	grid-template-columns: 7em 1fr; 
}
.gratitude-items::after,
.meals-items::after {
	content: "";
	display: table;
	clear: both;
}
.gratitude-items .grt-item,
.meals-items .meal-item {
	width: 55%;
	margin-bottom: 1.5rem;
	line-height: 1.5;
}
.gratitude-items .grt-item.align-right,
.meals-items .meal-item.align-right {
	float: right;
	clear: right;
}
.gratitude-items .grt-item.align-left,
.meals-items .meal-item.align-left {
	float: left;
	clear: left;
}
.gratitude-items .grt-item img,
.meals-items .meal-item img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	vertical-align: bottom;
}
.gratitude-items .grt-item figcaption,
.meals-items .meal-item figcaption {
	text-align: center;
	font-size: 1.4rem;
	color: #333;
	margin-top: 0.5rem;
}
.gratitude-col .sub-info,
.meals-col .sub-info {
	display: block; 
	text-align: center; 
	font-size: 1.3rem;
	color: #555;
	margin-bottom: 1.5rem; 
}
.meal-extra-prices .spec-row dd {
	text-align: right; 
	font-variant-numeric: tabular-nums; 
	white-space: nowrap;
}
.meal-extra-prices .spec-subhead {
	display: block;
	position: relative;
	margin: 1.2rem 0 0.55rem;
	padding: 0.25rem 0 0.6rem 1rem;
	font-weight: 800;
	font-size: clamp(1.35rem, 1.9vw, 1.7rem);
	color: #504a58;
	border-left: 0.4rem solid var(--prime, #6d558d);
}
.meal-extra-prices .spec-subhead::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: #e5e5e5;
}
.meal-extra-prices .spec-subhead,
.meal-extra-prices .spec-row {
	margin-left: 1.85rem;
	margin-right: 1.85rem;
	width: calc(100% - 3.7rem);
	box-sizing: border-box;
}
.plan-summary .table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: 12px;
	background: #fff;
	position: relative;
	box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.08);
}
.plan-summary .plan-compare {
	--c1: 5.5em; 
	--c2: 7.5em; 
	--padY: 0.7rem;
	--padX: 0.8rem;
	--line: #c7c0dd;
	--head: #6d558d;
	border-collapse: separate;
	border-spacing: 0;
	width: max-content;
	min-width: 100%;
	table-layout: fixed;
	font-size: 1.45rem;
}
.plan-summary .plan-compare thead th {
	position: sticky;
	top: 0;
	z-index: 5;
	background: #faf9fe;
	color: var(--head);
	font-weight: 800;
	border-bottom: 1px solid var(--line);
	padding: 0.9rem var(--padX);
	white-space: nowrap;
}
.plan-summary .plan-compare thead th:nth-child(1) {
	left: 0;
	z-index: 9;
}
.plan-summary .plan-compare thead th:nth-child(2) {
	left: var(--c1);
	z-index: 8;
}
.plan-summary .plan-compare td {
	padding: var(--padY) var(--padX);
	border-bottom: 1px solid var(--line);
	vertical-align: middle;
	background: #fff;
	line-height: 1.75;
}
.plan-summary .plan-compare thead th:nth-child(1),
.plan-summary .plan-compare .hall-cell {
	position: sticky;
	left: 0;
	z-index: 7;
	width: var(--c1);
	background: #fff;
	font-weight: 700;
	color: #444;
	box-shadow: 1px 0 0 0 var(--line);
}
.plan-summary .plan-compare thead th:nth-child(2),
.plan-summary .plan-compare .plan-cell {
	position: sticky;
	left: var(--c1);
	z-index: 6;
	width: var(--c2);
	background: #fff;
	box-shadow: 1px 0 0 0 var(--line);
}
.plan-summary .plan-compare th:nth-child(n + 3),
.plan-summary .plan-compare td:nth-child(n + 3) {
	min-width: 8.5rem;
	white-space: nowrap;
}
.plan-summary .plan-compare tbody tr:nth-child(even) td {
	background-color: #fcfbff;
}
.plan-summary .plan-compare tbody tr:nth-child(even) .hall-cell,
.plan-summary .plan-compare tbody tr:nth-child(even) .plan-cell {
	background-color: #fcfbff;
}
.plan-summary .plan-compare tbody tr:nth-child(odd) .hall-cell,
.plan-summary .plan-compare tbody tr:nth-child(odd) .plan-cell {
	background-color: #fff;
}
.plan-summary .plan-compare a {
	color: var(--head);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.plan-summary .plan-compare thead th:nth-child(1),
.plan-summary .plan-compare thead th:nth-child(2),
.plan-summary .plan-compare .hall-cell,
.plan-summary .plan-compare .plan-cell {
	contain: paint;
	will-change: transform;
	transform: translateZ(0);
}
.plan-summary .plan-compare th,
.plan-summary .plan-compare td {
	box-sizing: border-box;
}
.plan-summary .plan-compare thead th:nth-child(1),
.plan-summary .plan-compare .hall-cell {
	width: var(--c1); 
	min-width: var(--c1);
	max-width: var(--c1);
}
.plan-summary .plan-compare thead th:nth-child(2),
.plan-summary .plan-compare .plan-cell {
	left: var(--c1); 
	width: var(--c2); 
	min-width: var(--c2);
	max-width: var(--c2);
}
.plan-summary .plan-compare thead th:nth-child(1),
.plan-summary .plan-compare thead th:nth-child(2),
.plan-summary .plan-compare .hall-cell,
.plan-summary .plan-compare .plan-cell {
	will-change: transform;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
}
.plan-summary .plan-compare {
	--deep-purple: #5a46a6; 
	--light-purple: #f4efff; 
}
.plan-summary .plan-compare thead th {
	background: var(--deep-purple);
	color: #fff;
}
.plan-summary .plan-compare tbody tr > th:nth-child(1),
.plan-summary .plan-compare tbody tr > td:nth-child(1),
.plan-summary .plan-compare .hall-cell {
	background: var(--light-purple);
}
.plan-summary .plan-compare thead th {
	z-index: 5;
}
.plan-summary .plan-compare thead th:nth-child(1) {
	z-index: 6;
} 
.plan-summary .plan-compare .hall-cell {
	z-index: 4;
} 
.plan-summary .plan-compare .plan-cell,
.plan-summary .plan-compare thead th:nth-child(2) {
	z-index: 3;
} 
#summary .plan-compare {
	--brand-purple: #6d558d; 
	--hall-col-bg: #f4efff; 
}
#summary .plan-compare thead th {
	background: var(--brand-purple) !important;
	color: #fff !important;
}
#summary .plan-compare thead th:nth-child(1),
#summary .plan-compare thead th:nth-child(2) {
	background: var(--brand-purple) !important;
	color: #fff !important;
	z-index: 6; 
}
#summary .plan-compare td.hall-cell {
	background: var(--hall-col-bg) !important;
	z-index: 4; 
}
#summary .plan-compare tbody th:nth-child(1) {
	background: var(--hall-col-bg) !important;
	z-index: 4;
}
[data-scroll-hint] {
	position: relative;
}
[data-scroll-hint] .scroll-hint,
.table-scroll .scroll-hint {
	position: absolute;
	top: 8px;
	right: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #6d558d; 
	color: #fff;
	font-size: 12px;
	line-height: 1;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	pointer-events: none;
	opacity: 0;
	transform: translateY(-6px);
	animation: hint-in 0.35s ease forwards,
		hint-breathe 2.6s ease-in-out 0.35s infinite;
	z-index: 2000; 
}
[data-scroll-hint] .scroll-hint__emoji {
	font-size: 14px;
	animation: swipe-x 1.8s ease-in-out infinite;
}
@keyframes hint-in {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes hint-breathe {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-2px);
	}
}
@keyframes swipe-x {
	0% {
		transform: translateX(0);
	}
	50% {
		transform: translateX(-8px);
	}
	100% {
		transform: translateX(0);
	}
}
@media (prefers-reduced-motion: reduce) {
	[data-scroll-hint] .scroll-hint,
	[data-scroll-hint] .scroll-hint__emoji,
	.table-scroll .scroll-hint,
	.table-scroll .scroll-hint__emoji {
		animation: none;
	}
}
.info-block {
	--side: 16px;
}
.info-block > p.lead,
.info-block > dl.detail.bk {
	margin-left: var(--side);
	margin-right: var(--side);
}
.info-block > p.lead {
	font-size: 1.2rem;
	line-height: 1.95;
	color: #333;
}
.info-block > dl.detail.bk {
	padding: 1.2rem 1.2rem 0.6rem;
	background: #fff;
	border: 1px solid #e8e6f2;
	border-radius: 12px;
}
.info-block > dl.detail.bk dt {
	display: flex;
	align-items: baseline;
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--prime, #6d558d);
	margin: 1rem 0 0.2rem;
}
.info-block > dl.detail.bk dt::before {
	content: "●";
	font-size: 0.75em;
	margin-right: 0.6rem;
	color: var(--prime, #6d558d);
}
.info-block > dl.detail.bk dd {
	display: block;
	margin: 0 0 1.2rem 1.35rem; 
	font-size: 1.5rem;
	line-height: 1.9;
	color: #333;
}
.info-block > dl.detail.bk dd ul {
	margin: 0.4rem 0 0 1.2em;
	padding: 0;
}
.info-block > dl.detail.bk dd li {
	list-style: disc;
	margin: 0.2rem 0;
}
#price-scope {
	--side: 16px;
}
#price-scope > h3.ttl {
	margin-left: 0;
	margin-right: 0;
}
#price-scope > dl.detail.bk {
	margin-left: var(--side);
	margin-right: var(--side);
	padding: 1.2rem 1.2rem 0.6rem;
	background: #fff;
	border: 1px solid #e8e6f2;
	border-radius: 12px;
}
#price-scope > dl.detail.bk dt {
	display: flex;
	align-items: baseline;
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--prime, #6d558d);
	margin: 1rem 0 0.2rem;
}
#price-scope > dl.detail.bk dt::before {
	content: "●";
	font-size: 0.75em;
	margin-right: 0.6rem;
	color: var(--prime, #6d558d);
}
#price-scope > dl.detail.bk dd {
	display: block;
	margin: 0 0 1.2rem 1.35rem; 
	font-size: 1.5rem;
	line-height: 1.9;
	color: #333;
}
@media (max-width: 640px) {
	.hall-acc-banner {
		display: block;
	}
	.hall-acc-panel {
		display: none;
	}
	.hall-acc-panel.is-open {
		display: block;
	}
	.page-ttl {
		position: relative; 
		height: 8rem;
		background-image: url("../img/plan-header-bg_sp.webp"); 
		background-size: cover;
		background-position: center;
		display: flex; 
		justify-content: center;
		align-items: center;
		text-align: center;
		margin-bottom: 2rem;
	}
	.page-ttl::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.4); 
		z-index: 1; 
	}
	.page-ttl h2 {
		position: relative; 
		z-index: 2;
		font-size: 2.6rem;
		font-weight: 800;
		color: #fff; 
		margin: 0;
	}
	.plan-catch {
		padding: 0 16px;
		text-align: center;
		margin-bottom: 0;
	}
	.plan-catch__eyebrow {
		display: inline-block;
		font-size: 1.8rem;
		padding: 0.3em 0.8em;
		background: none; 
		color: #333; 
		border-radius: 999px;
		font-weight: 700;
	}
	.plan-catch__lead {
		font-size: 2rem;
		font-weight: 700;
		color: #6d558d; 
		margin: 0 0 0 0;
		line-height: 1.6;
	}
	.plan-catch__sub {
		font-size: 1.5rem;
		color: #333;
		margin: 0.5rem 0 0 0;
		line-height: 1.8;
	}
	.plan-usp .usp-points span {
		font-size: 1.2rem;
		line-height: 1.9;
	}
	.usp-lead {
		font-size: 1.4rem;
		text-align: center;
		margin-top: -1rem;
	}
	.usp-lead a {
		color: orange; 
	}
	.usp-points {
		width: fit-content; 
		margin-left: auto; 
		margin-right: auto; 
		list-style: none; 
		padding-left: 0; 
	}
	.plan-localnav {
		margin-bottom: 4rem; 
		padding: 0 16px;
	}
	.plan-localnav__list {
		list-style: none;
		padding: 0;
		margin: 0;
		display: flex;
		flex-wrap: wrap; 
		justify-content: center; 
		gap: 0.8rem 0.6rem; 
	}
	.plan-localnav__list a {
		display: block;
		padding: 0.8rem 1.4rem;
		background-color: #e8e6f2; 
		color: #6d558d; 
		text-decoration: none;
		font-size: 1.4rem;
		font-weight: 700;
		border-radius: 999px; 
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
		transition: background-color 0.2s ease, color 0.2s ease;
	}
	.plan-localnav__list a:hover {
		background-color: #6d558d; 
		color: #fff; 
	}
	#plan-quickbar {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 1000;
		display: flex;
		justify-content: space-around; 
		padding: 1rem 0.5rem calc(1rem + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
		opacity: 0; 
		transform: translateY(100%); 
		pointer-events: none; 
		transition: opacity 0.3s ease, transform 0.3s ease, bottom 0.2s ease;
	}
	#plan-quickbar.is-active {
		opacity: 1; 
		transform: translateY(0); 
		pointer-events: auto; 
	}
	#plan-quickbar a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		background: #fff;
		color: var(--prime);
		border: 2px solid var(--prime);
		border-radius: 9999px; 
		font-size: 1.5rem;
		font-weight: 700;
		text-decoration: none;
		transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease,
			transform 0.06s ease;
	}
	#plan-quickbar a:hover {
		background: var(--prime);
		color: #fff;
		box-shadow: 0 2px 8px rgba(100, 76, 200, 0.18);
	}
	#plan-quickbar a.is-current {
		background: var(--quickbar-current-bg);
		color: var(--prime);
		box-shadow: 0 2px 8px rgba(100, 76, 200, 0.14);
	}
	#plan-quickbar a.is-current:hover {
		background: var(--prime); 
		color: #fff;
	}
	#plan-quickbar a:active {
		transform: translateY(1px); 
	}
	h3.ttl {
		background: none;
		box-shadow: none;
		padding: 0;
		color: #6d558d;
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		font-size: 2.6rem;
		font-weight: 700;
		margin: 2rem 16px 0 16px; 
	}
	.sub-info {
		font-size: 1.4rem;
		font-weight: 700;
		color: #6d558d;
		opacity: 1;
		margin-top: 0;
	}
	.hall-acc-banner {
		width: 90%;
		margin: 0 auto;
		display: block !important;
		position: relative;
		min-height: 5rem;
		border: none;
		border-radius: 1.2rem;
		overflow: hidden;
		background-size: cover;
		background-position: center;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.hall-acc-banner::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(255, 255, 255, 0.6);
		transition: background-color 0.3s ease;
	}
	.hall-acc-banner:hover::before,
	.hall-acc-banner[aria-expanded="true"]::before {
		background: rgba(0, 0, 0, 0.4);
	}
	.hall-acc-banner .label {
		position: absolute;
		width: 90%; 
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
		text-align: center;
		background: none; 
		border: none; 
		font-size: 2rem; 
		font-weight: 700;
		text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); 
		transition: color 0.3s ease;
		white-space: normal; 
		color: #3a3550; 
	}
	.hall-acc-banner:hover .label,
	.hall-acc-banner[aria-expanded="true"] .label {
		color: #fff;
	}
	.plan-group-container {
		padding: 0 16px; 
	}
	.plan-item {
		margin-bottom: 2rem; 
	}
	.plan-wrap {
		background-color: #fff;
		border: 1px solid #eee;
		border-radius: 16px; 
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
		overflow: hidden; 
		padding: 1rem; 
	}
	.plan-wrap dl {
		margin: 0 0 1.5rem 0; 
		text-align: center;
	}
	.plan-wrap dt {
		background-color: #6d558d; 
		color: #fff;
		font-size: 2rem;
		font-weight: 700;
		padding: 0.8rem;
		border-radius: 8px; 
		margin-bottom: 1rem; 
	}
	.plan-wrap dd {
		margin: 0;
		color: orange;
		line-height: 1.4;
	}
	.plan-wrap dd span:first-child {
		font-size: 3rem;
		font-weight: 700;
		letter-spacing: -0.05em;
	}
	.plan-wrap dd i {
		font-size: 1.4rem;
		font-style: normal;
		font-weight: 400;
		margin-left: 0.2em;
	}
	.plan-wrap dd span:last-child {
		display: block;
		color: black;
		font-size: 1.3rem;
	}
	.plan-wrap figure {
		margin: 0;
		line-height: 0; 
	}
	.plan-wrap figure img {
		width: 100%;
		height: auto;
		border-radius: 8px; 
	}
	.plan-accordion .set-ttl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		background-color: #eaf0e5; 
		border: none;
		padding: 1rem 1.5rem;
		margin-top: 1.5rem; 
		font-size: 1.6rem;
		font-weight: 700;
		color: #3f5d32; 
		border-radius: 8px;
		cursor: pointer;
		transition: all 0.2s ease;
		-webkit-tap-highlight-color: transparent; 
	}
	.plan-accordion .set-ttl:hover {
		background-color: #dce6d5; 
	}
	.plan-accordion .set-ttl::after {
		content: "+";
		font-size: 2.4rem;
		font-weight: 300;
		line-height: 1;
		transition: transform 0.3s ease;
	}
	.plan-accordion .set-ttl.is-open {
		background-color: #3f5d32;
		color: #fff;
	}
	.plan-accordion .set-ttl.is-open::after {
		content: "−";
		transform: rotate(180deg);
	}
	.plan-accordion .set-content {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s ease-in-out; 
		padding-top: 0; 
	}
	.plan-accordion .set-content.is-open {
		padding-top: 1.5rem; 
	}
	.spec-list {
		border: none;
	}
	.spec-row {
		padding: 0;
		border-bottom: none;
		margin-bottom: 2rem; 
	}
	.spec-row:last-child {
		margin-bottom: 0;
	}
	.spec-row dt {
		position: relative; 
		font-size: 1.6rem;
		font-weight: 700; 
		color: #6d558d; 
		padding-bottom: 0.6rem; 
		background-color: transparent;
	}
	.spec-row dt::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 30%; 
		height: 3px; 
		background-color: #6d558d; 
	}
	.spec-row dd {
		font-size: 1.6rem;
		font-weight: 400; 
		color: #333; 
		margin: 0.8rem 0 0 0; 
		padding-bottom: 1.2rem; 
		border-bottom: 1px solid #e0e0e0; 
	}
	.spec-list {
		border: none;
	}
	.spec-list .spec-row {
		margin-bottom: 1rem;
	}
	.spec-list .spec-row dt::after {
		width: 100%;
	} 
	#exclusions,
	#others {
		display: block;
		text-align: center;
		background-color: #6d558d;
		color: #fff;
		font-size: 2rem;
		padding: 0.8rem;
		border-radius: 8px;
		margin: 2rem 16px 1.5rem 16px;
	}
	section:has(> h3#exclusions) {
		--side: 16px;
	}
	section:has(> h3#exclusions) > p.lead,
	section:has(> h3#exclusions) > dl.detail.bk {
		margin-left: var(--side);
		margin-right: var(--side);
	}
	section:has(> h3#exclusions) > p.lead {
		font-size: 1.2rem;
		line-height: 1.95;
		color: #333;
	}
	section:has(> h3#exclusions) > dl.detail.bk {
		padding: 1.2rem 1.2rem 0.6rem;
		background: #fff;
		border: 1px solid #e8e6f2;
		border-radius: 12px;
	}
	section:has(> h3#exclusions) > dl.detail.bk dt {
		display: flex;
		align-items: baseline;
		font-size: 1.6rem; 
		font-weight: 800;
		color: var(--prime, #6d558d);
		margin: 1rem 0 0.2rem;
	}
	section:has(> h3#exclusions) > dl.detail.bk dt::before {
		content: "●";
		font-size: 0.75em;
		margin-right: 0.6rem;
		color: var(--prime, #6d558d);
	}
	section:has(> h3#exclusions) > dl.detail.bk dd {
		display: block;
		margin: 0 0 1.2rem 1.35rem; 
		font-size: 1.5rem; 
		line-height: 1.9;
		color: #333;
	}
	.option-tables {
		display: flex;
		flex-direction: column; 
		gap: 0; 
	}
	.plan-compare .plan-cell .suffix {
		display: block; 
		font-size: 0.8em; 
		margin-left: 0.1em; 
	}
	[data-scroll-hint] {
		position: relative;
	}
	.scroll-hint {
		position: absolute;
		top: 70%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2000;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		min-width: 200px;
		padding: 16px 24px;
		background-color: rgba(0, 0, 0, 0.5);
		color: #fff;
		border-radius: 12px;
		text-align: center;
		pointer-events: none;
		opacity: 1;
		transition: opacity 0.25s ease, transform 0.25s ease;
	}
	.scroll-hint__icon-container {
		display: flex;
		align-items: center;
		margin-bottom: 8px;
		gap: 8px;
	}
	.scroll-hint__icon-container .hand-pointing-icon {
		width: 36px;
		height: 36px;
		filter: invert(100%);
	}
	.scroll-hint__icon-container .arrow-icon {
		font-size: 24px;
	}
	.scroll-hint__text {
		font-size: 16px;
		font-weight: bold;
	}
	.scroll-hint.is-fadeout {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.95);
		animation: none !important;
	}
	.plan-summary .table-scroll .scroll-hint {
		top: 50%;
		left: 65%;
		right: auto;
		transform: translate(-50%, -50%) !important;
		padding: 8px 12px;
		border-radius: 14px;
		background: rgba(109, 85, 141, 0.5);
		color: #fff;
		backdrop-filter: saturate(120%) blur(2px);
		box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
		width: fit-content !important; 
		max-width: 236px; 
		min-width: 0 !important; 
		display: inline-flex;
		align-items: center;
		gap: 8px;
		animation: hint-in-center-sp 0.35s ease forwards,
			hint-breathe-center-sp 2.6s ease-in-out 0.35s infinite !important;
	}
	.plan-summary .table-scroll .scroll-hint__text {
		font-size: 12px;
		line-height: 1.2;
		white-space: nowrap; 
	}
	@keyframes hint-in-center-sp {
		from {
			opacity: 0;
			transform: translate(-50%, calc(-50% - 6px));
		}
		to {
			opacity: 1;
			transform: translate(-50%, -50%);
		}
	}
	@keyframes hint-breathe-center-sp {
		0%,
		100% {
			transform: translate(-50%, -50%);
		}
		50% {
			transform: translate(-50%, calc(-50% - 2px));
		}
	}
	.plan-item:only-child .plan-accordion {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.plan-item:only-child .plan-accordion .set-ttl {
		width: 70%;
		min-width: 200px;
		max-width: 350px;
	}
	.plan-group .plan-item:only-child .plan-accordion {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.plan-group .plan-item:only-child .plan-accordion .set-ttl {
		width: 70%;
		min-width: 200px;
		max-width: 350px;
	}
	#others-options .plan-accordion .set-ttl {
		cursor: pointer !important;
		pointer-events: auto !important;
	}
	br.pc-only {
		display: none;
	}
} 
@media (min-width: 641px) {
	.page-ttl {
		position: relative;
		height: clamp(100px, 16vh, 200px);
		display: grid;
		place-items: center;
		margin: 0 0 18px;
		background: center / cover no-repeat
			url("../img/plan-header-bg_pc.webp");
		border-radius: 0; 
	}
	.page-ttl::before {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.35);
	}
	.page-ttl h2 {
		position: relative;
		z-index: 1;
		margin: 0;
		color: #fff;
		font-weight: 800;
		font-size: clamp(3.2rem, 4.8vw, 5.6rem);
		letter-spacing: 0.06em;
		text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
	}
	.plan-catch {
		text-align: center;
		padding: 10px 4% 0;
		margin: 0 auto;
		max-width: 900px;
	}
	.plan-catch__eyebrow {
		display: inline-block;
		font-weight: 800;
		color: #6d558d;
		font-size: 1.6rem;
	}
	.plan-catch__lead {
		margin: 6px 0 0;
		font-weight: 800;
		color: #3a3550;
		line-height: 1.7;
		font-size: clamp(2rem, 2.2vw, 2.6rem);
	}
	.plan-usp .usp-points {
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
		list-style: none;
		padding-left: 0;
	}
	.plan-usp .usp-points span {
		font-size: 1.5rem;
		line-height: 1.9; 
	}
	.plan-usp .usp-lead {
		font-size: 1.6rem;
		text-align: center;
		margin-top: -1rem;
	}
	.plan-usp .usp-lead a {
		color: orange;
	}
	.plan-localnav {
		margin: 14px 0 28px;
		padding: 0 2%;
	}
	.plan-localnav__list a {
		font-size: 1.6rem;
		padding: 0.9rem 1.6rem;
	}
	.plan-usp .plan-localnav__list {
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.8rem 0.6rem;
	}
	.plan-usp .plan-localnav__list a {
		display: block;
		padding: 0.9rem 1.6rem;
		background: #e8e6f2;
		color: #6d558d;
		text-decoration: none !important;
		font-size: 1.6rem;
		font-weight: 700;
		border-radius: 999px;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
	}
	h3.ttl {
		background: none;
		box-shadow: none;
		padding: 0 0 0 1rem; 
		color: #6d558d;
		display: flex;
		justify-content: flex-start;
		align-items: baseline;
		font-size: 3rem; 
		font-weight: 700;
		margin: 3rem 0 0.5rem 0; 
	}
	.sub-info {
		font-size: 1.6rem;
		font-weight: 700;
		color: #6d558d;
		opacity: 1;
		margin-top: 0;
		margin-left: 1.5rem; 
	}
	.plan-group .plan-item .plan-accordion .set-ttl {
		display: none;
	}
	.plan-item .plan-accordion .set-ttl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 90%; 
		max-width: 700px; 
		margin: 1.5rem auto 0; 
		box-sizing: border-box;
		background-color: #eaf0e5;
		border: none;
		padding: 1.2rem 1.5rem;
		font-size: 1.6rem;
		font-weight: 700;
		color: #3f5d32;
		border-radius: 8px;
		cursor: pointer;
		transition: all 0.2s ease;
		-webkit-tap-highlight-color: transparent;
	}
	.plan-item .plan-accordion .set-ttl:hover {
		background-color: #dce6d5;
	}
	.plan-item .plan-accordion .set-ttl::after {
		content: "+";
		font-size: 2.4rem;
		font-weight: 300;
		line-height: 1;
		margin-left: 0.5rem;
		transform-origin: center;
		transition: transform 0.2s ease;
	}
	.plan-item .plan-accordion .set-ttl.is-open {
		background-color: #3f5d32;
		color: #fff;
	}
	.plan-item .plan-accordion .set-ttl.is-open::after {
		content: "−";
		transform: rotate(180deg);
	}
	.plan-group-container {
		max-width: 100%;
		padding: 0 1.5rem;
		box-sizing: border-box;
	}
	.plan-group {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 2rem;
		max-width: 100%;
		overflow: hidden;
	}
	.plan-group .plan-item {
		min-width: 0;
	}
	.plan-group .plan-wrap,
	.plan-group .plan-wrap figure,
	.plan-group .plan-wrap img {
		width: 100%;
		max-width: 100%;
		display: block;
	}
	.plan-group .plan-group-toggle-pc,
	.plan-group .set-content-wrapper {
		grid-column: 1 / 3;
		max-width: 100%; 
		min-width: 0; 
	}
	.plan-group .set-content-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 2rem;
		overflow: hidden;
	}
	.plan-group .plan-item {
		margin-bottom: 1rem;
	}
	.plan-group .plan-wrap {
		position: relative; 
		background-color: #fff;
		border: 1px solid #eee;
		border-radius: 18px;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
		overflow: hidden;
		padding: 1.6rem 1.8rem 2rem;
		display: flex;
		flex-direction: column;
		height: 100%;
		box-sizing: border-box;
	}
	.plan-group .plan-wrap dl {
		position: relative; 
		margin: 0 0 1.8rem 0; 
		text-align: center;
	}
	.plan-group .plan-wrap dt {
		background-color: #6d558d;
		color: #fff;
		font-size: 1.9rem; 
		font-weight: 700;
		padding: 0.8rem 1rem;
		border-radius: 9px;
		margin-bottom: 1rem;
	}
	.plan-group .plan-wrap dd {
		margin: 0;
		color: orange;
		line-height: 1.4;
	}
	.plan-group .plan-wrap dd span:first-child {
		display: block;
		font-size: 2.6rem;
		font-weight: 700;
		letter-spacing: -0.04em;
	}
	.plan-group .plan-wrap dd i {
		font-size: 1.3rem;
		font-style: normal;
		font-weight: 400;
		margin-left: 0.2em;
	}
	.plan-group .plan-wrap dd span:last-child {
		display: block;
		color: #333;
		font-size: 1.3rem;
		margin-top: 0.2rem;
	}
	.plan-group .plan-wrap figure {
		margin: 0;
		line-height: 0;
	}
	.plan-group .plan-wrap figure img {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}
	.plan-group .plan-wrap > span:first-child {
		position: absolute; 
		top: 1rem; 
		left: 2.5rem; 
		z-index: 10; 
		display: inline-flex;
		flex-direction: column; 
		align-items: center; 
		gap: 0.05rem; 
		padding: 1rem 1rem 0.95rem; 
		margin-right: 0.5rem; 
		border-radius: 1rem; 
		background: #ffefc5;
		color: #b46a00;
		font-weight: 700;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); 
	}
	.plan-group .plan-wrap > span:first-child i {
		font-style: normal;
		font-weight: 700;
		font-size: 1.3rem; 
		opacity: 0.85;
		line-height: 1.1;
	}
	.plan-group .plan-wrap > span:first-child {
		font-size: 2rem; 
		line-height: 1;
	}
	.plan-group-toggle-pc {
		display: block; 
		box-sizing: border-box;
		margin: 0rem 0 2.4rem;
		max-width: 100%; 
		width: 100%; 
		overflow: hidden; 
	}
	.plan-group-toggle-pc .set-ttl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: 100%; 
		box-sizing: border-box; 
		background-color: #eaf0e5; 
		border: none;
		padding: 1.2rem 1.5rem;
		font-size: 1.6rem;
		font-weight: 700;
		color: #3f5d32; 
		border-radius: 8px;
		cursor: pointer;
		transition: all 0.2s ease;
		-webkit-tap-highlight-color: transparent;
	}
	.plan-group-toggle-pc .set-ttl:hover {
		background-color: #dce6d5; 
	}
	.plan-group-toggle-pc .set-ttl::after {
		content: "+";
		font-size: 2.4rem;
		font-weight: 300;
		line-height: 1;
		margin-left: 0.5rem;
		transform-origin: center;
		transition: transform 0.2s ease;
	}
	.plan-group-toggle-pc .set-ttl.is-open {
		background-color: #3f5d32; 
		color: #fff; 
	}
	.plan-group-toggle-pc .set-ttl.is-open::after {
		content: "−";
		transform: rotate(180deg);
	}
	.plan-accordion .set-content {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s ease-in-out;
		padding-top: 0;
	}
	.plan-accordion .set-content.is-open {
		padding-top: 1.5rem;
	}
	.plan-group .plan-item:only-child {
		grid-column: 1 / 3;
		max-width: 600px; 
		margin: 0 auto;
	}
	.plan-group:has(.plan-item:only-child) .plan-group-toggle-pc {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.plan-group:has(.plan-item:only-child) .plan-group-toggle-pc .set-ttl {
		width: 50%;
		min-width: 300px; 
		max-width: 500px; 
	}
	.plan-group:has(.plan-item:only-child) .plan-item .plan-accordion {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
	}
	.plan-group:has(.plan-item:only-child) .plan-item .plan-accordion .set-ttl {
		width: 80%;
		min-width: 250px;
		max-width: 400px;
	}
	.plan-group-container
		.plan-group:has(.plan-item:only-child)
		+ .plan-group-toggle-pc {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.plan-group-container
		.plan-group:has(.plan-item:only-child)
		+ .plan-group-toggle-pc
		.set-ttl {
		width: 50%;
		min-width: 300px;
		max-width: 500px;
	}
	.plan-group.single-plan .plan-item {
		grid-column: 1 / 3;
		max-width: 600px;
		margin: 0 auto 1rem;
	}
	.plan-group.single-plan .plan-group-toggle-pc {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.plan-group.single-plan .plan-group-toggle-pc .set-ttl {
		width: 50%;
		min-width: 300px;
		max-width: 500px;
	}
	.plan-group-toggle-pc.single-plan-toggle {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.plan-group-toggle-pc.single-plan-toggle .set-ttl {
		width: 50%;
		min-width: 300px;
		max-width: 500px;
	}
	.plan-group.single-plan .plan-item .plan-accordion {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
	}
	.plan-group.single-plan .plan-item .plan-accordion .set-ttl {
		width: 80%;
		min-width: 250px;
		max-width: 400px;
	}
	.spec-list {
		border: none;
		column-count: 2; 
		column-gap: 2rem;
	}
	.spec-list .spec-row {
		display: grid;
		grid-template-columns: auto 1fr; 
		column-gap: 0; 
		align-items: end; 
		padding: 0;
		border-bottom: none;
		margin-bottom: 0.8rem;
		break-inside: avoid; 
	}
	.spec-list .spec-row:last-child {
		margin-bottom: 0;
	}
	.spec-list .spec-row dt {
		position: relative;
		font-size: 1.3rem; 
		font-weight: 700;
		color: #6d558d;
		padding-bottom: 0.4rem;
		padding-right: 0.8rem; 
		background-color: transparent;
		margin: 0;
		white-space: nowrap; 
	}
	.spec-list .spec-row dt::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: auto;
		height: 2px;
		background-color: #6d558d;
	}
	.spec-list .spec-row dd {
		font-size: 1.1rem;
		font-weight: 400;
		color: #333;
		margin: 0;
		padding-bottom: 0.4rem;
		border-bottom: 1px solid #ddd; 
		text-align: right; 
	}
	.others-section .plan-group-container {
		max-width: 1120px;
		margin: 0 auto;
		padding: 0 1.5rem; 
	}
	.others-section .plan-group {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 2rem; 
	}
	.others-section .plan-group .plan-item {
		margin-bottom: 5rem; 
	}
	#others-options {
		grid-column: 1 / 3;
	}
	.meal-extra-prices.spec-list {
		column-count: 1;
	}
	.others-section .plan-group-toggle-pc {
		display: block; 
		max-width: 100%;
		margin: 0 auto 2.4rem auto;
	}
	.others-section > h3.ttl#others {
		display: none;
	}
	.plan-group-container.others #others-options .plan-accordion,
	#others-options .plan-accordion {
		text-align: center;
	}
	.plan-group-container.others #others-options .plan-accordion .set-ttl,
	#others-options .plan-accordion .set-ttl {
		display: inline-block;
		width: 100%;
		max-width: 540px; 
		margin: 0 auto 1.6rem;
		padding: 0.8rem;
		border-radius: 8px; 
		background-color: #6d558d;
		color: #fff;
		font-size: 2rem;
		font-weight: 700;
		cursor: default;
		pointer-events: none; 
	}
	.plan-group-container.others #others-options .plan-accordion .set-ttl i,
	#others-options .plan-accordion .set-ttl i {
		display: none !important;
	}
	#others-options .plan-accordion .set-ttl::after,
	#others-options .plan-accordion .set-ttl::before {
		display: none !important;
	}
	#others-options .plan-accordion .set-content {
		max-height: none !important;
		overflow: visible;
	}
	.plan-group-container.others #others-options .plan-accordion .set-ttl i {
		display: none;
	}
	#others-gratitude .plan-accordion .set-ttl,
	#others-meals .plan-accordion .set-ttl {
		display: none;
	}
	.plan-group-container.others .plan-group #others-gratitude,
	.plan-group-container.others .plan-group #others-meals {
		display: none;
	}
	.plan-group-container.others .plan-group #others-gratitude.is-open,
	.plan-group-container.others .plan-group #others-meals.is-open {
		display: block;
	}
	.others-section .plan-group-toggle-pc {
		grid-column: 1 / 3;
		max-width: 100%; 
		margin: 0 0 2.4rem 0;
	}
	.others-section .plan-group-toggle-pc .set-ttl {
		width: 100%;
	}
	section.fade.mb-80, 
	.plan-summary, 
	.info-section {
		max-width: 1040px;
		margin: 4rem auto 0;
		padding: 0 16px; 
	}
	section.fade.mb-80 > h3.ttl#exclusions,
	.plan-summary > h3.ttl,
	#price-scope > h3.ttl#price-summary {
		margin-left: 0;
		margin-right: 0;
		justify-content: center;
		text-align: center;
	}
	section.fade.mb-80 > p.lead,
	#price-scope > p.lead {
		margin-left: 0;
		margin-right: 0;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	.info-block {
		--side: 0;
	}
	.info-block > p.lead,
	.info-block > dl.detail.bk {
		margin-left: 0;
		margin-right: 0;
	}
	section.fade.mb-80 > dl.detail.bk,
	.info-block > dl.detail.bk {
		padding: 1.8rem 2rem 1.4rem;
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
	}
	section.fade.mb-80 > dl.detail.bk {
		display: grid;
		grid-template-columns: 18em minmax(0, 1fr); 
		align-items: center; 
		gap: 0;
		padding: 1.5rem 3rem; 
	}
	section.fade.mb-80 > dl.detail.bk dt,
	section.fade.mb-80 > dl.detail.bk dd {
		margin: 0;
		padding: 1.8rem 0; 
		font-size: 1.3rem;
		line-height: 1.8;
		border-bottom: 1px solid #eee;
	}
	section.fade.mb-80 > dl.detail.bk dt {
		grid-column: 1;
		padding-right: 1rem;
	}
	section.fade.mb-80 > dl.detail.bk dt::before {
		margin-top: 0; 
	}
	section.fade.mb-80 > dl.detail.bk dd {
		grid-column: 2;
	}
	section.fade.mb-80 > dl.detail.bk dt:last-of-type,
	section.fade.mb-80 > dl.detail.bk dd:last-of-type {
		border-bottom: none;
	}
	.plan-summary .table-scroll {
		overflow-x: visible; 
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}
	.plan-summary .plan-compare {
		font-size: 1.3rem;
	}
	.plan-summary .plan-compare th,
	.plan-summary .plan-compare td {
		padding-top: 0.6rem;
		padding-bottom: 0.6rem;
		line-height: 1.5;
	}
	.plan-summary .plan-compare {
		width: 100%;
		min-width: 0;
		table-layout: fixed; 
	}
	.plan-summary .plan-compare th:nth-child(n + 3),
	.plan-summary .plan-compare td:nth-child(n + 3) {
		min-width: auto;
		white-space: normal;
	}
	.plan-summary .plan-compare thead th:nth-child(1),
	.plan-summary .plan-compare thead th:nth-child(2),
	.plan-summary .plan-compare .hall-cell,
	.plan-summary .plan-compare .plan-cell {
		position: static;
		left: auto;
		box-shadow: none;
	}
	.plan-summary .table-scroll .scroll-hint {
		display: none !important;
	}
	br.pc-only {
		display: block;
	}
} 
@media (min-width: 641px) {
	.spec-head {
		text-align: left;
	}
	#options .spec-subhead {
		text-align: left;
	}
	#others-options .spec-list {
		column-count: 1;
	}
	#others-gratitude .gratitude-col {
		column-count: 1;
	}
	#others-gratitude .gratitude-col .spec-list {
		column-count: 1;
	}
	#others-gratitude .gratitude-price-columns {
		display: flex;
		justify-content: space-around;
		gap: 2rem;
		margin-bottom: 2rem;
	}
	#others-gratitude .gratitude-price-columns .price-column {
		flex: 1;
		max-width: 50%;
	}
	#others-gratitude .gratitude-price-columns .spec-list {
		column-count: 1;
	}
	#others-gratitude .gratitude-price-columns .spec-head {
		font-size: 1.8rem;
		line-height: 1.4;
	}
	#others-gratitude .gratitude-items {
		display: block;
		width: 100%;
	}
	#others-gratitude .gratitude-items::after {
		content: "";
		display: table;
		clear: both;
	}
	#others-gratitude .gratitude-items .grt-item {
		width: 100%;
		max-width: 480px;
		margin: 0 auto 2.5rem;
		float: none !important;
		clear: both !important;
		display: block;
	}
	#others-gratitude .gratitude-items .grt-item.align-right,
	#others-gratitude .gratitude-items .grt-item.align-left {
		float: none !important;
		clear: both !important;
	}
	#others-gratitude .gratitude-items .grt-item img {
		width: 100%;
		height: auto;
		display: block;
		margin-bottom: 0.8rem;
	}
	#others-gratitude .gratitude-items .grt-item figcaption {
		text-align: center;
		font-size: 1.6rem;
		font-weight: 700;
		color: #333;
		margin-top: 0.8rem;
	}
	#others-meals .meals-col {
		column-count: 1;
	}
	#others-meals .meals-col .spec-list {
		column-count: 1;
	}
	#others-meals .meals-items {
		display: block;
		width: 100%;
	}
	#others-meals .meals-items::after {
		content: "";
		display: table;
		clear: both;
	}
	#others-meals .meals-items .meal-item {
		width: 100%;
		max-width: 480px;
		margin: 0 auto 2.5rem;
		float: none !important;
		clear: both !important;
		display: block;
	}
	#others-meals .meals-items .meal-item.align-right,
	#others-meals .meals-items .meal-item.align-left,
	#others-meals .meals-items .meal-item.set-type,
	#others-meals .meals-items .meal-item.bento,
	#others-meals .meals-items .meal-item.child {
		float: none !important;
		clear: both !important;
	}
	#others-meals .meals-items .meal-item img {
		width: 100%;
		height: auto;
		display: block;
		margin-bottom: 0.8rem;
	}
	#others-meals .meals-items .meal-item figcaption {
		text-align: center;
		font-size: 1.6rem;
		font-weight: 700;
		color: #333;
		margin-top: 0.8rem;
	}
	#others-meals .meal-extra-prices.spec-list {
		column-count: 1;
	}
	#others-meals .meals-items .meal-item figcaption {
		text-align: center;
		font-size: 1.6rem;
		font-weight: 700;
		color: #333;
		margin-top: 0.8rem;
		line-height: 1.6;
	}
	section.fade.mb-80 > dl.detail.bk {
		display: grid;
		grid-template-columns: 18em 1fr; 
		align-items: start; 
		gap: 0; 
		padding: 1rem 3rem; 
	}
	section.fade.mb-80 > dl.detail.bk dt {
		grid-column: 1; 
		margin: 0;
		padding: 2rem 1rem 2rem 0; 
		border-bottom: 1px solid #eee; 
	}
	section.fade.mb-80 > dl.detail.bk dt::before {
		margin-top: 0.4rem; 
	}
	section.fade.mb-80 > dl.detail.bk dd {
		grid-column: 2; 
		margin: 0;
		padding: 2rem 0; 
		border-bottom: 1px solid #eee; 
		line-height: 1.8; 
	}
	section.fade.mb-80 > dl.detail.bk dt:last-of-type,
	section.fade.mb-80 > dl.detail.bk dd:last-of-type {
		border-bottom: none;
	}
}
