@charset "UTF-8";
/* =========================================================
   K-LAB DESIGN トップページ V3「Vermilion Grid」
   - トップページだけで読み込む（inc/klab-v3-front.php）
   - 本文・見出し・リンク・画像は管理画面のブロックのまま。見た目だけを変える
   - 基準：klab-redesign-v3/dist（2026-10-23 承認）
   - 隠した状態から出す作りにしない（JS が動かなくても本文はすべて見える）
   ========================================================= */

#body_wrap.home {
	--v3-red: #ed4e27;
	--v3-red-deep: #c93915;
	--v3-ink: #242323;
	--v3-paper: #fcfbf8;
	--v3-soft: #f1eee8;
	--v3-muted: #6f6a66;
	--v3-line: #d9d5ce;
	--v3-dark: #262725;
	--v3-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
	--v3-latin: Arial, "Helvetica Neue", sans-serif;
	--v3-gutter: 6%;
	--v3-title-col: 290px;
	background: var(--v3-paper);
	color: var(--v3-ink);
	font-family: var(--v3-sans);
	-webkit-font-smoothing: antialiased;
	counter-reset: v3sec;
	overflow-x: clip;
}

/* ---------- ヘッダー ---------- */
#body_wrap.home .l-header__bar { display: none; }
#body_wrap.home .l-header,
#body_wrap.home .l-fixHeader { background: var(--v3-paper); box-shadow: none; border-bottom: 1px solid var(--v3-line); }
#body_wrap.home .l-header__inner,
#body_wrap.home .l-fixHeader__inner { max-width: none; padding-left: 4.3%; padding-right: 4.3%; }
#body_wrap.home .l-header__inner { min-height: 100px; align-items: center; }
#body_wrap.home .l-header__logo .c-headLogo__img,
#body_wrap.home .l-fixHeader__logo .c-headLogo__img { width: 215px; height: auto; max-height: none; }
#body_wrap.home .c-gnav { gap: 30px; align-items: center; }
#body_wrap.home .c-gnav > li > a { font-size: 12px; letter-spacing: .02em; color: var(--v3-ink); padding: 0; }
#body_wrap.home .c-gnav > li > a::after { background: var(--v3-red); height: 1px; }
#body_wrap.home .c-gnav > li:last-child > a {
	background: var(--v3-red);
	color: #fff;
	padding: 17px 22px;
	height: auto;
	display: flex;
	gap: 30px;
	align-items: center;
	transition: transform .25s ease, background-color .25s ease;
}
#body_wrap.home .c-gnav > li:last-child > a::after { display: none; }
#body_wrap.home .c-gnav > li:last-child > a .ttl::after { content: "↗"; margin-left: 30px; font-size: 13px; }
#body_wrap.home .c-gnav > li:last-child > a:hover { transform: translateY(-3px); }
#body_wrap.home .c-gnav .sub-menu { background: var(--v3-paper); border: 1px solid var(--v3-line); box-shadow: none; }
#body_wrap.home .c-gnav .sub-menu a { font-size: 12px; }

@media (max-width: 959px) {
	#body_wrap.home .l-header__inner { min-height: 78px; padding-left: 5%; padding-right: 5%; }
	#body_wrap.home .l-header__logo { order: 0; text-align: left; flex: 1; }
	#body_wrap.home .l-header__logo .c-headLogo__img { width: 174px; }
	#body_wrap.home .l-header__menuBtn { order: 3; }
	#body_wrap.home .l-header__menuBtn .c-iconBtn { display: flex; align-items: center; gap: 10px; width: auto; color: var(--v3-ink); }
	#body_wrap.home .l-header__menuBtn .c-iconBtn::before { content: "MENU"; font: 10px/1 var(--v3-latin); letter-spacing: 1px; }
	#body_wrap.home .p-spMenu .c-widget__title.-spmenu { background: var(--v3-ink); }
	#body_wrap.home .p-spMenu .c-spnav a { color: var(--v3-ink); }
}

/* ---------- メインビジュアル（PC：V3 の3枚組、スマホ：写真＋暗いグラデーション） ---------- */
#body_wrap.home #main_visual {
	height: auto;
	min-height: 0;
	background: var(--v3-paper);
	color: var(--v3-ink);
	border-bottom: 1px solid var(--v3-line);
	position: relative;
	overflow: hidden;
}
#body_wrap.home #main_visual .p-mainVisual__inner {
	max-width: 1600px;
	height: auto;
	min-height: 630px;
	margin: 0 auto;
	padding: 65px var(--v3-gutter) 45px;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 65px;
	align-items: center;
	overflow: visible;
	box-sizing: border-box;
}
/* SWELL はスライダーの準備（JS）が終わるまでメインビジュアル全体を隠す。V3 ではスライダーとして動かさないので最初から表示する
   （見出しと1枚目の写真が早く出る。JS 無効時も表示される） */
#body_wrap.home #main_visual .swiper { visibility: visible !important; }

/* 写真側（swiper-wrapper）：スライダーの動きを止めて、3枚を重ねて並べる */
#body_wrap.home #main_visual .swiper-wrapper {
	grid-column: 2;
	grid-row: 1;
	position: relative;
	display: block;
	width: 100%;
	height: 445px;
	min-height: 445px;
	transform: none !important;
	transition: none !important;
}
#body_wrap.home #main_visual .swiper-wrapper::before {
	content: "";
	position: absolute;
	inset: 35px 15px -20px 35px;
	border: 1px solid var(--v3-red);
	pointer-events: none;
}
#body_wrap.home #main_visual .swiper-wrapper::after {
	content: "K / LAB";
	position: absolute;
	top: 12px;
	left: 3px;
	writing-mode: vertical-rl;
	font: 900 39px/1 var(--v3-latin);
	letter-spacing: -2px;
	color: var(--v3-red);
	pointer-events: none;
}
#body_wrap.home #main_visual .swiper-slide {
	position: absolute !important;
	width: auto !important;
	height: auto !important;
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
	visibility: visible !important;
	z-index: 1;
}
#body_wrap.home #main_visual .swiper-slide.swiper-slide-duplicate { display: none !important; }
#body_wrap.home #main_visual .swiper-slide::before,
#body_wrap.home #main_visual .swiper-slide::after { display: none !important; }
#body_wrap.home #main_visual .p-mainVisual__imgLayer,
#body_wrap.home #main_visual .p-mainVisual__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation: none !important;
	transform: none !important;
}
/* 1枚目＝大きい写真、2枚目＝左下、3枚目＝右下。
   :has() を使わない書き方にしている（非対応ブラウザでもルールごと無効にならないように）。
   ①JS なし：Swiper が動かないので、並び順（nth-child）で決める
   ②JS あり：Swiper がループ用の複製を前後に足すので、元の番号（data-swiper-slide-index）で決め直す（①より後に書き、全項目を上書き） */
#body_wrap.home #main_visual .swiper-slide:nth-child(1) {
	top: 0; right: 0; bottom: auto; left: auto; width: 80% !important; height: 80% !important; z-index: 1; border: 0;
}
#body_wrap.home #main_visual .swiper-slide:nth-child(2) {
	top: auto; right: auto; bottom: 0; left: 0; width: 43% !important; height: 46% !important; z-index: 2; border: 8px solid var(--v3-paper);
}
#body_wrap.home #main_visual .swiper-slide:nth-child(3) {
	top: auto; right: 0; bottom: -7%; left: auto; width: 33% !important; height: 31% !important; z-index: 2; border: 8px solid var(--v3-paper);
}
#body_wrap.home #main_visual .swiper-slide.swiper-slide[data-swiper-slide-index="0"] {
	top: 0; right: 0; bottom: auto; left: auto; width: 80% !important; height: 80% !important; z-index: 1; border: 0;
}
#body_wrap.home #main_visual .swiper-slide.swiper-slide[data-swiper-slide-index="1"] {
	top: auto; right: auto; bottom: 0; left: 0; width: 43% !important; height: 46% !important; z-index: 2; border: 8px solid var(--v3-paper);
}
#body_wrap.home #main_visual .swiper-slide.swiper-slide[data-swiper-slide-index="2"] {
	top: auto; right: 0; bottom: -7%; left: auto; width: 33% !important; height: 31% !important; z-index: 2; border: 8px solid var(--v3-paper);
}
#body_wrap.home #main_visual .swiper-pagination,
#body_wrap.home #main_visual .swiper-button-prev,
#body_wrap.home #main_visual .swiper-button-next { display: none; }

/* 文字側（ブログパーツ ID 221 の見出し・2行） */
#body_wrap.home #main_visual .p-mainVisual__textLayer {
	grid-column: 1;
	grid-row: 1;
	position: relative;
	inset: auto;
	transform: none;
	width: auto;
	max-width: none;
	padding: 0;
	margin: 0;
	color: var(--v3-ink) !important;
	text-shadow: none !important;
	text-align: left;
	z-index: 3;
}
#body_wrap.home #main_visual .p-mainVisual__textLayer .post_content { margin: 0; }
#body_wrap.home #main_visual .p-mainVisual__textLayer .post_content::before {
	content: "YAO / HIGASHIOSAKA · WEB DESIGN";
	display: block;
	font: 10px/1.4 var(--v3-latin);
	letter-spacing: 2px;
	margin-bottom: 30px;
	color: var(--v3-red);
}
#body_wrap.home #main_visual h1.main-bisual-h1 {
	margin: 0;
	padding: 0 0 0 25px;
	border-left: 6px solid var(--v3-red);
	background: none;
	color: var(--v3-ink) !important;
	text-align: left !important;
	font-family: var(--v3-sans);
	font-size: 48px;
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: -.055em;
	text-shadow: none;
}
#body_wrap.home #main_visual h1.main-bisual-h1::before,
#body_wrap.home #main_visual h1.main-bisual-h1::after { display: none; }
/* 行の強弱。1行目の縮小は CSS だけで行う（JS の前後で見出しの高さが変わらない＝表示のずれを起こさない）。
   最終行の朱色だけ front.js が付ける（色と書体のみで、高さは変わらない） */
#body_wrap.home #main_visual h1.main-bisual-h1 { white-space: nowrap; }
#body_wrap.home #main_visual h1.main-bisual-h1 br,
#body_wrap.home #main_visual h1.main-bisual-h1 br.sp-br { display: inline; }
#body_wrap.home #main_visual h1.main-bisual-h1::first-line { font-size: .64em; letter-spacing: .015em; }
#body_wrap.home #main_visual h1.main-bisual-h1 .klv3-line:last-child { color: var(--v3-red); font-family: var(--v3-latin); letter-spacing: -.055em; }

#body_wrap.home #main_visual .main-bisual-content,
#body_wrap.home #main_visual .main-bisual-content2 {
	display: table;
	margin: 0;
	text-align: left !important;
	font-size: 15px;
	line-height: 1.7;
	font-weight: 600;
	color: var(--v3-ink) !important;
}
#body_wrap.home #main_visual .main-bisual-content { margin-top: 32px; background: var(--v3-red); color: #fff !important; padding: 10px 15px; }
#body_wrap.home #main_visual .main-bisual-content2 { margin-top: 12px; padding-bottom: 7px; border-bottom: 1px solid var(--v3-red); }
#body_wrap.home #main_visual .main-bisual-content span,
#body_wrap.home #main_visual .main-bisual-content2 span {
	background: none !important;
	color: inherit !important;
	font-size: inherit !important;
	padding: 0;
}

/* ヒーロー下の帯 */
#body_wrap.home #main_visual::after {
	content: "WEB DESIGN / SEO / MEO";
	display: block;
	padding: 20px var(--v3-gutter);
	border-top: 1px solid var(--v3-line);
	font: 9px/1.4 var(--v3-latin);
	letter-spacing: 2px;
	color: var(--v3-ink);
}

#body_wrap.home #main_visual::before {
	content: "SCROLL TO EXPLORE ↓";
	position: absolute;
	right: var(--v3-gutter);
	bottom: 0;
	z-index: 4;
	padding: 20px 0;
	font: 9px/1.4 var(--v3-latin);
	letter-spacing: 2px;
	color: var(--v3-ink);
	pointer-events: none;
}

@media (min-width: 701px) and (max-width: 1000px) {
	#body_wrap.home #main_visual .p-mainVisual__inner { gap: 35px; }
	#body_wrap.home #main_visual h1.main-bisual-h1 { font-size: 35px; }
}

@media (max-width: 700px) {
	#body_wrap.home #main_visual .p-mainVisual__inner {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: stretch;
		min-height: 600px;
		padding: 205px 7% 55px;
		isolation: isolate;
	}
	#body_wrap.home #main_visual .swiper-wrapper {
		position: absolute;
		inset: 0;
		height: 100%;
		min-height: 0;
		z-index: -2;
	}
	#body_wrap.home #main_visual .swiper-wrapper::before,
	#body_wrap.home #main_visual .swiper-wrapper::after { display: none; }
	/* スマホは1枚目だけを全面に。2・3枚目は読み込ませない（非表示の遅延読み込み画像は取得されない） */
	#body_wrap.home #main_visual .swiper-slide { display: none !important; }
	#body_wrap.home #main_visual .swiper-slide.swiper-slide:nth-child(1):not(.swiper-slide-duplicate),
	#body_wrap.home #main_visual .swiper-slide.swiper-slide[data-swiper-slide-index="0"]:not(.swiper-slide-duplicate) {
		display: block !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		border: 0 !important;
	}
	#body_wrap.home #main_visual .p-mainVisual__img { object-position: 62% center; }
	#body_wrap.home #main_visual .p-mainVisual__inner::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: linear-gradient(180deg, rgba(15, 20, 20, .12) 0%, rgba(15, 20, 20, .78) 40%, rgba(15, 20, 20, .94) 100%);
	}
	#body_wrap.home #main_visual .p-mainVisual__textLayer { color: #fff !important; }
	#body_wrap.home #main_visual .p-mainVisual__textLayer .post_content::before { color: #fff; font-size: 8px; letter-spacing: 1.1px; margin-bottom: 25px; }
	#body_wrap.home #main_visual h1.main-bisual-h1 {
		border: 0;
		padding: 0;
		color: #fff !important;
		font-size: 29px;
		line-height: 1.65;
		letter-spacing: -.045em;
		text-shadow: 0 1px 7px #0008;
	}
	#body_wrap.home #main_visual h1.main-bisual-h1 { white-space: normal; }
	#body_wrap.home #main_visual h1.main-bisual-h1::first-line { font-size: .68em; }
	#body_wrap.home #main_visual h1.main-bisual-h1 .klv3-line:last-child { color: #fff; }
	#body_wrap.home #main_visual .main-bisual-content,
	#body_wrap.home #main_visual .main-bisual-content2 { font-size: 12px; color: #fff !important; }
	#body_wrap.home #main_visual .main-bisual-content { margin-top: 28px; background: var(--v3-red-deep); padding: 10px 12px; }
	#body_wrap.home #main_visual .main-bisual-content2 { border-bottom-color: #ffffff66; }
	#body_wrap.home #main_visual::after { background: var(--v3-dark); color: #fff; border: 0; padding: 16px var(--v3-gutter); font-size: 7px; letter-spacing: 1px; }
	#body_wrap.home #main_visual::before { color: #fff; padding: 16px 0; font-size: 7px; letter-spacing: 1px; }
}

/* ---------- 「ご相談はこちらから」（子テーマのフローティングボタン：画面下に固定のまま色だけ V3 に） ---------- */
#body_wrap.home .float-button__wrap {
	background: rgba(36, 35, 35, .92);
	padding: 10px 2%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	font-size: 12px;
}
#body_wrap.home .float-button__wrap h4 { margin: 0; padding: 0; border: 0; color: #fff; font-size: 12px; font-weight: 600; white-space: nowrap; }
#body_wrap.home .float-button__wrap h4::before { display: none; }
#body_wrap.home .float-button__wrap__box { width: auto; margin: 0; gap: 12px; }
#body_wrap.home .float-button__wrap__box a,
#body_wrap.home .float-button__wrap__box a:nth-of-type(2),
#body_wrap.home .float-button__wrap__box a:last-of-type {
	width: auto;
	min-width: 220px;
	border-radius: 0;
	line-height: 1.5;
	padding: 13px 22px;
	font-size: 12px;
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	transition: transform .25s ease;
}
#body_wrap.home .float-button__wrap__box a:first-of-type { background: var(--v3-red); border: 1px solid var(--v3-red); }
#body_wrap.home .float-button__wrap__box a:nth-of-type(2) { background: transparent; border: 1px solid #ffffff80; }
#body_wrap.home .float-button__wrap__box a::after { content: "↗"; }
#body_wrap.home .float-button__wrap__box a:hover { transform: translateY(-2px); }
@media (max-width: 700px) {
	#body_wrap.home .float-button__wrap { flex-wrap: wrap; gap: 6px; padding: 8px 4% 10px; }
	#body_wrap.home .float-button__wrap h4 { width: 100%; font-size: 11px; text-align: left; }
	#body_wrap.home .float-button__wrap__box { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	#body_wrap.home .float-button__wrap__box a,
	#body_wrap.home .float-button__wrap__box a:nth-of-type(2) { min-width: 0; padding: 11px 10px; font-size: 10px; gap: 4px; }
}
/* 固定ボタンで最下部の本文が隠れないように */
#body_wrap.home .l-footer { padding-bottom: 90px; }

/* ---------- 本文の共通 ---------- */
#body_wrap.home .l-content { max-width: 1440px; padding-left: var(--v3-gutter); padding-right: var(--v3-gutter); margin-top: 0; padding-top: 0; }
#body_wrap.home .l-mainContent.l-article { max-width: none; width: 100%; }
#body_wrap.home .l-mainContent__inner > .post_content { margin-top: 0; padding-left: 0; padding-right: 0; }
#body_wrap.home .post_content { font-family: var(--v3-sans); color: var(--v3-ink); }
#body_wrap.home .post_content p { line-height: 2.1; }

/* 区分見出し（h2.is-style-section_ttl）：左に番号、右に見出し */
#body_wrap.home .post_content h2.is-style-section_ttl {
	counter-increment: v3sec;
	position: relative;
	margin: 120px 0 0;
	padding: 0 0 0 var(--v3-title-col);
	background: none;
	border: 0;
	color: var(--v3-ink);
	text-align: left;
	font-size: 38px;
	font-weight: 800;
	line-height: 1.65;
	letter-spacing: -.035em;
	max-width: calc(var(--v3-title-col) + 820px);
}
#body_wrap.home .post_content h2.is-style-section_ttl::after { display: none; }
#body_wrap.home .post_content h2.is-style-section_ttl::before {
	content: counter(v3sec, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 1.25em;
	width: auto;
	height: auto;
	background: none;
	font: 10px/1 var(--v3-latin);
	letter-spacing: 2px;
	color: var(--v3-red);
}
#body_wrap.home .post_content h2.is-style-section_ttl strong,
#body_wrap.home .post_content h2.is-style-section_ttl .swl-bg-color,
#body_wrap.home .post_content h2.is-style-section_ttl .swl-fz { background: none !important; font-size: inherit !important; font-weight: inherit; color: inherit; padding: 0; }
#body_wrap.home .post_content h2.is-style-section_ttl br { display: none; }

/* 見出し直後の英字ラベル（Achievements など） */
#body_wrap.home .post_content h2.is-style-section_ttl + p:has(> .mininote) {
	margin: 14px 0 64px;
	padding-left: var(--v3-title-col);
	text-align: left !important;
	line-height: 1.4;
}
#body_wrap.home .post_content .mininote {
	font: 11px/1.4 var(--v3-latin);
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--v3-red);
	opacity: 1;
}

/* フルワイド区分（導入・SEO・強み・制作フロー）は背景写真を外して、紙色・黒・薄ベージュの面に */
#body_wrap.home .post_content .swell-block-fullWide.has-bg-img {
	background-image: none !important;
	background-color: var(--v3-paper) !important;
	color: var(--v3-ink) !important;
	padding-top: 0;
	padding-bottom: 120px;
}
#body_wrap.home .post_content .swell-block-fullWide.has-bg-img::before { display: none; }
/* JS が動かないと、既存の遅延読み込みの指定（noscript 内の .lazyload{display:none}）でこの区分ごと消える。
   V3 では背景写真を使わないので、トップでは常に表示する（本番の現状より改善） */
#body_wrap.home .post_content .swell-block-fullWide.has-bg-img.lazyload { display: block !important; }
#body_wrap.home .post_content .swell-block-fullWide__inner { max-width: 1440px; margin: 0 auto; padding-left: var(--v3-gutter); padding-right: var(--v3-gutter); box-sizing: border-box; }

/* 01 導入 */
#body_wrap.home .post_content > .swell-block-fullWide:first-child .swell-block-fullWide__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 9%;
	align-items: start;
}
#body_wrap.home .post_content > .swell-block-fullWide:first-child h2.is-style-section_ttl { grid-column: 1 / -1; margin-bottom: 64px; }
#body_wrap.home .post_content > .swell-block-fullWide:first-child .swell-block-fullWide__inner::before {
	/* 既存の背景写真（4.jpg）を、V3 の朱色の面つき写真として左に置く */
	content: "";
	grid-column: 1;
	grid-row: 2;
	aspect-ratio: 1.22;
	background: var(--klv3-intro-bg, url("https://k-lab-design.jp/wp-content/uploads/2024/04/4.jpg")) center / cover no-repeat;
	box-shadow: -24px 24px 0 var(--v3-red);
	margin: 0 0 24px 24px;
	filter: saturate(.7);
}
#body_wrap.home .post_content > .swell-block-fullWide:first-child .swell-block-fullWide__inner > p {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	font-size: 15px;
	line-height: 2.5;
}

/* 02 SEO 実績（黒い面） */
#body_wrap.home .post_content .swell-block-fullWide.has-bg-img:has(.cap_box) {
	background-color: var(--v3-dark) !important;
	color: #fff !important;
	--v3-line: #555650;
}
#body_wrap.home .post_content .swell-block-fullWide:has(.cap_box) h2.is-style-section_ttl { color: #fff; margin-bottom: 40px; }
#body_wrap.home .post_content .swell-block-fullWide:has(.cap_box) .swell-block-fullWide__inner > p {
	text-align: left !important;
	color: #deded8;
	margin-left: var(--v3-title-col);
	max-width: 820px;
	font-size: 14px;
}
#body_wrap.home .post_content .swell-block-fullWide:has(.cap_box) .swell-block-fullWide__inner > p br:first-child { display: none; }
#body_wrap.home .post_content .swell-block-columns:has(.cap_box) { margin: 70px 0 55px; }
#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .swell-block-columns__inner { gap: 0; margin: 0; }
#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .swell-block-column {
	box-shadow: none;
	background: none;
	padding: 0 38px;
	margin: 0;
	border-left: 1px solid var(--v3-line);
}
#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .swell-block-column:first-child { padding-left: 0; border-left: 0; }
#body_wrap.home .post_content .cap_box { border: 0; background: none; box-shadow: none; }
#body_wrap.home .post_content .cap_box_ttl {
	position: static;
	background: none;
	border: 0;
	padding: 0;
	color: inherit;
	text-align: left;
	font-size: 14px;
	font-weight: 500;
}
#body_wrap.home .post_content .cap_box_ttl span { display: block; text-align: left; padding: 0; }
#body_wrap.home .post_content .cap_box_ttl::before,
#body_wrap.home .post_content .cap_box_ttl::after { display: none; }
#body_wrap.home .post_content .cap_box_content { padding: 0; border: 0; background: none; }
#body_wrap.home .post_content .cap_box_content p {
	text-align: left !important;
	margin: 22px 0 0;
	padding-bottom: 24px;
	color: #ff7957;
	font: 400 22px/1.2 var(--v3-latin);
	border-bottom: 2px solid #555650;
	position: relative;
}
#body_wrap.home .post_content .cap_box_content .swl-fz { font-size: 95px !important; letter-spacing: -4px; }
#body_wrap.home .post_content .cap_box_content .swl-bg-color { background: none !important; color: inherit; }
/* 数値の下のバー（57% / 28% / 15%） */
#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .cap_box_content p::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	height: 2px;
	background: #ff7957;
	width: 0;
}
#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .swell-block-column:nth-child(1) .cap_box_content p::after { width: 57%; }
#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .swell-block-column:nth-child(2) .cap_box_content p::after { width: 28%; }
#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .swell-block-column:nth-child(3) .cap_box_content p::after { width: 15%; }

/* 03 制作実績（投稿リスト：2列・大きな写真・互い違い） */
#body_wrap.home .post_content .p-postListWrap { margin-bottom: 0; }
#body_wrap.home .post_content .p-postList.-type-card {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 70px 46px;
	margin: 0;
}
#body_wrap.home .post_content .p-postList.-type-card .p-postList__item { width: auto; margin: 0; padding: 0; }
#body_wrap.home .post_content .p-postList.-type-card .p-postList__item:nth-child(even) { transform: translateY(55px); }
#body_wrap.home .post_content .p-postList__link { display: block; color: var(--v3-ink); box-shadow: none; background: none; }
#body_wrap.home .post_content .p-postList__link:hover { box-shadow: none; transform: none; }
#body_wrap.home .post_content .p-postList__thumb { position: relative; padding: 38px; background: #ece9e2; overflow: hidden; border-radius: 0; }
#body_wrap.home .post_content .p-postList__thumb::before { display: none; }
#body_wrap.home .post_content .c-postThumb__figure { position: relative; height: 340px; padding: 0; box-shadow: 0 15px 28px #2423231a; transition: transform .6s ease; }
#body_wrap.home .post_content .c-postThumb__img { object-fit: cover; object-position: top; transform: none !important; }
#body_wrap.home .post_content .p-postList__link:hover .c-postThumb__figure { transform: translateY(-6px); }
#body_wrap.home .post_content .p-postList__thumb .c-postThumb__cat {
	position: absolute;
	top: auto;
	left: 12px;
	bottom: 10px;
	background: none;
	color: var(--v3-red);
	padding: 0;
	font-size: 10px;
	letter-spacing: 1px;
	box-shadow: none;
}
#body_wrap.home .post_content .p-postList__thumb .c-postThumb__cat::before { display: none; }
#body_wrap.home .post_content .p-postList__body { position: relative; padding: 26px 40px 0 0; text-align: left; }
#body_wrap.home .post_content .p-postList__body::after {
	content: "↗";
	position: absolute;
	right: 0;
	top: 23px;
	font-size: 22px;
	color: var(--v3-ink);
	transition: transform .25s ease;
}
#body_wrap.home .post_content .p-postList__link:hover .p-postList__body::after { transform: translate(3px, -3px); }
#body_wrap.home .post_content .p-postList__title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--v3-ink);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.65;
}
#body_wrap.home .post_content .p-postList__title::before { display: none; }
#body_wrap.home .post_content .p-postList__excerpt { margin-top: 10px; font-size: 12px; line-height: 1.9; color: var(--v3-muted); }
#body_wrap.home .post_content .is-style-more_btn { margin: 105px 0 0; text-align: center; }
#body_wrap.home .post_content .is-style-more_btn a.btn_text {
	display: inline-flex;
	justify-content: space-between;
	gap: 35px;
	min-width: 250px;
	padding: 18px 26px;
	background: transparent;
	border: 1px solid var(--v3-ink);
	border-radius: 0;
	color: var(--v3-ink);
	font-size: 12px;
	font-weight: 600;
	box-shadow: none;
	transition: transform .25s ease;
}
#body_wrap.home .post_content .is-style-more_btn a.btn_text::after { content: "↗"; position: static; transform: none; border: 0; width: auto; height: auto; }
#body_wrap.home .post_content .is-style-more_btn a.btn_text:hover { transform: translateY(-3px); background: transparent; color: var(--v3-ink); }

/* 04 強み（横組み：図版と本文） */
#body_wrap.home .post_content .swell-block-fullWide.has-bg-img:has(details) { background-color: var(--v3-soft) !important; margin-top: 120px; }
#body_wrap.home .post_content .swell-block-fullWide:has(details) h2.is-style-section_ttl { margin-top: 0; padding-top: 120px; }
#body_wrap.home .post_content .swell-block-fullWide:has(details) h2.is-style-section_ttl::before { top: calc(120px + 1.25em); }
#body_wrap.home .post_content .swell-block-columns:has(details) { width: 100%; left: 0; margin: 0; }
#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-columns__inner { display: block; margin: 0; }
#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column {
	width: auto;
	margin: 0;
	padding: 65px 0;
	background: none;
	box-shadow: none;
	border-top: 1px solid #cfc8bd;
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	grid-template-rows: auto 1fr;
	column-gap: 9%;
	align-items: start;
}
#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column:last-child { padding-bottom: 0; }
#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column > figure {
	grid-column: 1;
	grid-row: 1 / span 2;
	margin: 0;
	position: sticky;
	top: 40px;
}
#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column > figure img { width: 100%; aspect-ratio: 1.2; object-fit: cover; filter: saturate(.75); }
#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column > h3 {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	font-size: 29px;
	font-weight: 800;
	line-height: 1.65;
	color: var(--v3-ink);
}
#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column > h3::before { display: none; }
#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column > details { grid-column: 2; grid-row: 2; margin: 25px 0 0; border: 0; }
#body_wrap.home .post_content .swell-block-columns:has(details) summary {
	display: flex;
	justify-content: space-between;
	padding: 18px 0;
	border-top: 1px solid var(--v3-line);
	font-size: 11px;
	color: var(--v3-muted);
	cursor: pointer;
	list-style: none;
}
#body_wrap.home .post_content .swell-block-columns:has(details) summary::-webkit-details-marker { display: none; }
#body_wrap.home .post_content .swell-block-columns:has(details) summary::after { content: "+"; font-size: 14px; }
#body_wrap.home .post_content .swell-block-columns:has(details) details[open] > summary::after { content: "−"; }
#body_wrap.home .post_content .swell-block-columns:has(details) details p,
#body_wrap.home .post_content .swell-block-columns:has(details) details ul { font-size: 14px; line-height: 2.15; color: var(--v3-ink); }
#body_wrap.home .post_content .swell-block-columns:has(details) details ul { padding: 15px 20px 15px 38px; background: #ffffff70; border: 0; }

/* 05 お客様の声（Trustindex の口コミ：スライダーをやめて罫線の一覧に） */
#body_wrap.home .post_content h2.is-style-section_ttl + p:has(> .mininote) + p {
	text-align: left !important;
	margin: 0 0 60px var(--v3-title-col);
	max-width: 840px;
	font-size: 14px;
}
#body_wrap.home .post_content .ti-widget > div { opacity: 1 !important; height: auto !important; overflow: visible !important; }
#body_wrap.home .post_content .ti-widget { display: block; width: auto; max-width: none; margin: 0 0 0 var(--v3-title-col); padding: 0; white-space: normal; font-family: var(--v3-sans); overflow: visible; }
#body_wrap.home .ti-widget .ti-widget-container,
#body_wrap.home .ti-widget .ti-reviews-container,
#body_wrap.home .ti-widget .ti-reviews-container-wrapper {
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	transform: none !important;
}
#body_wrap.home .ti-widget .ti-controls,
#body_wrap.home .ti-widget .ti-controls-line { display: none !important; }
#body_wrap.home .ti-widget .ti-review-item {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	flex: none !important;
	padding: 0 !important;
	margin: 0 !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}
#body_wrap.home .ti-widget .ti-review-item > .ti-inner {
	display: grid !important;
	grid-template-columns: 170px 1fr;
	gap: 35px;
	padding: 36px 0 !important;
	margin: 0 !important;
	background: none !important;
	border: 0 !important;
	border-top: 1px solid var(--v3-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
#body_wrap.home .ti-widget .ti-review-item > .ti-inner > .ti-review-header { grid-column: 1; grid-row: 1; }
#body_wrap.home .ti-widget .ti-review-item > .ti-inner > .ti-stars { grid-column: 1; grid-row: 2; margin: 10px 0 0 !important; }
#body_wrap.home .ti-widget .ti-review-item > .ti-inner > .ti-review-content { grid-column: 2; grid-row: 1 / span 3; width: auto !important; }
#body_wrap.home .ti-widget .ti-review-header { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; }
#body_wrap.home .ti-widget .ti-review-header .ti-platform-icon { order: 9; position: static !important; }
#body_wrap.home .ti-widget .ti-review-header > img { width: 13px !important; height: 13px !important; }
#body_wrap.home .ti-widget .ti-name { font-size: 14px !important; font-weight: 700 !important; color: var(--v3-ink) !important; }
#body_wrap.home .ti-widget .ti-date { font-size: 10px !important; color: var(--v3-muted) !important; }
#body_wrap.home .ti-widget .ti-review-content,
#body_wrap.home .ti-widget .ti-review-text-container {
	font-size: 13px !important;
	line-height: 2.1 !important;
	color: var(--v3-ink) !important;
	height: auto !important;
	max-height: none !important;
	-webkit-line-clamp: unset !important;
	overflow: visible !important;
	display: block !important;
}
#body_wrap.home .ti-widget .ti-read-more { display: none !important; }

/* 06 制作の流れ（ステップ：大きな番号・本文・写真） */
#body_wrap.home .post_content .swell-block-fullWide.has-bg-img:has(.swell-block-step) { background-color: var(--v3-soft) !important; margin-top: 120px; }
#body_wrap.home .post_content .swell-block-fullWide:has(.swell-block-step) h2.is-style-section_ttl { margin-top: 0; padding-top: 120px; }
#body_wrap.home .post_content .swell-block-fullWide:has(.swell-block-step) h2.is-style-section_ttl::before { top: calc(120px + 1.25em); }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) { counter-reset: v3step; margin: 0; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__item {
	counter-increment: v3step;
	display: grid;
	grid-template-columns: 100px 1fr;
	column-gap: 45px;
	padding: 45px 0;
	margin: 0;
	border-top: 1px solid var(--v3-line);
	border-bottom: 0;
}
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__item::before,
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__item::after { display: none; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__number {
	grid-column: 1;
	grid-row: 1 / span 2;
	position: static;
	width: auto;
	height: auto;
	background: none !important;
	color: var(--v3-ink) !important;
	border-radius: 0;
	font: 400 64px/1 var(--v3-latin);
	display: block;
	text-align: left;
}
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__number::before { display: none; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__number::after {
	content: counter(v3step, decimal-leading-zero);
	position: static;
	display: block;
	width: auto;
	height: auto;
	background: none;
	border: 0;
	transform: none;
	font-size: inherit;
}
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__number .__label {
	display: block;
	font-size: 10px;
	letter-spacing: 2px;
	color: var(--v3-red);
	margin-bottom: 6px;
}
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__title {
	grid-column: 2;
	margin: 0 0 20px;
	padding: 0;
	font-size: 24px !important;
	font-weight: 800;
	line-height: 1.7;
	color: var(--v3-ink);
}
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__body { grid-column: 2; padding: 0; margin: 0; border: 0; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text {
	display: grid;
	grid-template-columns: 1fr 280px !important;
	gap: 45px;
	align-items: start;
}
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__media { grid-column: 2; grid-row: 1; margin: 0; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__content { grid-column: 1; grid-row: 1; padding: 0; align-self: start; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__media { align-self: start; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__media img { aspect-ratio: 1.15; object-fit: cover; filter: saturate(.65); width: 100%; height: auto; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__content p,
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__content ul { font-size: 13px; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-button { display: inline-block; margin: 5px 5px 0 0; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-button__link {
	display: inline-flex;
	min-width: 0;
	padding: 9px 14px;
	border-radius: 0;
	background: transparent !important;
	border: 1px solid var(--v3-line);
	color: var(--v3-ink) !important;
	font-size: 11px;
	box-shadow: none;
	transition: transform .25s ease, border-color .25s ease;
}
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-button__link::after { content: "↗"; margin-left: 10px; }
#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-button__link:hover { transform: translateY(-3px); border-color: var(--v3-red); }

/* 07 料金（3プラン：縦罫線で区切る） */
#body_wrap.home .post_content .swell-block-step.is-style-big {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	counter-reset: v3plan;
}
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item {
	counter-increment: v3plan;
	margin: 0;
	padding: 32px;
	border-left: 1px solid var(--v3-line);
	border-bottom: 0;
	display: flex;
	flex-direction: column;
}
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item:first-child { border-left: 0; padding-left: 0; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item:last-child { padding-right: 0; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item::before,
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item::after { display: none; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__number {
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 12px;
	padding: 0;
	background: none;
	color: var(--v3-red) !important;
	font: 11px/1.4 var(--v3-latin);
	letter-spacing: 1.6px;
	text-align: left;
}
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__number::before { display: none; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__number .__label { font-size: 0; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__number .__label::after { content: "PLAN " counter(v3plan, decimal-leading-zero); font-size: 11px; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__number::after { display: none; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__title {
	margin: 0;
	padding: 0;
	font-size: 22px !important;
	font-weight: 800;
	min-height: 72px;
	text-align: left;
	color: var(--v3-ink);
}
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body { padding: 0; margin: 0; border: 0; display: flex; flex-direction: column; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body > figure { margin: 25px 0 35px; background: var(--v3-soft); order: -1; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body > figure img { width: 100%; aspect-ratio: 1.835; object-fit: cover; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body p { text-align: left !important; font-size: 13px; }
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body .swl-fz,
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body .swl-bg-color,
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body .swl-marker {
	display: inline-block;
	background: none !important;
	color: var(--v3-red);
	font: 500 31px/1.4 var(--v3-latin) !important;
	letter-spacing: -1px;
	margin: 8px 0;
	padding: 0;
}
/* 画像のないプラン（オリジナルデザイン）には、V3 と同じ朱色の図版を CSS だけで置く */
#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body:not(:has(figure))::before {
	content: "Original.    ✳";
	white-space: pre;
	order: -1;
	display: flex;
	align-items: center;
	height: 180px;
	margin: 25px 0 35px;
	padding: 25px;
	background: var(--v3-red);
	color: #fff;
	font: italic 31px/1 Georgia, serif;
	box-sizing: border-box;
}
#body_wrap.home .post_content .swell-block-step.is-style-big .is-style-kakko_box { padding: 15px 0 0; margin: 0; border: 0; border-top: 1px solid var(--v3-line); }
#body_wrap.home .post_content .swell-block-step.is-style-big .is-style-kakko_box::before,
#body_wrap.home .post_content .swell-block-step.is-style-big .is-style-kakko_box::after { display: none; }
#body_wrap.home .post_content .swell-block-step.is-style-big ul { font-size: 13px; }

/* 08 よくある質問 */
#body_wrap.home .post_content .swell-block-faq { margin: 0 0 0 var(--v3-title-col); }
#body_wrap.home .post_content .swell-block-faq { counter-reset: v3faq; }
#body_wrap.home .post_content .swell-block-faq__item {
	counter-increment: v3faq;
	margin: 0;
	padding: 30px 0;
	border: 0;
	border-top: 1px solid var(--v3-line);
	background: none;
	box-shadow: none;
}
#body_wrap.home .post_content .swell-block-faq__item:last-child { border-bottom: 1px solid var(--v3-line); }
#body_wrap.home .post_content .swell-block-faq .faq_q {
	position: relative;
	padding: 0 0 0 51px;
	margin: 0;
	background: none;
	border: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.9;
	color: var(--v3-ink);
}
#body_wrap.home .post_content .swell-block-faq .faq_q strong { font-weight: inherit; }
#body_wrap.home .post_content .swell-block-faq .faq_q::before {
	content: "Q" counter(v3faq, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: .55em;
	width: auto;
	height: auto;
	background: none !important;
	color: var(--v3-red) !important;
	border-radius: 0;
	font: 11px/1 var(--v3-latin);
	letter-spacing: 1px;
	transform: none;
}
#body_wrap.home .post_content .swell-block-faq .faq_a { padding: 14px 0 0 51px; margin: 0; background: none; border: 0; }
#body_wrap.home .post_content .swell-block-faq .faq_a::before { display: none; }
#body_wrap.home .post_content .swell-block-faq .faq_a p { font-size: 14px; line-height: 2.1; color: var(--v3-muted); }

/* 09 無料相談（フッター手前のブログパーツ ID 213：朱色の面） */
#body_wrap.home .w-beforeFooter { margin: 120px 0 0; padding: 0; background: var(--v3-red); color: #fff; }
#body_wrap.home .w-beforeFooter > .l-container { max-width: 1440px; padding: 120px var(--v3-gutter) 65px; box-sizing: border-box; }
#body_wrap.home .w-beforeFooter .c-widget { margin: 0; }
#body_wrap.home .w-beforeFooter .post_content { color: #fff; }
#body_wrap.home .w-beforeFooter .swell-block-columns__inner { display: block; margin: 0; }
#body_wrap.home .w-beforeFooter .swell-block-column { width: auto; margin: 0; padding: 0; }
#body_wrap.home .w-beforeFooter .swell-block-column:first-child h3 {
	position: relative;
	margin: 0 0 30px;
	padding: 0 0 0 var(--v3-title-col);
	background: none;
	border: 0;
	color: #fff;
	font-size: 58px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -.035em;
}
#body_wrap.home .w-beforeFooter .swell-block-column:first-child h3::before {
	content: "CONTACT";
	position: absolute;
	left: 0;
	top: 2.1em;
	width: auto;
	height: auto;
	background: none;
	font: 11px/1 var(--v3-latin);
	letter-spacing: 1.6px;
	color: #fff;
}
#body_wrap.home .w-beforeFooter .swell-block-column:first-child h3::after { display: none; }
#body_wrap.home .w-beforeFooter .swell-block-column:first-child p { margin: 0 0 90px var(--v3-title-col); max-width: 780px; font-size: 15px; }
#body_wrap.home .w-beforeFooter .swell-block-column:last-child {
	display: grid;
	grid-template-columns: 1fr 1.3fr .8fr;
	gap: 40px;
	align-items: center;
	padding-top: 45px;
	border-top: 1px solid #ffffff55;
}
#body_wrap.home .w-beforeFooter .swell-block-column:last-child figure { margin: 0; }
#body_wrap.home .w-beforeFooter .swell-block-column:last-child figure img { width: 215px !important; filter: brightness(0) invert(1); }
#body_wrap.home .w-beforeFooter .swell-block-column:last-child p { margin: 0; font-size: 12px; line-height: 2; color: #fff; }

/* フッター */
#body_wrap.home .l-footer { background: var(--v3-paper); color: var(--v3-ink); }
#body_wrap.home .l-footer__foot { background: var(--v3-paper); }
#body_wrap.home .l-footer__foot .l-container { display: flex; justify-content: space-between; align-items: center; max-width: none; padding: 35px var(--v3-gutter); }
#body_wrap.home .l-footer__nav { display: flex; gap: 25px; margin: 0; padding: 0; font-size: 11px; }
#body_wrap.home .l-footer__nav a { color: var(--v3-ink); border: 0; padding: 0; }
#body_wrap.home .l-footer .copyright { font: 9px/1.4 var(--v3-latin); letter-spacing: 1px; color: var(--v3-ink); margin: 0; }

/* ---------- 中間幅 ---------- */
@media (min-width: 701px) and (max-width: 1100px) {
	#body_wrap.home { --v3-title-col: 180px; }
	#body_wrap.home .post_content .cap_box_content .swl-fz { font-size: 70px !important; }
	#body_wrap.home .post_content .p-postList__thumb { padding: 25px; }
	#body_wrap.home .post_content .c-postThumb__figure { height: 260px; }
	#body_wrap.home .post_content .ti-widget,
	#body_wrap.home .post_content .swell-block-faq { margin-left: 0; }
	#body_wrap.home .post_content h2.is-style-section_ttl + p:has(> .mininote) + p { margin-left: 0; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__item { grid-template-columns: 65px 1fr; column-gap: 25px; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text { grid-template-columns: 1fr 220px !important; gap: 25px; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__number { font-size: 44px; }
	#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item { padding: 22px; }
	#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__title { font-size: 18px !important; }
	#body_wrap.home .w-beforeFooter .swell-block-column:first-child h3 { font-size: 44px; }
}

/* ---------- スマホ ---------- */
@media (max-width: 700px) {
	#body_wrap.home .post_content h2.is-style-section_ttl {
		margin-top: 74px;
		padding: 34px 0 0;
		font-size: 27px;
		line-height: 1.7;
	}
	#body_wrap.home .post_content h2.is-style-section_ttl::before { top: 0; font-size: 9px; }
	#body_wrap.home .post_content h2.is-style-section_ttl + p:has(> .mininote) { padding-left: 0; margin: 10px 0 34px; }
	#body_wrap.home .post_content .mininote { font-size: 9px; }
	#body_wrap.home .post_content .swell-block-fullWide.has-bg-img { padding-bottom: 74px; }

	#body_wrap.home .post_content > .swell-block-fullWide:first-child .swell-block-fullWide__inner { display: flex; flex-direction: column; gap: 30px; }
	#body_wrap.home .post_content > .swell-block-fullWide:first-child h2.is-style-section_ttl { margin-bottom: 0; }
	#body_wrap.home .post_content > .swell-block-fullWide:first-child .swell-block-fullWide__inner::before { order: 1; width: calc(100% - 15px); aspect-ratio: 1.5; margin: 0 0 15px 15px; box-shadow: -15px 15px 0 var(--v3-red); }
	#body_wrap.home .post_content > .swell-block-fullWide:first-child .swell-block-fullWide__inner > p { order: 2; font-size: 14px; line-height: 2.25; }

	#body_wrap.home .post_content .swell-block-fullWide:has(.cap_box) .swell-block-fullWide__inner > p { margin-left: 0; font-size: 13px; }
	#body_wrap.home .post_content .swell-block-columns:has(.cap_box) { margin: 38px 0; }
	#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .swell-block-columns__inner { display: grid; grid-template-columns: repeat(3, 1fr); }
	#body_wrap.home .post_content .swell-block-columns:has(.cap_box) .swell-block-column { width: auto; padding: 0 10px; }
	#body_wrap.home .post_content .cap_box_ttl { font-size: 9px; line-height: 1.6; }
	#body_wrap.home .post_content .cap_box_content p { font-size: 13px; margin-top: 16px; padding-bottom: 14px; }
	#body_wrap.home .post_content .cap_box_content p { white-space: nowrap; font-size: 11px; }
	#body_wrap.home .post_content .cap_box_content .swl-fz { font-size: 30px !important; letter-spacing: -2px; }

	#body_wrap.home .post_content .p-postList.-type-card { grid-template-columns: 1fr; gap: 45px; }
	#body_wrap.home .post_content .p-postList.-type-card .p-postList__item:nth-child(even) { transform: none; }
	#body_wrap.home .post_content .p-postList__thumb { padding: 28px; }
	#body_wrap.home .post_content .c-postThumb__figure { height: 275px; }
	#body_wrap.home .post_content .p-postList__title { font-size: 19px; }
	#body_wrap.home .post_content .p-postList__body { padding-top: 20px; }
	#body_wrap.home .post_content .is-style-more_btn { margin-top: 40px; }

	#body_wrap.home .post_content .swell-block-fullWide.has-bg-img:has(details),
	#body_wrap.home .post_content .swell-block-fullWide.has-bg-img:has(.swell-block-step) { margin-top: 74px; }
	#body_wrap.home .post_content .swell-block-fullWide:has(details) h2.is-style-section_ttl,
	#body_wrap.home .post_content .swell-block-fullWide:has(.swell-block-step) h2.is-style-section_ttl { padding-top: calc(74px + 34px); }
	#body_wrap.home .post_content .swell-block-fullWide:has(details) h2.is-style-section_ttl::before,
	#body_wrap.home .post_content .swell-block-fullWide:has(.swell-block-step) h2.is-style-section_ttl::before { top: 74px; }
	#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column { display: block; padding: 36px 0; }
	#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column > figure { position: static; margin-bottom: 28px; }
	#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column > figure img { aspect-ratio: 1.6; }
	#body_wrap.home .post_content .swell-block-columns:has(details) .swell-block-column > h3 { font-size: 24px; }
	#body_wrap.home .post_content .swell-block-columns:has(details) details p,
	#body_wrap.home .post_content .swell-block-columns:has(details) details ul { font-size: 13px; }

	#body_wrap.home .post_content h2.is-style-section_ttl + p:has(> .mininote) + p { margin: 0 0 35px; font-size: 13px; }
	#body_wrap.home .post_content .ti-widget { margin-left: 0; }
	#body_wrap.home .ti-widget .ti-review-item > .ti-inner { display: block !important; padding: 28px 0 !important; }
	#body_wrap.home .ti-widget .ti-review-header { margin-bottom: 16px !important; }

	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__item { grid-template-columns: 42px 1fr; column-gap: 20px; padding: 30px 0; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__number { font-size: 34px; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__number .__label { font-size: 7px; letter-spacing: 1px; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .swell-block-step__title { font-size: 20px !important; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text { display: flex; flex-direction: column; gap: 20px; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__content { order: 1; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__media { order: 2; }
	#body_wrap.home .post_content .swell-block-step:not(.is-style-big) .wp-block-media-text__media img { aspect-ratio: 1.6; }

	#body_wrap.home .post_content .swell-block-step.is-style-big { display: block; }
	#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item,
	#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item:first-child,
	#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__item:last-child { padding: 32px 0; border-left: 0; border-top: 1px solid var(--v3-line); }
	#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__title { min-height: 0; font-size: 24px !important; }
	#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body > figure { margin: 24px 0; }
	#body_wrap.home .post_content .swell-block-step.is-style-big .swell-block-step__body:not(:has(figure))::before { margin: 24px 0; }

	#body_wrap.home .post_content .swell-block-faq { margin-left: 0; }
	#body_wrap.home .post_content .swell-block-faq__item { padding: 25px 0; }
	#body_wrap.home .post_content .swell-block-faq .faq_q { font-size: 16px; padding-left: 36px; }
	#body_wrap.home .post_content .swell-block-faq .faq_a { padding-left: 36px; }
	#body_wrap.home .post_content .swell-block-faq .faq_a p { font-size: 13px; }

	#body_wrap.home .w-beforeFooter { margin-top: 74px; }
	#body_wrap.home .w-beforeFooter > .l-container { padding: 74px var(--v3-gutter) 50px; }
	#body_wrap.home .w-beforeFooter .swell-block-column:first-child h3 { padding: 34px 0 0; font-size: 35px; }
	#body_wrap.home .w-beforeFooter .swell-block-column:first-child h3::before { top: 0; font-size: 9px; }
	#body_wrap.home .w-beforeFooter .swell-block-column:first-child p { margin: 0 0 50px; font-size: 13px; }
	#body_wrap.home .w-beforeFooter .swell-block-column:last-child { grid-template-columns: 1fr; gap: 22px; }

	#body_wrap.home .l-footer__foot .l-container { display: block; padding: 30px var(--v3-gutter); }
	#body_wrap.home .l-footer__nav { flex-wrap: wrap; gap: 17px; font-size: 10px; }
	#body_wrap.home .l-footer .copyright { margin-top: 30px; font-size: 8px; }
}

/* ---------- 動きを減らす設定の人には、出現・hover の移動を止める ---------- */
@media (prefers-reduced-motion: reduce) {
	#body_wrap.home *,
	#body_wrap.home *::before,
	#body_wrap.home *::after { transition: none !important; animation: none !important; }
	#body_wrap.home .p-postList__link:hover .c-postThumb__figure,
	#body_wrap.home .c-gnav > li:last-child > a:hover,
	#body_wrap.home .is-style-more_btn a.btn_text:hover,
	#body_wrap.home .swell-block-button__link:hover,
	#body_wrap.home .float-button__wrap__box a:hover { transform: none !important; }
}
