/* ==========================================================================
   BRS Beauty - 2026年10月オープニングキャンペーン用スタイル
   ・すべて .brs-lp--campaign 内に閉じています（キャンペーン版HTMLのときだけ効きます）。
   ・通常版のHTMLに戻せば、このファイルが読み込まれていても何も変わりません。
   ・キャンペーン終了後は、このファイルと functions.php の enqueue（brs-lp-campaign）を削除してOK。
   ========================================================================== */

/* ---- MV：キャンペーンボックスを目立たせる（太いくすみピンクの枠＋ゆっくり脈打つ光） ---- */
.brs-lp--campaign .brs-lp__hero-campaign {
	width: min(100%, 470px);
	border: 3px solid var(--dusty-pink-dark);
	border-radius: 14px;
	background: var(--white);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.55), 0 18px 40px -16px rgba(60, 20, 30, 0.65);
	animation: brs-campaign-glow 2.8s ease-in-out infinite;
}

@keyframes brs-campaign-glow {
	0%, 100% { box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.55), 0 18px 40px -16px rgba(60, 20, 30, 0.65); }
	50% { box-shadow: 0 0 0 9px rgba(255, 255, 255, 0.8), 0 18px 40px -16px rgba(60, 20, 30, 0.65); }
}

/* 上部の流れる帯：大きく・濃く */
.brs-lp--campaign .brs-lp__hero-marquee {
	padding: 11px 0;
	background: var(--dusty-pink-dark);
	font-size: 18px;
	letter-spacing: 0.12em;
}

/* 項目名と新価格を少し大きく */
.brs-lp--campaign .brs-lp__hero-prices--strike dt {
	font-size: 16px;
	color: var(--dusty-pink-dark);
}

.brs-lp--campaign .brs-lp__hero-prices--strike em,
.brs-lp--campaign .brs-lp__hero-prices--strike div:first-child em {
	font-size: 36px;
}

.brs-lp--campaign .brs-lp__hero-prices--strike div:last-child em {
	font-size: 50px;
}

/* ---- MV：初回体験 3,300円 → 0円 を主役に（入会金は載せない・1項目のみ） ---- */
.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single {
	display: block;
	padding: 16px 12px 14px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single div {
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 0;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dt {
	margin: 0 0 6px;
	padding: 2px 18px;
	border-radius: 999px;
	background: var(--dusty-pink-dark);
	color: var(--white);
	font-size: 16px;
	letter-spacing: 0.1em;
}

/* 初回体験：「今だけ 3,300円」を主役に。ご入会で0円は小さく添える */
.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dd {
	display: flex;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 0;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single .brs-lp__hero-old {
	display: block;
	flex-basis: auto;
	font-size: 15px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single s {
	font-family: var(--brs-font-en);
	font-size: 72px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.01em;
	text-decoration: none;
	color: var(--dusty-pink-dark);
	white-space: nowrap;
}

/* ご入会で 0円：控えめに */
.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: center;
	align-self: center;
	gap: 4px;
	flex-basis: auto;
	line-height: 1.4;
}

.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong small {
	color: var(--charcoal);
	font-size: 14px;
	font-weight: 700;
}

.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong em {
	flex-basis: auto;
	font-family: var(--brs-font-en);
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.4;
	color: var(--charcoal);
	white-space: nowrap;
}
/* 料金セクションのキャンペーンボックスも、3,300円に斜線を入れない */
.brs-lp--campaign .brs-lp__campaign-list s {
	text-decoration: none;
}
/* ---- MV：期間・人数限定（塗りの大きなタグ） ---- */
.brs-lp--campaign .brs-lp__hero-limit {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 12px 14px;
	border-top: 0;
	background: var(--dusty-pink-light);
	line-height: 1.4;
}

.brs-lp--campaign .brs-lp__hero-limit span {
	padding: 6px 16px;
	border: 2px solid var(--dusty-pink-dark);
	border-radius: 8px;
	background: var(--white);
	color: var(--dusty-pink-dark);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.brs-lp--campaign .brs-lp__hero-limit span:last-child {
	background: var(--dusty-pink-dark);
	color: var(--white);
}

/* ---- CTA：キャンペーン名 ---- */
.brs-lp--campaign .brs-lp__cta-campaign {
	display: inline-block;
	margin: 6px 0;
	padding: 2px 14px;
	border-radius: 6px;
	background: var(--dusty-pink-dark);
	color: var(--white);
}

@media (max-width: 767px) {
	.brs-lp--campaign .brs-lp__hero-marquee {
		font-size: 16px;
	}

	.brs-lp--campaign .brs-lp__hero-prices--strike em,
	.brs-lp--campaign .brs-lp__hero-prices--strike div:first-child em {
		font-size: 32px;
	}

	.brs-lp--campaign .brs-lp__hero-prices--strike div:last-child em {
		font-size: 44px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single s {
		font-size: 60px;
	}

	.brs-lp--campaign .brs-lp__hero-limit span {
		padding: 5px 8px;
		font-size: 14px;
		white-space: nowrap;
	}

}

@media (prefers-reduced-motion: reduce) {
	.brs-lp--campaign .brs-lp__hero-campaign {
		animation: none;
	}
}

/* ---- MV直下の予約バナー（PC）：「10名様限定 体験3,300円を予約する」＋白地の「入会で体験0円」 ---- */
.brs-lp--campaign .brs-lp__cta-banner-main {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-size: 30px;
}

.brs-lp--campaign .brs-lp__cta-banner-limit {
	padding: 2px 12px;
	border: 2px solid var(--white);
	border-radius: 6px;
	font-family: var(--brs-font);
	font-size: 16px;
	font-style: normal;
	letter-spacing: 0.06em;
	line-height: 1.6;
}

.brs-lp--campaign .brs-lp__cta-banner-lead {
	padding: 3px 22px;
	font-size: 18px;
	line-height: 1.6;
}

/* ---- 料金・コース直上：オープニングキャンペーンのボックス（MVと同じ見せ方） ---- */
.brs-lp--campaign .brs-lp__first--campaign {
	padding: 28px 24px 22px;
	border: 3px solid var(--dusty-pink-dark);
	background: var(--white);
}

.brs-lp--campaign .brs-lp__first--campaign .brs-lp__campaign-title {
	display: inline-block;
	margin: -44px auto 18px;
	padding: 4px 22px;
	border-radius: 999px;
	background: var(--dusty-pink-dark);
	color: var(--white);
	font-size: 18px;
}

.brs-lp--campaign .brs-lp__first-main {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.brs-lp--campaign .brs-lp__first-tag {
	padding: 2px 20px;
	border-radius: 999px;
	background: var(--dusty-pink-dark);
	color: var(--white);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.brs-lp--campaign .brs-lp__first-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 4px 10px;
	line-height: 1.2;
}

.brs-lp--campaign .brs-lp__first-old,
.brs-lp--campaign .brs-lp__first-price em {
	font-family: var(--brs-font-en);
	font-size: 56px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.brs-lp--campaign .brs-lp__first-old {
	color: var(--charcoal);
}

.brs-lp--campaign .brs-lp__first-arrow {
	align-self: center;
	color: var(--dusty-pink-dark);
	font-size: 32px;
	line-height: 1;
}

.brs-lp--campaign .brs-lp__first-price small {
	color: var(--dusty-pink-dark);
	font-size: 17px;
	font-weight: 700;
}

.brs-lp--campaign .brs-lp__first-price em {
	color: var(--dusty-pink-dark);
}

@media (max-width: 767px) {
	.brs-lp--campaign .brs-lp__first--campaign {
		padding: 24px 12px 18px;
	}

	.brs-lp--campaign .brs-lp__first--campaign .brs-lp__campaign-title {
		margin-top: -40px;
		padding: 4px 14px;
		font-size: 14px;
	}

	.brs-lp--campaign .brs-lp__first-old,
	.brs-lp--campaign .brs-lp__first-price em {
		font-size: 38px;
	}

	.brs-lp--campaign .brs-lp__first-arrow {
		font-size: 24px;
	}

	.brs-lp--campaign .brs-lp__first-price small {
		font-size: 14px;
	}

}
/* ---- CTA：「10月限定 3,300円初回体験を予約する」 ---- */
.brs-lp--campaign .brs-lp__btn-limit {
	margin-right: 10px;
	padding: 1px 12px;
	border: 2px solid currentColor;
	border-radius: 6px;
	font-size: 0.7em;
	letter-spacing: 0.06em;
	line-height: 1.6;
}
/* ---- CTA：ボタンもくすみピンクに。「10月限定」は白地の大きなタグで目立たせる ---- */
.brs-lp--campaign .brs-lp__cta .brs-lp__btn--primary {
	background: var(--dusty-pink-dark);
	color: var(--white);
	box-shadow: 0 14px 30px -14px rgba(60, 20, 30, 0.7);
}

.brs-lp--campaign .brs-lp__cta .brs-lp__btn--primary:hover {
	background: #8c5059;
	color: var(--white);
}

.brs-lp--campaign .brs-lp__btn-limit {
	margin-right: 14px;
	padding: 0 14px 0 0;
	border: 0;
	border-right: 1.5px solid rgba(255, 255, 255, 0.7);
	border-radius: 0;
	background: transparent;
	color: var(--white);
	font-size: 1em;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.brs-lp--campaign .brs-lp__btn-limit {
		margin-right: 8px;
		padding: 0 10px 0 0;
	}
}
/* ==========================================================================
   2026-10-23 改修：ゴールドの数字／「初回体験 今だけ」1行／→復活／「さらに」の見せ方／料金直前ボタン
   ========================================================================== */
.brs-lp--campaign {
	--brs-gold: #a67c14;       /* 添付画像の数字の色（ゴールド） */
	--brs-gold-dark: #8a6410;
}

/* ---- MV：「初回体験 今だけ」を1行のタグに ---- */
.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dt {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dt .brs-lp__hero-now {
	padding-left: 10px;
	border-left: 1.5px solid rgba(255, 255, 255, 0.7);
	font-size: 16px;
	letter-spacing: 0.14em;
}

/* ---- MV：3,300円（ゴールド・大）→ ご入会で0円（小）を1行に ---- */
.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dd {
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single .brs-lp__hero-old {
	display: inline-block;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single s {
	font-size: 56px;
	color: var(--brs-gold);
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single .brs-lp__hero-arrow {
	display: block;
	flex: none;
	color: var(--brs-gold);
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}

.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong {
	flex: none;
	align-self: center;
	white-space: nowrap;
}

/* ---- 「さらに 初月のサブスク代 »» 無料」：リボン＋大きなゴールドの無料（MV・料金直前ボックス共通） ---- */
.brs-lp.brs-lp--campaign .brs-lp__hero-plus {
	position: relative;
	display: block;
	margin: 0;
	padding: 34px 14px 12px;
	border: 0;
	background: var(--dusty-pink-light);
	box-shadow: inset 0 8px 14px -12px rgba(60, 20, 30, 0.35);
	text-align: left;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-plus-ribbon {
	position: absolute;
	top: 8px;
	left: 0;
	padding: 3px 30px 3px 16px;
	background: var(--dusty-pink-dark);
	color: var(--white);
	font-family: var(--brs-font-serif);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%);
	box-shadow: 0 4px 10px rgba(60, 20, 30, 0.25);
}

.brs-lp.brs-lp--campaign .brs-lp__hero-plus-body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-plus-label {
	margin: 0;
	flex: none;
	color: var(--dusty-pink-dark);
	font-family: var(--brs-font-serif);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.3;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-chev {
	flex: none;
	color: var(--dusty-pink);
}

.brs-lp.brs-lp--campaign .brs-lp__hero-plus-val {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	line-height: 1.2;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-plus-val em {
	font-family: var(--brs-font-serif);
	font-size: 56px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.05;
	color: var(--brs-gold);
	white-space: nowrap;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-plus-val small {
	flex: none;
	font-size: 13px;
	font-weight: 700;
	color: var(--charcoal);
}

/* ---- 料金・コース直前：キャンペーンボックス全体が予約フォームへのボタン ---- */
.brs-lp--campaign a.brs-lp__first--campaign {
	display: block;
	color: var(--charcoal);
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	box-shadow: 0 18px 36px -20px rgba(60, 20, 30, 0.6);
}

.brs-lp--campaign a.brs-lp__first--campaign:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 42px -20px rgba(60, 20, 30, 0.7);
	color: var(--charcoal);
}

.brs-lp--campaign .brs-lp__first-tag {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
}

.brs-lp--campaign .brs-lp__first-now {
	padding-left: 10px;
	border-left: 1.5px solid rgba(255, 255, 255, 0.7);
	letter-spacing: 0.14em;
}

.brs-lp--campaign .brs-lp__first-price {
	flex-wrap: nowrap;
	align-items: center;
	gap: 10px;
}

.brs-lp--campaign .brs-lp__first-old {
	font-size: 64px;
	color: var(--brs-gold);
}

.brs-lp--campaign .brs-lp__first-arrow {
	flex: none;
	color: var(--brs-gold);
	font-size: 30px;
	font-weight: 700;
}

.brs-lp--campaign .brs-lp__first-price small {
	flex: none;
	align-self: center;
	color: var(--charcoal);
	font-size: 15px;
}

.brs-lp--campaign .brs-lp__first-price em {
	flex: none;
	align-self: center;
	font-size: 24px;
	line-height: 1.2;
	color: var(--charcoal);
}

.brs-lp--campaign .brs-lp__hero-plus--box {
	margin-top: 20px;
	border-radius: 10px;
	overflow: hidden;
}

.brs-lp--campaign .brs-lp__first-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 20px;
	padding: 16px 20px;
	border-radius: 999px;
	background: var(--dusty-pink-dark);
	color: var(--white);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
	box-shadow: 0 12px 24px -14px rgba(60, 20, 30, 0.7);
	transition: background-color 0.25s ease;
}

.brs-lp--campaign .brs-lp__first-cta::after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2.5px solid currentColor;
	border-right: 2.5px solid currentColor;
	transform: rotate(45deg);
}

.brs-lp--campaign a.brs-lp__first--campaign:hover .brs-lp__first-cta {
	background: #8c5059;
}

.brs-lp--campaign a.brs-lp__first--campaign .brs-lp__note {
	display: block;
	margin-top: 14px;
	color: var(--charcoal);
	font-size: 12px;
	line-height: 1.7;
}

@media (max-width: 767px) {
	.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dd {
		gap: 6px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single s {
		font-size: 42px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single .brs-lp__hero-arrow {
		font-size: 20px;
	}

	.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong small {
		font-size: 12px;
	}

	.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong em {
		font-size: 18px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus {
		padding: 32px 10px 10px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus-label {
		font-size: 17px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-chev {
		width: 32px;
		height: 16px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus-val em {
		font-size: 44px;
	}

	.brs-lp--campaign .brs-lp__first-old {
		font-size: 44px;
	}

	.brs-lp--campaign .brs-lp__first-arrow {
		font-size: 20px;
	}

	.brs-lp--campaign .brs-lp__first-price {
		gap: 6px;
	}

	.brs-lp--campaign .brs-lp__first-price small {
		font-size: 12px;
	}

	.brs-lp--campaign .brs-lp__first-price em {
		font-size: 18px;
	}

	.brs-lp--campaign .brs-lp__first-cta {
		padding: 14px 12px;
		font-size: 16px;
	}
}
.brs-lp.brs-lp--campaign .brs-lp__hero-plus-val small {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.brs-lp.brs-lp--campaign .brs-lp__hero-plus--box {
		padding: 32px 8px 10px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus--box .brs-lp__hero-plus-body {
		gap: 4px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus--box .brs-lp__hero-plus-label {
		font-size: 15px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus--box .brs-lp__hero-chev {
		width: 26px;
		height: 13px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus--box .brs-lp__hero-plus-val em {
		font-size: 40px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus--box .brs-lp__hero-plus-val small {
		font-size: 12px;
	}
}
/* ==========================================================================
   2026-10-23 改修②：枠の動きなし／「初回体験 今だけ」は下地なし／期間タグを統一／MV直下バナーを全幅で表示／料金直前ボックスの余白調整
   ========================================================================== */

/* ---- MV：枠の動き（脈打つ光）をなくす ---- */
.brs-lp--campaign .brs-lp__hero-campaign {
	animation: none;
}

/* ---- MV：「初回体験 今だけ」は下地なしの文字で、3,300円の上に ---- */
.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dt {
	margin: 0 0 2px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--dusty-pink-dark);
	font-size: 20px;
	letter-spacing: 0.12em;
	gap: 12px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dt .brs-lp__hero-now {
	padding-left: 0;
	border-left: 0;
	font-size: inherit;
	letter-spacing: inherit;
}

/* ---- MV：「10/31（土）まで」を「先着10名様限定」と同じデザインに ---- */
.brs-lp--campaign .brs-lp__hero-limit span,
.brs-lp--campaign .brs-lp__hero-limit span:last-child {
	border-color: var(--dusty-pink-dark);
	background: var(--dusty-pink-dark);
	color: var(--white);
}

/* ---- MV直下の予約バナー：スマホ・タブレットでも表示（細かい文章なしのデザイン） ---- */
.brs-lp--campaign .brs-lp__hero-after {
	display: flex;
	justify-content: center;
	padding: 24px 16px 8px;
}

.brs-lp--campaign .brs-lp__cta-banner {
	width: min(100%, 720px);
}

@media (max-width: 767px) {
	.brs-lp--campaign .brs-lp__cta-banner {
		padding: 16px 64px 16px 20px;
	}

	.brs-lp--campaign .brs-lp__cta-banner-main {
		flex-wrap: wrap;
		gap: 6px 10px;
		font-size: 22px;
		letter-spacing: 0.06em;
	}

	.brs-lp--campaign .brs-lp__cta-banner-limit {
		font-size: 14px;
	}

	.brs-lp--campaign .brs-lp__cta-banner-lead {
		padding: 2px 18px;
		font-size: 16px;
	}

	.brs-lp--campaign .brs-lp__cta-banner-arrow {
		right: 14px;
		width: 36px;
		height: 36px;
		margin-top: -18px;
	}
}

/* ---- 料金・コース直前のボックス：余白の整理 ---- */
.brs-lp--campaign .brs-lp__first--campaign {
	max-width: 640px;
	padding: 0 28px 24px;
	margin-top: 56px;
}

/* タイトルは枠の上辺にまたがる位置へ（上の余白をなくす） */
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__campaign-title {
	display: table;
	margin: -22px auto 14px;
	padding: 5px 22px;
}

/* 「初回体験 今だけ」は下地なしの文字 */
.brs-lp--campaign .brs-lp__first-tag {
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--dusty-pink-dark);
	font-size: 20px;
	letter-spacing: 0.12em;
}

.brs-lp--campaign .brs-lp__first-now {
	padding-left: 0;
	border-left: 0;
}

.brs-lp--campaign .brs-lp__first-main {
	gap: 2px;
}

/* 「さらに」の帯：ラベル・〉〉〉・無料を中央にまとめ、間延びさせない */
.brs-lp--campaign .brs-lp__hero-plus--box {
	margin: 16px auto 0;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-plus-body {
	justify-content: center;
	gap: 14px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-plus--box {
	padding-bottom: 14px;
}

/* ボタンと注記 */
.brs-lp--campaign .brs-lp__first-cta {
	margin-top: 16px;
}

.brs-lp--campaign a.brs-lp__first--campaign .brs-lp__note {
	margin-top: 12px;
}

@media (max-width: 767px) {
	.brs-lp--campaign .brs-lp__first--campaign {
		padding: 0 12px 18px;
		margin-top: 48px;
	}

	.brs-lp--campaign .brs-lp__first--campaign .brs-lp__campaign-title {
		margin-top: -26px;
		font-size: 13px;
	}

	.brs-lp--campaign .brs-lp__first-tag {
		font-size: 17px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-prices--single dt {
		font-size: 17px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-plus-body {
		gap: 4px;
	}
}
/* ==========================================================================
   2026-10-23 改修③：MVキャンペーン枠をコンパクトに／MV下ボタンの動き／ふきだしの文言
   ========================================================================== */

/* ---- MV：キャンペーン枠の高さを詰める（当初のデザインくらい） ---- */
.brs-lp.brs-lp--campaign .brs-lp__hero-campaign {
	margin-bottom: 16px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-marquee {
	padding: 7px 0;
	font-size: 15px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single {
	padding: 10px 12px 8px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single dt {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single s {
	font-size: 50px;
	line-height: 1.1;
}

/* 「さらに」：リボン・ラベル・〉〉〉・無料を1行に */
.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	box-shadow: none;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-ribbon {
	position: static;
	flex: none;
	padding: 3px 20px 3px 10px;
	font-size: 15px;
	clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 50%, 100% 100%, 0 100%);
	box-shadow: none;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-body {
	flex: 1;
	min-width: 0;
	justify-content: center;
	gap: 6px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-label {
	font-size: 16px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-chev {
	width: 30px;
	height: 15px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-val em {
	font-size: 40px;
	line-height: 1;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-val small {
	font-size: 11px;
}

/* 期間・人数タグと注記 */
.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-limit {
	padding: 0 12px 8px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-limit span {
	padding: 3px 12px;
	font-size: 14px;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-campaign-note {
	margin: 0 12px;
	padding: 6px 0 8px;
	font-size: 10.5px;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-marquee {
		padding: 6px 0;
		font-size: 14px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single {
		padding: 8px 8px 6px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single dt {
		font-size: 14px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single s {
		font-size: 40px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus {
		gap: 6px;
		padding: 6px 8px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-ribbon {
		padding: 2px 16px 2px 8px;
		font-size: 13px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-body {
		gap: 4px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-label {
		font-size: 13px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-chev {
		width: 18px;
		height: 9px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-val em {
		font-size: 32px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-plus-val small {
		font-size: 10px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-limit span {
		padding: 2px 10px;
		font-size: 13px;
	}

	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-campaign-note {
		font-size: 10px;
	}
}

/* ---- MV下の予約バナー：光が走る＋ゆっくり脈打つ＋矢印が動く（クリックを誘う動き） ---- */
.brs-lp--campaign .brs-lp__cta-banner {
	overflow: hidden;
}

.brs-lp--campaign .brs-lp__cta-banner::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -40%;
	width: 28%;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0) 100%);
	transform: skewX(-20deg);
	animation: brs-banner-shine 3.2s ease-in-out infinite;
	pointer-events: none;
}

@keyframes brs-banner-shine {
	0%, 55% { left: -40%; }
	100% { left: 130%; }
}

@media (prefers-reduced-motion: reduce) {
	.brs-lp--campaign .brs-lp__cta-banner::before,
	.brs-lp--campaign .brs-lp__hero-action .brs-lp__btn--primary::before,
	.brs-lp--campaign .brs-lp__cta .brs-lp__btn--primary::before {
		animation: none;
	}
}

/* ---- MV内の予約ボタンにも「きらり」 ---- */
.brs-lp--campaign .brs-lp__hero-action .brs-lp__btn--primary {
	position: relative;
	overflow: hidden;
}

.brs-lp--campaign .brs-lp__hero-action .brs-lp__btn--primary::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -40%;
	width: 28%;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0) 100%);
	transform: skewX(-20deg);
	animation: brs-banner-shine 3.2s ease-in-out 0.6s infinite;
	pointer-events: none;
}
/* ---- 「月2回だけ、自分に戻る時間を。」のCTAボタンにも、きらりと光る動き ---- */
.brs-lp--campaign .brs-lp__cta .brs-lp__btn--primary {
	position: relative;
	overflow: hidden;
}

.brs-lp--campaign .brs-lp__cta .brs-lp__btn--primary::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -40%;
	width: 28%;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0) 100%);
	transform: skewX(-20deg);
	animation: brs-banner-shine 3.2s ease-in-out 1.2s infinite;
	pointer-events: none;
}
/* ---- MV：「運動経験なしでもOK！」ギザギザのふきだし（写真の上に重ねる。文章の流れには入れない） ---- */
.brs-lp--campaign .brs-lp__hero-burst {
	--brs-burst: #c07a86;      /* 参考画像のくすみピンク */
	position: absolute;
	z-index: 3;
	left: clamp(28px, 6vw, 96px);
	top: 210px;
	width: 272px;
	height: 214px;
	margin: 0;
	transform: rotate(-6deg);
	filter: drop-shadow(0 8px 14px rgba(30, 40, 40, 0.3));
	pointer-events: none;
	text-shadow: none;
}

.brs-lp--campaign .brs-lp__hero-burst-shape {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--brs-burst);
	clip-path: polygon(50% 1%, 58% 10.6%, 69.1% 4.7%, 72.8% 16.6%, 85.4% 15.4%, 84.1% 27.7%, 96.2% 31.2%, 90.2% 42.2%, 100% 50%, 90.2% 57.8%, 96.2% 68.8%, 84.1% 72.3%, 85.4% 84.6%, 72.8% 83.4%, 69.1% 95.3%, 58% 89.4%, 50% 99%, 42% 89.4%, 30.9% 95.3%, 27.2% 83.4%, 14.6% 84.6%, 15.9% 72.3%, 3.8% 68.8%, 9.8% 57.8%, 0% 50%, 9.8% 42.2%, 3.8% 31.2%, 15.9% 27.7%, 14.6% 15.4%, 27.2% 16.6%, 30.9% 4.7%, 42% 10.6%);
	color: var(--white);
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;
	font-size: 32px;
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-align: center;
}

@media (max-width: 767px) {
	.brs-lp--campaign .brs-lp__hero-burst {
		left: 4px;
		top: 214px;
		width: 172px;
		height: 135px;
	}

	.brs-lp--campaign .brs-lp__hero-burst-shape {
		font-size: 20px;
	}
}
/* ==========================================================================
   2026-10-23 改修⑥：0円を赤く大きく／「女性AT保有トレーナー在籍」
   ========================================================================== */
.brs-lp--campaign {
	--brs-red: var(--dusty-pink-dark);   /* 「0円」の色：枠・ボタンと同じ、くすみピンク（赤は浮くため使わない） */
}

/* ---- MV：「0」を大きく赤く、「円」は小さく ---- */
.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong em {
	font-family: var(--brs-font-serif);
	font-size: 48px;
	line-height: 1;
	color: var(--brs-red);
}

.brs-lp--campaign .brs-lp__yen {
	margin-left: 2px;
	font-size: 0.34em;
	letter-spacing: 0;
}

.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong small {
	font-size: 15px;
}

/* ---- 料金・コース直前のボックス：「0円」を大きく赤く ---- */
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price em {
	font-family: var(--brs-font-serif);
	font-size: 60px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--brs-red);
}

.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price small {
	font-size: 16px;
}

/* ---- トレーナー紹介の下：「女性AT保有トレーナー在籍」（写真なし・くすみピンク） ---- */
.brs-lp--campaign .brs-lp__trainer-female {
	display: flex;
	justify-content: center;
	margin: 40px auto 0;
}

.brs-lp--campaign .brs-lp__trainer-female span {
	display: inline-block;
	padding: 16px 44px;
	border: 2px solid var(--dusty-pink-dark);
	border-radius: 4px;
	background: var(--white);
	box-shadow: none;
	color: var(--dusty-pink-dark);
	font-family: var(--brs-font-serif);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.5;
	text-align: center;
}

@media (max-width: 767px) {
	.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong em {
		font-size: 36px;
	}

	.brs-lp.brs-lp--campaign dl.brs-lp__hero-prices--single div:first-child strong small {
		font-size: 12px;
	}

	.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price em {
		font-size: 38px;
	}

	.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price small {
		font-size: 11px;
	}

	.brs-lp--campaign .brs-lp__first-old {
		font-size: 38px;
	}

	.brs-lp--campaign .brs-lp__first-arrow {
		font-size: 16px;
	}

	.brs-lp--campaign .brs-lp__trainer-female {
		margin-top: 28px;
	}

	.brs-lp--campaign .brs-lp__trainer-female span {
		padding: 11px 24px;
		font-size: 18px;
		letter-spacing: 0.08em;
	}
}
/* ==========================================================================
   2026-10-23 改修⑦：6つの特徴／料金直前のタイトルを目立たせる／「円」は数字より小さく
   ========================================================================== */

/* ---- 特徴の目次：6項目なので 3列×2段（PC・タブレット） ---- */
@media (min-width: 768px) {
	.brs-lp--campaign .brs-lp__reason-index {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}
}

/* ---- 「円」は必ず数字より小さく ---- */
.brs-lp--campaign .brs-lp__yen {
	font-family: var(--brs-font);
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0;
}

.brs-lp--campaign .brs-lp__first-old .brs-lp__yen,
.brs-lp--campaign .brs-lp__hero-prices--single s .brs-lp__yen {
	margin-left: 2px;
	font-size: 0.5em;
}

.brs-lp--campaign .brs-lp__first-price em .brs-lp__yen {
	margin-left: 2px;
	font-size: 0.42em;
}

/* ---- 料金・コース直前：「オープニングキャンペーン（10/31まで・先着10名様）」を目立たせる ---- */
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__campaign-title {
	display: table;
	margin: -30px auto 16px;
	padding: 8px 34px 9px;
	border: 2px solid var(--white);
	border-radius: 10px;
	background: var(--dusty-pink-dark);
	box-shadow: 0 0 0 2px var(--dusty-pink-dark), 0 12px 24px -12px rgba(60, 20, 30, 0.6);
	color: var(--white);
	text-align: center;
	line-height: 1.35;
}

.brs-lp--campaign .brs-lp__campaign-title-main {
	display: block;
	font-family: var(--brs-font-serif);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.brs-lp--campaign .brs-lp__campaign-title-sub {
	display: block;
	margin-top: 2px;
	padding-top: 3px;
	border-top: 1px solid rgba(255, 255, 255, 0.6);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.brs-lp--campaign .brs-lp__first--campaign {
	margin-top: 72px;
}

@media (max-width: 767px) {
	.brs-lp--campaign .brs-lp__first--campaign {
		margin-top: 64px;
	}

	.brs-lp--campaign .brs-lp__first--campaign .brs-lp__campaign-title {
		margin-top: -34px;
		padding: 7px 20px 8px;
	}

	.brs-lp--campaign .brs-lp__campaign-title-main {
		font-size: 19px;
		letter-spacing: 0.06em;
	}

	.brs-lp--campaign .brs-lp__campaign-title-sub {
		font-size: 14px;
		letter-spacing: 0.06em;
	}
}
/* ==========================================================================
   2026-10-23 改修⑧：MV「3,300円 → ご入会で 0円」を、文字の下（ベースライン）で揃え、3,300円と0円は同じ大きさに
   ========================================================================== */
.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single dd {
	align-items: baseline;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single .brs-lp__hero-old,
.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single .brs-lp__hero-arrow {
	align-self: baseline;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign dl.brs-lp__hero-prices--single div:first-child strong {
	align-self: baseline;
	align-items: baseline;
}

/* 3,300円 と 0円：同じフォント・同じ大きさ・同じ行の高さ */
.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single s,
.brs-lp.brs-lp--campaign .brs-lp__hero-campaign dl.brs-lp__hero-prices--single div:first-child strong em {
	font-family: var(--brs-font-serif);
	font-size: 50px;
	font-weight: 700;
	line-height: 1.1;
}

.brs-lp.brs-lp--campaign .brs-lp__hero-campaign dl.brs-lp__hero-prices--single div:first-child strong em .brs-lp__yen {
	font-size: 0.5em;
}

@media (max-width: 767px) {
	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign .brs-lp__hero-prices--single s,
	.brs-lp.brs-lp--campaign .brs-lp__hero-campaign dl.brs-lp__hero-prices--single div:first-child strong em {
		font-size: 40px;
	}
}
/* ==========================================================================
   2026-10-23 改修⑨：料金直前の箱も「3,300円 → ご入会で 0円」を下のラインで揃える／「円」をさらに小さく（MV・箱とも）
   ========================================================================== */

/* ---- 料金・コース直前の箱：文字の下（ベースライン）で揃え、3,300円と0円を同じ大きさに ---- */
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price {
	align-items: baseline;
}

.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-old,
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-arrow,
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price small,
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price em {
	align-self: baseline;
}

.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-old,
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price em {
	font-family: var(--brs-font-serif);
	font-size: 60px;
	font-weight: 700;
	line-height: 1.1;
}

/* ---- 「円」はさらに小さく（数字の約1/3） ---- */
.brs-lp--campaign .brs-lp__first-old .brs-lp__yen,
.brs-lp--campaign .brs-lp__first-price em .brs-lp__yen,
.brs-lp--campaign .brs-lp__hero-prices--single s .brs-lp__yen,
.brs-lp.brs-lp--campaign .brs-lp__hero-campaign dl.brs-lp__hero-prices--single div:first-child strong em .brs-lp__yen {
	margin-left: 2px;
	font-size: 0.36em;
}

@media (max-width: 767px) {
	.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-old,
	.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-price em {
		font-size: 40px;
	}
}
/* 価格行と「さらに」の帯の間に、少しゆとりを */
.brs-lp--campaign .brs-lp__first--campaign .brs-lp__first-main {
	margin-bottom: 8px;
}