/* ==========================================================================
   BRS Beauty - トップページ（LP）専用スタイル
   すべて .brs-lp 名前空間内に閉じています。下層ページには読み込まれません。
   ========================================================================== */

.brs-lp {
	/* カラー（背景：beige系／アクセント：teal系／文字：charcoal） */
	--beige: #F2F5F5;
	--beige-dark: #E1EAEA;
	--teal: #4FC1C0;
	--teal-dark: #2E9E9D;
	--teal-light: #DFF5F4;
	--green: #CFEFEC;
	--green-dark: #7FCFCC;
	--charcoal: #333333;
	--white: #fff;

	/* フォント：Bouquet と同じ構成（欧文 Lato ＋ 和文 游ゴシック体） */
	--brs-font: "Lato", 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	--brs-font-en: "Lato", sans-serif;

	--brs-inner: 1160px;
	--brs-gutter: 32px;
	--brs-section-y: 128px;
	--brs-radius: 12px;

	font-family: var(--brs-font);
	font-size: 17px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
	color: var(--charcoal);
	background: var(--beige);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
	word-break: auto-phrase;
	overflow-wrap: anywhere;
	line-break: strict;
}

/* Blocksy の本文コンテナ制約を LP の外枠だけ解除 */
.brs-lp-page .entry-content > .brs-lp {
	max-width: none;
	width: 100%;
	margin: 0;
}

.brs-lp *,
.brs-lp *::before,
.brs-lp *::after {
	box-sizing: border-box;
}

/* LP 内のみのリセット（テーマ本文スタイルの打ち消し） */
.brs-lp :where(h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote) {
	margin: 0;
	padding: 0;
}

.brs-lp :where(ul, ol) {
	list-style: none;
}

.brs-lp :where(img) {
	display: block;
	max-width: 100%;
	height: auto;
}

.brs-lp :where(a) {
	color: inherit;
	text-decoration: none;
	background: none;
}

.brs-lp :where(h1, h2, h3) {
	font-family: var(--brs-font);
	font-weight: 500;
	color: var(--charcoal);
	letter-spacing: 0.06em;
}

.brs-lp__br-sp {
	display: none;
}

/* --------------------------------------------------------------------------
   Layout
   -------------------------------------------------------------------------- */

.brs-lp__inner {
	width: 100%;
	max-width: calc(var(--brs-inner) + var(--brs-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--brs-gutter);
}

.brs-lp__section {
	padding-block: var(--brs-section-y);
}

/* セクションラベル（ピル型） */
.brs-lp__label {
	display: inline-block;
	margin-bottom: 18px;
	padding: 4px 18px;
	border-radius: 999px;
	background: var(--teal-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.1em;
	color: var(--white);
}

.brs-lp__heading {
	font-size: clamp(28px, 2.9vw, 40px);
	line-height: 1.55;
	margin-bottom: 40px;
}

.brs-lp__heading--sm {
	font-size: clamp(26px, 2.3vw, 32px);
	margin-bottom: 32px;
}

.brs-lp__section-head {
	margin-bottom: 72px;
	text-align: center;
}

.brs-lp__section-head .brs-lp__heading {
	margin-bottom: 0;
}

.brs-lp__section-lead {
	max-width: 40em;
	margin: 28px auto 0;
}

.brs-lp__note {
	font-size: 13.5px;
	line-height: 1.8;
	letter-spacing: 0.02em;
}

.brs-lp .brs-lp__text-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 28px;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	font-weight: 700;
	color: var(--teal-dark);
}

.brs-lp .brs-lp__text-link::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.brs-lp__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 68px;
	padding: 14px 56px;
	border-radius: 999px;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.brs-lp .brs-lp__btn--primary {
	background: var(--teal-dark);
	color: var(--white);
}

.brs-lp .brs-lp__btn--primary:hover,
.brs-lp .brs-lp__btn--primary:focus-visible {
	background: var(--charcoal);
	color: var(--white);
}

.brs-lp__btn--wide {
	min-width: 400px;
}

.brs-lp a:focus-visible,
.brs-lp summary:focus-visible,
.brs-lp input:focus-visible,
.brs-lp select:focus-visible,
.brs-lp textarea:focus-visible {
	outline: 2px solid var(--teal-dark);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   ① Hero（MV）
   -------------------------------------------------------------------------- */

.brs-lp__hero {
	padding: 16px;
	background: var(--beige);
}

.brs-lp__hero-frame {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: max(640px, calc(100svh - 32px));
	border-radius: 20px;
	overflow: hidden;
	isolation: isolate;
	color: var(--white);
}

.brs-lp__hero-media {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--teal-dark);
}

/* PCでは被写体を左へ寄せ、右側の壁面を文字スペースにする */
.brs-lp__hero-media img {
	width: 114%;
	max-width: none;
	height: 100%;
	margin-left: -14%;
	object-fit: cover;
	object-position: 30% 45%;
}

/* 文字の可読性のための色かぶせ（写真の右側＝文字側を少し濃く） */
.brs-lp__hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(38, 84, 84, 0.12) 0%, rgba(38, 84, 84, 0.34) 45%, rgba(38, 84, 84, 0.52) 100%);
}

.brs-lp .brs-lp__hero-logo {
	position: absolute;
	top: 28px;
	left: 36px;
	width: clamp(96px, 8vw, 128px);
}

.brs-lp .brs-lp__hero-store {
	position: absolute;
	top: 36px;
	right: 40px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.85);
	font-size: 17px;
	letter-spacing: 0.1em;
	color: var(--white);
}

.brs-lp__hero-body {
	width: min(580px, 44%);
	margin-right: max(40px, calc((100vw - var(--brs-inner)) / 2 - 16px));
	padding-block: 140px 96px;
	text-align: center;
	text-shadow: 0 1px 16px rgba(20, 50, 50, 0.3);
}

.brs-lp__hero-eyebrow {
	font-size: 19px;
	letter-spacing: 0.14em;
	margin-bottom: 22px;
}

.brs-lp__hero-badge {
	display: inline-block;
	padding: 10px 32px;
	border-radius: 999px;
	background: var(--teal-dark);
	outline: 1px dashed rgba(255, 255, 255, 0.9);
	outline-offset: -6px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
	text-shadow: none;
	margin-bottom: 20px;
}

.brs-lp__hero-tags {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.brs-lp__hero-tags span {
	padding: 0 4px;
	background: linear-gradient(transparent 62%, rgba(79, 193, 192, 0.85) 62%);
}

.brs-lp__hero-tags i {
	font-style: normal;
	font-weight: 400;
	font-size: 26px;
}

.brs-lp .brs-lp__hero-title {
	font-size: clamp(34px, 3.4vw, 52px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;
	color: var(--white);
	margin-bottom: 24px;
}

.brs-lp__hero-text {
	font-size: 18px;
	line-height: 1.9;
	margin-bottom: 36px;
}

.brs-lp__hero-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.brs-lp__hero-note {
	font-size: 15px;
	letter-spacing: 0.06em;
}

.brs-lp__hero-note::before,
.brs-lp__hero-note::after {
	content: "\\";
	margin-right: 10px;
}

.brs-lp__hero-note::after {
	content: "/";
	margin: 0 0 0 10px;
}

.brs-lp__hero-action .brs-lp__btn {
	text-shadow: none;
	min-width: 380px;
}

/* --------------------------------------------------------------------------
   ② Worry（吹き出し＋イラスト）
   -------------------------------------------------------------------------- */

.brs-lp__worry {
	background: var(--white);
	padding-bottom: 0;
}

.brs-lp__worry-intro {
	font-size: 19px;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}

.brs-lp__worry-stage {
	display: grid;
	grid-template-columns: 1fr minmax(0, 400px) 1fr;
	grid-template-rows: repeat(3, auto);
	column-gap: 24px;
	row-gap: 28px;
	align-items: center;
}

.brs-lp__worry-list {
	display: contents;
}

.brs-lp__worry-list li {
	position: relative;
	padding: 22px 24px;
	border: 1.5px dashed var(--teal);
	border-radius: 48px;
	background: var(--white);
	box-shadow: 6px 6px 0 var(--teal-light);
	font-size: 17px;
	line-height: 1.75;
	text-align: center;
}

.brs-lp__worry-list li:nth-child(-n + 3) {
	grid-column: 1;
	justify-self: end;
}

.brs-lp__worry-list li:nth-child(n + 4) {
	grid-column: 3;
	justify-self: start;
}

.brs-lp__worry-list li:nth-child(1),
.brs-lp__worry-list li:nth-child(4) { grid-row: 1; }
.brs-lp__worry-list li:nth-child(2),
.brs-lp__worry-list li:nth-child(5) { grid-row: 2; }
.brs-lp__worry-list li:nth-child(3),
.brs-lp__worry-list li:nth-child(6) { grid-row: 3; }

.brs-lp__worry-list li:nth-child(2) { margin-right: 28px; }
.brs-lp__worry-list li:nth-child(5) { margin-left: 28px; }

/* 吹き出しのしっぽ（イラスト側へ） */
.brs-lp__worry-list li::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 22px;
	height: 1.5px;
	background: var(--teal);
}

.brs-lp__worry-list li:nth-child(-n + 3)::after {
	right: -22px;
	transform: rotate(-20deg);
}

.brs-lp__worry-list li:nth-child(n + 4)::after {
	left: -22px;
	transform: rotate(20deg);
}

.brs-lp__worry-figure {
	grid-column: 2;
	grid-row: 1 / span 3;
	align-self: end;
}

.brs-lp__worry-figure img {
	width: 100%;
}

.brs-lp__worry-message {
	position: relative;
	max-width: var(--brs-inner);
	margin: 0 auto;
	padding: 64px 48px 72px;
	border-radius: 16px 16px 0 0;
	background: var(--teal-light);
	text-align: center;
}

.brs-lp__worry-lead {
	font-size: clamp(24px, 2.2vw, 30px);
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.08em;
	margin-bottom: 24px;
}

/* --------------------------------------------------------------------------
   ③ About（2カラム）
   -------------------------------------------------------------------------- */

.brs-lp__about {
	background: var(--beige);
}

.brs-lp__split {
	display: grid;
	grid-template-columns: minmax(0, 11fr) minmax(0, 10fr);
	gap: 88px;
	align-items: center;
}

.brs-lp__split-media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--brs-radius);
}

.brs-lp__split-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% 50%;
}

.brs-lp__split-body > p + p {
	margin-top: 22px;
}

.brs-lp__facts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 48px;
	border-top: 1px solid var(--green-dark);
}

.brs-lp__facts div {
	padding: 20px 0 0;
}

.brs-lp__facts div + div {
	padding: 0 0 0 20px;
	margin-top: 20px;
	border-left: 1px solid var(--green-dark);
}

.brs-lp__facts dt {
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.6;
	color: var(--teal-dark);
	font-weight: 700;
}

.brs-lp__facts dd {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 4px;
}

/* 横長ビジュアル */
.brs-lp__band {
	height: clamp(260px, 34vw, 500px);
	overflow: hidden;
}

.brs-lp__band img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 55%;
}

/* --------------------------------------------------------------------------
   ④ Reasons
   -------------------------------------------------------------------------- */

.brs-lp__reason {
	background: var(--white);
}

.brs-lp__reason-index {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 112px;
}

.brs-lp__reason-index li {
	padding: 24px;
	border-top: 2px solid var(--teal);
	background: var(--beige);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

.brs-lp__reason-index span {
	display: block;
	font-family: var(--brs-font-en);
	font-style: italic;
	font-weight: 400;
	font-size: 26px;
	color: var(--teal-dark);
	margin-bottom: 4px;
}

.brs-lp__reason-list {
	display: grid;
	gap: 128px;
}

.brs-lp__reason-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 88px;
	align-items: center;
}

.brs-lp__reason-media {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: var(--brs-radius);
}

.brs-lp__reason-media--tall {
	aspect-ratio: 4 / 5;
	width: 82%;
	margin-left: auto;
}

.brs-lp__reason-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.brs-lp__reason-num {
	font-family: var(--brs-font-en);
	font-style: italic;
	font-weight: 400;
	font-size: 72px;
	line-height: 1;
	color: var(--teal);
	margin-bottom: 16px;
}

.brs-lp .brs-lp__reason-title {
	font-size: clamp(26px, 2.5vw, 34px);
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 28px;
}

.brs-lp__reason-body > p:not(.brs-lp__reason-num) {
	max-width: 32em;
}

/* 02（AT資格・鍼灸師）：全幅パネルで強調 */
.brs-lp__reason-item--feature {
	grid-template-columns: 1fr;
	padding: 72px 48px;
	border-radius: 16px;
	background: var(--teal-light);
	text-align: center;
}

.brs-lp__reason-item--feature .brs-lp__reason-body > p:not(.brs-lp__reason-num) {
	margin-inline: auto;
}

.brs-lp__qualify {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-bottom: 28px;
}

.brs-lp__qualify li {
	padding: 10px 28px;
	border: 1.5px solid var(--teal-dark);
	border-radius: 999px;
	background: var(--white);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.06em;
	color: var(--teal-dark);
}

/* --------------------------------------------------------------------------
   ④-2 Trainer
   -------------------------------------------------------------------------- */

.brs-lp__trainer {
	background: var(--white);
}

.brs-lp__trainer .brs-lp__trainer-card {
	background: var(--beige);
}

.brs-lp__trainer .brs-lp__trainer-qualify {
	background: var(--white);
}

.brs-lp__trainer-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	align-items: stretch;
}

.brs-lp__trainer-card {
	padding: 32px 32px 44px;
	border-radius: 16px;
	background: var(--white);
}

.brs-lp__trainer-photo {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 10px;
	background: var(--beige-dark);
}

.brs-lp__trainer-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 15%;
}

.brs-lp__trainer-body {
	padding: 32px 8px 0;
}

.brs-lp__trainer-roman {
	font-family: var(--brs-font-en);
	font-style: italic;
	font-size: clamp(44px, 4.4vw, 60px);
	line-height: 1.1;
	letter-spacing: 0.02em;
	color: var(--green-dark);
}

.brs-lp .brs-lp__trainer-name {
	margin-top: 8px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--teal-dark);
}

.brs-lp__trainer-role {
	margin-top: 10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.7;
	color: var(--charcoal);
}

.brs-lp__trainer-qualify {
	margin-top: 18px;
	padding: 16px 20px;
	border-radius: 8px;
	background: var(--beige);
	font-size: 15px;
	line-height: 1.8;
}

.brs-lp__trainer-qualify li {
	position: relative;
	padding-left: 16px;
}

.brs-lp__trainer-qualify li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.8em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--teal);
}

.brs-lp__trainer-text {
	margin-top: 20px;
	font-size: 16px;
	line-height: 2;
}

/* --------------------------------------------------------------------------
   ⑤ Service
   -------------------------------------------------------------------------- */

.brs-lp__service {
	background: var(--teal-light);
}

.brs-lp__service-main,
.brs-lp__service-sub {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
	align-items: start;
}

.brs-lp__service-item--offset {
	margin-top: 112px;
}

.brs-lp__service-sub {
	margin-top: 96px;
}

/* 03（美容鍼）を01の直下に寄せる：02のずらし分だけ引き上げる */
.brs-lp__service-sub > :first-child {
	margin-top: -120px;
}

.brs-lp__service-media {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: var(--brs-radius);
	margin-bottom: 32px;
}

.brs-lp__service-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.brs-lp__service-num {
	font-family: var(--brs-font-en);
	font-style: italic;
	font-size: 34px;
	line-height: 1.2;
	color: var(--teal-dark);
	margin-bottom: 6px;
}

.brs-lp .brs-lp__service-title {
	font-size: clamp(24px, 2.2vw, 28px);
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 16px;
}

.brs-lp__service-for {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--green-dark);
	font-size: 15px;
	line-height: 1.9;
	color: var(--teal-dark);
	font-weight: 700;
}

/* --------------------------------------------------------------------------
   ⑥ Voice
   -------------------------------------------------------------------------- */

.brs-lp__voice {
	background: var(--white);
}

.brs-lp__voice-grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 88px;
	align-items: start;
}

.brs-lp__voice-media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--brs-radius);
}

.brs-lp__voice-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 45% 50%;
}

.brs-lp__voice-list {
	display: grid;
	gap: 20px;
	padding-top: 8px;
}

.brs-lp__voice-item {
	padding: 32px 36px;
	border-radius: var(--brs-radius);
	background: var(--beige);
}

.brs-lp .brs-lp__voice-title {
	font-size: clamp(20px, 1.8vw, 23px);
	font-weight: 700;
	line-height: 1.6;
	color: var(--teal-dark);
	margin-bottom: 12px;
}

.brs-lp__voice-meta {
	margin-top: 12px;
	font-size: 14.5px;
	letter-spacing: 0.08em;
	font-weight: 700;
}

/* --------------------------------------------------------------------------
   ⑦ Price / ⑧ FAQ
   -------------------------------------------------------------------------- */

.brs-lp__info {
	background: var(--beige);
}

.brs-lp__info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 88px;
	align-items: start;
}

.brs-lp__price,
.brs-lp__faq {
	scroll-margin-top: 24px;
}

.brs-lp__price-main {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

.brs-lp__price-num {
	font-family: var(--brs-font-en);
	font-size: 64px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--teal-dark);
	margin-right: 4px;
}

.brs-lp__price-tax {
	font-size: 15px;
	font-weight: 500;
	margin-left: 6px;
}

.brs-lp__price-desc {
	margin-top: 16px;
}

.brs-lp__course {
	margin-top: 32px;
	border-top: 1px solid var(--beige-dark);
}

.brs-lp__course li {
	padding: 20px 0;
	border-bottom: 1px solid var(--beige-dark);
}

.brs-lp__course-name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
}

.brs-lp__course-tag {
	display: inline-block;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--teal-dark);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.08em;
	color: var(--white);
}

.brs-lp__course-tag--option,
.brs-lp__service-tag {
	background: var(--white);
	border: 1px solid var(--teal-dark);
	color: var(--teal-dark);
}

.brs-lp__service-tag {
	display: inline-block;
	margin-left: 12px;
	padding: 1px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.08em;
	vertical-align: 0.2em;
}

/* コースの柔軟性（売りのポイント） */
.brs-lp__flexible {
	margin-top: 24px;
	padding: 20px 24px;
	border-left: 4px solid var(--teal);
	border-radius: 0 8px 8px 0;
	background: var(--teal-light);
	font-size: 16px;
	line-height: 1.85;
}

.brs-lp__flexible-title {
	margin-bottom: 4px;
	font-size: 18px;
	font-weight: 700;
	color: var(--teal-dark);
}

.brs-lp__course-detail {
	margin-top: 4px;
	font-size: 15.5px;
	line-height: 1.8;
}

.brs-lp__campaign {
	margin-top: 40px;
	padding: 32px 36px 28px;
	border-radius: var(--brs-radius);
	background: var(--white);
}

.brs-lp__campaign-title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.08em;
	color: var(--teal-dark);
	margin-bottom: 8px;
}

.brs-lp__campaign-list div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px dashed var(--green-dark);
}

.brs-lp__campaign-list dt {
	flex: none;
	font-size: 16px;
}

.brs-lp__campaign-list dd {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	text-align: right;
	color: var(--teal-dark);
}

.brs-lp__campaign-list s {
	margin-right: 10px;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--charcoal);
}

.brs-lp__campaign .brs-lp__note {
	margin-top: 16px;
}

/* FAQ */
.brs-lp__faq-list {
	border-top: 1px solid var(--beige-dark);
}

.brs-lp__faq-item {
	border-bottom: 1px solid var(--beige-dark);
}

.brs-lp__faq-item summary {
	position: relative;
	display: block;
	padding: 24px 44px 24px 40px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.7;
	cursor: pointer;
	list-style: none;
}

.brs-lp__faq-item summary::-webkit-details-marker {
	display: none;
}

.brs-lp__faq-item summary::before {
	content: "Q";
	position: absolute;
	left: 4px;
	top: 20px;
	font-family: var(--brs-font-en);
	font-size: 22px;
	font-weight: 700;
	color: var(--teal-dark);
}

.brs-lp__faq-item summary::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -8px;
	border-right: 2px solid var(--teal-dark);
	border-bottom: 2px solid var(--teal-dark);
	transform: rotate(45deg);
	transition: transform 0.25s ease, margin 0.25s ease;
}

.brs-lp__faq-item[open] summary::after {
	transform: rotate(-135deg);
	margin-top: -2px;
}

.brs-lp__faq-item p {
	padding: 0 8px 26px 40px;
	font-size: 16px;
}

/* --------------------------------------------------------------------------
   ⑧-2 Store
   -------------------------------------------------------------------------- */

.brs-lp__store {
	background: var(--white);
}

.brs-lp__store-card {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 64px;
	align-items: center;
	padding: 40px;
	border-radius: 16px;
	background: var(--beige);
}

.brs-lp__store-photo {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 10px;
}

.brs-lp__store-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 40%;
}

.brs-lp__store-name {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.06em;
	margin-bottom: 24px;
}

.brs-lp__store-name span {
	display: block;
	font-family: var(--brs-font-en);
	font-style: italic;
	font-weight: 400;
	font-size: 20px;
	color: var(--teal-dark);
}

.brs-lp__store-list {
	border-top: 1px solid var(--beige-dark);
}

.brs-lp__store-list div {
	display: grid;
	grid-template-columns: 7em 1fr;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--beige-dark);
	line-height: 1.8;
}

.brs-lp__store-list dt {
	font-weight: 700;
	color: var(--teal-dark);
}

/* --------------------------------------------------------------------------
   ⑨ CTA
   -------------------------------------------------------------------------- */

.brs-lp__cta {
	position: relative;
	padding-block: 136px;
	color: var(--white);
	text-align: center;
	isolation: isolate;
}

.brs-lp__cta-media {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.brs-lp__cta-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(35, 64, 64, 0.64);
}

.brs-lp__cta-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.brs-lp__cta-box {
	max-width: 800px;
	margin-inline: auto;
}

.brs-lp .brs-lp__cta-title {
	font-size: clamp(30px, 3.2vw, 44px);
	font-weight: 700;
	line-height: 1.55;
	color: var(--white);
	margin-bottom: 28px;
}

.brs-lp__cta-text {
	font-size: 18px;
	margin-bottom: 48px;
}

.brs-lp__flow {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px 0;
	margin-bottom: 48px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.brs-lp__flow li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.brs-lp__flow li + li::before {
	content: "";
	width: 32px;
	height: 1px;
	margin: 0 16px;
	background: rgba(255, 255, 255, 0.6);
}

.brs-lp__flow span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--teal);
	font-family: var(--brs-font-en);
	font-size: 14px;
	font-weight: 700;
}

.brs-lp__cta-note {
	margin-top: 16px;
	font-size: 15px;
}

/* --------------------------------------------------------------------------
   ⑨-2 Reserve（Contact Form 7）
   -------------------------------------------------------------------------- */

.brs-lp__reserve {
	background: var(--teal-light);
}

.brs-lp__reserve-body {
	max-width: 800px;
	margin-inline: auto;
}

.brs-lp__reserve-lead {
	text-align: center;
	font-size: 18px;
}

.brs-lp__reserve-line {
	margin-top: 40px;
	text-align: center;
}

.brs-lp__reserve-line p {
	margin-bottom: 12px;
	font-weight: 700;
}

.brs-lp .brs-lp__line-btn {
	display: flex;
	max-width: 420px;
	margin-inline: auto;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	border-radius: 6px;
	background: #06c755; /* LINE ブランドカラー */
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--white);
	transition: opacity 0.2s ease;
}

.brs-lp .brs-lp__line-btn:hover {
	opacity: 0.85;
}

.brs-lp__form {
	margin-top: 28px;
	padding: 48px 56px 56px;
	border-radius: var(--brs-radius);
	background: var(--white);
}

.brs-lp .brs-form__row {
	margin-bottom: 32px;
}

.brs-lp .brs-form__label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
}

.brs-lp .brs-form__req {
	padding: 1px 10px;
	border-radius: 4px;
	background: var(--teal-dark);
	font-size: 13px;
	line-height: 1.7;
	color: var(--white);
}

.brs-lp .brs-form__note {
	margin: -4px 0 10px;
	font-size: 14.5px;
	line-height: 1.7;
}

.brs-lp .wpcf7-form-control-wrap {
	display: block;
}

/* 日時入力の前に置く営業案内 */
.brs-lp .brs-form__notice {
	margin: 8px 0 28px;
	padding: 14px 18px;
	border-radius: 6px;
	background: var(--teal-light);
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.7;
	color: var(--teal-dark);
}

.brs-lp .brs-form__option {
	margin-top: 14px;
}

.brs-lp .brs-form__option .wpcf7-list-item {
	margin: 0;
}

.brs-lp .brs-form__option label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	cursor: pointer;
}

.brs-lp .brs-form__option input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--teal-dark);
}

.brs-lp .brs-lp__form input[type="text"],
.brs-lp .brs-lp__form input[type="email"],
.brs-lp .brs-lp__form input[type="date"],
.brs-lp .brs-lp__form select,
.brs-lp .brs-lp__form textarea {
	width: 100%;
	min-height: 56px;
	padding: 12px 16px;
	border: 1px solid var(--green-dark);
	border-radius: 4px;
	background-color: var(--white);
	font-family: var(--brs-font);
	font-size: 17px;
	line-height: 1.6;
	color: var(--charcoal);
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.brs-lp .brs-lp__form select {
	appearance: none;
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232E9E9D' stroke-width='1.8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
}

.brs-lp .brs-lp__form textarea {
	height: 200px;
	resize: vertical;
}

.brs-lp .brs-lp__form input:focus,
.brs-lp .brs-lp__form select:focus,
.brs-lp .brs-lp__form textarea:focus {
	border-color: var(--teal-dark);
	box-shadow: 0 0 0 3px var(--teal-light);
	outline: none;
}

.brs-lp .brs-form__datetime {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.brs-lp .brs-form__datetime .wpcf7-form-control-wrap {
	flex: 1 1 200px;
}

.brs-lp .brs-form__submit {
	margin-top: 44px;
	text-align: center;
}

.brs-lp .brs-lp__form input[type="submit"] {
	display: block;
	margin: 0 auto;
	min-width: 280px;
	min-height: 64px;
	padding: 12px 48px;
	border: 0;
	border-radius: 4px;
	background: var(--teal-dark);
	font-family: var(--brs-font);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--white);
	cursor: pointer;
	transition: background-color 0.25s ease;
}

.brs-lp .brs-lp__form input[type="submit"]:hover {
	background: var(--charcoal);
}

.brs-lp .wpcf7-spinner {
	display: block;
	margin: 12px auto 0;
}

.brs-lp .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 14.5px;
	color: #c0392b;
}

.brs-lp .wpcf7 form .wpcf7-response-output {
	margin: 28px 0 0;
	padding: 14px 18px;
	border-radius: 6px;
	font-size: 15.5px;
}

/* --------------------------------------------------------------------------
   ⑩ Partner（新川中央眼科）
   -------------------------------------------------------------------------- */

.brs-lp__partner {
	background: var(--white);
	padding-block: 104px;
}

.brs-lp__partner-box {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 56px;
	align-items: center;
	padding: 48px 56px;
	border: 1px solid var(--beige-dark);
	border-radius: 16px;
	background: var(--beige);
}

/* 背景：新川中央眼科MVの目元部分。文字側（左）は薄いbeigeで覆う */
.brs-lp__partner-box {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.brs-lp__partner-box::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(242, 245, 245, 0.96) 0%, rgba(242, 245, 245, 0.9) 48%, rgba(242, 245, 245, 0.62) 100%);
}

.brs-lp .brs-lp__partner-bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 70% 55%;
}

.brs-lp__partner-head {
	display: flex;
	align-items: center;
	gap: 24px;
}

.brs-lp__partner-icon {
	flex: none;
	width: 88px;
	height: 88px;
	border-radius: 18px;
}

.brs-lp__partner-head .brs-lp__label {
	margin-bottom: 10px;
}

.brs-lp__partner-name {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.brs-lp__partner-name span {
	display: block;
	margin-top: 2px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.brs-lp__partner-lead {
	font-weight: 700;
	margin-bottom: 8px;
}

.brs-lp .brs-lp__partner-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	padding: 12px 28px;
	border: 1.5px solid var(--teal-dark);
	border-radius: 999px;
	background: var(--white);
	font-size: 16px;
	font-weight: 700;
	color: var(--teal-dark);
	transition: background-color 0.25s ease, color 0.25s ease;
}

.brs-lp .brs-lp__partner-link::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
}

.brs-lp .brs-lp__partner-link:hover {
	background: var(--teal-dark);
	color: var(--white);
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.brs-lp__footer {
	padding: 80px 0 48px;
	background: var(--charcoal);
	color: rgba(255, 255, 255, 0.85);
	font-size: 15px;
}

.brs-lp__footer-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	padding-bottom: 48px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.brs-lp__footer-logo {
	width: 120px;
	margin-bottom: 24px;
}

.brs-lp__footer-heading {
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--green-dark);
}

.brs-lp__footer-text + .brs-lp__footer-heading {
	margin-top: 24px;
}

.brs-lp .brs-lp__footer a {
	color: var(--white);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-color: rgba(255, 255, 255, 0.45);
}

.brs-lp__copyright {
	margin-top: 24px;
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.6);
}

/* --------------------------------------------------------------------------
   追従CTA
   -------------------------------------------------------------------------- */

.brs-lp .brs-lp__float {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 136px;
	height: 136px;
	border-radius: 50%;
	background: var(--teal-dark);
	box-shadow: 0 8px 24px rgba(20, 60, 60, 0.22);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-align: center;
	color: var(--white);
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px);
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s, background-color 0.25s ease;
}

.brs-lp .brs-lp__float.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.brs-lp .brs-lp__float:hover {
	background: var(--charcoal);
}

.brs-lp__fixed {
	display: none;
}

/* --------------------------------------------------------------------------
   ② Worry 続き：自分を後回しにするリスク
   -------------------------------------------------------------------------- */

.brs-lp__risk {
	margin-top: 72px;
	padding-top: 64px;
	border-top: 1px dashed var(--green-dark);
}

.brs-lp__risk-ask {
	display: inline-block;
	margin-bottom: 16px;
	padding: 4px 20px;
	border-radius: 999px;
	background: var(--teal);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--white);
}

.brs-lp .brs-lp__risk-title {
	font-size: clamp(26px, 2.6vw, 36px);
	line-height: 1.55;
	margin-bottom: 20px;
}

.brs-lp__risk-title em {
	font-family: var(--brs-font-en);
	font-style: normal;
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1;
	color: var(--teal-dark);
	margin: 0 2px;
}

.brs-lp__risk-lead {
	margin-bottom: 44px;
}

/* Bouquet と同じく、丸い写真＋短い文章を横並び（カード・番号なし） */
.brs-lp__risk-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px 24px;
	max-width: 1000px;
	margin: 0 auto;
}

.brs-lp__risk-list li {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 0 1 168px;
	gap: 16px;
}

/* 写真はセピア寄りの暗いトーンで、ネガティブな印象に */
.brs-lp .brs-lp__risk-img {
	width: 168px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	object-fit: cover;
	filter: sepia(0.55) saturate(0.7) brightness(0.78) contrast(0.95);
}

.brs-lp__risk-list li:nth-child(1) .brs-lp__risk-img { object-position: 68% 0; }
.brs-lp__risk-list li:nth-child(2) .brs-lp__risk-img { object-position: 42% 30%; }
.brs-lp__risk-list li:nth-child(3) .brs-lp__risk-img { object-position: 24% 25%; }
.brs-lp__risk-list li:nth-child(4) .brs-lp__risk-img { object-position: 62% 30%; }
.brs-lp__risk-list li:nth-child(5) .brs-lp__risk-img { object-position: 48% 15%; }

.brs-lp__risk-list p {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.7;
}
.brs-lp__risk-close {
	margin-top: 44px;
	font-size: clamp(19px, 1.8vw, 23px);
	font-weight: 700;
	line-height: 1.7;
	color: var(--teal-dark);
}

/* --------------------------------------------------------------------------
   ③-2 通いやすい環境
   -------------------------------------------------------------------------- */

.brs-lp__amenity {
	background: var(--white);
}

.brs-lp__amenity-grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 32px;
	align-items: stretch;
}

.brs-lp__amenity-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	border-radius: 16px;
	overflow: hidden;
	background: var(--teal-light);
}

.brs-lp__amenity-photo {
	height: 100%;
	min-height: 320px;
}

.brs-lp__amenity-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.brs-lp__amenity-main-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 36px;
}

.brs-lp__amenity-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--white);
	color: var(--teal-dark);
}

.brs-lp__amenity-icon svg {
	width: 40px;
	height: 40px;
}

.brs-lp .brs-lp__amenity-title {
	margin: 18px 0 12px;
	font-size: clamp(23px, 2.1vw, 28px);
	font-weight: 700;
	line-height: 1.5;
	color: var(--teal-dark);
}

.brs-lp__amenity-main-body p {
	font-size: 16px;
	line-height: 1.9;
}

.brs-lp__amenity-list {
	display: grid;
	gap: 16px;
}

.brs-lp__amenity-list li {
	display: grid;
	grid-template-columns: 76px 1fr;
	column-gap: 20px;
	align-items: center;
	padding: 20px 24px;
	border-radius: var(--brs-radius);
	background: var(--beige);
}

.brs-lp__amenity-list .brs-lp__amenity-icon {
	grid-row: 1 / span 2;
}

.brs-lp__amenity-name {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.brs-lp__amenity-text {
	margin-top: 4px;
	font-size: 14.5px;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   ④-2 比較表
   -------------------------------------------------------------------------- */

.brs-lp__compare {
	background: var(--beige);
}

.brs-lp__compare-lead {
	text-align: center;
	font-weight: 700;
}

.brs-lp__compare-hint {
	display: none;
}

.brs-lp__compare-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding: 12px 0 4px; /* BRS列の上下のはみ出し分 */
}

.brs-lp .brs-lp__compare-table {
	width: 100%;
	min-width: 880px;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	background: none;
	font-size: 15.5px;
	line-height: 1.7;
}

.brs-lp .brs-lp__compare-table th,
.brs-lp .brs-lp__compare-table td {
	padding: 20px 16px;
	border: 0;
	border-bottom: 1px solid var(--beige-dark);
	background: var(--white);
	text-align: center;
	vertical-align: middle;
	color: var(--charcoal);
}

.brs-lp .brs-lp__compare-table thead th {
	padding: 22px 12px;
	background: var(--beige-dark);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.brs-lp .brs-lp__compare-table .brs-lp__compare-corner {
	background: transparent;
	border-bottom: 0;
}

.brs-lp .brs-lp__compare-table tbody th {
	width: 200px;
	background: var(--beige-dark);
	font-size: 15px;
	font-weight: 700;
	text-align: left;
}

.brs-lp .brs-lp__compare-table thead th:nth-child(2) { border-radius: 12px 12px 0 0; }
.brs-lp .brs-lp__compare-table thead th:last-child { border-top-right-radius: 12px; }
.brs-lp .brs-lp__compare-table tbody tr:first-child th { border-top-left-radius: 12px; }
.brs-lp .brs-lp__compare-table tbody tr:last-child th { border-bottom-left-radius: 12px; border-bottom: 0; }
.brs-lp .brs-lp__compare-table tbody tr:last-child td { border-bottom: 0; }
.brs-lp .brs-lp__compare-table tbody tr:last-child td:last-child { border-bottom-right-radius: 12px; }

/* BRS札幌の列を強調 */
.brs-lp .brs-lp__compare-table .is-brs {
	width: 250px;
	background: var(--teal-light);
	border-left: 3px solid var(--teal-dark);
	border-right: 3px solid var(--teal-dark);
	border-bottom-color: var(--green);
	font-weight: 700;
	color: var(--charcoal);
}

.brs-lp .brs-lp__compare-table thead .is-brs {
	padding-block: 28px 22px;
	margin-top: -12px;
	border-top: 3px solid var(--teal-dark);
	background: var(--teal-dark);
	font-size: 20px;
	letter-spacing: 0.08em;
	color: var(--white);
}

.brs-lp .brs-lp__compare-table tbody tr:last-child .is-brs {
	border-bottom: 3px solid var(--teal-dark);
	border-radius: 0 0 12px 12px;
}

/* ◎○△ は色でも差をつける */
.brs-lp__mark {
	font-size: 30px;
	line-height: 1;
	font-weight: 700;
}

.brs-lp__mark--best { color: var(--teal-dark); }
.brs-lp__mark--good { color: var(--green-dark); }
.brs-lp__mark--fair { color: #9aa5a5; }

/* ==========================================================================
   Tablet（〜1023px）
   ========================================================================== */

@media (max-width: 1023px) {
	.brs-lp {
		--brs-gutter: 28px;
		--brs-section-y: 104px;
	}

	.brs-lp__hero-body {
		width: min(560px, 62%);
		margin-right: 32px;
	}

	.brs-lp__worry-stage {
		grid-template-columns: 1fr minmax(0, 280px) 1fr;
		column-gap: 16px;
	}

	.brs-lp__worry-list li {
		padding: 18px 18px;
		font-size: 15.5px;
	}

	.brs-lp__worry-list li:nth-child(2) { margin-right: 16px; }
	.brs-lp__worry-list li:nth-child(5) { margin-left: 16px; }

	.brs-lp__split,
	.brs-lp__voice-grid,
	.brs-lp__info-grid,
	.brs-lp__reason-item {
		gap: 56px;
	}

	.brs-lp__trainer-list,
	.brs-lp__service-main,
	.brs-lp__service-sub {
		gap: 32px;
	}

	.brs-lp__store-card,
	.brs-lp__partner-box {
		gap: 40px;
	}

	.brs-lp .brs-lp__float {
		display: none;
	}

	.brs-lp__fixed {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
		display: block;
		padding-bottom: env(safe-area-inset-bottom);
		background: var(--teal-dark);
		transform: translateY(110%);
		transition: transform 0.3s ease;
	}

	.brs-lp__fixed.is-visible {
		transform: translateY(0);
	}

	.brs-lp .brs-lp__fixed-btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		min-height: 64px;
		padding: 8px 16px;
		color: var(--white);
		line-height: 1.4;
		text-align: center;
	}

	.brs-lp__fixed-btn strong {
		font-size: 18px;
		letter-spacing: 0.1em;
	}

	.brs-lp__fixed-btn span {
		font-size: 13px;
		letter-spacing: 0.06em;
	}

	.brs-lp__footer {
		padding-bottom: 112px;
	}
}

/* ==========================================================================
   Smartphone（〜767px）
   ========================================================================== */

@media (max-width: 767px) {
	.brs-lp {
		--brs-gutter: 20px;
		--brs-section-y: 80px;
		font-size: 16px;
		line-height: 1.95;
		letter-spacing: 0.04em;
	}

	.brs-lp__br-sp {
		display: inline;
	}

	.brs-lp__br-pc {
		display: none;
	}

	.brs-lp__label {
		font-size: 13px;
		padding: 3px 16px;
		margin-bottom: 14px;
	}

	.brs-lp__heading {
		font-size: 26px;
		line-height: 1.55;
		margin-bottom: 32px;
	}

	.brs-lp__heading--sm {
		font-size: 24px;
		margin-bottom: 24px;
	}

	.brs-lp__section-head {
		margin-bottom: 44px;
	}

	.brs-lp__section-lead {
		margin-top: 20px;
		text-align: left;
	}

	.brs-lp__btn {
		width: 100%;
		min-height: 60px;
		padding: 12px 20px;
		font-size: 18px;
	}

	.brs-lp__btn--wide,
	.brs-lp__hero-action .brs-lp__btn {
		min-width: 0;
	}

	/* Hero：写真の上に文字（下寄せ） */
	.brs-lp__hero {
		padding: 10px;
	}

	.brs-lp__hero-frame {
		align-items: flex-end;
		justify-content: center;
		min-height: 0;
		border-radius: 14px;
	}

	/* 写真は上部に配置し、下端をティールの地色へなじませる */
	.brs-lp__hero-frame {
		background: color-mix(in srgb, var(--teal-dark) 72%, var(--charcoal));
	}

	.brs-lp__hero-media {
		bottom: auto;
		height: 124vw;
	}

	.brs-lp__hero-media img {
		width: 100%;
		margin-left: 0;
		object-position: 40% 30%;
	}

	.brs-lp__hero-media::after {
		background: linear-gradient(180deg, rgba(40, 110, 110, 0.05) 0%, rgba(40, 110, 110, 0.12) 50%, color-mix(in srgb, var(--teal-dark) 72%, var(--charcoal)) 100%);
	}

	.brs-lp .brs-lp__hero-logo {
		top: 18px;
		left: 18px;
		width: 84px;
	}

	.brs-lp .brs-lp__hero-store {
		top: 22px;
		right: 18px;
		font-size: 14px;
	}

	/* 人物の顔に文字がかからないよう、文字ブロックは写真の下半分から */
	.brs-lp__hero-body {
		width: 100%;
		margin: 0;
		padding: 94vw 18px 40px;
	}

	.brs-lp__hero-eyebrow {
		font-size: 16px;
		margin-bottom: 14px;
	}

	.brs-lp__hero-badge {
		padding: 8px 22px;
		font-size: 15px;
		margin-bottom: 14px;
	}

	.brs-lp__hero-tags {
		gap: 8px;
		font-size: 17px;
		margin-bottom: 14px;
	}

	.brs-lp__hero-tags i {
		font-size: 20px;
	}

	.brs-lp .brs-lp__hero-title {
		font-size: 31px;
		margin-bottom: 16px;
	}

	.brs-lp__hero-text {
		font-size: 15.5px;
		margin-bottom: 24px;
	}

	.brs-lp__hero-action {
		gap: 10px;
	}

	.brs-lp__hero-note {
		font-size: 13px;
		letter-spacing: 0.02em;
	}

	.brs-lp__hero-note::before {
		margin-right: 6px;
	}

	.brs-lp__hero-note::after {
		margin-left: 6px;
	}

	/* Worry：吹き出しを2列 → イラスト → パネル */
	.brs-lp__worry-intro {
		font-size: 16px;
	}

	.brs-lp__worry-stage {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: none;
		column-gap: 12px;
		row-gap: 16px;
	}

	.brs-lp__worry-list li,
	.brs-lp__worry-list li:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
		justify-self: stretch;
		margin: 0;
		padding: 16px 12px;
		border-radius: 28px;
		box-shadow: 4px 4px 0 var(--teal-light);
		font-size: 14.5px;
		line-height: 1.7;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.brs-lp__worry-list li br {
		display: none;
	}

	.brs-lp__worry-list li::after,
	.brs-lp__worry-list li:nth-child(n)::after {
		display: none;
	}

	.brs-lp__worry-figure {
		grid-column: 1 / -1;
		grid-row: auto;
		width: 86%;
		margin: 16px auto 0;
	}

	.brs-lp__worry-message {
		padding: 40px 20px 48px;
		margin-inline: calc(var(--brs-gutter) * -1);
		border-radius: 14px 14px 0 0;
		text-align: left;
	}

	.brs-lp__worry-lead {
		font-size: 21px;
		margin-bottom: 16px;
		text-align: center;
	}

	/* About */
	.brs-lp__split {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.brs-lp__split-media {
		aspect-ratio: 4 / 3.3;
	}

	.brs-lp__split-body > p + p {
		margin-top: 16px;
	}

	.brs-lp__facts {
		margin-top: 36px;
	}

	.brs-lp__facts div + div {
		padding-left: 12px;
	}

	.brs-lp__facts dt {
		font-size: 12.5px;
		letter-spacing: 0.04em;
	}

	.brs-lp__facts dd {
		font-size: 16px;
	}

	.brs-lp__band {
		height: 220px;
	}

	/* Reasons */
	.brs-lp__reason-index {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-bottom: 64px;
	}

	.brs-lp__reason-index li {
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 14px 20px;
		border-top: 0;
		border-left: 3px solid var(--teal);
		border-radius: 0 8px 8px 0;
		font-size: 17px;
		text-align: left;
	}

	.brs-lp__reason-index span {
		margin: 0;
		font-size: 22px;
	}

	.brs-lp__reason-list {
		gap: 72px;
	}

	.brs-lp__reason-item {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.brs-lp__reason-media,
	.brs-lp__reason-media--tall {
		width: auto;
		aspect-ratio: 4 / 3;
	}

	.brs-lp__reason-media--tall img {
		object-position: 50% 30%;
	}

	.brs-lp__reason-num {
		font-size: 52px;
		margin-bottom: 10px;
	}

	.brs-lp .brs-lp__reason-title {
		font-size: 24px;
		margin-bottom: 18px;
	}

	.brs-lp__reason-item--feature {
		padding: 44px 20px;
		margin-inline: calc(var(--brs-gutter) * -0.5);
	}

	.brs-lp__reason-item--feature .brs-lp__reason-body > p:not(.brs-lp__reason-num) {
		text-align: left;
	}

	.brs-lp__qualify {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		margin-bottom: 22px;
	}

	.brs-lp__qualify li {
		padding: 10px 16px;
		font-size: 17px;
	}

	/* Trainer：縦並び */
	.brs-lp__trainer-list {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.brs-lp__trainer-card {
		padding: 16px 16px 32px;
	}

	.brs-lp__trainer-body {
		padding: 24px 6px 0;
	}

	.brs-lp__trainer-roman {
		font-size: 44px;
	}

	.brs-lp .brs-lp__trainer-name {
		font-size: 20px;
	}

	.brs-lp__trainer-role {
		font-size: 14.5px;
	}

	.brs-lp__trainer-qualify {
		padding: 14px 16px;
		font-size: 14px;
	}

	.brs-lp__trainer-text {
		font-size: 15.5px;
	}

	/* Service */
	.brs-lp__service-main,
	.brs-lp__service-sub {
		grid-template-columns: 1fr;
		gap: 56px;
	}

	.brs-lp__service-sub {
		margin-top: 56px;
	}

	.brs-lp__service-item--offset {
		margin-top: 0;
	}

	.brs-lp__service-media {
		margin-bottom: 22px;
	}

	.brs-lp__service-num {
		font-size: 28px;
	}

	.brs-lp .brs-lp__service-title {
		font-size: 22px;
		margin-bottom: 12px;
	}

	.brs-lp__service-for {
		font-size: 14px;
	}

	/* Voice */
	.brs-lp__voice-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.brs-lp__voice-head {
		text-align: center;
	}

	.brs-lp__voice-media {
		aspect-ratio: 3 / 2;
		margin-bottom: 20px;
	}

	.brs-lp__voice-list {
		gap: 14px;
	}

	.brs-lp__voice-item {
		padding: 24px 22px;
	}

	.brs-lp .brs-lp__voice-title {
		font-size: 19px;
	}

	/* Price / FAQ：1カラム */
	.brs-lp__info-grid {
		grid-template-columns: 1fr;
		gap: 80px;
	}

	.brs-lp__price,
	.brs-lp__faq {
		text-align: left;
	}

	.brs-lp__price-num {
		font-size: 52px;
	}

	.brs-lp__course-name {
		font-size: 17px;
	}

	.brs-lp__course-detail {
		font-size: 14.5px;
	}

	.brs-lp__campaign {
		padding: 24px 20px 20px;
		margin-top: 32px;
	}

	.brs-lp__campaign-list div {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		padding: 12px 0;
	}

	.brs-lp__campaign-list dd {
		text-align: left;
	}

	.brs-lp__faq-item summary {
		padding: 20px 34px 20px 32px;
		font-size: 16px;
	}

	.brs-lp__faq-item summary::before {
		top: 17px;
		font-size: 20px;
		left: 2px;
	}

	.brs-lp__faq-item summary::after {
		right: 6px;
	}

	.brs-lp__faq-item p {
		padding: 0 4px 22px 32px;
		font-size: 15.5px;
	}

	/* Store */
	.brs-lp__store-card {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 16px 16px 28px;
	}

	.brs-lp__store-photo {
		aspect-ratio: 4 / 3.4;
	}

	.brs-lp__store-body {
		padding-inline: 4px;
	}

	.brs-lp__store-name {
		font-size: 23px;
		margin-bottom: 18px;
	}

	.brs-lp__store-name span {
		font-size: 17px;
	}

	.brs-lp__store-list div {
		grid-template-columns: 1fr;
		gap: 2px;
		padding: 14px 0;
		font-size: 15.5px;
	}

	/* CTA */
	.brs-lp__cta {
		padding-block: 88px;
	}

	.brs-lp .brs-lp__cta-title {
		font-size: 28px;
		margin-bottom: 20px;
	}

	.brs-lp__cta-text {
		font-size: 16px;
		margin-bottom: 36px;
		text-align: left;
	}

	.brs-lp__flow {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 14px 12px;
		margin-bottom: 36px;
		padding: 20px 4px;
		border-top: 1px solid rgba(255, 255, 255, 0.3);
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
		font-size: 15.5px;
	}

	.brs-lp__flow li + li::before {
		display: none;
	}

	.brs-lp__cta-note {
		font-size: 13.5px;
	}

	/* Reserve */
	.brs-lp .brs-lp__line-btn {
		min-height: 60px;
		font-size: 17px;
	}

	.brs-lp__form {
		margin-top: 20px;
		padding: 28px 18px 36px;
	}

	.brs-lp .brs-form__row {
		margin-bottom: 26px;
	}

	.brs-lp .brs-form__label {
		font-size: 16px;
	}

	.brs-lp .brs-form__note {
		font-size: 13.5px;
	}

	.brs-lp .brs-form__notice {
		font-size: 14px;
		padding: 12px 14px;
	}

	.brs-lp__reserve-lead {
		font-size: 16px;
	}

	.brs-lp__flexible {
		padding: 16px 18px;
		font-size: 15px;
	}

	.brs-lp__flexible-title {
		font-size: 17px;
	}

	.brs-lp .brs-lp__form input[type="text"],
	.brs-lp .brs-lp__form input[type="email"],
	.brs-lp .brs-lp__form input[type="date"],
	.brs-lp .brs-lp__form select,
	.brs-lp .brs-lp__form textarea {
		font-size: 16px; /* iOS のズーム防止のため16px以上 */
	}

	.brs-lp .brs-form__datetime .wpcf7-form-control-wrap {
		flex: 1 1 100%;
	}

	.brs-lp .brs-lp__form input[type="submit"] {
		width: 100%;
		min-width: 0;
	}

	/* Partner */
	.brs-lp__partner {
		padding-block: 72px;
	}

	.brs-lp__partner-box {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 32px 20px;
	}

	.brs-lp__partner-head {
		gap: 16px;
	}

	.brs-lp__partner-icon {
		width: 64px;
		height: 64px;
		border-radius: 14px;
	}

	.brs-lp__partner-name {
		font-size: 22px;
	}

	.brs-lp .brs-lp__partner-link {
		width: 100%;
		justify-content: center;
		padding: 14px 16px;
		font-size: 15px;
	}

	/* Footer */
	.brs-lp__footer {
		padding-top: 56px;
		font-size: 14px;
	}

	.brs-lp__footer-grid {
		grid-template-columns: 1fr;
		gap: 32px;
		padding-bottom: 36px;
	}

	.brs-lp__footer-logo {
		width: 100px;
	}
}

/* 追加セクションのタブレット・スマートフォン調整 */
@media (max-width: 1023px) {

	.brs-lp__amenity-grid {
		grid-template-columns: 1fr;
	}

	.brs-lp__amenity-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.brs-lp__amenity-list li {
		grid-template-columns: 1fr;
		justify-items: center;
		row-gap: 10px;
		text-align: center;
	}

	.brs-lp__amenity-list .brs-lp__amenity-icon {
		grid-row: auto;
	}
}

@media (max-width: 767px) {
	/* リスク：2列のカード */
	.brs-lp__risk {
		margin-top: 48px;
		padding-top: 44px;
	}

	.brs-lp__risk-ask {
		font-size: 14px;
	}

	.brs-lp .brs-lp__risk-title {
		font-size: 23px;
		text-align: center;
	}

	.brs-lp__risk-lead {
		margin-bottom: 28px;
		text-align: center;
		font-size: 15px;
	}

	.brs-lp__risk {
		text-align: center;
	}

	/* リスク：丸写真を 3＋2 の中央揃え */
	.brs-lp__risk-list {
		gap: 24px 10px;
	}

	.brs-lp__risk-list li {
		flex-basis: calc((100% - 20px) / 3);
		gap: 10px;
	}

	.brs-lp .brs-lp__risk-img {
		width: min(100px, 100%);
	}

	.brs-lp__risk-list p {
		font-size: 13px;
		line-height: 1.6;
		letter-spacing: 0.02em;
	}

	/* サービス：1カラムでは03の引き上げを解除 */
	.brs-lp__service-sub > :first-child {
		margin-top: 0;
	}

	.brs-lp__partner-box::before {
		background: rgba(242, 245, 245, 0.88);
	}

	.brs-lp__risk-close {
		margin-top: 32px;
		font-size: 18px;
	}

	/* 通いやすさ */
	.brs-lp__amenity-main {
		grid-template-columns: 1fr;
	}

	.brs-lp__amenity-photo {
		min-height: 0;
		aspect-ratio: 3 / 2;
	}

	.brs-lp__amenity-main-body {
		padding: 28px 22px 32px;
	}

	.brs-lp__amenity-list {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.brs-lp__amenity-list li {
		grid-template-columns: 60px 1fr;
		justify-items: start;
		row-gap: 0;
		column-gap: 16px;
		padding: 16px 18px;
		text-align: left;
	}

	.brs-lp__amenity-list .brs-lp__amenity-icon {
		grid-row: 1 / span 2;
		width: 60px;
		height: 60px;
	}

	.brs-lp__amenity-list .brs-lp__amenity-icon svg {
		width: 32px;
		height: 32px;
	}

	.brs-lp__amenity-name {
		font-size: 16.5px;
	}

	.brs-lp__amenity-text {
		font-size: 14px;
	}

	/* 比較表：項目列を固定して横スクロール。BRS列は最初から見える位置 */
	.brs-lp__compare-hint {
		display: block;
		margin-bottom: 8px;
		font-size: 13px;
		font-weight: 700;
		text-align: right;
		color: var(--teal-dark);
	}

	.brs-lp__compare-hint::after {
		content: " →";
	}

	.brs-lp__compare-scroll {
		margin-inline: calc(var(--brs-gutter) * -1);
		padding-inline: var(--brs-gutter);
	}

	.brs-lp .brs-lp__compare-table {
		min-width: 640px;
		font-size: 14px;
		line-height: 1.6;
	}

	.brs-lp .brs-lp__compare-table th,
	.brs-lp .brs-lp__compare-table td {
		padding: 14px 10px;
	}

	.brs-lp .brs-lp__compare-table thead th {
		font-size: 13.5px;
		padding: 16px 8px;
	}

	.brs-lp .brs-lp__compare-table tbody th {
		position: sticky;
		left: 0;
		z-index: 1;
		width: 104px;
		font-size: 13px;
		box-shadow: 2px 0 0 var(--beige);
	}

	.brs-lp .brs-lp__compare-table tbody th br {
		display: none;
	}

	.brs-lp .brs-lp__compare-table .is-brs {
		width: 170px;
	}

	.brs-lp .brs-lp__compare-table thead .is-brs {
		font-size: 16px;
		padding-block: 20px 16px;
	}

	.brs-lp__mark {
		font-size: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.brs-lp *,
	.brs-lp *::before,
	.brs-lp *::after {
		transition: none !important;
	}
}

/* ==========================================================================
   2026-09 改修：ラグジュアリー感・差別化要素の追加
   （既存ルールを上書きするため、このブロックはファイル末尾に置いてください）
   ========================================================================== */

/* ---- フォント：見出しは女性らしい明朝、欧文装飾はCormorant／Pinyon Script ---- */
.brs-lp {
	--brs-font: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	--brs-font-serif: "Zen Old Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
	--brs-font-en: "Cormorant Garamond", "Times New Roman", serif;
	--brs-font-script: "Pinyon Script", "Cormorant Garamond", serif;
	--brs-marble: url("../img/marble.svg");
}

.brs-lp :where(h1, h2, h3),
.brs-lp__worry-lead,
.brs-lp__risk-close,
.brs-lp__catch-text,
.brs-lp__store-name,
.brs-lp__footer-name,
.brs-lp__partner-name,
.brs-lp__campaign-title,
.brs-lp__flexible-title,
.brs-lp__reason-index li,
.brs-lp__facts dd {
	font-family: var(--brs-font-serif);
}

.brs-lp .brs-lp__hero-title {
	font-weight: 700;
	letter-spacing: 0.1em;
}

.brs-lp__price-num {
	font-size: 76px;
	font-weight: 500;
}

/* ---- 装飾：大きく・斜め（角度は -8deg に統一。使用はMVとキャッチコピーの2か所のみ） ---- */
.brs-lp__slant {
	display: block;
	font-family: var(--brs-font-script);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

.brs-lp__hero-body {
	position: relative;
	isolation: isolate;
}

.brs-lp__hero-deco {
	position: absolute;
	top: 34px;
	left: 50%;
	z-index: -1;
	font-size: clamp(96px, 10vw, 168px);
	color: rgba(255, 255, 255, 0.4);
	text-shadow: none;
	transform: translateX(-46%) rotate(-8deg);
}

/* ---- FV：男性の頭が切れないよう上端基準でトリミング ---- */
.brs-lp__hero-media img {
	object-position: 30% 0;
}

/* ---- セクションタイトル：薄い大きな英字＋小さな和文ラベル＋細い下線 ---- */
.brs-lp__section-head,
.brs-lp__split-body,
.brs-lp__price,
.brs-lp__faq {
	position: relative;
	isolation: isolate;
}

.brs-lp .brs-lp__label {
	display: block;
	margin: 0 0 16px;
	padding: 0;
	border-radius: 0;
	background: none;
	font-family: var(--brs-font-serif);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.6;
	color: var(--teal-dark);
}

.brs-lp .brs-lp__label::before {
	content: "– ";
}

.brs-lp .brs-lp__label[data-en] {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(84px, 10vw, 150px);
	margin-bottom: 12px;
}

.brs-lp .brs-lp__label[data-en]::after {
	content: attr(data-en);
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	font-family: var(--brs-font-en);
	font-size: clamp(76px, 10.5vw, 156px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.01em;
	white-space: nowrap;
	color: rgba(79, 193, 192, 0.16);
	transform: translate(-50%, -52%);
}

/* 左揃えの見出し（About／料金／FAQ） */
.brs-lp__split-body .brs-lp__label[data-en],
.brs-lp__price .brs-lp__label[data-en],
.brs-lp__faq .brs-lp__label[data-en] {
	justify-content: flex-start;
	padding-left: 0.2em;
}

.brs-lp__split-body .brs-lp__label[data-en]::after,
.brs-lp__price .brs-lp__label[data-en]::after,
.brs-lp__faq .brs-lp__label[data-en]::after {
	left: -0.04em;
	transform: translate(0, -52%);
}

.brs-lp__service .brs-lp__label[data-en]::after,
.brs-lp__steps .brs-lp__label[data-en]::after,
.brs-lp__reserve .brs-lp__label[data-en]::after {
	color: rgba(46, 158, 157, 0.12);
}

.brs-lp__section-head .brs-lp__heading::after,
.brs-lp__split-body .brs-lp__heading::after {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	margin: 28px auto 0;
	background: var(--teal);
}

.brs-lp__split-body .brs-lp__heading::after {
	margin-left: 0;
}

.brs-lp__worry-intro {
	font-family: var(--brs-font-serif);
}

/* ---- 大理石背景（About／トレーナーレベル／店舗情報の3か所） ---- */
.brs-lp__marble {
	background-color: var(--beige);
	background-image: var(--brs-marble);
	background-size: cover;
	background-position: center;
}

.brs-lp__marble .brs-lp__store-card {
	background: rgba(255, 255, 255, 0.82);
}

/* ---- ② 悩み：9項目（左5・右4） ---- */
.brs-lp__worry-stage {
	grid-template-rows: repeat(5, auto);
	row-gap: 20px;
}

.brs-lp__worry-list li:nth-child(n) {
	margin: 0;
}

.brs-lp__worry-list li:nth-child(-n + 5) {
	grid-column: 1;
	justify-self: end;
}

.brs-lp__worry-list li:nth-child(n + 6) {
	grid-column: 3;
	justify-self: start;
}

.brs-lp__worry-list li:nth-child(1) { grid-row: 1; }
.brs-lp__worry-list li:nth-child(2) { grid-row: 2; margin-right: 32px; }
.brs-lp__worry-list li:nth-child(3) { grid-row: 3; }
.brs-lp__worry-list li:nth-child(4) { grid-row: 4; margin-right: 32px; }
.brs-lp__worry-list li:nth-child(5) { grid-row: 5; }
.brs-lp__worry-list li:nth-child(6) { grid-row: 2; }
.brs-lp__worry-list li:nth-child(7) { grid-row: 3; margin-left: 32px; }
.brs-lp__worry-list li:nth-child(8) { grid-row: 4; }
.brs-lp__worry-list li:nth-child(9) { grid-row: 5; margin-left: 32px; }

.brs-lp__worry-list li:nth-child(-n + 5)::after {
	left: auto;
	right: -22px;
	transform: rotate(-20deg);
}

.brs-lp__worry-list li:nth-child(n + 6)::after {
	right: auto;
	left: -22px;
	transform: rotate(20deg);
}

.brs-lp__worry-figure {
	grid-row: 1 / span 5;
}

.brs-lp__risk-list li:nth-child(3) .brs-lp__risk-img {
	object-position: 45% 50%;
}

/* ---- ③ キャッチコピー（悩みへの回答） ---- */
.brs-lp__catch {
	position: relative;
	isolation: isolate;
	margin: 0 auto 104px;
	padding: 56px 0 8px;
	text-align: center;
}

.brs-lp__catch-deco {
	position: absolute;
	top: 46%;
	left: 50%;
	z-index: -1;
	font-size: clamp(76px, 10vw, 150px);
	color: rgba(79, 193, 192, 0.22);
	transform: translate(-50%, -50%) rotate(-8deg);
}

.brs-lp__catch-text {
	font-size: clamp(24px, 2.7vw, 38px);
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.08em;
	color: var(--charcoal);
}

/* ---- ④ 特徴（5項目） ---- */
.brs-lp__reason-index {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}

.brs-lp__reason-index li {
	padding: 20px 10px;
	font-size: 16px;
	font-weight: 500;
}

.brs-lp__reason-item--reverse .brs-lp__reason-media {
	order: 2;
}

.brs-lp__reason-media--square {
	aspect-ratio: 1 / 1;
	width: min(100%, 400px);
	margin-left: auto;
}

.brs-lp__reason-sub {
	margin-top: 12px;
	font-size: 14px;
	color: rgba(51, 51, 51, 0.75);
}

.brs-lp__reason-title .brs-lp__service-tag {
	font-family: var(--brs-font);
}

/* ---- ④-2 トレーナーレベル（差別化の核） ---- */
.brs-lp__level-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 64px;
	max-width: 1040px;
	margin: 0 auto;
	padding: 24px 64px 40px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.8);
	box-shadow: 0 20px 60px -40px rgba(46, 94, 94, 0.35);
}

.brs-lp__level-item {
	display: flex;
	gap: 24px;
	padding: 32px 0;
	border-bottom: 1px solid var(--beige-dark);
}

.brs-lp__level-item:nth-last-child(-n + 2) {
	border-bottom: 0;
}

.brs-lp__level-num {
	flex: none;
	width: 64px;
	font-family: var(--brs-font-en);
	font-size: 56px;
	font-weight: 500;
	line-height: 1;
	color: var(--teal-dark);
}

.brs-lp .brs-lp__level-title {
	margin: 4px 0 10px;
	font-size: clamp(19px, 1.7vw, 22px);
	font-weight: 700;
	line-height: 1.6;
}

.brs-lp__level-item p {
	font-size: 15.5px;
	line-height: 1.9;
}

.brs-lp .brs-lp__level-note {
	margin-top: 8px;
	font-size: 13.5px;
	color: var(--teal-dark);
}

/* ---- ⑥ お客様の声：写真あり1名＋写真なし2名 ---- */
.brs-lp__voice-feature {
	display: grid;
	grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
	padding: 40px;
	border-radius: 16px;
	background: var(--beige);
}

.brs-lp__voice-photo {
	overflow: hidden;
	border-radius: 12px;
	aspect-ratio: 315 / 431;
}

.brs-lp__voice-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.brs-lp .brs-lp__voice-feature .brs-lp__voice-title {
	font-size: clamp(22px, 2.2vw, 28px);
	margin-bottom: 20px;
}

.brs-lp__voice-feature-body p + p {
	margin-top: 14px;
}

.brs-lp .brs-lp__voice-feature .brs-lp__voice-meta {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--beige-dark);
	font-weight: 500;
	line-height: 1.8;
}

.brs-lp__voice-feature .brs-lp__voice-meta strong {
	display: block;
	font-family: var(--brs-font-serif);
	font-size: 18px;
	color: var(--charcoal);
}

.brs-lp .brs-lp__voice-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	max-width: 1000px;
	margin: 24px auto 0;
	padding: 0;
}

.brs-lp .brs-lp__voice-item {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 28px;
}

.brs-lp__voice-avatar {
	flex: none;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: var(--white);
	object-fit: cover;
	object-position: 50% 22%;
}

.brs-lp .brs-lp__voice-item .brs-lp__voice-meta {
	margin: 0 0 2px;
}

.brs-lp__voice-item p:last-child {
	font-size: 15.5px;
}

.brs-lp__voice-note {
	max-width: 1000px;
	margin: 16px auto 0;
}

/* ---- ⑥-2 トレーニングまでの流れ ---- */
.brs-lp__steps {
	background: var(--teal-light);
}

.brs-lp__steps-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 40px;
}

.brs-lp__steps-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* ステップ間の矢印 */
.brs-lp__steps-item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 34px;
	right: -26px;
	width: 12px;
	height: 12px;
	border-top: 1.5px solid var(--teal-dark);
	border-right: 1.5px solid var(--teal-dark);
	transform: rotate(45deg);
}

.brs-lp__steps-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: var(--white);
	font-family: var(--brs-font-en);
	font-size: 30px;
	font-weight: 500;
	color: var(--teal-dark);
}

.brs-lp__steps-item.is-loop .brs-lp__steps-num {
	background: var(--teal-dark);
	color: var(--white);
}

.brs-lp .brs-lp__steps-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 10px;
}

.brs-lp__steps-item p {
	font-size: 14.5px;
	line-height: 1.8;
}

.brs-lp__steps-loop {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: fit-content;
	margin: 48px auto 0;
	padding: 12px 28px;
	border-radius: 999px;
	background: var(--white);
	font-weight: 700;
	color: var(--teal-dark);
}

.brs-lp__steps-loop span {
	font-size: 22px;
	line-height: 1;
}

/* ---- ⑧-3 Instagram（横に流れる正方形画像） ---- */
.brs-lp__insta {
	background: var(--white);
}

.brs-lp__insta-marquee {
	display: flex;
	overflow: hidden;
	margin-top: 8px;
}

.brs-lp .brs-lp__insta-track {
	display: flex;
	flex: none;
	gap: 16px;
	margin: 0;
	padding: 0 16px 0 0;
	list-style: none;
}

.brs-lp__insta-marquee.is-ready .brs-lp__insta-track {
	animation: brs-marquee var(--brs-marquee-duration, 40s) linear infinite;
}

.brs-lp__insta-marquee:hover .brs-lp__insta-track {
	animation-play-state: paused;
}

.brs-lp__insta-track li {
	flex: none;
	width: clamp(180px, 19vw, 260px);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 8px;
}

.brs-lp__insta-track a,
.brs-lp__insta-track img {
	display: block;
	width: 100%;
	height: 100%;
}

.brs-lp__insta-track img {
	max-width: none;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.brs-lp__insta-track a:hover img {
	transform: scale(1.04);
}

@keyframes brs-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-100%); }
}

.brs-lp__insta-foot {
	margin-top: 40px;
	text-align: center;
}

.brs-lp .brs-lp__insta-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 36px;
	border: 1.5px solid var(--teal-dark);
	border-radius: 999px;
	font-weight: 700;
	color: var(--teal-dark);
	transition: background-color 0.25s ease, color 0.25s ease;
}

.brs-lp .brs-lp__insta-btn:hover {
	background: var(--teal-dark);
	color: var(--white);
}

/* ---- ⑩ 新川中央眼科：ブルー系で差別化 ---- */
.brs-lp__partner {
	--partner-blue: #2d6a9f;
	--partner-blue-dark: #1f4e78;
	--partner-blue-light: #eaf2fa;
	background: #f5f9fc;
}

.brs-lp .brs-lp__partner-box {
	border-color: rgba(45, 106, 159, 0.22);
	background: var(--partner-blue-light);
}

.brs-lp .brs-lp__partner-box::before {
	background: linear-gradient(90deg, rgba(234, 242, 250, 0.96) 0%, rgba(234, 242, 250, 0.9) 48%, rgba(214, 231, 246, 0.55) 100%);
}

.brs-lp .brs-lp__partner .brs-lp__label {
	color: var(--partner-blue);
}

.brs-lp__partner-name,
.brs-lp__partner-lead {
	color: var(--partner-blue-dark);
}

.brs-lp .brs-lp__partner-link {
	border-color: var(--partner-blue);
	color: var(--partner-blue);
}

.brs-lp .brs-lp__partner-link:hover {
	background: var(--partner-blue);
	color: var(--white);
}

/* ---- フッター：上端をなだらかな弧に。店舗名・運営会社を掲載 ---- */
.brs-lp .brs-lp__footer {
	position: relative;
	margin-top: 40px;
	padding-top: 32px;
	background: var(--charcoal);
}

.brs-lp__footer-wave {
	position: absolute;
	left: 0;
	bottom: calc(100% - 1px);
	display: block;
	width: 100%;
	height: clamp(36px, 5vw, 72px);
	fill: var(--charcoal);
}

.brs-lp .brs-lp__footer-grid {
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	align-items: start;
}

.brs-lp .brs-lp__footer-logo {
	width: 132px;
	margin-bottom: 20px;
}

.brs-lp__footer-name {
	margin-bottom: 16px;
	font-size: 19px;
	letter-spacing: 0.08em;
	color: var(--white);
}

.brs-lp__footer-name span {
	display: block;
	font-family: var(--brs-font-en);
	font-style: italic;
	font-size: 17px;
	color: var(--green-dark);
}

.brs-lp__footer-list div {
	display: grid;
	grid-template-columns: 6em 1fr;
	gap: 12px;
	padding: 4px 0;
	line-height: 1.8;
}

.brs-lp__footer-list dt {
	color: var(--green-dark);
}

.brs-lp__footer-sns {
	display: flex;
	gap: 14px;
	margin-top: 24px;
}

.brs-lp .brs-lp__footer .brs-lp__footer-sns a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	color: var(--white);
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.brs-lp .brs-lp__footer .brs-lp__footer-sns a:hover {
	background: var(--white);
	color: var(--charcoal);
}

.brs-lp__footer-nav ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 32px;
}

.brs-lp .brs-lp__footer .brs-lp__footer-nav a {
	font-family: var(--brs-font-en);
	font-size: 18px;
	letter-spacing: 0.08em;
	color: var(--white);
	text-decoration: none;
}

.brs-lp .brs-lp__footer .brs-lp__footer-nav a:hover {
	color: var(--green-dark);
}

/* ---- タブレット ---- */
@media (max-width: 1023px) {
	.brs-lp__worry-list li:nth-child(2),
	.brs-lp__worry-list li:nth-child(4) { margin-right: 12px; }
	.brs-lp__worry-list li:nth-child(7),
	.brs-lp__worry-list li:nth-child(9) { margin-left: 12px; }

	.brs-lp__reason-index {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.brs-lp__level-list {
		gap: 0 40px;
		padding: 16px 36px 32px;
	}

	.brs-lp__steps-list {
		gap: 28px;
	}

	.brs-lp__steps-item:not(:last-child)::after {
		right: -19px;
	}

	.brs-lp__voice-feature {
		gap: 36px;
	}
}

/* ---- スマートフォン ---- */
@media (max-width: 767px) {
	.brs-lp .brs-lp__label {
		font-size: 13.5px;
	}

	.brs-lp .brs-lp__label[data-en] {
		min-height: 72px;
	}

	.brs-lp .brs-lp__label[data-en]::after {
		font-size: clamp(52px, 15vw, 76px);
	}

	.brs-lp__section-head .brs-lp__heading::after,
	.brs-lp__split-body .brs-lp__heading::after {
		margin-top: 20px;
	}

	.brs-lp__hero-media img {
		object-position: 40% 0;
	}

	.brs-lp__hero-deco {
		top: calc(94vw - 64px);
		font-size: 76px;
		color: rgba(255, 255, 255, 0.45);
	}

	.brs-lp__price-num {
		font-size: 60px;
	}

	/* 悩み：2列の吹き出し（9つ目は全幅） */
	.brs-lp__worry-stage {
		grid-template-rows: none;
		row-gap: 14px;
	}

	.brs-lp__worry-list li:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
		justify-self: stretch;
		margin: 0;
	}

	.brs-lp__worry-list li:nth-child(9) {
		grid-column: 1 / -1;
	}

	.brs-lp__worry-list li:nth-child(n)::after {
		display: none;
	}

	.brs-lp__worry-figure {
		grid-row: auto;
	}

	/* キャッチコピー */
	.brs-lp__catch {
		margin-bottom: 64px;
		padding-top: 40px;
	}

	.brs-lp__catch-deco {
		font-size: 58px;
	}

	.brs-lp__catch-text {
		font-size: 21px;
	}

	/* 特徴 */
	.brs-lp__reason-index {
		grid-template-columns: 1fr;
	}

	.brs-lp__reason-index li br {
		display: none;
	}

	.brs-lp__reason-item--reverse .brs-lp__reason-media {
		order: 0;
	}

	.brs-lp__reason-media--square {
		width: 100%;
		max-width: 380px;
		margin-inline: auto;
		aspect-ratio: 1 / 1;
	}

	/* トレーナーレベル：1列 */
	.brs-lp__level-list {
		grid-template-columns: 1fr;
		padding: 8px 20px 16px;
	}

	.brs-lp__level-item {
		gap: 16px;
		padding: 24px 0;
	}

	.brs-lp__level-item:nth-last-child(2) {
		border-bottom: 1px solid var(--beige-dark);
	}

	.brs-lp__level-num {
		width: 44px;
		font-size: 42px;
	}

	.brs-lp .brs-lp__level-title {
		font-size: 18px;
	}

	.brs-lp__level-item p {
		font-size: 14.5px;
	}

	/* お客様の声 */
	.brs-lp__voice-feature {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 20px 20px 28px;
	}

	.brs-lp__voice-photo {
		width: min(100%, 240px);
		margin: 0 auto;
	}

	.brs-lp .brs-lp__voice-feature .brs-lp__voice-title {
		font-size: 21px;
		text-align: center;
	}

	.brs-lp .brs-lp__voice-list {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: 14px;
	}

	.brs-lp .brs-lp__voice-item {
		gap: 14px;
		padding: 22px 18px;
	}

	.brs-lp__voice-avatar {
		width: 64px;
		height: 64px;
	}

	/* 流れ：縦のタイムライン */
	.brs-lp__steps-list {
		grid-template-columns: 1fr;
		gap: 0;
		max-width: 480px;
		margin: 0 auto;
	}

	.brs-lp__steps-item {
		display: grid;
		grid-template-columns: 56px 1fr;
		column-gap: 18px;
		align-items: start;
		padding-bottom: 28px;
		text-align: left;
	}

	.brs-lp__steps-item:not(:last-child)::after {
		top: 60px;
		right: auto;
		left: 27px;
		width: 1px;
		height: calc(100% - 64px);
		border: 0;
		background: var(--green-dark);
		transform: none;
	}

	.brs-lp__steps-num {
		grid-row: 1 / span 2;
		width: 56px;
		height: 56px;
		margin: 0;
		font-size: 22px;
	}

	.brs-lp .brs-lp__steps-title {
		margin: 12px 0 6px;
		font-size: 17px;
	}

	.brs-lp__steps-title br {
		display: none;
	}

	.brs-lp__steps-item p {
		grid-column: 2;
		font-size: 14px;
	}

	.brs-lp__steps-loop {
		margin-top: 16px;
		padding: 12px 18px;
		font-size: 14px;
		text-align: left;
	}

	/* Instagram */
	.brs-lp__insta-track li {
		width: 150px;
	}

	.brs-lp .brs-lp__insta-track {
		gap: 10px;
		padding-right: 10px;
	}

	/* パートナー */
	.brs-lp .brs-lp__partner-box::before {
		background: rgba(234, 242, 250, 0.9);
	}

	/* フッター */
	.brs-lp .brs-lp__footer-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.brs-lp__footer-list div {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.brs-lp .brs-lp__footer .brs-lp__footer-nav a {
		font-size: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.brs-lp__insta-marquee {
		overflow-x: auto;
	}

	.brs-lp__insta-marquee.is-ready .brs-lp__insta-track {
		animation: none;
	}
}

/* ---- 調整：数字は揃い数字、見出しの小見出し、フッター上端、声のカード ---- */
.brs-lp {
	font-variant-numeric: lining-nums;
}

.brs-lp__heading-sub {
	display: block;
	margin-bottom: 4px;
	font-size: 0.6em;
	letter-spacing: 0.08em;
	color: var(--teal-dark);
}

.brs-lp .brs-lp__footer {
	margin-top: 0;
}

.brs-lp .brs-lp__partner {
	padding-bottom: calc(104px + clamp(36px, 5vw, 72px));
}

.brs-lp__voice-photo img {
	transform: scale(1.04);
}

@media (max-width: 767px) {
	.brs-lp__catch-deco {
		font-size: 44px;
	}

	.brs-lp__level .brs-lp__label[data-en]::after {
		font-size: 13vw;
	}

	.brs-lp .brs-lp__partner {
		padding-bottom: calc(72px + 36px);
	}

	/* 写真なしの声：アバター＋属性・見出しを横並び、本文は全幅 */
	.brs-lp .brs-lp__voice-item {
		display: grid;
		grid-template-columns: 64px 1fr;
		column-gap: 14px;
		align-items: center;
	}

	.brs-lp__voice-item > div {
		display: contents;
	}

	.brs-lp__voice-avatar {
		grid-row: 1 / span 2;
	}

	.brs-lp .brs-lp__voice-item .brs-lp__voice-meta,
	.brs-lp .brs-lp__voice-item .brs-lp__voice-title {
		grid-column: 2;
		margin-bottom: 0;
	}

	.brs-lp__voice-item p:last-child {
		grid-column: 1 / -1;
		margin-top: 14px;
	}
}

@media (min-width: 768px) {
	.brs-lp__hero-deco {
		top: 72px;
	}
}

/* About の見出しは2カラムの幅に合わせて少し小さめに */
.brs-lp__split-body .brs-lp__heading {
	font-size: clamp(26px, 2.5vw, 34px);
}

/* ==========================================================================
   2026-09 改修②：ラベル拡大／特徴の目次リンク／ソファ写真／悩みの吹き出し配置
   ========================================================================== */

/* ---- セクションラベル（和文）を大きく・太く ---- */
.brs-lp .brs-lp__label {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.brs-lp .brs-lp__label[data-en]::after {
	color: rgba(79, 193, 192, 0.13);
}

.brs-lp .brs-lp__partner .brs-lp__label {
	font-size: 16px;
}

/* ---- 特徴：目次をクリックで各項目へ ---- */
.brs-lp .brs-lp__reason-index li {
	padding: 0;
}

.brs-lp .brs-lp__reason-index a {
	display: block;
	height: 100%;
	padding: 20px 10px 26px;
	color: var(--charcoal);
	text-decoration: none;
	position: relative;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.brs-lp .brs-lp__reason-index a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 10px;
	width: 7px;
	height: 7px;
	margin-left: -4px;
	border-right: 1.5px solid var(--teal-dark);
	border-bottom: 1.5px solid var(--teal-dark);
	transform: rotate(45deg);
}

.brs-lp .brs-lp__reason-index a:hover {
	background: var(--teal-light);
	color: var(--teal-dark);
}

.brs-lp__reason-item {
	scroll-margin-top: 40px;
}

/* ---- 特徴02：ソファ写真を他と同じ3:2の枠でトリミング ---- */
.brs-lp__reason-media--sofa {
	aspect-ratio: 3 / 2;
}

.brs-lp__reason-media--sofa img {
	object-position: 50% 68%;
}

/* ---- 悩み：女性の頭のまわりに吹き出しを配置（PC） ---- */
@media (min-width: 1024px) {
	.brs-lp .brs-lp__worry-stage {
		position: relative;
		display: block;
		height: 660px;
		max-width: 1100px;
		margin: 0 auto;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(n) {
		position: absolute;
		width: 250px;
		margin: 0;
		padding: 20px 18px;
		font-size: 16.5px;
	}

	.brs-lp__worry-list li:nth-child(1) { left: 2%;  top: 350px; }
	.brs-lp__worry-list li:nth-child(2) { left: 6%;  top: 190px; }
	.brs-lp__worry-list li:nth-child(3) { left: 16%; top: 40px; }
	.brs-lp__worry-list li:nth-child(4) { left: 50%; top: 0; transform: translateX(-50%); }
	.brs-lp__worry-list li:nth-child(5) { right: 16%; top: 40px; }
	.brs-lp__worry-list li:nth-child(6) { right: 6%; top: 190px; }
	.brs-lp__worry-list li:nth-child(7) { right: 2%; top: 350px; }

	/* しっぽ：女性の頭へ向かう小さな丸（考えごとの吹き出し） */
	.brs-lp .brs-lp__worry-list li:nth-child(n)::before,
	.brs-lp .brs-lp__worry-list li:nth-child(n)::after {
		content: "";
		position: absolute;
		top: auto;
		left: auto;
		right: auto;
		display: block;
		border: 1.5px solid var(--teal);
		border-radius: 50%;
		background: var(--white);
		transform: none;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(n)::before {
		width: 14px;
		height: 14px;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(n)::after {
		width: 8px;
		height: 8px;
	}

	/* 左側の吹き出し：右下へ */
	.brs-lp .brs-lp__worry-list li:nth-child(-n + 3)::before { right: -8px; bottom: -14px; }
	.brs-lp .brs-lp__worry-list li:nth-child(-n + 3)::after { right: -22px; bottom: -28px; }

	/* 中央の吹き出し：真下へ */
	.brs-lp .brs-lp__worry-list li:nth-child(4)::before { left: calc(50% - 7px); bottom: -22px; }
	.brs-lp .brs-lp__worry-list li:nth-child(4)::after { left: calc(50% - 4px); bottom: -40px; }

	/* 右側の吹き出し：左下へ */
	.brs-lp .brs-lp__worry-list li:nth-child(n + 5)::before { left: -8px; bottom: -14px; }
	.brs-lp .brs-lp__worry-list li:nth-child(n + 5)::after { left: -22px; bottom: -28px; }

	/* 一番下の2つは頭と同じ高さなので、横向きに */
	.brs-lp .brs-lp__worry-list li:nth-child(1)::before { right: -20px; bottom: 30%; }
	.brs-lp .brs-lp__worry-list li:nth-child(1)::after { right: -36px; bottom: 22%; }
	.brs-lp .brs-lp__worry-list li:nth-child(7)::before { left: -20px; bottom: 30%; }
	.brs-lp .brs-lp__worry-list li:nth-child(7)::after { left: -36px; bottom: 22%; }

	.brs-lp .brs-lp__worry-figure {
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 400px;
		transform: translateX(-50%);
		isolation: isolate;
	}
}

/* 女性の背後に淡い円（吹き出しと女性をひとまとまりに見せる） */
.brs-lp .brs-lp__worry-figure {
	position: relative;
	isolation: isolate;
}

.brs-lp .brs-lp__worry-figure::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: -1;
	width: 86%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--teal-light);
	transform: translateX(-50%);
}

/* ---- 悩み：スマホ・タブレットは「吹き出し → 小さな丸 → 女性」 ---- */
@media (max-width: 1023px) {
	.brs-lp .brs-lp__worry-stage {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: none;
		gap: 14px 12px;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
		justify-self: stretch;
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(7) {
		grid-column: 1 / -1;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(n)::before,
	.brs-lp .brs-lp__worry-list li:nth-child(n)::after {
		display: none;
	}

	.brs-lp .brs-lp__worry-figure {
		grid-column: 1 / -1;
		grid-row: auto;
		width: min(80%, 380px);
		margin: 44px auto 0;
	}

	/* 頭の上の小さな丸（吹き出しとつなぐ） */
	.brs-lp .brs-lp__worry-figure::after {
		content: "";
		position: absolute;
		top: -36px;
		left: 49%;
		width: 10px;
		height: 10px;
		border: 1.5px solid var(--teal);
		border-radius: 50%;
		background: var(--white);
		box-shadow: 10px -18px 0 3px var(--white), 10px -18px 0 4.5px var(--teal);
	}
}

@media (max-width: 767px) {
	.brs-lp .brs-lp__label {
		font-size: 17px;
	}

	.brs-lp .brs-lp__partner .brs-lp__label {
		font-size: 14.5px;
	}

	.brs-lp .brs-lp__reason-index a {
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 14px 40px 14px 20px;
		text-align: left;
	}

	.brs-lp .brs-lp__reason-index a::after {
		left: auto;
		right: 20px;
		bottom: 50%;
		margin: 0 0 -4px;
	}
}

/* PCでは女性イラストを吹き出しの中央下に固定（共通指定より優先） */
@media (min-width: 1024px) {
	.brs-lp .brs-lp__worry-stage .brs-lp__worry-figure {
		position: absolute;
	}
}

@media (min-width: 1024px) {
	.brs-lp__worry-list li:nth-child(3) { left: 9%; top: 56px; }
	.brs-lp__worry-list li:nth-child(5) { right: 9%; top: 56px; }
	.brs-lp__worry-list li:nth-child(2) { left: 0; top: 206px; }
	.brs-lp__worry-list li:nth-child(6) { right: 0; top: 206px; }
	.brs-lp__worry-list li:nth-child(1) { left: 5%; top: 360px; }
	.brs-lp__worry-list li:nth-child(7) { right: 5%; top: 360px; }
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.brs-lp .brs-lp__worry-list li:nth-child(n) { width: 220px; font-size: 15px; }
	.brs-lp .brs-lp__worry-stage .brs-lp__worry-figure { width: 340px; }
	.brs-lp__worry-list li:nth-child(1) { left: 0; }
	.brs-lp__worry-list li:nth-child(7) { right: 0; }
	.brs-lp__worry-list li:nth-child(3) { left: 7%; }
	.brs-lp__worry-list li:nth-child(5) { right: 7%; }
}

/* 特徴の目次：番号は折り返さない */
.brs-lp .brs-lp__reason-index a span {
	flex: none;
	white-space: nowrap;
	overflow-wrap: normal;
}

/* ==========================================================================
   2026-09 改修③：MV表記／悩みの配置（6項目）／余白／特徴01背景／トレーナーレベル写真／声のイラスト／Instagram
   ========================================================================== */

/* ---- MV：料金表記の両側の記号をなくす（游ゴシックで「\」が「¥」に見えるため） ---- */
.brs-lp .brs-lp__hero-note::before,
.brs-lp .brs-lp__hero-note::after {
	content: none;
}

/* ---- 悩み：女性の後ろの丸はなし ---- */
.brs-lp .brs-lp__worry-figure::before {
	display: none;
}

/* ---- 悩み：6つの吹き出しを女性の左右に寄せる（PC） ---- */
@media (min-width: 1024px) {
	.brs-lp .brs-lp__worry-stage {
		height: 560px;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(n) {
		top: auto;
		left: auto;
		right: auto;
		width: 250px;
		transform: none;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(1) { left: calc(50% - 400px); top: 40px; }
	.brs-lp .brs-lp__worry-list li:nth-child(2) { left: calc(50% - 440px); top: 190px; }
	.brs-lp .brs-lp__worry-list li:nth-child(3) { left: calc(50% - 400px); top: 340px; }
	.brs-lp .brs-lp__worry-list li:nth-child(4) { right: calc(50% - 400px); top: 40px; }
	.brs-lp .brs-lp__worry-list li:nth-child(5) { right: calc(50% - 440px); top: 190px; }
	.brs-lp .brs-lp__worry-list li:nth-child(6) { right: calc(50% - 400px); top: 340px; }

	/* しっぽ（小さな丸）の位置をいったんリセット */
	.brs-lp .brs-lp__worry-list li:nth-child(n)::before,
	.brs-lp .brs-lp__worry-list li:nth-child(n)::after {
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
	}

	/* 左側：女性の頭の方へ */
	.brs-lp .brs-lp__worry-list li:nth-child(1)::before { right: -12px; bottom: -8px; }
	.brs-lp .brs-lp__worry-list li:nth-child(1)::after { right: -26px; bottom: -22px; }
	.brs-lp .brs-lp__worry-list li:nth-child(2)::before { right: -22px; top: calc(50% + 6px); }
	.brs-lp .brs-lp__worry-list li:nth-child(2)::after { right: -38px; top: calc(50% + 16px); }
	.brs-lp .brs-lp__worry-list li:nth-child(3)::before { right: -22px; top: 10px; }
	.brs-lp .brs-lp__worry-list li:nth-child(3)::after { right: -38px; top: 2px; }

	/* 右側：女性の頭の方へ */
	.brs-lp .brs-lp__worry-list li:nth-child(4)::before { left: -12px; bottom: -8px; }
	.brs-lp .brs-lp__worry-list li:nth-child(4)::after { left: -26px; bottom: -22px; }
	.brs-lp .brs-lp__worry-list li:nth-child(5)::before { left: -22px; top: calc(50% + 6px); }
	.brs-lp .brs-lp__worry-list li:nth-child(5)::after { left: -38px; top: calc(50% + 16px); }
	.brs-lp .brs-lp__worry-list li:nth-child(6)::before { left: -22px; top: 10px; }
	.brs-lp .brs-lp__worry-list li:nth-child(6)::after { left: -38px; top: 2px; }

	.brs-lp .brs-lp__worry-stage .brs-lp__worry-figure {
		width: 380px;
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.brs-lp .brs-lp__worry-list li:nth-child(n) {
		width: 220px;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(1),
	.brs-lp .brs-lp__worry-list li:nth-child(3) { left: calc(50% - 360px); }
	.brs-lp .brs-lp__worry-list li:nth-child(2) { left: calc(50% - 400px); }
	.brs-lp .brs-lp__worry-list li:nth-child(4),
	.brs-lp .brs-lp__worry-list li:nth-child(6) { right: calc(50% - 360px); }
	.brs-lp .brs-lp__worry-list li:nth-child(5) { right: calc(50% - 400px); }

	.brs-lp .brs-lp__worry-stage .brs-lp__worry-figure {
		width: 330px;
	}
}

/* 悩み（スマホ・タブレット）：丸の背景がない分、吹き出しと女性の間を詰める */
@media (max-width: 1023px) {
	.brs-lp .brs-lp__worry-figure {
		margin-top: 28px;
	}

	.brs-lp .brs-lp__worry-figure::after {
		top: -14px;
		left: 50%;
	}
}

/* ---- 悩み・リスクのパネルと次のセクションの間に余白 ---- */
.brs-lp .brs-lp__worry {
	padding-bottom: var(--brs-section-y);
}

.brs-lp .brs-lp__worry-message {
	border-radius: 16px;
}

/* ---- 特徴01：トレーニング指導風景を背景に ---- */
.brs-lp .brs-lp__reason-item--feature {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.brs-lp .brs-lp__reason-feature-bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 35%;
}

.brs-lp .brs-lp__reason-item--feature::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(236, 248, 247, 0.86);
}

/* ---- トレーナーレベル：06の下に指導風景の写真 ---- */
.brs-lp__level-photo {
	max-width: 1040px;
	margin: 32px auto 0;
	aspect-ratio: 21 / 9;
	overflow: hidden;
	border-radius: 16px;
}

.brs-lp__level-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 35%;
}

/* ---- お客様の声：イラストを丸枠でくっきり表示 ---- */
.brs-lp .brs-lp__voice-avatar {
	display: block;
	flex: none;
	width: 104px;
	height: 104px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--white);
}

.brs-lp .brs-lp__voice-avatar img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 15%;
	transform: scale(1.3);
	transform-origin: 50% 25%;
}

/* ---- Instagram：Coming Soon 画像のみ ---- */
.brs-lp__insta-coming {
	max-width: 400px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 20px 50px -30px rgba(30, 50, 50, 0.45);
}

.brs-lp__insta-coming img {
	width: 100%;
}

@media (max-width: 767px) {
	.brs-lp .brs-lp__worry-message {
		border-radius: 14px;
	}

	.brs-lp__level-photo {
		margin-top: 20px;
		aspect-ratio: 4 / 3;
		border-radius: 12px;
	}

	.brs-lp .brs-lp__voice-avatar {
		width: 72px;
		height: 72px;
	}

	.brs-lp__insta-coming {
		max-width: 78%;
	}
}

/* 右側の吹き出しを女性へ少し寄せる（イラストの人物がやや左寄りのため） */
@media (min-width: 1200px) {
	.brs-lp .brs-lp__worry-list li:nth-child(4),
	.brs-lp .brs-lp__worry-list li:nth-child(6) { right: calc(50% - 382px); }
	.brs-lp .brs-lp__worry-list li:nth-child(5) { right: calc(50% - 422px); }
}
@media (min-width: 1024px) and (max-width: 1199px) {
	.brs-lp .brs-lp__worry-list li:nth-child(4),
	.brs-lp .brs-lp__worry-list li:nth-child(6) { right: calc(50% - 342px); }
	.brs-lp .brs-lp__worry-list li:nth-child(5) { right: calc(50% - 382px); }
}

/* ---- Instagram：正方形画像が横に流れる（参考：角丸＋やわらかい影、広めの間隔） ---- */
.brs-lp .brs-lp__insta-marquee {
	padding: 8px 0 20px;
}

.brs-lp .brs-lp__insta-track {
	gap: 40px;
	padding-right: 40px;
}

.brs-lp .brs-lp__insta-track li {
	width: clamp(200px, 20vw, 260px);
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	box-shadow: 4px 4px 12px rgba(30, 50, 50, 0.12);
}

.brs-lp .brs-lp__insta-track img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 50%;
}

@media (max-width: 767px) {
	.brs-lp .brs-lp__insta-track {
		gap: 20px;
		padding-right: 20px;
	}

	.brs-lp .brs-lp__insta-track li {
		width: 170px;
	}
}

/* ---- Instagram：投稿の定番サイズ 1080×1350（4:5）で表示 ---- */
.brs-lp .brs-lp__insta-track li {
	aspect-ratio: 4 / 5;
}

/* ---- 悩み（PC）：吹き出しを横に広げて高さを抑え、女性の頭上の余白をなくす ---- */
@media (min-width: 1024px) {
	.brs-lp .brs-lp__worry-stage {
		height: 420px;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(n) {
		width: 310px;
		padding: 18px 22px;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(1) { left: calc(50% - 480px); top: 10px; }
	.brs-lp .brs-lp__worry-list li:nth-child(2) { left: calc(50% - 520px); top: 150px; }
	.brs-lp .brs-lp__worry-list li:nth-child(3) { left: calc(50% - 480px); top: 290px; }
	.brs-lp .brs-lp__worry-list li:nth-child(4) { right: calc(50% - 460px); top: 10px; }
	.brs-lp .brs-lp__worry-list li:nth-child(5) { right: calc(50% - 500px); top: 150px; }
	.brs-lp .brs-lp__worry-list li:nth-child(6) { right: calc(50% - 460px); top: 290px; }

	.brs-lp .brs-lp__worry-stage .brs-lp__worry-figure {
		width: 400px;
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.brs-lp .brs-lp__worry-list li:nth-child(n) {
		width: 260px;
		font-size: 15px;
	}

	.brs-lp .brs-lp__worry-list li:nth-child(1),
	.brs-lp .brs-lp__worry-list li:nth-child(3) { left: calc(50% - 430px); }
	.brs-lp .brs-lp__worry-list li:nth-child(2) { left: calc(50% - 460px); }
	.brs-lp .brs-lp__worry-list li:nth-child(4),
	.brs-lp .brs-lp__worry-list li:nth-child(6) { right: calc(50% - 410px); }
	.brs-lp .brs-lp__worry-list li:nth-child(5) { right: calc(50% - 440px); }

	.brs-lp .brs-lp__worry-stage .brs-lp__worry-figure {
		width: 340px;
	}
}

/* ==========================================================================
   2026-09 改修④：くすみピンク／FV刷新／トレーナーレベル統合／声・料金・フッター紺
   ========================================================================== */

/* ---- 追加カラー：くすみピンク（使用はキャンペーン表示・一番人気・はじめての方へ のみ） ---- */
.brs-lp {
	--dusty-pink: #c9959a;
	--dusty-pink-dark: #a0616a;  /* 白文字を載せてもコントラスト約5:1 */
	--dusty-pink-light: #f7ebec;
	--brs-navy: #122b3f;         /* 本サイト（be-readysapporo.com）のフッター色 */
}

/* ---- ボタン：（当日入会で無料）を小さめに添える ---- */
.brs-lp .brs-lp__btn {
	flex-wrap: wrap;
	column-gap: 0.2em;
	text-align: center;
}

.brs-lp .brs-lp__btn small {
	font-size: 0.8em;
	font-weight: 700;
	letter-spacing: 0.04em;
}

/* ---- ① FV ---- */
.brs-lp .brs-lp__hero-eyebrow {
	font-size: 18px;
	letter-spacing: 0.08em;
	margin-bottom: 18px;
}

.brs-lp .brs-lp__hero-title {
	font-size: clamp(32px, 3.1vw, 48px);
	line-height: 1.55;
	margin-bottom: 14px;
}

.brs-lp__hero-sub {
	font-family: var(--brs-font-serif);
	font-size: 17px;
	letter-spacing: 0.1em;
	margin-bottom: 4px;
}

/* 「BRS Beauty」：Beautyに使っている筆記体で大きめ・斜め（-8deg に統一） */
.brs-lp__hero-brand {
	display: inline-block;
	margin: 0 0 18px;
	font-family: var(--brs-font-script);
	font-size: clamp(52px, 5vw, 76px);
	line-height: 1.2;
	letter-spacing: 0;
	transform: rotate(-8deg);
}

/* 体験料金・キャンペーンのボックス */
.brs-lp__hero-campaign {
	width: min(100%, 440px);
	margin: 0 auto 22px;
	overflow: hidden;
	border: 1.5px solid var(--dusty-pink);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--charcoal);
	text-shadow: none;
}

.brs-lp__hero-marquee {
	overflow: hidden;
	padding: 7px 0;
	background: var(--dusty-pink-dark);
	color: var(--white);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	white-space: nowrap;
}

.brs-lp__hero-marquee span {
	display: inline-block;
	padding-left: 100%;
	animation: brs-hero-marquee 14s linear infinite;
}

.brs-lp__hero-marquee i {
	display: inline-block;
	width: 3em;
}

@keyframes brs-hero-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-100%); }
}

.brs-lp__hero-prices {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 12px 8px 14px;
}

.brs-lp__hero-prices div {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.brs-lp__hero-prices div + div {
	border-left: 1px solid var(--dusty-pink-light);
}

.brs-lp__hero-prices dt {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--dusty-pink-dark);
}

.brs-lp__hero-prices dd {
	font-family: var(--brs-font-en);
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--dusty-pink-dark);
}

.brs-lp__hero-prices dd small {
	font-family: var(--brs-font);
	font-size: 16px;
	font-weight: 700;
	margin-left: 2px;
}

.brs-lp__hero-trainer {
	margin-top: 4px;
	font-size: 15.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.brs-lp__hero-trainer small {
	font-size: 0.7em;
	vertical-align: 0.35em;
	margin: 0 1px;
}

.brs-lp__hero-at {
	font-size: 12.5px;
	letter-spacing: 0.02em;
	opacity: 0.9;
}

/* PC表示のみ：FV直下の予約ボタン */
.brs-lp__hero-after {
	display: none;
}

@media (min-width: 1024px) {
	.brs-lp__hero-after {
		display: flex;
		justify-content: center;
		padding: 28px 0 8px;
	}

	.brs-lp__hero-after .brs-lp__btn {
		min-width: 460px;
	}
}

/* ---- ② 悩み：共感パネルの見出し ---- */
.brs-lp .brs-lp__worry-lead {
	line-height: 1.8;
}

/* ---- ③ メッセージブロック（悩み→解決策へ） ---- */
.brs-lp__message {
	margin: 0 auto 72px;
	text-align: center;
}

.brs-lp__message-title {
	font-family: var(--brs-font-serif);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.brs-lp__message-text {
	font-size: 17px;
	line-height: 2;
}

/* About：サービス構成・料金の表現 */
.brs-lp__about-points {
	margin-top: 32px;
	border-top: 1px solid var(--green-dark);
}

.brs-lp__about-points li {
	display: grid;
	grid-template-columns: 5.5em 1fr;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--beige-dark);
	font-weight: 700;
	line-height: 1.7;
}

.brs-lp__about-points span {
	font-size: 14px;
	color: var(--teal-dark);
}

.brs-lp__about-points small,
.brs-lp__service-line small {
	font-size: 0.72em;
	font-weight: 500;
}

/* ---- ③-2 通いやすさ：基本情報 → 女性トレーナー在籍 ---- */
.brs-lp__amenity-facts {
	max-width: 760px;
	margin: 56px auto 0;
	text-align: center;
}

.brs-lp__amenity-facts .brs-lp__facts {
	margin-top: 0;
	text-align: left;
}

.brs-lp__female {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	padding: 8px 24px;
	border: 1px solid var(--teal-dark);
	border-radius: 999px;
	font-family: var(--brs-font-serif);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--teal-dark);
	background: var(--white);
}

/* ---- ③-3 トレーナーレベル（統合版） ---- */
.brs-lp .brs-lp__label--wrap::before {
	content: "ー";
}

.brs-lp__level-body {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 40px;
	align-items: start;
	max-width: 1100px;
	margin: 0 auto;
}

/* 同じ写真を山下さんカードでも使うため、ここはトレーナーに寄せた縦長トリミング */
.brs-lp__level-figure {
	position: sticky;
	top: 40px;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 16px;
}

.brs-lp__level-figure img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 60% 15%;
	transform: scale(1.35);
	transform-origin: 62% 18%;
}

.brs-lp .brs-lp__level-list {
	grid-template-columns: 1fr;
	max-width: none;
	margin: 0;
	padding: 8px 40px 16px;
}

.brs-lp .brs-lp__level-item:nth-last-child(-n + 2) {
	border-bottom: 1px solid var(--beige-dark);
}

.brs-lp .brs-lp__level-item:last-child {
	border-bottom: 0;
}

.brs-lp .brs-lp__level-item {
	padding: 26px 0;
}

.brs-lp__level-price {
	margin-top: 8px;
	font-family: var(--brs-font-serif);
	font-size: 19px !important;
	font-weight: 700;
	color: var(--teal-dark);
}

.brs-lp__level-price span {
	font-size: 15px;
	font-weight: 500;
}

.brs-lp__level-close {
	margin-top: 64px;
	font-family: var(--brs-font-serif);
	font-size: clamp(22px, 2.3vw, 30px);
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.7;
	text-align: center;
	color: var(--teal-dark);
}

.brs-lp__level-close::before,
.brs-lp__level-close::after {
	content: "";
	display: inline-block;
	width: 40px;
	height: 1px;
	margin: 0 20px;
	background: var(--teal);
	vertical-align: middle;
}

/* ---- ④ 特徴：02の写真は他と同じ3:2に ---- */
.brs-lp__reason-item#brs-lp-feature-02 .brs-lp__reason-media img {
	object-position: 50% 60%;
}

/* ---- ④-2 トレーナー紹介：背景（特徴と続くため beige に） ---- */
.brs-lp .brs-lp__trainer {
	background: var(--beige);
}

.brs-lp .brs-lp__trainer .brs-lp__trainer-card {
	background: var(--white);
}

.brs-lp .brs-lp__trainer .brs-lp__trainer-qualify {
	background: var(--beige);
}

.brs-lp__trainer-scene {
	margin-top: 24px;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: 10px;
}

.brs-lp__trainer-scene img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 写真なしのカード（澤田さん）：写真を後から入れても崩れない構成 */
.brs-lp__trainer-card--nophoto .brs-lp__trainer-body {
	padding-top: 8px;
}

/* ---- ⑤ サービス：構成の表現／3項目の下段／美容鍼の料金 ---- */
.brs-lp__service-line {
	display: inline-block;
	margin-top: 28px;
	padding: 10px 28px;
	border-radius: 999px;
	background: var(--white);
	font-family: var(--brs-font-serif);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.7;
	color: var(--teal-dark);
}

.brs-lp__option-info {
	margin-top: 16px;
	padding: 14px 18px;
	border-radius: 8px;
	background: var(--white);
}

.brs-lp__option-info div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 0;
	font-size: 15px;
	line-height: 1.7;
}

.brs-lp__option-info dt {
	color: var(--teal-dark);
	font-weight: 700;
}

.brs-lp__option-info dd {
	font-weight: 700;
}

.brs-lp__course .brs-lp__option-info {
	background: var(--beige);
}

/* ---- ⑥ お客様の声：ERIKOさんの長文をゆったり ---- */
.brs-lp .brs-lp__voice-feature {
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
	max-width: 1080px;
	padding: 56px;
}

.brs-lp .brs-lp__voice-photo {
	position: sticky;
	top: 40px;
}

.brs-lp .brs-lp__voice-feature .brs-lp__voice-title {
	font-size: clamp(22px, 2.1vw, 28px);
	line-height: 1.7;
	margin-bottom: 28px;
}

.brs-lp__voice-feature-body > p:not(.brs-lp__voice-meta) {
	font-size: 16.5px;
	line-height: 2.15;
}

.brs-lp .brs-lp__voice-feature-body p + p {
	margin-top: 1.3em;
}

.brs-lp__voice-family {
	max-width: 320px;
	margin-top: 24px;
	overflow: hidden;
	border-radius: 12px;
}

.brs-lp__voice-family img {
	width: 100%;
}

/* ---- ⑥-2 流れ：タイトル横の所要時間 ---- */
.brs-lp__heading-note {
	display: inline-block;
	font-size: 0.6em;
	letter-spacing: 0.06em;
	color: var(--teal-dark);
}

/* ---- ⑥-3 比較（下部へ移動）：背景を白に ---- */
.brs-lp .brs-lp__compare {
	background: var(--white);
}

/* ---- ⑦ はじめての方へ（くすみピンクで周囲と差をつける） ---- */
.brs-lp .brs-lp__first {
	max-width: 760px;
	margin: 0 auto 88px;
	padding: 36px 48px 28px;
	border: 1.5px solid var(--dusty-pink);
	border-radius: 16px;
	background: var(--dusty-pink-light);
	text-align: center;
}

.brs-lp .brs-lp__first .brs-lp__campaign-title {
	font-size: 24px;
	color: var(--dusty-pink-dark);
	margin-bottom: 12px;
}

.brs-lp .brs-lp__first .brs-lp__campaign-list div {
	justify-content: center;
	gap: 24px;
	border-bottom-color: var(--dusty-pink);
}

.brs-lp .brs-lp__first .brs-lp__campaign-list dd {
	font-size: 20px;
	color: var(--dusty-pink-dark);
}

/* ---- ⑦ 料金・コース ---- */
.brs-lp__price-summary {
	margin: -12px 0 28px;
	font-weight: 700;
	color: var(--teal-dark);
}

.brs-lp__price-unit {
	font-family: var(--brs-font-serif);
	font-size: 22px;
	margin-right: 8px;
}

.brs-lp__price-time {
	margin-top: 8px;
	font-size: 15px;
}

.brs-lp__price-monthly {
	margin-top: 16px;
	padding: 14px 20px;
	border-radius: 10px;
	background: var(--white);
	font-family: var(--brs-font-serif);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
}

.brs-lp__price-monthly span {
	display: block;
	font-family: var(--brs-font);
	font-size: 14px;
	font-weight: 700;
	color: var(--teal-dark);
}

/* 一番人気の帯：くすみピンク */
.brs-lp .brs-lp__course-tag--popular {
	background: var(--dusty-pink-dark);
	color: var(--white);
}

/* ---- ⑨ CTA：アピール文 ---- */
.brs-lp__cta-appeal {
	margin-bottom: 24px;
	font-family: var(--brs-font-serif);
	font-size: clamp(18px, 1.8vw, 22px);
	line-height: 1.9;
	letter-spacing: 0.06em;
}

.brs-lp__cta-appeal strong {
	display: inline-block;
	margin-top: 6px;
	font-size: 1.15em;
	border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}

/* ---- ⑩-2 施設写真：正方形で横に流す ---- */
.brs-lp .brs-lp__space {
	background: var(--white);
}

.brs-lp .brs-lp__space .brs-lp__insta-track li {
	aspect-ratio: 1 / 1;
}

/* ---- フッター：本サイトと同じ紺色（波型も同色） ---- */
.brs-lp .brs-lp__footer {
	background: var(--brs-navy);
}

.brs-lp .brs-lp__footer-wave {
	fill: var(--brs-navy);
}

/* ---- 追従CTA：テキスト2行 ---- */
.brs-lp .brs-lp__float {
	flex-direction: column;
	font-size: 15px;
	line-height: 1.4;
}

.brs-lp .brs-lp__float small {
	font-size: 11.5px;
	margin-top: 2px;
}

/* ---- タブレット ---- */
@media (max-width: 1023px) {
	.brs-lp__level-body {
		grid-template-columns: 1fr;
	}

	.brs-lp__level-figure {
		position: relative;
		top: 0;
		aspect-ratio: 16 / 10;
		max-width: 640px;
		width: 100%;
		margin: 0 auto;
	}

	.brs-lp__level-figure img {
		transform: scale(1.15);
		object-position: 55% 25%;
	}

	.brs-lp .brs-lp__voice-feature {
		grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
		gap: 36px;
		padding: 40px;
	}
}

/* ---- スマートフォン ---- */
@media (max-width: 767px) {
	.brs-lp .brs-lp__hero-eyebrow {
		font-size: 14.5px;
	}

	.brs-lp .brs-lp__hero-title {
		font-size: 28px;
	}

	.brs-lp__hero-sub {
		font-size: 14px;
		letter-spacing: 0.04em;
	}

	.brs-lp__hero-brand {
		font-size: 50px;
		margin-bottom: 12px;
	}

	.brs-lp__hero-marquee {
		font-size: 13.5px;
	}

	.brs-lp__hero-prices dd {
		font-size: 34px;
	}

	.brs-lp__hero-trainer {
		font-size: 13.5px;
		letter-spacing: 0.02em;
	}

	.brs-lp__hero-at {
		font-size: 11.5px;
	}

	.brs-lp .brs-lp__btn {
		font-size: 17px;
	}

	.brs-lp__message {
		margin-bottom: 48px;
	}

	.brs-lp__message-title {
		font-size: 26px;
	}

	.brs-lp__message-text {
		font-size: 15px;
	}

	.brs-lp__about-points li {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.brs-lp__amenity-facts {
		margin-top: 40px;
	}

	.brs-lp__female {
		font-size: 15.5px;
	}

	.brs-lp .brs-lp__level-list {
		padding: 4px 20px 12px;
	}

	.brs-lp__level-figure {
		aspect-ratio: 4 / 3;
	}

	.brs-lp__level-close {
		margin-top: 40px;
		font-size: 19px;
	}

	.brs-lp__level-close::before,
	.brs-lp__level-close::after {
		display: none;
	}

	.brs-lp__service-line {
		font-size: 15px;
		padding: 10px 18px;
		border-radius: 16px;
	}

	.brs-lp .brs-lp__voice-feature {
		grid-template-columns: 1fr;
		padding: 24px 20px 32px;
	}

	.brs-lp .brs-lp__voice-photo {
		position: relative;
		top: 0;
	}

	.brs-lp .brs-lp__voice-feature .brs-lp__voice-title {
		font-size: 20px;
		margin-bottom: 20px;
	}

	.brs-lp__voice-feature-body > p:not(.brs-lp__voice-meta) {
		font-size: 15.5px;
		line-height: 2.05;
	}

	.brs-lp__voice-family {
		max-width: 100%;
	}

	.brs-lp .brs-lp__first {
		padding: 28px 20px 20px;
		margin-bottom: 64px;
	}

	.brs-lp .brs-lp__first .brs-lp__campaign-list div {
		align-items: center;
	}

	.brs-lp .brs-lp__first .brs-lp__campaign-list dd {
		text-align: center;
	}

	.brs-lp__price-monthly {
		font-size: 19px;
	}

	.brs-lp__cta-appeal {
		text-align: left;
		font-size: 17px;
	}
}

@media (prefers-reduced-motion: reduce) {
	/* 動きを止め、先頭の「10月限定キャンペーン開催中！」だけを中央に表示 */
	.brs-lp__hero-marquee {
		text-align: center;
	}

	.brs-lp__hero-marquee span {
		display: block;
		max-width: 15em;
		margin: 0 auto;
		padding-left: 0;
		overflow: hidden;
		animation: none;
	}
}

/* ==========================================================================
   2026-09 改修⑤：サービス2列化／基本情報4項目／一番人気の強調／FV直下ボタン
   ========================================================================== */

/* ---- サービス：左列（01・03・05）／右列（02・04）で等間隔に並べる ---- */
.brs-lp__service-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
	align-items: start;
}

.brs-lp__service-col {
	display: flex;
	flex-direction: column;
	gap: 96px;
}

.brs-lp__service-col--offset {
	margin-top: 112px;
}

.brs-lp .brs-lp__service-cols .brs-lp__service-subitem {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

/* ---- 通いやすさ：基本情報を4項目（女性トレーナー在籍を同じ並びで少しだけ強調） ---- */
.brs-lp .brs-lp__facts--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.brs-lp .brs-lp__facts--4 .is-female dt {
	color: var(--teal-dark);
}

.brs-lp .brs-lp__facts--4 .is-female dd {
	color: var(--teal-dark);
}

.brs-lp .brs-lp__facts--4 .is-female dd::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin: 0 8px 0 0;
	border-radius: 50%;
	background: var(--teal);
	vertical-align: 0.2em;
}

/* ---- 料金：コンディショニングコース（一番人気）をくすみピンクの枠で強調 ---- */
.brs-lp .brs-lp__course li.is-popular {
	margin: 12px 0;
	padding: 22px 24px;
	border: 1.5px solid var(--dusty-pink);
	border-radius: 12px;
	background: var(--dusty-pink-light);
}

.brs-lp .brs-lp__course li.is-popular .brs-lp__course-name {
	font-size: 21px;
	color: var(--charcoal);
}

.brs-lp .brs-lp__course li.is-popular .brs-lp__course-detail {
	margin-top: 8px;
	font-size: 17px;
	font-weight: 700;
	color: var(--dusty-pink-dark);
}

.brs-lp .brs-lp__course li.is-popular .brs-lp__course-tag--popular {
	padding: 3px 14px;
	font-size: 14px;
}

/* ---- FV直下の予約ボタン（PCのみ）：MV内のボタンと差をつけた横長の大きなボタン ---- */
.brs-lp .brs-lp__cta-banner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	width: min(100%, 720px);
	padding: 20px 96px 22px;
	border-radius: 16px;
	background: var(--dusty-pink-dark);
	box-shadow: 0 16px 36px -18px rgba(160, 97, 106, 0.8);
	color: var(--white);
	text-align: center;
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.brs-lp .brs-lp__cta-banner:hover {
	background: #8c5059;
	transform: translateY(-2px);
	color: var(--white);
}

.brs-lp__cta-banner-lead {
	display: inline-block;
	padding: 2px 16px;
	border-radius: 999px;
	background: var(--white);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.8;
	color: var(--dusty-pink-dark);
}

.brs-lp__cta-banner-main {
	font-family: var(--brs-font-serif);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.brs-lp__cta-banner-main small {
	font-family: var(--brs-font);
	font-size: 17px;
	letter-spacing: 0.04em;
	margin-left: 4px;
}

.brs-lp__cta-banner-arrow {
	position: absolute;
	top: 50%;
	right: 32px;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	border-radius: 50%;
	background: var(--white);
}

.brs-lp__cta-banner-arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	margin: -5px 0 0 -7px;
	border-top: 2px solid var(--dusty-pink-dark);
	border-right: 2px solid var(--dusty-pink-dark);
	transform: rotate(45deg);
}

/* ---- タブレット ---- */
@media (max-width: 1023px) {
	.brs-lp__service-cols {
		gap: 32px;
	}

	.brs-lp .brs-lp__facts--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.brs-lp .brs-lp__facts--4 div:nth-child(3) {
		padding-left: 0;
		border-left: 0;
	}
}

/* ---- スマートフォン：01〜05 の順で1列 ---- */
@media (max-width: 767px) {
	.brs-lp__service-cols {
		grid-template-columns: 1fr;
		gap: 56px;
	}

	.brs-lp__service-col {
		display: contents;
	}

	.brs-lp__service-col--offset {
		margin-top: 0;
	}

	.brs-lp__service-cols article {
		order: var(--o);
	}

	.brs-lp .brs-lp__course li.is-popular {
		padding: 18px 16px;
	}

	.brs-lp .brs-lp__course li.is-popular .brs-lp__course-name {
		font-size: 18.5px;
	}

	.brs-lp .brs-lp__course li.is-popular .brs-lp__course-detail {
		font-size: 15.5px;
	}
}

/* 基本情報4項目：「女性トレーナー在籍」が1行に収まる幅に */
.brs-lp .brs-lp__amenity-facts {
	max-width: 980px;
}

.brs-lp .brs-lp__facts--4 dd {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.brs-lp .brs-lp__facts--4 .is-female dd {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	/* 美容鍼の料金・所要時間：項目名と内容を上下に */
	.brs-lp .brs-lp__option-info div {
		flex-direction: column;
		gap: 0;
	}
}

/* ==========================================================================
   2026-09 改修⑥：MVキャンペーン表記（取り消し線）／写真キャプション／フッター
   ========================================================================== */

/* ---- MV：体験・入会金（取り消し線の旧価格 → 新価格） ---- */
.brs-lp .brs-lp__hero-prices--strike dd {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: baseline;
	gap: 0 6px;
	font-family: var(--brs-font);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.brs-lp .brs-lp__hero-prices--strike s {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--charcoal);
}

.brs-lp .brs-lp__hero-arrow {
	font-size: 13px;
	color: var(--charcoal);
}

.brs-lp .brs-lp__hero-prices--strike strong {
	flex-basis: 100%;
	font-weight: 700;
	color: var(--dusty-pink-dark);
}

.brs-lp .brs-lp__hero-prices--strike em {
	font-family: var(--brs-font-en);
	font-size: 34px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 2px;
}

.brs-lp .brs-lp__hero-prices--strike div:first-child em {
	font-family: var(--brs-font);
	font-size: 22px;
}

.brs-lp .brs-lp__hero-campaign-note {
	margin: 0;
	padding: 0 14px 12px;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: var(--charcoal);
	text-align: center;
}

/* ---- About：写真のすぐ下にキャプション（トリミング枠は画像側に移動） ---- */
.brs-lp .brs-lp__split-media {
	aspect-ratio: auto;
	overflow: visible;
	border-radius: 0;
}

.brs-lp .brs-lp__split-media img {
	aspect-ratio: 4 / 5;
	height: auto;
	border-radius: var(--brs-radius);
}

.brs-lp .brs-lp__split-caption {
	margin-top: 12px;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	color: var(--charcoal);
}

@media (max-width: 767px) {
	.brs-lp .brs-lp__split-media img {
		aspect-ratio: 4 / 3.3;
	}

	.brs-lp .brs-lp__split-caption {
		font-size: 12px;
	}

	/* 「選ばれる理由は、“本物の実績”にあります。」：スマホのみ26px */
	.brs-lp .brs-lp__level-close {
		font-size: 26px;
		letter-spacing: 0.02em;
	}

	.brs-lp .brs-lp__hero-prices--strike em {
		font-size: 30px;
	}

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

/* ==========================================================================
   2026-09 改修⑦：MVスライドショー／サブコピー／基本情報／アートメイク／山下さん写真2枚
   ========================================================================== */

/* ---- MVスライドショー：写真を重ねてフェードで切り替え ---- */
.brs-lp .brs-lp__hero-media img {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 1.4s ease;
}

.brs-lp .brs-lp__hero-media img.is-active {
	opacity: 1;
}

/* 2枚目（山下さん）：PCは山下さんを左側に置き、右側の文字と重ならないようにする */
.brs-lp .brs-lp__hero-media .brs-lp__hero-slide--yamashita {
	object-position: 40% 0;
}

/* ---- MVサブコピー：PC 20px ---- */
.brs-lp .brs-lp__hero-eyebrow {
	font-size: 20px;
}

/* ---- 基本情報：「空間」は2行で表示 ---- */
.brs-lp .brs-lp__facts--4 .is-space dd {
	white-space: normal;
	line-height: 1.6;
}

/* ---- アートメイク：背景写真が見えるよう、かぶせる色を薄く ---- */
.brs-lp .brs-lp__partner-box::before {
	background: linear-gradient(90deg, rgba(234, 242, 250, 0.9) 0%, rgba(234, 242, 250, 0.72) 42%, rgba(214, 231, 246, 0.12) 100%);
}

/* ---- 山下さん：下部の写真2枚 ---- */
.brs-lp .brs-lp__trainer-scene + .brs-lp__trainer-scene {
	margin-top: 12px;
}

@media (max-width: 767px) {
	/* MVサブコピー：スマホ 16px */
	.brs-lp .brs-lp__hero-eyebrow {
		font-size: 16px;
	}

	.brs-lp .brs-lp__hero-media img {
		width: 100%;
		height: 100%;
	}

	/* 2枚目：スマホは山下さんを中心に */
	.brs-lp .brs-lp__hero-media .brs-lp__hero-slide--yamashita {
		object-position: 30% 0;
	}

	.brs-lp .brs-lp__partner-box::before {
		background: linear-gradient(180deg, rgba(234, 242, 250, 0.9) 0%, rgba(234, 242, 250, 0.7) 100%);
	}
}

/* ==========================================================================
   2026-09 改修⑧：新ロゴ／アクセス／料金ボックス／改行調整／スマホMVボタン
   ========================================================================== */

/* 意味のまとまりの途中で改行させない */
.brs-lp .brs-lp__nowrap {
	display: inline-block;
	white-space: nowrap;
}

/* ---- ロゴ（BRS Beauty_logo：縦横比 約1.41） ---- */
.brs-lp .brs-lp__hero-logo {
	width: clamp(104px, 8.6vw, 136px);
}

.brs-lp .brs-lp__footer-logo {
	width: 120px;
}

/* ---- 見出しタグに変えた箇所：見た目は従来どおり ---- */
.brs-lp h2.brs-lp__partner-name,
.brs-lp h3.brs-lp__course-name {
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.6;
}

.brs-lp h3.brs-lp__course-name {
	font-family: var(--brs-font);
	letter-spacing: 0.04em;
}

/* ---- About：サービス・料金の値（ラベル以外の span は本文と同じ見た目） ---- */
.brs-lp .brs-lp__about-points li > p {
	margin: 0;
}

.brs-lp .brs-lp__about-points li > p span {
	font-size: inherit;
	color: inherit;
}

/* ---- 店舗情報：アクセス ---- */
.brs-lp .brs-lp__access {
	margin-top: 40px;
	padding: 40px 48px 44px;
	border-radius: 16px;
	background: var(--white);
}

.brs-lp .brs-lp__access-title {
	margin: 0 0 28px;
	font-family: var(--brs-font-serif);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	color: var(--teal-dark);
}

.brs-lp .brs-lp__access-grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 40px;
	align-items: start;
}

.brs-lp .brs-lp__access-station {
	margin: 0;
}

.brs-lp .brs-lp__access-station div {
	padding: 16px 20px;
	border-radius: 10px;
	background: var(--teal-light);
}

.brs-lp .brs-lp__access-station div + div {
	margin-top: 12px;
}

.brs-lp .brs-lp__access-station dt {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--teal-dark);
}

.brs-lp .brs-lp__access-station dd {
	margin: 2px 0 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.brs-lp .brs-lp__access-points {
	margin: 0;
	padding: 0;
	list-style: none;
}

.brs-lp .brs-lp__access-points li {
	display: grid;
	grid-template-columns: 6.5em 1fr;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px dashed var(--beige-dark);
	font-size: 15px;
	line-height: 1.9;
}

.brs-lp .brs-lp__access-points li:first-child {
	padding-top: 0;
}

.brs-lp .brs-lp__access-points li:last-child {
	border-bottom: 0;
}

.brs-lp .brs-lp__access-points span {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 2.2;
	color: var(--teal-dark);
}

/* ---- MV 料金ボックス：項目名 → 元価格（小）→ 新価格（大）の順に縦に並べる ---- */
.brs-lp .brs-lp__hero-prices--strike {
	padding: 14px 8px 12px;
}

.brs-lp .brs-lp__hero-prices--strike dt {
	margin-bottom: 4px;
	font-size: 15px;
}

.brs-lp .brs-lp__hero-prices--strike dd {
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.brs-lp .brs-lp__hero-old {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--charcoal);
	opacity: 0.85;
}

.brs-lp .brs-lp__hero-prices--strike s {
	font-size: inherit;
}

.brs-lp .brs-lp__hero-prices--strike strong {
	flex-basis: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.2;
}

.brs-lp .brs-lp__hero-prices--strike strong small {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

/* 「無料」「0円」を大きく */
.brs-lp .brs-lp__hero-prices--strike em,
.brs-lp .brs-lp__hero-prices--strike div:first-child em {
	font-family: var(--brs-font-serif);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.brs-lp .brs-lp__hero-prices--strike div:last-child strong {
	flex-direction: row;
	align-items: baseline;
	font-size: 16px;
}

.brs-lp .brs-lp__hero-prices--strike div:last-child em {
	font-family: var(--brs-font-en);
	font-size: 44px;
	font-weight: 600;
	line-height: 1;
	margin-right: 2px;
}

/* 注意書き：最下部に小さく */
.brs-lp .brs-lp__hero-campaign-note {
	margin: 0 14px;
	padding: 8px 0 10px;
	border-top: 1px solid var(--dusty-pink-light);
	font-size: 11px;
	line-height: 1.6;
}

/* ---- MV：トレーナー訴求 ---- */
.brs-lp .brs-lp__hero-at {
	line-height: 1.7;
}

@media (max-width: 767px) {
	/* ---- メッセージ：「自分を大切にする時間を。」を1行で ---- */
	.brs-lp .brs-lp__message-title {
		font-size: 24px;
		letter-spacing: 0.06em;
	}

	/* ---- MV：予約ボタンはくすみピンクで背景（ティール）と区別 ---- */
	.brs-lp .brs-lp__hero-action .brs-lp__btn--primary {
		background: var(--dusty-pink-dark);
		box-shadow: 0 10px 24px -12px rgba(60, 20, 30, 0.6);
		color: var(--white);
	}

	/* ---- MV：トレーナー訴求を意味のまとまりで2行に、注釈は別行で ---- */
	.brs-lp .brs-lp__hero-trainer {
		font-size: 14.5px;
		line-height: 1.7;
	}

	.brs-lp .brs-lp__hero-trainer-sep {
		display: none;
	}

	.brs-lp .brs-lp__hero-at {
		font-size: 12px;
		line-height: 1.7;
	}

	/* ---- MV 料金ボックス ---- */
	.brs-lp .brs-lp__hero-prices--strike {
		padding: 12px 4px 10px;
	}

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

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

	.brs-lp .brs-lp__hero-old {
		font-size: 13px;
	}

	.brs-lp .brs-lp__hero-campaign-note {
		margin: 0 12px;
		font-size: 11px;
		text-align: left;
	}

	/* ---- アクセス ---- */
	.brs-lp .brs-lp__access {
		margin-top: 28px;
		padding: 28px 20px 24px;
	}

	.brs-lp .brs-lp__access-title {
		margin-bottom: 20px;
		font-size: 19px;
	}

	.brs-lp .brs-lp__access-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.brs-lp .brs-lp__access-station dd {
		font-size: 16.5px;
	}

	.brs-lp .brs-lp__access-points li {
		grid-template-columns: 1fr;
		gap: 2px;
		font-size: 14.5px;
	}

	.brs-lp .brs-lp__access-points span {
		line-height: 1.6;
	}
}

/* ==========================================================================
   2026-09 改修⑨：MV料金ボックスの高さ揃え／特徴目次の矢印位置
   ========================================================================== */

/* ---- MV料金ボックス：2列の下端（「無料」と「0円」）を揃える ---- */
.brs-lp .brs-lp__hero-prices--strike div {
	justify-content: flex-start;
}

.brs-lp .brs-lp__hero-prices--strike dd {
	flex: 1;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-content: flex-end;
	align-items: baseline;
	gap: 2px 6px;
}

.brs-lp .brs-lp__hero-prices--strike .brs-lp__hero-old {
	opacity: 1;
}

/* 体験：「3,300円 → 当日ご入会で」の下に「無料」（PC） */
.brs-lp .brs-lp__hero-prices--strike div:first-child strong {
	display: contents;
}

.brs-lp .brs-lp__hero-prices--strike div:first-child strong small {
	color: var(--dusty-pink-dark);
}

.brs-lp .brs-lp__hero-prices--strike div:first-child em {
	flex-basis: 100%;
	text-align: center;
	color: var(--dusty-pink-dark);
}

/* 入会金：「22,000円 → 0円」を1行に */
.brs-lp .brs-lp__hero-prices--strike div:last-child strong {
	display: inline-flex;
}

@media (max-width: 767px) {
	/* スマホ：元価格を上段、「当日ご入会で無料」「0円」を下段に横並び */
	.brs-lp .brs-lp__hero-prices--strike .brs-lp__hero-old {
		flex-basis: 100%;
		justify-content: center;
	}

	.brs-lp .brs-lp__hero-prices--strike div:first-child em {
		flex-basis: auto;
	}

	/* ---- 特徴の目次：矢印を右端で縦一列に揃える ---- */
	.brs-lp .brs-lp__reason-index a {
		flex: 1;
		width: 100%;
	}
}

@media (max-width: 767px) {
	/* 悩み：「仕事の事・家族の事が最優先で、」を1行に収める */
	.brs-lp .brs-lp__worry-lead {
		font-size: 19px;
		letter-spacing: 0.04em;
	}
}

/* ==========================================================================
   2026-09 改修⑩：MV料金ボックス（PCもスマホと同じ2段）／店名の書体
   ========================================================================== */

/* ---- 料金ボックス：元価格 → を上段、「当日ご入会で無料」「0円」を下段に（PC・スマホ共通） ---- */
.brs-lp .brs-lp__hero-prices--strike .brs-lp__hero-old {
	flex-basis: 100%;
	justify-content: center;
}

.brs-lp .brs-lp__hero-prices--strike div:first-child em {
	flex-basis: auto;
}

/* ---- 店名「BRS Beauty」：ロゴの「- Beauty -」に合わせた、字間の広い上品なセリフ体 ---- */
.brs-lp .brs-lp__hero-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 6px 0 22px;
	font-family: var(--brs-font-en);
	font-size: clamp(34px, 3vw, 44px);
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.2;
	transform: none;
}

.brs-lp .brs-lp__hero-brand::before,
.brs-lp .brs-lp__hero-brand::after {
	content: "";
	width: 22px;
	height: 1px;
	background: currentColor;
	opacity: 0.8;
}

/* 字間の分だけ右に寄って見えるのを補正 */
.brs-lp .brs-lp__hero-brand::after {
	margin-left: -0.16em;
}

@media (max-width: 767px) {
	.brs-lp .brs-lp__hero-brand {
		gap: 12px;
		margin: 4px 0 16px;
		font-size: 30px;
		letter-spacing: 0.12em;
	}

	.brs-lp .brs-lp__hero-brand::before,
	.brs-lp .brs-lp__hero-brand::after {
		width: 16px;
	}
}

/* 上段（元価格）・下段（新価格）の高さを2列で揃える */
.brs-lp .brs-lp__hero-prices--strike dd {
	display: grid;
	grid-template-rows: auto 48px;
	justify-items: center;
	align-content: end;
	row-gap: 4px;
}

.brs-lp .brs-lp__hero-prices--strike div:first-child strong,
.brs-lp .brs-lp__hero-prices--strike div:last-child strong {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	align-self: end;
	gap: 2px;
}

.brs-lp .brs-lp__hero-prices--strike em,
.brs-lp .brs-lp__hero-prices--strike div:first-child em,
.brs-lp .brs-lp__hero-prices--strike div:last-child em {
	line-height: 1;
}

@media (max-width: 767px) {
	.brs-lp .brs-lp__hero-prices--strike dd {
		grid-template-rows: auto 42px;
	}
}

/* ---- 予約フォーム：テーマ側の float を解除し、送信ボタンを枠内（上側）に収める ---- */
.brs-lp .brs-lp__form .wpcf7-submit {
	float: none;
}

.brs-lp .brs-form__submit::after {
	content: "";
	display: block;
	clear: both;
}

@media (max-width: 767px) {
	.brs-lp .brs-form__submit {
		margin-top: 32px;
	}
}

@media (max-width: 767px) {
	/* CTA本文：意味のまとまりごとの4行に収める */
	.brs-lp .brs-lp__cta-text {
		font-size: 14px;
		letter-spacing: 0;
		line-height: 1.9;
	}
}

/* ---- トレーナー紹介：縦長写真を下部の横長枠（3:2）に入れるときは顔が入る位置で切り抜く ---- */
.brs-lp .brs-lp__trainer-scene--portrait img {
	object-position: 50% 22%;
}
/* reCAPTCHA 表記 */
.brs-lp__recaptcha-note {
  margin: 12px 0 0;
  font-size: 11px;
  line-height: 1.6;
  color: #888;
  text-align: center;
}
.brs-lp__recaptcha-note a {
  color: inherit;
  text-decoration: underline;
}
.brs-lp__recaptcha-note a:hover {
  opacity: 0.7;
}

/* 画面右下の reCAPTCHA バッジを非表示にする場合のみ追加 */
.grecaptcha-badge {
  visibility: hidden;
}


/* 特徴が6項目になったため、目次を3列×2段にする（PC・タブレット。スマホは1列のまま） */
@media (min-width: 768px) {
  .brs-lp .brs-lp__reason-index {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
}