/* 導入事例 礼文町さま（case20261001.html）専用 */

/* ページ内目次 */
.CaseAnchorNavi {
	background-color: #f0f0f0;
	border-radius: 10px;
	margin-top: 40px;
	margin-bottom: 60px;
}

.CaseAnchorNavi ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.CaseAnchorNavi li {
	margin: 0;
	padding: 0;
}

.CaseAnchorNavi li::before {
	display: none;
}

.CaseAnchorNavi a {
	position: relative;
	display: block;
	color: #333;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.06em;
	text-decoration: none;
	border-bottom: 1px solid #707070;
	padding: 8px 40px 10px 20px;
}

.CaseAnchorNavi a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 16px;
	height: 14px;
	transform: translateY(-50%);
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2214%22%20viewBox%3D%220%200%2016%2014%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%234D4D4D%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M0%207h15%22%2F%3E%3Cpath%20d%3D%22m8.5%200.5%206.5%206.5-6.5%206.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.CaseAnchorNavi a:hover {
	color: var(--color-blue);
}

.ArchiveDetailContent [id] {
	scroll-margin-top: 20px;
}

/* 図版 */
.CaseFigure {
	margin: 0 0 50px;
}

.CaseFigure picture,
.CaseFigure img {
	display: block;
}

.CaseFigure img {
	width: 100%;
	height: auto;
}

/* 見出し付きの枠（中身だけ画像） */
.CaseFigure--frame {
	border: 1px solid var(--color-blue);
}

.CaseFigureTitle {
	background-color: var(--color-blue);
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.06em;
	line-height: 1.5;
	text-align: center;
	padding: 14px 20px;
}

.CaseFigureBody {
	padding: 32px 40px;
}

.CaseFigure--chart img {
	max-width: 492px;
}

/* �@�A�Bの枠 */
.ArchiveDetailContent .CaseListBox,
.ArchiveDetailContent .TextStyle1 + .CaseListBox {
	margin-bottom: 32px;
}

.ArchiveDetailContent .CaseListBox .TextStyle1 {
	color: var(--color-blue);
	font-size: 16px;
	margin-bottom: 0;
}

/* PROFILE スライダー */
.CaseProfileSlider {
	position: relative;
	overflow: hidden;
	margin-bottom: 40px;
}

.CaseProfileSlider .swiper-slide {
	position: relative;
	margin: 0;
}

.CaseProfileSlider .swiper-slide img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 870 / 500;
	object-fit: cover;
}

.CaseProfileSlider figcaption,
.CaseProfileSliderPagination {
	position: absolute;
	bottom: 20px;
	z-index: 2;
	color: #fff;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
}

.CaseProfileSlider figcaption {
	left: 20px;
}

.CaseProfileSliderPagination {
	right: 20px;
	left: auto;
	width: auto;
}

.CaseProfileSliderPrev,
.CaseProfileSliderNext {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	transform: translateY(-50%);
	cursor: pointer;
}

.CaseProfileSliderPrev {
	left: 10px;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2236%22%20viewBox%3D%220%200%2019%2036%22%3E%3Cpath%20d%3D%22M18%201%201%2018l17%2017%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E');
}

.CaseProfileSliderNext {
	right: 10px;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2236%22%20viewBox%3D%220%200%2019%2036%22%3E%3Cpath%20d%3D%22m1%201%2017%2017L1%2035%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E');
}

.CaseProfileSliderPrev.swiper-button-lock,
.CaseProfileSliderNext.swiper-button-lock {
	display: none;
}

/* PROFILE 表 */
.TableColor th {
	white-space: nowrap;
}

.CaseProfileName {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.CaseProfileName img {
	display: block;
	width: 33px;
	height: auto;
}

/* 注記 */
.CaseNote {
	font-size: 14px;
	line-height: 1.8;
	margin: 40px 0;
}

@media (min-width: 768px) {
	.CaseNote {
		margin-bottom: 120px;
	}

	.CaseAnchorNavi {
		display: flex;
		justify-content: center;
	}

	.CaseAnchorNavi ul {
		padding: 16px 32px 30px;
		gap: 0 20px;
	}

	.CaseAnchorNavi li {
		margin-top: 14px;
	}

	/* 本文の段落間隔（XD に合わせて既存の 50px より詰める） */
	.ArchiveDetailContent .TextStyle1:not(:last-child) {
		margin-bottom: 32px;
	}

	.ArchiveDetailContent .TextStyle1 + .sectionTitleLeftBorder {
		margin-top: 50px;
	}
}

@media (max-width: 767px) {
	.CaseNote {
		margin-bottom: 80px;
	}

	.CaseAnchorNavi {
		margin-top: 30px;
		margin-bottom: 40px;
	}

	.CaseAnchorNavi ul {
		display: block;
		padding: 10px 20px 20px;
	}

	.CaseAnchorNavi li {
		margin-top: 10px;
	}

	.CaseAnchorNavi a {
		font-size: 14px;
		padding-left: 0;
	}

	.CaseFigure {
		margin-bottom: 30px;
	}

	.CaseFigure--chart img {
		margin: 0 auto;
	}

	.CaseFigureTitle {
		font-size: 15px;
		padding: 10px 15px;
	}

	.CaseFigureBody {
		padding: 20px 15px;
	}

	.ArchiveDetailContent .CaseListBox,
	.ArchiveDetailContent .TextStyle1 + .CaseListBox {
		margin-bottom: 20px;
	}

	.ArchiveDetailContent .CaseListBox .TextStyle1 {
		font-size: 14px;
	}

	/* PROFILE スライダー */
	.CaseProfileSlider figcaption,
	.CaseProfileSliderPagination {
		bottom: 10px;
		font-size: 12px;
	}

	.CaseProfileSlider figcaption {
		left: 12px;
	}

	.CaseProfileSliderPagination {
		right: 12px;
	}

	.CaseProfileSliderPrev,
	.CaseProfileSliderNext {
		width: 30px;
		background-size: 12px auto;
	}

	.CaseProfileSliderPrev {
		left: 0;
	}

	.CaseProfileSliderNext {
		right: 0;
	}
}
