@media (min-width: 769px) {
	body {
		min-width: auto;
	}
}

#wrapper {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/*詳細ページベース*/
.case {
	margin: 0 auto;
	padding: 28px 0;
}

.case__kicker {
	margin: 0 0 8px;
	font-size: 14px;
	opacity: .7;
}

.case__title {
	margin: 0 0 16px;
	line-height: 1.3;
}

.case__meta {
	display: grid;
	gap: 8px;
	margin: 0 0 18px;
}

.case__metaRow {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 12px;
	align-items: start;
}

.case__metaRow dt {
	font-weight: 600;
	opacity: .8;
	margin: 0;
}

.case__metaRow dd {
	margin: 0;
}

.case__hero img {
	width: 100%;
	height: auto;
	display: block;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.case__body {
	margin-top: 22px;
}

.case__block {
	margin-top: 28px;
}

.case__h2 {
	margin: 0 0 10px;
}

.case__text,
.case__content {
	line-height: 1.9;
}

.case__content h2,
.case__content h3 {
	margin-top: 1.6em;
}

/* 導入商品リンク（pill） */
.case .case__pill {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 999px;
	text-decoration: none;
	font-size: 13px;
	line-height: 1.6;
	white-space: nowrap;
	margin: 2px 6px 2px 0;
}

/* スマホで前後ナビを1列に */
@media (max-width: 640px) {
	.case__pn {
		grid-template-columns: 1fr;
	}

	.case__pnLink--next {
		text-align: left;
	}
}


/* =========================
導入事例：パンくず
.case__breadcrumbs
========================= */
.case__breadcrumbs {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.5;
}

.case__breadcrumbsList {
	list-style: none;
	margin: 0;
	padding: 0;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	max-width: 1100px;
	margin: 0 auto;
}

.case__crumb {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
}

/* 区切り */
.case__crumb:not(:last-child)::after {
	content: "›";
	opacity: .55;
}

/* リンク */
.case__crumb a {
	text-decoration: none;
	opacity: .85;
	border-bottom: 1px solid transparent;
	transition: opacity .15s ease, border-color .15s ease;
}

.case__crumb a:hover {
	opacity: 1;
	border-bottom-color: rgba(0, 0, 0, .25);
}

/* 現在地（最後） */
.case__crumb[aria-current="page"] {
	font-weight: 600;
	opacity: .95;
}

/* 長いタイトル対策（最後だけ省略表示） */
.case__crumb[aria-current="page"] {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* スマホは最後だけ1行で見せやすく */
@media (max-width: 480px) {
	.case__breadcrumbs {
		font-size: 12px;
	}

	.case__breadcrumbsList {
		gap: 4px;
	}
}

/* 導入商品ブロック */
.case__productBlock {
	margin: 34px auto;
	padding: clamp(1.5em, 4em, 6vw);
	background-color: #e7f5f5;
	max-width: 1100px;
}

.case__productGrid {
	margin-top: 10px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

@media (min-width: 768px) {
	.case__productGrid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.case__productCard {
	padding: 0.8em 1.2em;
	background-color: #fff;
}

.case__productName {
	margin: 0 0 10px;
	font-weight: 700;
	line-height: 1.4;
	background-color: #008a8a;
	color: #fff;
	padding: 0.2em 0.5em;
}

.case__productLinks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.case__productBtn {
	display: inline-block;
	padding: 10px 14px;
	border-radius: 50px;
	border: 1px solid rgba(0, 0, 0, .15);
	text-decoration: none;
	font-size: 13px;
}

.case__productBtn--sub {
	opacity: .9;
}

.case__brand {
	font-weight: 700;
}

.case__sep {
	opacity: .6;
	margin: 0 6px;
}

.case__product {
	font-weight: 600;
}



/* =========================
   導入事例詳細ページ（Wordpress内）
========================= */
:root {
	--main-blue: #008A8A;
	--accent-blue: #008A8A;
	--line-gray: #dcdcdc;
	--bg-gray: #f5f5f5;
	--cta-orange: #d77a00;
	--text-gray: #888;
}

.clear {
	clear: both;
}

.hero {
	position: relative;
	background: #fff;
	/* padding: 109px 0; */
	overflow: hidden;
}

.hero::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 460px;
	background: #eee;
	z-index: 1;
}

.hero-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 40px;
	position: relative;
}


.hero-image img {
	width: 520px;
	max-width: auto;
	height: auto;
	display: block;
	position: relative;
	z-index: 2;
}

.hero-text {
	background: rgba(0, 139, 139, 70%);
	backdrop-filter: blur(2px);
	color: #fff;
	padding: clamp(2.2em, 3.5em, 7vw) clamp(1.5em, 4em, 6vw);
	max-width: 580px;
	z-index: 3;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
	margin-right: -6em;
}

@media (max-width:767px) {
	.hero-inner {
		flex-direction: column-reverse;
		gap: 0;
	}

	.hero-text {
		text-align: center;
		margin-right: 0;
		margin-top: -4em;
		max-width: 95%;
	}
}

.hero-text h1 {
	font-size: 1.5em;
	line-height: 1.6;
	padding: 0.5em 1em;
	position: relative;
}

.hero-text h1:before,
.hero-text h1:after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1.5em;
	border-top: 1px solid rgb(255 255 255 / 60%);
	border-left: 1px solid rgb(255 255 255 / 60%);
	position: absolute;
	left: 0;
	top: 0;
}

.hero-text h1:after {
	top: auto;
	left: auto;
	bottom: 0;
	right: 0;
	transform: rotate(180deg);
}

.prodacts {
	font-size: 1.2em;
	background-color: #fff;
	color: var(--main-blue);
	display: inline-block;
	padding: 0.2em 0.8em;
	font-weight: bold;
	margin-bottom: 1em;
}

.shop-name {
	font-size: 1.2em;
	padding-top: 0.8em;
}

.points-inner {
	max-width: 980px;
	padding: 0 12px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: center;
}

.points a {
	display: block;
	padding: 5px 4px;
	text-decoration: none;
	color: inherit;
}

.points h2 {
	text-align: center;
	font-size: 22px;
	color: var(--main-blue);
	margin-bottom: 24px;
	position: relative;
}

.points h2::after {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	background: var(--main-blue);
	margin: 12px auto 0;
}

.points ul {
	max-width: 600px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.points li {
	padding: 12px 0;
	border-bottom: 2px dotted var(--line-gray);
	text-align: left;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

.cta {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-top: 40px;
}

.cta-text {
	text-align: center;
	margin: 30px;
}

.cta-text a {
	color: var(--main-blue);
	text-decoration: underline;
}

.btn-seminar01 {
	display: inline-block;
	width: 360px;
	max-width: 90%;
	padding: 18px 16px;
	background: var(--cta-orange);
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.btn-seminar02 {
	display: inline-block;
	width: 360px;
	max-width: 90%;
	padding: 18px 16px;
	background: #fff;
	color: var(--cta-orange);
	font-weight: bold;
	text-align: center;
	border: 2px solid var(--cta-orange);
}

.owner {
	background: var(--bg-gray);
}

.owner-inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 4em 1.5em;
}

.owner h3 {
	color: var(--main-blue);
	font-size: 20px;
	margin-bottom: 20px;
	margin-top: -0.4em;
}

.case {
	margin-bottom: 56px;
}

.case-inner {
	max-width: 1000px;
	padding: 0 12px;
	margin: 0 auto;
}

.case-block {
	margin-bottom: 40px;
}

.case-block::after {
	content: "";
	display: block;
	clear: both;
}

.case-block:last-child {
	margin-bottom: 0;
}

.case-block p {
	margin-top: 0;
	margin-bottom: 0;
}

.case-block h3 {
	position: relative;
	font-size: 20px;
	color: var(--main-blue);
	margin-bottom: 16px;
	margin-top: 0px;
	padding-bottom: 16px;
	scroll-margin-top: 80px;
}

.case-block p a {
	color: var(--main-blue);
	text-decoration: underline;
}

.case-inline-image {
	float: left;
	width: 35%;
	margin-right: 20px
}

.case-inline-image img {
	width: 100%;
	height: auto;
	display: block;
}

.case-inline-image-2 {
	float: right;
	width: 35%;
	margin-left: 10px
}

.case-inline-image-2 img {
	width: 100%;
	height: auto;
	display: block;
}

.case-inline-image-3 {
	float: right;
	width: 44%;
	margin: 0 0 12px 24px;
}

.case-label {
	display: block;
	font-size: 13px;
	color: var(--text-gray);
	margin-bottom: 4px;
	padding-top: 7em;
	margin-top: -7em;
}

.case-block h3::before,
.case-block h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 4px;
}

.case-block h3::before {
	width: 100%;
	background: var(--line-gray);
}

.case-block h3::after {
	width: 60px;
	background: var(--accent-blue);
}


@media (max-width: 768px) {
	.case {
		padding: 40px 0px;
	}

	.case-block {
		margin-bottom: 32px;
	}

	.case-block h3 {
		font-size: 18px;
		padding-bottom: 12px;
		margin-bottom: 12px;
	}

	.case-label {
		font-size: 12px;
		margin-bottom: 2px;
	}

	.case-inline-image,
	.case-inline-image-2,
	.case-inline-image-3 {
		float: none;
		width: 100%;
		margin: 16px auto;
		text-align: center;
	}

	.case-inline-image img,
	.case-inline-image-2 img,
	.case-inline-image-3 img {
		display: block;
		margin: 0 auto;
	}

	.btn-seminar01,
	.btn-seminar02 {
		width: 100%;
		padding: 20px 16px;
		font-size: 16px;
	}

	.cta {
		flex-direction: column;
		align-items: center;
	}

	.btn-seminar01,
	.btn-seminar02 {
		width: 80%;
		max-width: none;
	}

}


/* =========================
   導入事例（商品別）アーカイブ
   taxonomy-case_product.php
========================= */

/* 全体 */
.case-archive {
	max-width: 1100px;
	margin: 0 auto;
	padding: 28px 16px;
	flex-grow: 2;
}

.case-archive__header {
	margin-bottom: 20px;
}

.case-archive__title {
	margin: 0 0 6px;
	line-height: 1.3;
	margin-bottom: 1.5em;
	background: rgba(0, 139, 139, 70%);
	color: #fff;
	padding: 0.6em;
}

.case-archive__lead {
	margin: 0 0 14px;
	font-size: 14px;
	opacity: .8;
}

/* =========================
   商品フィルター（ターム一覧）
========================= */
.case-archive__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
	background: rgb(0 139 139 / 14%);
	padding: 1em;
}

.case-archive__pill {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .15s ease, opacity .15s ease;
	background-color: #fff;
}

.case-archive__pill:hover {
	opacity: .85;
}

.case-archive__pill.is-active {
	font-weight: 600;
	background-color: rgba(0, 139, 139, 70%);
	color: #fff;
}

/* =========================
   事例カード一覧
========================= */
.case-archive__grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 20px;
}

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

@media (min-width: 768px) {
	.case-archive__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 14px;
	}
}


.case-card {
	display: block;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
	position: relative;
	background-color: rgba(0, 139, 139, 70%);
	/* background-color: var(--main-blue); */
	backdrop-filter: blur(2px);

}

.case-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(0, 0, 0, .08);
}

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

.case-card__brand {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	line-height: 0;
}

.case-card__brandPill {
	color: #fff;
	padding: 0.2em;
	font-size: 0.8em;
	display: inline-block;
	line-height: 1.2em;
}

.brand--major {
	background-color: #2d5537;
}

.brand--srotas {
	background-color: #7b6f57;
}

.brand--derma-scraiber {
	background-color: #a40c04;
}

.case-card__body {
	padding: 10px;
	color: #fff;
	background-color: rgba(0, 139, 139, 70%);
	position: absolute;
	top: 0;
	left: 0;
}

.case-card__body2 {
	color: #fff;
	padding: 1.2em 1em;
}

.case-card__catch {
	font-size: 1em;
	line-height: 1.2em;
	font-weight: bold;
}

.case-card__title {
	margin: 0;
	line-height: 1.4;
	font-size: 15px;
}

.case-card__sub {
	font-size: 12px;
	opacity: .75;
}

.case-card__meta {
	font-size: 0.8em;
}

/* =========================
   ページネーション
========================= */
.case-archive__pager {
	margin-top: 22px;
}

.case-archive__pager .page-numbers {
	display: inline-block;
	padding: 6px 10px;
	margin-right: 6px;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 10px;
	text-decoration: none;
	font-size: 13px;
}

.case-archive__pager .page-numbers.current {
	font-weight: 700;
}

/* =========================
   空表示
========================= */
.case-archive__empty {
	margin-top: 20px;
	opacity: .7;
	padding: 1em;
	text-align: center;
	border: 1px solid;
}

.case-archive__pill--child {
	opacity: .9;
}