/* ========================================
   施術事例（seitai / biyou）
======================================== */

/* セクション区切り：主要ブロックの境目を罫線＋余白ではっきりさせる。
   「linked」表示（アイキャッチ直下に続くBefore/After）と、
   すでに自前の背景ボックスを持つセクションは対象外。 */
.sr-case-ba:not(.sr-case-ba--linked),
.sr-case-stats,
.sr-case-voice,
.sr-case-cvoice,
.sr-related,
.sr-case__shop{
	padding-top: clamp(2.5rem, 5vw, 3.5rem);
	border-top: 1px solid var(--sr-border);
}

.sr-case__header{
	margin-bottom: 1.25rem;
}

.sr-case-meta{
	margin: 0 0 1.25rem;
	padding: 1rem 1.25rem;
	background: var(--sr-bg-soft);
	border-left: 3px solid var(--sr-accent);
}

.sr-case-meta + .sr-case__thumb,
.sr-case-meta + .sr-case-visual{
	margin-top: 0;
}

.sr-case__thumb{
	margin: 0 0 clamp(2rem, 4vw, 2.75rem);
	overflow: hidden;
}

.sr-case-visual{
	margin: 0 0 clamp(2rem, 4vw, 2.75rem);
}

.sr-case-visual .sr-case__thumb{
	margin-bottom: 0;
}

.sr-case-visual .sr-case-ba{
	margin-bottom: 0;
}

.sr-case__thumb img{
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 3 / 3.7;
	object-fit: contain;
	background: var(--sr-bg-soft);
}

.sr-case__content{
	margin: clamp(2rem, 4vw, 2.75rem) 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	background: var(--sr-bg-soft);
}

.sr-case__shop{
	margin: clamp(2.5rem, 5vw, 3.5rem) 0 0;
}

.sr-case__shop-heading{
	margin-bottom: 1.25rem;
}

/* 事例概要（タイトル・症状/メニュー・属性・お客様写真をひとまとまりに）。
   お客様写真はBefore/Afterより控えめな中サイズにとどめる。 */
.sr-case-overview{
	margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.sr-case-overview__header{
	margin-bottom: 1.25rem;
}

.sr-case-overview__catch{
	margin: -.5rem 0 1.5rem;
	font-size: clamp(1.0625rem, 2.2vw, 1.25rem);
	font-weight: 700;
	line-height: 1.7;
	color: var(--sr-accent);
}

.sr-case-overview .sr-case-meta{
	margin-bottom: 1.5rem;
}

.sr-case-overview__photo{
	max-width: 46rem;
	margin: 0 auto;
	overflow: hidden;
	background: var(--sr-bg-soft);
	border-radius: var(--sr-radius);
}

.sr-case-overview__photo img{
	width: 100%;
	height: auto;
	display: block;
}

/* 変化した数値：Before/Afterと本文の間に置く独立セクション。
   数値を主役にし、ラベルは控えめに。 */
.sr-case-stats{
	margin: 0 0 clamp(2rem, 4vw, 2.75rem);
}

.sr-case-stats__heading{
	margin-bottom: 1.25rem;
}

.sr-case-stats__grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	margin: 0;
	border: 1px solid var(--sr-border);
}

@media (min-width: 640px){
	.sr-case-stats__grid{
		grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	}
}

.sr-case-stats__item{
	padding: 1.25rem 1rem;
	background: #fff;
	text-align: center;
	box-shadow: 0 0 0 .5px var(--sr-border);
}

.sr-case-stats__label{
	margin: 0 0 .4rem;
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .04em;
	color: var(--sr-text-muted);
}

.sr-case-stats__value{
	margin: 0;
	font-size: clamp(1.125rem, 2.5vw, 1.5rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--sr-accent);
}

/* Before / After（美容のみ） */
.sr-case-ba{
	margin: 0 0 clamp(2rem, 4vw, 2.75rem);
}

.sr-case-ba__intro{
	display: grid;
	justify-items: center;
	gap: .35rem;
	margin: 0 0 1.25rem;
	padding: 1.25rem 0 .25rem;
	text-align: center;
}

.sr-case-ba--linked .sr-case-ba__intro{
	position: relative;
	margin-top: 0;
	padding: 1.75rem 0 1.35rem;
}

.sr-case-ba--linked .sr-case-ba__intro::before{
	content: "";
	display: block;
	width: 1px;
	height: 1.5rem;
	margin: 0 auto .85rem;
	background: var(--sr-accent);
}

.sr-case-ba__intro-en{
	margin: 0;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--sr-accent);
}

.sr-case-ba__intro-ja{
	margin: 0;
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--sr-text);
}

.sr-case-ba--linked .sr-case-ba__images{
	padding: 1.25rem;
	background: var(--sr-bg-soft);
}

.sr-case-ba__images{
	display: grid;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

@media (min-width: 768px){
	.sr-case-ba__images{
		grid-template-columns: 1fr 1fr;
	}
}

.sr-case-ba__figure{
	margin: 0;
	position: relative;
	overflow: hidden;
	background: var(--sr-bg-soft);
	box-shadow: var(--sr-shadow);
}

.sr-case-ba__figure img{
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.sr-case-ba__caption{
	position: absolute;
	left: .75rem;
	bottom: .75rem;
	margin: 0;
	padding: .35em .85em;
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(41, 41, 37, .75);
}

.sr-case-ba__figure--after .sr-case-ba__caption{
	background: #E68E9C;
}

.sr-case-ba__stats{
	display: grid;
	gap: .75rem;
	margin: 0;
}

@media (min-width: 600px){
	.sr-case-ba__stats{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 960px){
	.sr-case-ba__stats{
		grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
	}
}

.sr-case-ba__stat{
	padding: 1rem 1.15rem;
	background: #fff;
	border: 1px solid var(--sr-border);
	box-shadow: var(--sr-shadow);
}

.sr-case-ba__stat-label{
	margin: 0 0 .35rem;
	font-size: .6875rem;
	font-weight: 600;
	color: var(--sr-accent);
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sr-case-ba__stat-value{
	margin: 0;
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--sr-text);
}

/* Before/After：繰り返しセット（1セット＝画像＋タイトル＋キャプション。
   合成済み1枚画像がそのまま来ることも多いので、枚数に関わらず
   1枚あたりの表示幅を確保できるよう auto-fit で組む） */
.sr-case-ba__sets{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.75rem;
}

@media (min-width: 640px){
	.sr-case-ba__sets{
		grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
	}

	.sr-case-ba__sets--single{
		grid-template-columns: minmax(0, 42rem);
		justify-content: center;
	}
}

.sr-case-ba__set{
	margin: 0;
	background: #fff;
	border: 1px solid var(--sr-border);
	box-shadow: var(--sr-shadow);
	transition: box-shadow .25s, transform .25s;
}

/* タイトル・キャプションが無い（合成済み1枚画像など、それ自体で完結する）場合は
   余計な枠を足さず、写真そのものを主役にする */
.sr-case-ba__set--plain{
	background: none;
	border: none;
	box-shadow: none;
}

@media (prefers-reduced-motion: no-preference){
	.sr-case-ba__set:hover{
		box-shadow: var(--sr-shadow-hover, 0 12px 40px rgba(41, 41, 37, .1));
		transform: translateY(-2px);
	}
}

.sr-case-ba__set-photo{
	position: relative;
	display: block;
	background: var(--sr-bg-soft);
	line-height: 0;
	cursor: zoom-in;
}

.sr-case-ba__set-photo img{
	width: 100%;
	height: auto;
	display: block;
}

.sr-case-ba__set-body{
	padding: 1rem 1.15rem 1.25rem;
}

.sr-case-ba__set-title{
	margin: 0 0 .35rem;
	font-size: .9375rem;
	font-weight: 700;
	color: var(--sr-text);
}

.sr-case-ba__set-caption{
	margin: 0;
	font-size: .9375rem;
	line-height: 1.8;
	color: var(--sr-text-muted);
}

/* Before/After を対（Before写真＋After写真の2枚）で見せるとき。
   1枚合成画像より横幅が要るので、グリッドの列に収めず常に全幅で1行にする。 */
.sr-case-ba__set--pair{
	grid-column: 1 / -1;
}

.sr-case-ba__pair{
	display: flex;
	align-items: center;
	gap: 0;
}

.sr-case-ba__pair-photo{
	position: relative;
	display: block;
	flex: 1 1 0;
	min-width: 0;
	background: var(--sr-bg-soft);
	line-height: 0;
	cursor: zoom-in;
	overflow: hidden;
}

.sr-case-ba__pair-photo img{
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	aspect-ratio: 3 / 4;
	transition: transform .4s;
}

@media (prefers-reduced-motion: no-preference){
	.sr-case-ba__pair-photo:hover img{
		transform: scale(1.04);
	}
}

.sr-case-ba__tag{
	position: absolute;
	left: .75rem;
	bottom: .75rem;
	z-index: 1;
	padding: .35em 1em;
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(41, 41, 37, .78);
}

.sr-case-ba__tag--after{
	left: auto;
	right: .75rem;
	background: var(--sr-accent);
}

/* 2枚をつなぐ矢印（→ を3本の山形で表現） */
.sr-case-ba__pair-arrow{
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: .15rem;
	width: clamp(2.5rem, 5vw, 4rem);
	align-self: stretch;
	background: var(--sr-bg-soft);
}

.sr-case-ba__pair-arrow span{
	width: .5rem;
	height: .5rem;
	border-top: 2px solid var(--sr-accent);
	border-right: 2px solid var(--sr-accent);
	transform: rotate(45deg);
	opacity: .45;
}

.sr-case-ba__pair-arrow span:nth-child(2){
	opacity: .7;
}

.sr-case-ba__pair-arrow span:nth-child(3){
	opacity: 1;
}

@media (max-width: 639px){
	.sr-case-ba__pair{
		flex-direction: column;
		align-items: stretch;
	}

	.sr-case-ba__pair-photo{
		flex: 0 0 auto;
	}

	.sr-case-ba__pair-photo img{
		aspect-ratio: 4 / 3;
	}

	.sr-case-ba__pair-arrow{
		width: auto;
		height: clamp(2.25rem, 8vw, 3rem);
		align-self: stretch;
	}

	.sr-case-ba__pair-arrow span{
		transform: rotate(135deg);
	}
}

/* 美容ページ：写真そのものを主役にし、影・太い枠線・濃い背景は避けて
   白背景・淡いピンク・余白・細いラインの既存トンマナに寄せる。
   1セットのみのとき（合成済み1枚が多い）は少し大きく見せる。 */
.is-site-biyou .sr-case-ba__set{
	box-shadow: none;
	border: 1px solid var(--sr-border);
}

@media (prefers-reduced-motion: no-preference){
	.is-site-biyou .sr-case-ba__set:hover{
		box-shadow: none;
		transform: none;
	}
}

.is-site-biyou .sr-case-ba__tag,
.is-site-biyou .sr-case-ba__caption{
	display: none;
}

@media (min-width: 640px){
	.is-site-biyou .sr-case-ba__sets--single{
		grid-template-columns: minmax(0, 46rem);
	}
}

/* お客様の声（手書き画像 + テキスト） */
.sr-case-cvoice{
	margin: 0 0 clamp(2rem, 4vw, 2.75rem);
}

.sr-case-cvoice__heading{
	margin-bottom: 1.25rem;
}

.sr-case-cvoice__images{
	display: grid;
	gap: 1rem;
	margin: 0 0 1.5rem;
}

.sr-case-cvoice__images.is-single{
	grid-template-columns: minmax(0, 28rem);
}

/* スライダー（2件以上：SPは1枚、PCは2枚+3枚目を半分見せる） */
.sr-case-cvoice__slider{
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: .5rem .65rem;
	margin: 0 0 1.5rem;
}

.sr-case-cvoice__slider.is-single-page{
	grid-template-columns: minmax(0, 1fr);
}

.sr-case-cvoice__slider.is-single-page .sr-case-cvoice__nav{
	display: none;
}

.sr-case-cvoice__viewport{
	min-width: 0;
	overflow: hidden;
}

.sr-case-cvoice__track{
	display: flex;
	gap: 1rem;
	outline: none;
	transform: translate3d(0, 0, 0);
	transition: transform .35s ease;
	will-change: transform;
}

@media (prefers-reduced-motion: reduce){
	.sr-case-cvoice__track{
		transition: none;
	}
}

.sr-case-cvoice__slide{
	flex: 0 0 100%;
	max-width: 100%;
	min-width: 0;
}

@media (min-width: 768px){
	.sr-case-cvoice__slide{
		flex: 0 0 calc(50% - .5rem);
		max-width: calc(50% - .5rem);
	}
}

.sr-case-cvoice__nav{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 1px solid var(--sr-border);
	border-radius: 50%;
	background: #fff;
	color: var(--sr-text, #292925);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: var(--sr-shadow);
	transition: background .2s, color .2s, border-color .2s, opacity .2s;
}

.sr-case-cvoice__nav:hover:not(:disabled){
	background: var(--sr-accent, #D3CE33);
	border-color: var(--sr-accent, #D3CE33);
	color: #fff;
}

.sr-case-cvoice__nav:disabled{
	opacity: .35;
	cursor: default;
	box-shadow: none;
}

.sr-case-cvoice__figure{
	margin: 0;
}

.sr-case-cvoice__image{
	display: block;
	background: var(--sr-bg-soft);
	border: 1px solid var(--sr-border);
	box-shadow: var(--sr-shadow);
	line-height: 0;
	cursor: zoom-in;
}

.sr-case-cvoice__image img{
	width: 100%;
	height: auto;
	display: block;
}

.sr-case-cvoice__image-caption{
	margin: .5rem 0 0;
	font-size: .8125rem;
	line-height: 1.7;
	color: var(--sr-text-muted);
}

.sr-case-cvoice__label{
	margin: 0 0 .5rem;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--sr-accent);
}

.sr-case-cvoice__text{
	margin: 0;
	font-size: .9375rem;
	line-height: 1.9;
	color: var(--sr-text);
}

@media (max-width: 767px){
	.sr-case-cvoice__nav{
		width: 2.125rem;
		height: 2.125rem;
		font-size: 1.25rem;
	}
}

/* case-meta */
.sr-case-meta__cats{
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	list-style: none;
	margin: 0 0 .75rem;
	padding: 0;
}

.sr-case-meta__cat a{
	display: inline-block;
	padding: .3em .85em;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-decoration: none;
	background: #fff;
	color: var(--sr-accent);
	border: 1px solid var(--sr-accent);
	transition: background .2s, color .2s;
}

.sr-case-meta__cat a:hover{
	background: var(--sr-accent);
	color: #fff;
}

.sr-case-meta__profile{
	margin: 0;
	font-size: .9375rem;
	line-height: 1.7;
}

.sr-case-meta__label{
	display: inline-block;
	margin-right: .5em;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;
	color: var(--sr-text-muted);
}

/* case-voice：タイムライン + ブロック別デザイン */
.sr-case-voice{
	display: grid;
	gap: 0;
	margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.sr-case-voice__heading{
	margin-bottom: 1.5rem;
}

.sr-case-voice__block{
	display: grid;
	grid-template-columns: 1.75rem 1fr;
	gap: 1rem 1.25rem;
	align-items: start;
}

@media (min-width: 768px){
	.sr-case-voice__block{
		grid-template-columns: 2.25rem 1fr;
		gap: 1.25rem 1.75rem;
	}
}

/* 左：矢印（数字なし） */
.sr-case-voice__marker{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 1.35rem;
	min-height: 100%;
}

.sr-case-voice__arrow{
	display: block;
	width: .7rem;
	height: .7rem;
	border-right: 2px solid var(--sr-accent);
	border-bottom: 2px solid var(--sr-accent);
	transform: rotate(45deg);
	flex-shrink: 0;
}

.sr-case-voice__dot{
	display: block;
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
	background: var(--sr-accent);
	flex-shrink: 0;
}

/* 右：コンテンツパネル */
.sr-case-voice__panel{
	margin-bottom: 1.75rem;
	padding: clamp(1.15rem, 2.5vw, 1.5rem);
	background: #fff;
	border: 1px solid var(--sr-border);
	box-shadow: var(--sr-shadow);
}

.sr-case-voice__block:last-child .sr-case-voice__panel{
	margin-bottom: 0;
}

.sr-case-voice__head{
	margin-bottom: .85rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--sr-border);
}

.sr-case-voice__label{
	margin: 0 0 .35rem;
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--sr-text-muted);
}

.sr-case-voice__heading{
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.45;
	color: var(--sr-text);
}

.sr-case-voice__body{
	line-height: 1.95;
	color: var(--sr-text-muted);
	font-size: .9375rem;
}

/* 01 来院前：落ち着いたグレー・問題提起 */
.sr-case-voice__block--concern .sr-case-voice__arrow{
	border-color: #8a8a85;
}

.sr-case-voice__block--concern .sr-case-voice__panel{
	background: #f7f7f5;
	border-style: dashed;
	border-color: rgba(41, 41, 37, .15);
	box-shadow: none;
}

.sr-case-voice__block--concern .sr-case-voice__label{
	color: #8a8a85;
}

.sr-case-voice__block--concern .sr-case-voice__head{
	border-bottom-color: rgba(41, 41, 37, .12);
}

/* 02 施術内容：白ベース・情報整理 */
.sr-case-voice__block--treatment .sr-case-voice__panel{
	background: #fff;
	border-top: 3px solid var(--sr-accent);
}

.sr-case-voice__block--treatment .sr-case-voice__label{
	color: var(--sr-accent);
}

.sr-case-voice__block--treatment .sr-case-voice__body ul,
.sr-case-voice__block--treatment .sr-case-voice__body ol,
.sr-case-voice__block--story .sr-case-voice__body ul,
.sr-case-voice__block--story .sr-case-voice__body ol{
	margin: .5em 0;
	padding-left: 1.25em;
}

.sr-case-voice__block--treatment .sr-case-voice__body li,
.sr-case-voice__block--story .sr-case-voice__body li{
	margin-bottom: .35em;
}

/* 03 施術後：アクセント強調・成果 */
.sr-case-voice__block--result .sr-case-voice__panel{
	background: var(--sr-accent-soft);
	border: 2px solid var(--sr-accent);
	box-shadow: none;
}

.sr-case-voice__block--result .sr-case-voice__label,
.sr-case-voice__block--result .sr-case-voice__heading{
	color: var(--sr-accent);
}

.is-site-biyou .sr-case-voice__block--result .sr-case-voice__heading{
	color: #c96b7a;
}

.sr-case-voice__block--result .sr-case-voice__head{
	border-bottom-color: rgba(0, 0, 0, .08);
}

.sr-case-voice__block--result .sr-case-voice__body{
	color: var(--sr-text);
	font-weight: 500;
}

/* 04 感想：引用スタイル */

.sr-case-voice__block--voice .sr-case-voice__panel{
	position: relative;
	background: #fff;
	border: none;
	box-shadow: var(--sr-shadow);
	padding-top: 2rem;
	padding-left: clamp(1.5rem, 3vw, 2rem);
}

.sr-case-voice__block--voice .sr-case-voice__panel::before{
	content: "\201C";
	position: absolute;
	top: .35rem;
	left: .85rem;
	font-size: 3rem;
	line-height: 1;
	font-weight: 700;
	color: var(--sr-accent);
	opacity: .35;
	font-family: Georgia, "Times New Roman", serif;
}

.sr-case-voice__block--voice .sr-case-voice__head{
	border-bottom: none;
	margin-bottom: .5rem;
	padding-bottom: 0;
}

.sr-case-voice__block--voice .sr-case-voice__label{
	color: var(--sr-accent);
}

.sr-case-voice__block--voice .sr-case-voice__body{
	color: var(--sr-text);
	font-size: 1rem;
	line-height: 2;
}

/* 05 担当スタッフコメント */

.sr-case-voice__block--staff .sr-case-voice__panel{
	background: var(--accent-bg-light, #F6F8F4);
	border: 1px solid var(--sr-border);
	border-left: 3px solid var(--btn-main, #4D861A);
	box-shadow: none;
}

.sr-case-voice__block--staff .sr-case-voice__label{
	color: var(--btn-main, #4D861A);
}

.sr-case-voice__note{
	margin: .85rem 0 0;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--sr-text);
	text-align: right;
}

.sr-case-voice__note::before{
	content: "— ";
}

@media (max-width: 479px){
	.sr-case-voice__block{
		grid-template-columns: 1.25rem 1fr;
		gap: .75rem 1rem;
	}
}

/* related */
.sr-related{
	margin: clamp(2.5rem, 5vw, 3.5rem) 0 0;
}

.sr-related__heading{
	margin-bottom: 1.5rem;
}

.sr-shop__cases.sr-related{
	margin-top: 0;
}

.sr-case-carousel--teaser .sr-related__item{
	height: 100%;
	margin: 0;
	list-style: none;
}

.sr-related__link{
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	height: 100%;
	overflow: hidden;
}

.sr-related__thumb{
	display: block;
	overflow: hidden;
	aspect-ratio: 3 / 3.7;
	background: var(--sr-bg-soft);
}

.sr-related__thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s;
}

.sr-related__link:hover .sr-related__thumb img{
	transform: scale(1.04);
}

.sr-related__body{
	padding: 1rem 1.15rem 1.15rem;
	flex: 1;
}

.sr-related__item-title{
	display: block;
	font-weight: 700;
	font-size: .9375rem;
	line-height: 1.55;
	margin-bottom: .4rem;
	color: var(--sr-text);
	transition: color .2s;
}

.sr-related__link:hover .sr-related__item-title{
	color: var(--sr-accent);
}

.sr-related__cats{
	display: block;
	font-size: .75rem;
	color: var(--sr-text-muted);
	letter-spacing: .02em;
}

/* 改善事例一覧（アーカイブ） */
.sr-case-archive.l-mainContent{
	max-width: none;
}

/* 店舗別改善事例：ヘッダー直下の余白をなくす */
body:has(.sr-case-archive--shop) .l-content,
body:has(.sr-case-archive--shop) #content{
	padding-top: 0 !important;
	margin-top: 0;
}

body:has(.sr-case-archive--shop) .c-pageTitle{
	display: none;
}

.sr-case-archive--shop{
	padding-top: 0;
	margin-top: 0;
}

.sr-case-archive--shop > .sr-case-archive__section{
	margin-top: 0 !important;
}

.sr-case-archive__header{
	margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
	text-align: center;
}

.sr-case-archive__header .sr-section-heading__lead{
	margin-left: auto;
	margin-right: auto;
}

.sr-case-archive__tabs{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem;
	margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.sr-case-archive__tab{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: .55em 1.35em;
	border: 1px solid var(--sr-border);
	border-radius: 0;
	background: #fff;
	color: var(--sr-text);
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .06em;
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s, box-shadow .2s;
}

.sr-case-archive__tab:hover{
	border-color: var(--sr-accent);
	background: var(--sr-accent-soft);
	color: var(--sr-accent);
}

.sr-case-archive__tab.is-active{
	border-color: #9E991F;
	background: #F7F6DE;
	color: #9E991F;
	box-shadow: 0 4px 16px rgba(158, 153, 31, .12);
}

.sr-case-archive--biyou .sr-case-archive__tab:hover{
	border-color: #E68E9C;
	background: rgba(230, 142, 156, .1);
	color: #E68E9C;
}

.sr-case-archive--biyou .sr-case-archive__tab.is-active{
	border-color: #E68E9C;
	background: #FCF1F3;
	color: #E68E9C;
	box-shadow: 0 4px 16px rgba(230, 142, 156, .12);
}

/* 店舗別改善事例タブ */
.sr-case-archive.sr-case-archive--shop .sr-case-archive__tab:hover{
	border-color: #4D861A;
	background: rgba(77, 134, 26, .1);
	color: #4D861A;
}

.sr-case-archive.sr-case-archive--shop .sr-case-archive__tab.is-active{
	border-color: #4D861A;
	background: #4D861A;
	color: #fff;
	box-shadow: none;
}

.sr-case-archive .swell-block-columns{
	margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.sr-case-archive .navigation.pagination{
	margin-top: clamp(2rem, 4vw, 2.75rem);
	margin-bottom: 0;
}

.sr-case-archive .navigation.pagination .screen-reader-text{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sr-case-archive .nav-links{
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	justify-content: center;
	align-items: center;
}

.sr-case-archive .page-numbers{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25em;
	min-height: 2.25em;
	padding: .45em .75em;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	color: var(--sr-text, #292925);
	background: #fff;
	border: 1px solid var(--sr-border, rgba(41, 41, 37, .1));
	transition: background .2s, color .2s, border-color .2s;
}

.sr-case-archive .page-numbers.current,
.sr-case-archive a.page-numbers:hover{
	background: var(--btn-main, var(--sr-accent));
	border-color: var(--btn-main, var(--sr-accent));
	color: #fff;
}

.sr-case-archive .page-numbers.dots{
	border: none;
	background: transparent;
	min-width: auto;
	padding: .45em .25em;
}

.sr-case-archive--seitai .page-numbers.current,
.sr-case-archive--seitai a.page-numbers:hover{
	background: #D3CE33;
	border-color: #D3CE33;
}

.sr-case-archive--biyou .page-numbers.current,
.sr-case-archive--biyou a.page-numbers:hover{
	background: #E68E9C;
	border-color: #E68E9C;
}

.sr-case-archive .sr-case-archive__section{
	margin-bottom: 0 !important;
}

.sr-case-archive__empty{
	margin: 0;
	padding: 2rem;
	text-align: center;
	color: var(--sr-text-muted);
	background: var(--sr-bg-soft);
}

.sr-case-archive__other-shops{
	margin-top: clamp(3rem, 6vw, 4.5rem);
	padding-top: clamp(2rem, 4vw, 2.75rem);
	border-top: 1px solid var(--sr-border);
}

.sr-case-archive__other-shops-heading{
	text-align: center;
	margin-bottom: 1.5rem;
}

.sr-case-archive__other-shops-heading .sr-section-heading__lead{
	margin-left: auto;
	margin-right: auto;
}

.sr-shop-cases-links{
	display: grid;
	gap: 1.25rem;
}

@media (min-width: 768px){
	.sr-shop-cases-links{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px){
	.sr-shop-cases-links{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.sr-shop-cases-link{
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--sr-border);
	box-shadow: var(--sr-shadow);
	text-decoration: none;
	color: inherit;
	transition: transform .3s ease, box-shadow .3s ease;
}

.sr-shop-cases-link:hover,
.sr-shop-cases-link:focus-visible{
	box-shadow: var(--sr-shadow-hover);
}

@media (prefers-reduced-motion: no-preference){
	.sr-shop-cases-link:hover,
	.sr-shop-cases-link:focus-visible{
		transform: translateY(-4px);
	}
}

.sr-shop-cases-link__media{
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--sr-bg-soft);
}

.sr-shop-cases-link__media img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s ease;
}

.sr-shop-cases-link:hover .sr-shop-cases-link__media img,
.sr-shop-cases-link:focus-visible .sr-shop-cases-link__media img{
	transform: scale(1.05);
}

.sr-shop-cases-link__body{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1.15rem 1.25rem 1.25rem;
	text-align: left;
}

.sr-shop-cases-link__name{
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .03em;
	color: var(--sr-text);
}

.sr-shop-cases-link__meta{
	margin-top: .35rem;
	font-size: .8125rem;
	letter-spacing: .04em;
	color: var(--sr-text-muted);
}

.sr-shop-cases-link__cta{
	display: inline-flex;
	align-items: center;
	gap: .45em;
	margin-top: 1rem;
	padding-top: .9rem;
	border-top: 1px solid var(--sr-border);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--sr-accent);
}

.sr-shop-cases-link__arrow{
	display: inline-block;
	transition: transform .3s ease;
}

.sr-shop-cases-link:hover .sr-shop-cases-link__arrow,
.sr-shop-cases-link:focus-visible .sr-shop-cases-link__arrow{
	transform: translateX(5px);
}
