@charset "UTF-8";

/* ==================================================
   改善ストーリー
================================================== */

.page-id-851 .l-mainContent__inner > .post_content {
	margin: 0;
}
/* ==================================================
   メインビジュアル画像
================================================== */

@media (min-width: 1025px) {

	/* 拡大した画像が切れないようにする */
	.page-id-851 .story-fv,
	.page-id-851 .story-fv .wp-block-media-text {
		overflow: visible;
	}

	/* FV右側の画像だけ拡大 */
	.page-id-851 .story-fv .wp-block-media-text .wp-block-media-text__media {
		position: relative;
		z-index: 0;
		transform: translate(20px, -15px) scale(1.15);
		transform-origin: center;
	}

	/* テキストを画像より手前に保つ */
	.page-id-851 .story-fv .wp-block-media-text .wp-block-media-text__content {
		position: relative;
		z-index: 1;
	}
}


/* ==================================================
   改善ストーリー：前コンテンツ
================================================== */

.story-before.swell-block-fullWide.has-bg-img {
	background-position: 90% 50%;
}
.story-before h2{
	text-shadow: 0 0 2px #fff, 0 0 3px #fff, 0 0 5px #fff, 0 0 7px #fff, 0 0 10px #fff;
}
.story-before .before-intro{
	font-size: clamp(11px, 3.4vw, 13px) !important;
}


/* ==================================================
   改善ストーリー：カード
================================================== */

.page-id-851 .story-cases .swell-block-column {
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--color_main);
}

/* 1カラムなので、最後のカードだけラインを消す */
.page-id-851 .story-cases .swell-block-column:last-child {
	border-bottom: none;
}

.page-id-851 .story-cases .wp-block-media-text {
	gap: 0.5rem;
}

@media (min-width: 768px) {
.story-card .wp-block-media-text>.wp-block-media-text__media{
	align-self: start;
	padding-top: 4rem;
}
}

/* ==================================================
   改善ストーリー：ナンバリング
================================================== */

/* 01からカウント開始 */
.page-id-851
.story-cases
> .swell-block-columns__inner {
	counter-reset: story-number;
}

/* 各事例ごとにカウント */
.page-id-851 .story-cases .story-card {
	counter-increment: story-number;
}

/* 見出しとナンバーの配置 */
.page-id-851 .story-cases .cases-number {
	position: relative;
	padding-left: 4.3em;
	font-family:
		"Noto Serif JP",
		"Hiragino Mincho ProN",
		serif;
}

/* 01、02、03… */
.page-id-851 .story-cases .cases-number::before {
	content: counter(story-number, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	color: var(--color_main);
	font-family:
		"Noto Serif JP",
		"Hiragino Mincho ProN",
		serif;
	font-size: 3em;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	line-height: 1;
	letter-spacing: 0.02em;
}


/* ==================================================
   改善ストーリー：アコーディオン
================================================== */

.page-id-851 .story-cases .swell-block-accordion {
	margin-top: 1rem;
}

/* 開閉ボタン */
.page-id-851
.story-cases
.swell-block-accordion__title {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: 100%;
	gap: 0.7em;
	padding: 0.65em 1.2em;
	background: #f6e7d1;
	border: 1px solid rgba(184, 112, 1, 0.14);
	border-radius: 999px;
	box-shadow: none;
	color: #382b22;
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease;
}

.page-id-851
.story-cases
.swell-block-accordion__label {
	flex: 0 1 auto;
}

.page-id-851
.story-cases
.swell-block-accordion__icon {
	flex: 0 0 auto;
	margin-left: 0;
}

/* PCホバー */
@media (hover: hover) {
	.page-id-851
	.story-cases
	.swell-block-accordion__title:hover {
		background: #f0dcc0;
		border-color: rgba(184, 112, 1, 0.28);
	}
}


/* ==================================================
   改善ストーリー：スマホ表示
================================================== */

@media (max-width: 767px) {

	/* FVのブロークングリッドの重なりを解除 */
	.page-id-851 .story-fv .wp-block-media-text.is-style-broken .wp-block-media-text__content {
		margin-top: 0 !important;
	}

	/* FVタイトル */
	.page-id-851 .story-fv h1 {
		font-size: clamp(2rem, 10vw, 2.7rem) !important;
		line-height: 1.2 !important;
	}

	/* FV画像下の余分な高さを抑える */
	.page-id-851 .story-fv .wp-block-image {
		line-height: 1;
	}
/* グループ全体の左余白を解除 */
.page-id-851 .story-cases .cases-number {
  padding-left: 0;
}

/* ナンバー */
.page-id-851 .story-cases .cases-number::before {
  top: 0;
  font-size: 2.6em;
}

/* 最初のh3だけ、番号用の余白を確保 */
.page-id-851 .story-cases .cases-number > h3:first-child,
.page-id-851 .story-cases .cases-number
> .wp-block-group__inner-container > h3:first-child {
  box-sizing: border-box;
  padding-left: 1.9em !important;
  min-height: 1.3em;
}

	/* スマホのアコーディオンボタン */
	.page-id-851
	.story-cases
	.swell-block-accordion__title {
		gap: 0.6em;
		padding: 0.65em 1.1em;
		font-size: 0.82rem;
	}
}
/* ==================================================
   改善ストーリー：PC全文表示
================================================== */

/* 閉じるボタンのみPCでは非表示 */
.page-id-851 .story-accordion-close {
	display: none;
}

@media (min-width: 768px) {

	/* アコーディオン全体の余白・装飾を解除 */
	.page-id-851
	.story-cases
	.swell-block-accordion {
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
	}

	.page-id-851
	.story-cases
	.swell-block-accordion__item {
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
	}

	.page-id-851
	.story-cases
	.swell-block-accordion__body {
		display: block !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		overflow: visible !important;
		transform: none !important;
	}

	/* 分割位置の余分な空白を削除 */
	.page-id-851
	.story-cases
	.swell-block-accordion__body
	> p:first-child {
		margin-top: 0 !important;
	}

	/* PC専用文章は通常表示 */
	.page-id-851 .story-pc-only {
		display: inline;
	}
}


/* ==================================================
   改善ストーリー：スマホアコーディオン
================================================== */

@media (max-width: 767px) {

	/* PCだけに残す文章を非表示 */
	.page-id-851 .story-pc-only {
		display: none;
	}

	/* ガイド指定位置の「……」を表示 */
	.page-id-851 .story-mobile-ellipsis {
		display: inline;
	}

	.page-id-851
	.story-cases
	.swell-block-accordion {
		margin-top: 1rem;
	}

	/* 「詳しく読む」ボタン */
	.page-id-851
	.story-cases
	.swell-block-accordion__title {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: auto;
		max-width: 100%;
		gap: 0.7em;
		padding: 0.65em 1.2em;
		background: #f6e7d1;
		border: 1px solid rgba(184, 112, 1, 0.14);
		border-radius: 999px;
		box-shadow: none;
		color: #382b22;
		font-size: 0.86rem;
		font-weight: 600;
		line-height: 1.4;
		cursor: pointer;
	}

	.page-id-851
	.story-cases
	.swell-block-accordion__label {
		flex: 0 1 auto;
	}

	.page-id-851
	.story-cases
	.swell-block-accordion__icon {
		flex: 0 0 auto;
		margin-left: 0;
	}

	/* アコーディオン末尾の「閉じる」 */
	.page-id-851 .story-accordion-close {
		display: block;
		width: fit-content;
		margin: 1.25rem auto 0;
		padding: 0.55em 1.4em;
		background: transparent;
		border: 1px solid #d8b98d;
		border-radius: 999px;
		color: #60482e;
		font-size: 0.82rem;
		font-weight: 600;
		line-height: 1.4;
		cursor: pointer;
	}
}