@import url('https://fonts.googleapis.com/css2?family=Kaisei+Opti:wght@400;500;700&family=Mochiy+Pop+One&family=Zen+Kurenaido&display=swap');

/* ◆◆◆ 変数 ◆◆◆ */
:root {
	--brown: #865536;
	--red: #FF1918;
	--l-brown: #DFB997;
	--orange: #F7931D;
	--green: #2CB7B0;
	--l-green: #D9F0EF;
	--gray: #4D4D4D;
	--bg-beige: #EDEDE4;
	--bg-yellow: #FFFBC6;
	--kaisei: 'Kaisei Opti', serif;
	--zen: 'Zen Kurenaido', sans-serif;
	--din: 'din-2014', sans-serif;
}
/* ◆◆◆ /変数 ◆◆◆ */


/* ◆◆◆ 共通 ◆◆◆ */
.d8 img {
	width: 100%;
}

.d8 a:hover {
	opacity: 0.8;
}

/* SPのみ改行 */
@media (min-width: 601px) {
	.d8 .sp {
		display: none;
	}
}

/* 文字色・装飾ユーティリティ */
.d8 .text__red    { color: var(--red); }
.d8 .text__yellow { color: #F5FF00; }
.d8 .text__white  { color: #ffffff; }

.d8 .marker__yellow { background: linear-gradient(transparent 50%, #FFFF83 50%); }
.d8 .marker__pink   { background: linear-gradient(transparent 50%, #FFC4C4 50%); }

.d8 .bold        { font-weight: 800; }
.d8 .font-kaisei { font-family: var(--kaisei); }
/* ◆◆◆ /共通 ◆◆◆ */


/* ◆◆◆ 背景 ◆◆◆ */
.l-content {
	font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', sans-serif;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/04/diet11-bg.webp) no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

/* d8コンテンツ*/
.d8 {
	max-width: 600px;
	margin: 0 auto;
	background: #ffffff;
	overflow: hidden;
}
/* ◆◆◆ /背景 ◆◆◆ */


/* ◆◆◆ FV ◆◆◆ */
.d8 .fv {
	padding-bottom: 1.25em;
}

.d8 .fv__name {
	text-align: center;
	padding: 0.8em;
}

.d8 .fv__name p {
	color: var(--green);
	font-size: clamp(1.4rem, 2.5vw, 1.8rem);
	font-weight: 600;
	border: solid 3.5px var(--green);
	padding: 0.5em;
	margin-bottom: 0;
}

.d8 .fv__name span {
	font-size: 80%;
	padding-right: 0.5em;
	font-weight: 400;
}
/* ◆◆◆ /FV ◆◆◆ */


/* ◆◆◆ オファーバナー ◆◆◆ */
.d8 .offer {
	text-align: center;
	line-height: 0;
}

.d8 .offer__figure {
	margin: 0;
	line-height: 0;
}
/* ◆◆◆ /オファーバナー ◆◆◆ */


/* ◆◆◆ 続かない ◆◆◆ */
.d8 .unsuccess {
	margin-top: 2.625em;
}

.d8 .unsuccess__figure {
	width: 90%;
	margin: 0 auto;
	line-height: 0;
}

.d8 .unsuccess__figure-sub {
	margin-top: 1.875em;
	line-height: 0;
}

.d8 .unsuccess__items {
	list-style: none;
	margin: 0 auto;
	padding: 0 2.0625em 3.125em;
	background: var(--bg-beige);
}

.d8 .unsuccess__item {
	background: var(--orange);
	color: #ffffff;
	text-align: center;
	padding: 0.5em 0;
	font-size: clamp(1.4rem, 2.8vw, 1.6875rem);
	font-weight: 600;
	line-height: 1.6;
	margin-top: 0.5em;
}

.d8 .unsuccess__item:first-child {
	margin-top: 0;
}
/* ◆◆◆ /続かない ◆◆◆ */


/* ◆◆◆ おすすめ（recommend） ◆◆◆ */
/* バンザイ風の斜め線 \ テキスト / */
.d8 .recommend__lead {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	margin: 0;
	padding: 0 1em 0.5em;
	background: var(--bg-beige);
}

.d8 .recommend__lead::before,
.d8 .recommend__lead::after {
	content: "";
	width: 2px;
	height: 1.8em;
	background: var(--gray);
}

.d8 .recommend__lead::before {
	transform: rotate(-20deg);
}

.d8 .recommend__lead::after {
	transform: rotate(20deg);
}

.d8 .recommend__lead-text {
	font-size: clamp(1.4rem, 3vw, 2rem);
	font-weight: 600;
	margin: 0;
	color: var(--gray);
}

/* 緑の丸に文字（ベージュ背景つき） */
.d8 .recommend__keyword {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	background: var(--bg-beige);
	flex-wrap: nowrap;
}

.d8 .recommend__keyword-char {
	background: var(--green);
	color: #ffffff;
	font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
	font-size: clamp(2.8rem, 4.6vw, 3.8rem);
	font-weight: 400;
	width: 2.2em;
	height: 2.2em;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.d8 .recommend__keyword-char + .recommend__keyword-char {
	margin-left: -0.4em;
}

/* 5文字以上のとき自動で小さく */
.d8 .recommend__keyword:has(.recommend__keyword-char:nth-child(5)) .recommend__keyword-char {
	font-size: clamp(2.2rem, 3.8vw, 3.2rem);
	width: 2em;
	height: 2em;
}

.d8 .recommend__keyword:has(.recommend__keyword-char:nth-child(6)) .recommend__keyword-char {
	font-size: clamp(1.8rem, 3.2vw, 2.7rem);
	width: 1.9em;
	height: 1.9em;
}

.d8 .recommend__figure {
	line-height: 0;
}

.d8 p.recommend__text {
	text-align: center;
	font-size: clamp(1.6rem, 3.5vw, 2.25rem);
	line-height: 1.4;
	font-weight: 800;
	background: var(--bg-beige);
	padding: 0.8em 1em 1em;
	margin: 0;
}

.d8 .recommend__images {
	display: flex;
	justify-content: center;
	line-height: 0;
}

.d8 .recommend__image {
	flex: 1;
	line-height: 0;
}

.d8 .recommend__note {
	font-size: clamp(0.875rem, 1.4vw, 0.9375rem);
	color: var(--gray);
	text-align: center;
	margin-top: 0.5em;
	padding-bottom: 0.5em;
}
/* ◆◆◆ /おすすめ ◆◆◆ */


/* ◆◆◆ ビフォーアフター（ba） ◆◆◆ */
.d8 .ba__intro {
	font-size: clamp(1.6rem, 3.2vw, 2rem);
	text-align: center;
	font-weight: 600;
	padding: 1.5em 1em 0;
	color: var(--gray);
	line-height: 1.4;
}

.d8 .ba__intro-figure {
	display: block;
	margin: 0 auto;
	text-align: center;
}

.d8 .ba__intro-figure img {
	max-width: 100%;
	height: auto;
}

/* BA見出し：緑背景＋下矢印 */
.d8 .ba__title {
	color: #ffffff;
	font-size: clamp(1.8rem, 3.5vw, 2.625rem);
	font-family: var(--kaisei);
	font-weight: 400;
	text-align: center;
	padding: 0.95em 0 1.2em 0.57em;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-green-title-bg.webp) no-repeat center / cover;
	position: relative;
	margin-top: 0.5em;
}

.d8 .ba__items {
	list-style: none;
	padding: 0 2em;
	margin: 0;
	counter-reset: ba-counter 0;
}

/* 2回目以降のBAは開始番号を指定
   例：<section class="lp-section ba ba--4"> で4から */
.d8 .ba--3  { counter-reset: ba-counter 2; }
.d8 .ba--4  { counter-reset: ba-counter 3; }
.d8 .ba--5  { counter-reset: ba-counter 4; }
.d8 .ba--6  { counter-reset: ba-counter 5; }
.d8 .ba--7  { counter-reset: ba-counter 6; }

.d8 .ba__item {
	margin-top: 3.125em;
	position: relative;
	counter-increment: ba-counter;
}

/* 体重バッジ：HTML側の .ba__badge p で数値管理 */
.d8 .ba__badge {
	position: absolute;
	display: flex;
	background: red;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
	width: 7em;
	height: 7em;
	top: -1.75em;
	left: -0.9375em;
	z-index: 100;
}

.d8 .ba__badge p {
	position: relative;
	color: #F5FF00;
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	font-family: var(--din);
	font-weight: 600;
	font-style: italic;
	line-height: 1;
	letter-spacing: -1px;
	margin: 0;
	white-space: nowrap;
	display: flex;
	align-items: flex-start;
}

.d8 .ba__badge p::after {
	content: "kg";
	font-size: 0.45em;
	margin-left: 0.1em;
	padding-top: 0.8em;
	align-self: flex-start;
	margin-top: 0.3em;
}

.d8 .ba__case {
	font-size: clamp(1rem, 2vw, 1.25rem);
	font-family: var(--din);
	color: #ffffff;
	font-weight: 600;
	font-style: italic;
	letter-spacing: 0.08em;
	background: #B9DBD9;
	padding: 0.1875em 0.6875em 0.1875em 0;
	position: absolute;
	top: -2.15em;
	left: 0;
	width: 100%;
	text-align: right;
	z-index: 10;
	clip-path: polygon(78% 0, 100% 0%, 100% 100%, 10% 2500%);
	filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.16));
}

.d8 .ba__case::before {
	content: "CASE ";
}

.d8 .ba__case::after {
	content: counter(ba-counter);
}

.d8 .ba__content {
	padding: 2.5em 2em;
	background: var(--green);
	box-shadow: 3px 3px 6px rgba(0,0,0,0.16);
	position: relative;
}

.d8 .ba__images {
	display: flex;
	justify-content: center;
	gap: 1.25em;
	position: relative;
	margin: 0;
}

.d8 .ba__images::before {
	position: absolute;
	content: "";
	width: 3.125em;
	height: 3.125em;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-ba-arrow.webp) no-repeat center / contain;
	z-index: 800;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.d8 .ba__image {
	flex: 1;
	margin: 0;
	position: relative;
	line-height: 0;
}

.d8 .ba__image img {
	width: 100%;
	height: auto;
	display: block;
}

/* BEFORE / AFTER ラベル */
.d8 .ba__image::before {
	position: absolute;
	font-size: clamp(0.8rem, 1.6vw, 1.25rem);
	letter-spacing: 0.15em;
	text-align: center;
	color: #ffffff;
	bottom: 1em;
	left: 0;
	width: 100%;
	height: 2em;
	z-index: 300;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--din);
	font-weight: 600;
}

.d8 .ba__image--before::before {
	content: "BEFORE";
	background: var(--gray);
}

.d8 .ba__image--after::before {
	content: "AFTER";
	background: var(--orange);
}

.d8 .ba__note {
	text-align: right;
	font-size: clamp(0.75rem, 1.2vw, 0.875rem);
	color: #ffffff;
}

.d8 .ba__meta {
	font-size: clamp(0.875rem, 1.6vw, 1rem); ;
	color: #FFFFB3;
	text-align: center;
	font-weight: 600;
	margin-top: 0.9375em;
	margin-bottom: 0.2em; 
}

.d8 .ba__course {
	font-size: clamp(1.2rem, 2.4vw, 1.5rem);
	color: #ffffff;
	text-align: center;
	font-weight: 600;
	padding-bottom: 0.5em;
	border-bottom: 3px solid #ffffff;
	margin-top: 0;
}

.d8 .ba__text {
	font-size: clamp(0.875rem, 1.6vw, 1.25rem);
	color: #ffffff;
	margin: 0.9375em auto 0;
	padding: 0 1.25em;
	line-height: 1.6;
	text-align: center;
}
/* ◆◆◆ /ビフォーアフター ◆◆◆ */


/* ◆◆◆ さらに！（more） ◆◆◆ */
.d8 .more {
	margin-top: 3.75em;
	margin-bottom: 0.625em;
}

.d8 .more__figure {
	display: block;
	line-height: 0;
}

/* さらに!!：背景画像＋オレンジ文字 */
.d8 .more__title {
	font-family: var(--kaisei);
	font-size: clamp(2rem, 5vw, 3.5rem);
	color: var(--orange);
	text-align: center;
	font-weight: 600;
	padding: 3.3125rem 0 3.125rem 0.625rem;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-more-bg.webp) no-repeat bottom / cover;
	line-height: 1;
	margin: 0;
	position: relative;
}

.d8 .more__title-attention {
	font-size: inherit;
}

/* 体質から〜リバウンド率が低い */
.d8 .more__rebound {
	font-size: clamp(1.4rem, 3vw, 2rem);
	font-weight: 800;
	text-align: center;
	padding: 3.75rem 0 3.125rem;
	line-height: 1.3;
	background: var(--bg-beige);
	margin-block: -1.875rem 0;
}

.d8 .more__rebound span {
	color: var(--red);
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	display: block;
}

/* スタイルキープ：黄色マーカー */
.d8 .more__keep {
	font-size: clamp(1.8rem, 3vw, 2rem);
	font-weight: 400;
	text-align: center;
	padding: 3.125rem 0;
	line-height: 1.3;
	background: var(--bg-beige);
	margin-top: 0;
}

.d8 .more__keep .font-kaisei {
	font-family: var(--kaisei);
}

.d8 .more__keep .text__red.bold {
	background: linear-gradient(transparent 50%, #FFFF83 50%);
}
/* ◆◆◆ /さらに！ ◆◆◆ */


/* ◆◆◆ LINEバナー ◆◆◆ */
.d8 .line-contact {
	padding: 1.25em 1.875em 1.875em;
}

.d8 .line-contact__reserve,
.d8 .line-contact__official {
	display: block;
	line-height: 0;
}

.d8 .line-contact__official {
	margin-top: 0.9375em;
}
/* ◆◆◆ /LINEバナー ◆◆◆ */


/* ◆◆◆ なぜ（why） ◆◆◆ */
.d8 .why {
	margin-top: 3.4375em;
}

.d8 .why__title {
	font-size: clamp(1.6rem, 3.2vw, 2.1875rem);
	color: var(--gray);
	text-align: center;
	line-height: 1.2;
	font-weight: 800;
	padding: 0 1em;
}

/* 世の中には〜：緑背景・上下padding大きめ・下矢印 */
.d8 .why__lead {
	font-family: var(--kaisei);
	font-size: clamp(1.4rem, 3vw, 2.25rem);
	color: #ffffff;
	text-align: center;
	line-height: 1.2;
	background: var(--green);
	padding: 1.25em 0;
	margin-block: 1.25em 1.5em;
	position: relative;
}

.d8 .why__lead::after {
	position: absolute;
	content: "";
	bottom: -0.9375em;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 1.5625em solid transparent;
	border-left: 1.5625em solid transparent;
	border-top: 1.125em solid var(--green);
	border-bottom: 0;
}

.d8 .why__figure {
	margin-top: 0;
	line-height: 0;
}

.d8 .why__text {
	font-size: clamp(1.3rem, 2.6vw, 1.875rem);
	text-align: center;
	font-weight: 600;
	line-height: 1.4;
}

.d8 .why__text-intro {
	padding: 1.875em 0 1em;
}

.d8 .why__text-small {
	font-size: clamp(1.3rem, 2.2vw, 1.5625rem);
}

.d8 .why__reason-box {
	color: #ffffff;
	background: var(--red);
	padding: 0.75em;
	margin: 0.5em auto 1em;
	width: 78%;
	font-size: clamp(1.4rem, 2vw, 1.875rem);
}

.d8 .why__text-contrast {
	color: #ffffff;
	padding: 1.2em 0 1.7em;
	background: var(--gray);
	margin-bottom: 0;
}

.d8 .why__text-transition {
	padding: 2em 0 1em;
	background: var(--bg-yellow);
	position: relative;
}

.d8 .why__text-transition::before {
	position: absolute;
	content: "しかし";
	color: #ffffff;
	font-weight: 800;
	top: -8%;
	left: 50%;
	transform: translateX(-50%);
	width: 5em;
	height: 2.6em;
	background: var(--green);
	font-size: clamp(1.2rem, 2.2vw, 1.625rem);
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 0.5em;
	clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 100%, 0 70%);
	box-sizing: border-box;
}

.d8 .why__conclusion {
	font-size: clamp(1.6rem, 3.4vw, 2.5rem);
	font-weight: 800;
	color: var(--red);
	margin-top: 0.625em;
}

/* もう歳だから：オレンジ背景 */
.d8 .why__message {
	font-size: clamp(1.4rem, 3.2vw, 2.25rem);
	text-align: center;
	color: #ffffff;
	line-height: 1.2;
	padding: 2.8125rem 0 3.4375rem;
	font-weight: 600;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-orange-bg.webp) no-repeat bottom / contain;
	margin-top: 1.875rem;
}

/* 諦めブロック */
.d8 .why__age {
	font-size: clamp(1rem, 2.2vw, 1.375rem);
	font-weight: 600;
	line-height: 1.4;
	padding: 1.875rem 1.875rem 0;
	display: flex;
	align-items: flex-end;
	gap: 1em;
}

.d8 .why__age .text__white {
	color: var(--gray);
}

.d8 .why__age-body {
	width: 62%;
	text-align: left;
	padding-bottom: 1em;
}

.d8 .why__age-right {
	display: block;
	font-family: var(--zen);
	text-align: right;
	margin: 0.75em 0 0.25em;
	position: relative;
	z-index: 1;
}

.d8 .why__age-right::before {
	position: absolute;
	content: "";
	top: 1.1em;
	left: 45%;
	width: 55%;
	height: 0.5em;
	background: #FFC4C4;
	z-index: -1;
}

.d8 .why__age-left {
	display: block;
	font-family: var(--zen);
	text-align: left;
	margin: 0.75em 0;
	position: relative;
	z-index: 1;
}

.d8 .why__age-left::before {
	position: absolute;
	content: "";
	top: 1.1em;
	left: 0;
	width: 80%;
	height: 0.5em;
	background: #FFC4C4;
	z-index: -1;
}

.d8 .why__age-left::after {
	position: absolute;
	content: "";
	top: 2.6em;
	left: 0;
	width: 48%;
	height: 0.5em;
	background: #FFC4C4;
	z-index: -1;
}

.d8 .why__age-figure {
	width: 32%;
	flex-shrink: 0;
	line-height: 0;
}

/* 体質改善ダイエットなら〜：薄黄背景 */
.d8 .why__text-encourage {
	padding: 1.875em 0;
	background: var(--bg-yellow);
	margin: 0;
	text-align: center;
	font-size: clamp(1.2rem, 2.6vw, 1.875rem);
}

.d8 .why__sub-title {
	font-size: clamp(1.4rem, 2vw, 1.4375rem);
	font-weight: 600;
	color: #ffffff;
	text-align: center;
	background: var(--gray);
	padding: 0.6875em;
	border-radius: 4em;
	width: 90%;
	margin: 2em auto 0;
}

.d8 .why__text-reason {
	font-size: clamp(1.4rem, 2.4vw, 1.625rem);
	line-height: 1.6;
	padding: 1.2em 0;
	text-align: center;
}

.d8 .why__sub-text {
	margin-top: 0.625em;
	font-size: clamp(1.3rem, 2.2vw, 1.5rem);
}

.d8 .why__summary {
	margin-top: 0.75em;
	font-size: clamp(1.5rem, 2.6vw, 1.75rem);
}
/* ◆◆◆ /なぜ ◆◆◆ */


/* ◆◆◆ スリーステップ（step） ◆◆◆ */
.d8 .step {
	margin-top: 0;
}

.d8 .step__title {
	font-family: var(--kaisei);
	color: var(--orange);
	font-size: clamp(1.6rem, 2.8vw, 2.5rem);
	font-weight: 800;
	text-align: center;
	line-height: 1.2;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-step-bg.webp) no-repeat bottom / cover;
	padding: 1.25em 0;
}

.d8 .step__items {
	list-style: none;
	padding-block: 0.625em;
	margin: 0;
}

.d8 .step__item {
	margin-top: 2.5em;
	padding: 2.5em 2em 2em;
	border: 3px solid #CD855C;
	border-radius: 0.625em;
	position: relative;
}

.d8 .step__item::before {
	position: absolute;
	content: "";
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom;
	width: 4em;
	height: 4em;
	z-index: 4;
	top: -1.5em;
	left: -1em;
}

.d8 .step__item:nth-of-type(1)::before {
	background-image: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-step-num1.webp);
}
.d8 .step__item:nth-of-type(2)::before {
	background-image: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-step-num2.webp);
}
.d8 .step__item:nth-of-type(3)::before {
	background-image: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-step-num3.webp);
}

.d8 .step__heading {
	position: absolute;
	top: -1em;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--kaisei);
	color: var(--orange);
	font-size: clamp(1.4rem, 2.8vw, 2.125rem);
	font-weight: 600;
	background: #ffffff;
	padding: 0.3em 0.8em;
	white-space: nowrap;
	z-index: 2;
}

.d8 .step__figure {
	width: 100%;
	aspect-ratio: 3 / 2;
	line-height: 0;
	margin: 0;
	overflow: hidden;
}

.d8 .step__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.d8 p.step__text {
	font-size: clamp(0.9rem, 1.8vw, 1.1875rem);
	color: var(--brown);
	padding-top: 1em;
	line-height: 1.5;
	text-align: justify;
	margin-bottom: 0;
}

.d8 .step__figure-sub {
	width: 100%;
	margin: 0.75em auto 0;
	line-height: 0;
}
/* ◆◆◆ /スリーステップ ◆◆◆ */


/* ◆◆◆ 喜びの声（voice） ◆◆◆ */
.d8 .voice {
	margin-top: 2em;
}

.d8 .voice__title {
	color: #ffffff;
	font-size: clamp(1.6rem, 3.5vw, 2.625rem);
	font-family: var(--kaisei);
	font-weight: 400;
	text-align: center;
	line-height: 1.2;
	padding: 0.7em 0 1.5em;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-green-title-bg.webp) no-repeat bottom / cover;
}

.d8 .voice__lead {
	text-align: center;
	font-size: clamp(1.4rem, 3vw, 2.125rem);
	font-weight: 600;
	margin-top: 1.4em;
}

.d8 .voice__items {
	list-style: none;
	padding: 0 1.875em 1.25em;
	margin: 0 auto;
}

.d8 .voice__item {
	font-weight: 600;
	font-size: clamp(1.1rem, 2vw, 1.6rem);
	background: #FFEC9B;
	padding: 0.6875em 0.625em 0.6875em 4em;
	margin-top: 0.8125em;
	position: relative;
}

.d8 .voice__item::before {
	position: absolute;
	content: "";
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-list-check.webp) no-repeat center / contain;
	width: 2em;
	height: 2em;
	left: 0.8em;
	top: 0.5em;
}
/* ◆◆◆ /喜びの声 ◆◆◆ */


/* ◆◆◆ サポート（support） ◆◆◆ */
.d8 .support {
	margin-top: 1.875em;
	margin-bottom: 2.5em;
}

.d8 .support__title {
	font-size: clamp(1.2rem, 2.4vw, 1.75rem);
	text-align: center;
	color: #435A60;
	padding: 1.8em 0;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-support-bg.webp) no-repeat center / 100%;
	font-weight: 600;
	white-space: nowrap;
}

.d8 .support__inner {
	padding: 1.875em;
	background: #F5FCFF;
}

.d8 .support__figure {
	width: 100%;
	margin: 0 auto;
	line-height: 0;
}

.d8 .support__text {
	margin-top: 1.25em;
	font-size: clamp(0.9rem, 1.6vw, 1.0625rem);
	line-height: 1.6;
	text-align: justify;
}

.d8 .support__ba {
	position: relative;
	margin-top: 4.375em;
}

.d8 .support__ba-badge {
	position: absolute;
	display: flex;
	background: red;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
	width: 7.5em;
	height: 7.5em;
	top: -3.75em;
	right: -1.125em;
	z-index: 100;
}

.d8 .support__ba-badge p {
	position: relative;
	color: #F5FF00;
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	font-family: var(--din);
	font-weight: 600;
	font-style: italic;
	letter-spacing: -1px;
	line-height: 1;
	margin: 0;
	white-space: nowrap;
	display: flex;
	align-items: flex-start;
}

.d8 .support__ba-badge p::after {
	content: "kg";
	font-size: 0.45em;
	margin-left: 0.1em;
	align-self: flex-start;
	margin-top: 1em;
}

.d8 .support__ba-images {
	display: flex;
	justify-content: center;
	gap: 1.25em;
	position: relative;
}

.d8 .support__ba-images::before {
	position: absolute;
	content: "";
	width: 3.125em;
	height: 3.125em;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-ba-arrow.webp) no-repeat center / contain;
	z-index: 800;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.d8 .support__ba-img--before,
.d8 .support__ba-img--after {
	width: 45%;
	position: relative;
	line-height: 0;
}

.d8 .support__ba-img--before::before,
.d8 .support__ba-img--after::before {
	position: absolute;
	font-size: clamp(0.8rem, 1.6vw, 1.25rem);
	letter-spacing: 0.15em;
	text-align: center;
	color: #ffffff;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2em;
	z-index: 300;
	display: flex;
	align-items: center;
	justify-content: center;
}

.d8 .support__ba-img--before::before {
	content: "BEFORE";
	background: var(--gray);
}

.d8 .support__ba-img--after::before {
	content: "AFTER";
	background: var(--orange);
}
/* ◆◆◆ /サポート ◆◆◆ */


/* ◆◆◆ 相談OK（consult） ◆◆◆ */
.d8 .consult {
	margin-block: 3em;
}

/* タイトル：オレンジ背景・上下padding大きめ */
.d8 .consult__title {
	font-family: var(--kaisei);
	font-size: clamp(1.6rem, 3.5vw, 2.625rem);
	color: #ffffff;
	font-weight: 400;
	text-align: center;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-consult-title-bg.webp) no-repeat bottom / cover;
	padding: 1.5em 0 1.75em;
}

.d8 .consult__items {
	list-style: none;
	margin: 1.5625em auto 0;
	padding: 0 2.0625em 0.625em;
}

.d8 .consult__item {
	background: var(--green);
	color: #ffffff;
	text-align: center;
	padding: 0.333em 0;
	font-size: clamp(1rem, 2.2vw, 1.4375rem);
	font-weight: 600;
	line-height: 1.6;
	box-shadow: 5px 5px var(--l-green);
	margin-top: 0.9375em;
}
/* ◆◆◆ /相談OK ◆◆◆ */


/* ◆◆◆ カウンセリング（counseling） ◆◆◆ */
.d8 .counseling__title {
	font-size: clamp(1.5rem, 3.2vw, 2.25rem);
	color: #ffffff;
	text-align: center;
	background: var(--green);
	border-radius: 3.75em;
	padding: 0.8em 0;
	line-height: 1.2;
	width: 85%;
	margin: 0 auto;
	position: relative;
	top: 2.125em;
	z-index: 20;
}

.d8 .counseling__content {
	background: var(--l-green);
	padding: 3.75em 1.875em 1.875em 2.5em;
}

.d8 .counseling__items {
	list-style: none;
	margin: 2.5em 1.875em 0 1.875em;
	padding: 0;
	counter-reset: counseling-counter;
}

.d8 .counseling__item {
	position: relative;
	font-size: clamp(1.2rem, 2.6vw, 1.875rem);
	font-weight: 600;
	line-height: 1.4;
	display: flex;
	align-items: center;
	gap: 0.75em;
	counter-increment: counseling-counter;
	padding-left: 1.8em;
	margin-bottom: 0.6em;
}

.d8 .counseling__item::before {
	position: absolute;
	content: counter(counseling-counter);
	font-size: clamp(1rem, 2.2vw, 1.5625rem);
	color: #ffffff;
	background: var(--gray);
	padding: 0.1em 0.45em;
	border-radius: 1.875em;
	flex-shrink: 0;
	top: 0.07em;
	left: 0;
}

.d8 .counseling__time {
	color: var(--green);
	font-size: clamp(0.875rem, 1.8vw, 1.25rem);
	text-align: center;
	margin-top: 1em;
	font-weight: 800;
}

.d8 .counseling__content2 {
	padding: 1.875em 2.5em;
	background: url(https://diet-seikotu-seitai-2.com/template/wp-content/uploads/2026/05/d8-counseling-content2-bg.webp) no-repeat bottom / cover;
	font-weight: 600;
}

.d8 .counseling__text {
	font-size: clamp(1rem, 2.2vw, 1.5rem);
	line-height: 1.6;
}

.d8 .counseling__lead {
	text-align: center;
	font-size: clamp(1.1rem, 2.6vw, 2.2rem);
	font-weight: 600;
}

.d8 .counseling__note {
	color: var(--l-brown);
	padding: 0.625em 1em;
	background: #ffffff;
	line-height: 1.6;
	border-radius: 0.9375em;
	margin-top: 0.9375em;
	text-align: justify;
	font-size: clamp(0.9rem, 2vw, 1.6rem);
}

.d8 .counseling__caution {
	color: var(--red);
	text-align: center;
	margin-top: 0.9375em;
	font-size: clamp(1rem, 2vw, 1.6rem);
	font-weight: 800;
}
/* ◆◆◆ /カウンセリング ◆◆◆ */


/* ◆◆◆ 流れ（flow） ◆◆◆ */
.d8 .flow {
	background: #FFFFDD;
	padding-top: 3em;
}

.d8 .flow__title {
	font-family: var(--kaisei);
	font-size: clamp(2rem, 3vw, 2.6rem);
	color: var(--orange);
	font-weight: 400;
	text-align: center;
}

.d8 .flow__items {
	list-style: none;
	padding: 0 1.875em 2.5em;
	counter-reset: flow-counter;
}

.d8 .flow__item {
	margin-top: 1.5em;
	counter-increment: flow-counter;
}

.d8 .flow__item-title {
	width: 100%;
	font-size: clamp(0.9rem, 1.7vw, 1.5rem);
	color: #ffffff;
	padding: 0.5em 1.25em 0.5em 6.2em;
	background: var(--gray);
	display: block;
	border-top-left-radius: 0.9375em;
	border-top-right-radius: 0.9375em;
	position: relative;
}

.d8 .flow__item-title::before {
	content: "STEP " counter(flow-counter) " ▸";
	position: absolute;
	left: 1.2em;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.9em;
	letter-spacing: 0.05em;
	color: #ffffff;
	font-weight: 600;
}

.d8 .flow__figure {
	width: 100%;
	aspect-ratio: 5 / 2.4;
	line-height: 0;
	margin: 0;
	overflow: hidden;
}

.d8 .flow__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.d8 .flow__item-description {
	font-size: clamp(0.9rem, 1.8vw, 1.125rem);
	margin-top: 0.625em;
	line-height: 1.6;
	text-align: justify;
}
/* ◆◆◆ /流れ ◆◆◆ */


/* ◆◆◆ Q&A ◆◆◆ */
.d8 .qa {
	margin-top: 3.75em;
}

.d8 .qa__title-wrap {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 2em;
	margin-bottom: 1.5em;
}

.d8 .qa__title-wrap::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2em;
	background: var(--orange);
	transform: translateY(-50%);
	z-index: 0;
}

.d8 .qa__title-badges {
	display: flex;
	position: relative;
	z-index: 1;
}

.d8 .qa__title-badge {
	background: var(--green);
	color: #ffffff;
	font-size: clamp(2rem, 3vw, 2.8rem);
	font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
	font-weight: 400;
	width: 2.2em;
	height: 2.2em;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.d8 .qa__title-badge + .qa__title-badge {
	margin-left: -0.2em;
}

.d8 .qa__list {
	padding: 0 2.5em 1.875em;
}

.d8 .qa__item {
	margin-top: 0;
}

/* detailsのデフォルト三角を非表示 */
.d8 .qa .qa__item > summary {
	list-style: none;
}

.d8 .qa .qa__item > summary::-webkit-details-marker {
	display: none;
}

.d8 .qa__question {
	color: #707070;
	font-size: clamp(0.9rem, 1.7vw, 1.4rem);
	font-weight: bold;
	padding: 0 2em 0.7em 1.75em;
	border-bottom: 1px solid #707070;
	margin-top: 0.7em;
	position: relative;
	cursor: pointer;
	background: none;
	border-radius: 0;
}

.d8 .qa__question::before {
	content: "Q.";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--green);
	font-size: clamp(1rem, 2vw, 1.4375rem);
	font-weight: bold;
}

.d8 .qa__question::after {
	content: "＋";
	position: absolute;
	right: 0.3125em;
	top: 50%;
	transform: translateY(-50%);
	font-size: clamp(1rem, 2vw, 1.625rem);
	font-weight: 800;
	color: var(--gray);
	padding-bottom: 0.5em;
}

.d8 .qa details[open] .qa__question::after {
	content: "－";
}

.d8 .qa__answer {
	color: var(--orange);
	font-size: clamp(0.875rem, 1.6vw, 1.125rem);
	line-height: 1.6;
	margin: 1.25em 0 1.875em 2.375em;
	padding: 0 0 0.625em 0;
	position: relative;
}

.d8 .qa__answer::before {
	content: "A.";
	position: absolute;
	left: -1.8em;
	top: 0;
	color: var(--orange);
	font-size: clamp(1rem, 2vw, 1.375rem);
	font-weight: 800;
}
/* ◆◆◆ /Q&A ◆◆◆ */


/* ◆◆◆ アクセス（access） ◆◆◆ */
.d8 .access {
	margin-top: 3.75em;
	margin-bottom: 3.75em;
}

.d8 .access__title {
	font-family: var(--kaisei);
	color: #ffffff;
	font-size: clamp(1.6rem, 2.8vw, 2.5rem);
	text-align: center;
	font-weight: 400;
	background: var(--green);
	padding: 0.7187em 0;
}

.d8 .access__figure {
	line-height: 0;
	margin-bottom: 0;
}

.d8 .access__content {
	margin-top: 1.25em;
	padding: 1.25em 1.875em;
}

.d8 .access__name {
	font-size: clamp(1.2rem, 2.4vw, 2rem);
	font-weight: 600;
	text-align: center;
	padding-bottom: 0.5em;
}

.d8 .access table,
.d8 .access .access__table {
	width: 100%;
	border: none;
}

.d8 .access tbody:first-child tr {
	border-top: solid 1px gray;
}
.d8 .access tbody tr {
	border-bottom: solid 1px gray;
}

.d8 .access tbody th {
	border: none;
	background: #ffffff;
	color: var(--green);
	font-size: clamp(1rem, 2vw, 1.375rem);
	text-align: left;
	font-weight: 600;
	width: 28%;
	padding: 1em 0.75em;
	vertical-align: middle;
}

.d8 .access tbody td {
	border: none;
	background: #ffffff;
	color: var(--gray);
	font-size: clamp(1rem, 2vw, 1.25rem);
	text-align: left;
	font-weight: 400;
	width: 72%;
	padding: 1em 0.75em;
	vertical-align: middle;
}

.d8 .access__map {
	margin-top: 1.25em;
	position: relative;
	width: 100%;
	padding-top: calc(348 / 534 * 100%);
}

.d8 .access__map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ◆◆◆ /アクセス ◆◆◆ */


/* ◆◆◆ フッターボタン ◆◆◆ */
.d8 .footer-btn__contact {
	position: fixed;
	bottom: 0.375em;
	right: 0.625em;
	width: 400px;
	z-index: 100;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.d8 .footer-btn__contact-btn {
	display: block;
}

.d8 .footer-btn__contact-btn img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.6s;
}

.d8 .footer-btn__contact-btn:hover img {
	transform: scale(1.05);
}
/* ◆◆◆ /フッターボタン ◆◆◆ */


/* ============================================== */
/* ◆◆◆ SP（〜600px）◆◆◆ */
/* ============================================== */
@media (max-width: 600px) {

	/* ◆◆◆ 共通 ◆◆◆ */
	.d8 .pc {
		display: none;
	}
	/* ◆◆◆ /共通 ◆◆◆ */
	
	/* ◆◆◆ FV ◆◆◆ */	
	.d8 .fv__name p {
		padding: 0.1em;
		line-height: 1.3;
	}


	/* ◆◆◆ 続かない（unsuccess） ◆◆◆ */
	.d8 .unsuccess {
		margin-top: 1.875em;
	}

	.d8 .unsuccess__figure-sub {
		margin-top: 1.75em;
	}

	.d8 .unsuccess__items {
		padding: 0 5% 3em;
	}
	/* ◆◆◆ /続かない ◆◆◆ */


	/* ◆◆◆ おすすめ（recommend） ◆◆◆ */
	.d8 .recommend__text {
		font-size: clamp(1.5rem, 5.5vw, 2rem);
		padding: 1em;
	}

	.d8 .recommend__note {
		line-height: 1.5;
	}
	/* ◆◆◆ /おすすめ ◆◆◆ */


	/* ◆◆◆ ビフォーアフター（ba） ◆◆◆ */
	.d8 .ba__title {
		font-size: clamp(1.4rem, 7vw, 1.8rem);
		padding: 0.75em 0 1.15em 0.6em;
	}

	.d8 .ba__items {
		padding: 0 5%;
	}

	.d8 .ba__item {
		margin-top: 3em;
	}
	
	.d8 .ba__images {
		gap: 0.625em;
	}

	.d8 .ba__images::before {
		width: 2.3125em;
		height: 2.3125em;
	}

	.d8 .ba__badge {
		width: 6em;
		height: 6em;
		top: -1.5em;
		left: -0.5em;
	}

	.d8 .ba__case {
		top: -1.7em;
		padding: 0 0.5em 0 0;
		line-height: 1.7;
	}

	.d8 .ba__content {
		padding: 8% 5%;
	}
	/* ◆◆◆ /ビフォーアフター ◆◆◆ */


	/* ◆◆◆ さらに！（more） ◆◆◆ */
	.d8 .more {
		margin-top: 2em;
	}

	.d8 .more__title {
		padding: 1.875rem 0 2.5rem 0.5625rem;
	}

	.d8 .more__rebound {
		padding: 3.125rem 0 1.875rem;
		margin-top: -1.25rem;
	}

	.d8 .more__keep {
		padding: 1.875rem 0;
	}
	/* ◆◆◆ /さらに！ ◆◆◆ */


	/* ◆◆◆ LINEバナー ◆◆◆ */
	.d8 .line-contact {
		padding: 0.9375em 5% 1.25em;
	}

	.d8 .line-contact__official {
		margin-top: 0.5em;
	}
	/* ◆◆◆ /LINEバナー ◆◆◆ */


	/* ◆◆◆ なぜ（why） ◆◆◆ */
	.d8 .why {
		margin-top: 1.875em;
	}
	.d8 .why__lead {
		padding: 1em 0.75em;
		margin-top: 0.75em;
	}
	.d8 .why__lead::after {
		bottom: -0.6875em;
		border-right: 1.25em solid transparent;
		border-left: 1.25em solid transparent;
		border-top: 0.9375em solid var(--green);
	}
	.d8 .why__reason-box {
		width: 90%;
	}
	.d8 .why__text-intro {
		padding: 1.25em 0;
	}
	.d8 .why__text-contrast {
		padding: 1em 0 1.4em;
	}
	.d8 .why__text-transition {
		padding: 2.5em 0 1.25em;
	}
	.d8 .why__message {
		padding: 1.25rem 0 2.1875rem;
		margin-top: 1.25rem;
	}
	.d8 .why__age {
		padding: 1.25rem 5% 0;
		line-height: 1.2;
	}
	.d8 .why__age-body {
		width: 70%;
		padding-bottom: 2em;
	}
	
	.d8 .why__text-encourage {
		padding: 1.25em 0;
	}
	.d8 .why__sub-title {
		width: 95%;
		padding: 0.5em;
	}
	.d8 .why__text-reason {
		margin-top: 0.9375em;
		padding: 0.625em 0 1.2em;
	}
	/* ◆◆◆ /なぜ ◆◆◆ */


	/* ◆◆◆ スリーステップ（step） ◆◆◆ */
	.d8 .step__title {
		padding: 1.25em 0;
	}

	.d8 .step__items {
		padding: 0 5% 1.25em;
	}

	.d8 .step__item {
		margin-top: 2em;
		padding: 2em 1em 1.25em;
		border-width: 2px;
	}

	.d8 .step__item::before {
		top: -1.5em;
		left: -0.5em;
		width: 3.125em;
		height: 3.125em;
	}

	.d8 .step__heading {
		font-size: clamp(1.2rem, 5vw, 1.6rem);
		padding: 0.2em 0.6em;
	}

	.d8 .step__figure {
		width: 100%;
	}

	.d8 .step__text {
		padding-top: 0.75em;
	}

	.d8 .step__figure-sub {
		width: 100%;
		margin-top: 0.75em;
	}
	/* ◆◆◆ /スリーステップ ◆◆◆ */


	/* ◆◆◆ 喜びの声（voice） ◆◆◆ */
	.d8 .voice {
		margin-top: 1.875em;
	}

	.d8 .voice__title {
		padding: 0.9375em 0 1.875em 1em;
	}

	.d8 .voice__lead {
		margin-top: 0.9375em;
	}

	.d8 .voice__items {
		padding: 0.625em 5%;
		margin-top: -0.9375em;
	}

	.d8 .voice__item {
		padding: 0.5em 0.5em 0.5em 2.8125em;
	}

	.d8 .voice__item::before {
		width: 1.75em;
		height: 1.75em;
		left: 0.5em;
		top: 0.625em;
	}
	/* ◆◆◆ /喜びの声 ◆◆◆ */


	/* ◆◆◆ サポート（support） ◆◆◆ */
	.d8 .support {
		margin-top: 1.25em;
		margin-bottom: 1.25em;
	}

	.d8 .support__title {
		padding: 1.25em 0;
		white-space: normal;
	}

	.d8 .support__inner {
		padding: 0.9375em 5%;
	}

	.d8 .support__ba-badge {
		width: 5em;
		height: 5em;
		top: -2.5em;
		right: -0.5em;
	}

	.d8 .support__ba-images {
		gap: 0.625em;
	}

	.d8 .support__ba-images::before {
		width: 2.3125em;
		height: 2.3125em;
	}
	/* ◆◆◆ /サポート ◆◆◆ */


	/* ◆◆◆ 相談OK（consult） ◆◆◆ */
	.d8 .consult {
		margin-top: 2.5em;
	}

	.d8 .consult__title {
		padding: 1em 0 1.5em 0.625em;
	}

	.d8 .consult__items {
		padding: 0.9375em 5%;
		margin-top: -0.625em;
	}

	.d8 .consult__item {
		box-shadow: 4px 4px var(--l-green);
	}
	/* ◆◆◆ /相談OK ◆◆◆ */


	/* ◆◆◆ カウンセリング（counseling） ◆◆◆ */
	.d8 .counseling {
		margin-top: 0.9375em;
	}

	.d8 .counseling__title {
		padding: 0.75em 1em;
		top: 1.875em;
	}

	.d8 .counseling__content {
		padding: 1.875em 5% 1.25em;
	}

	.d8 .counseling__item {
		margin-top: 0.625em;
	}

	.d8 .counseling__time {
		margin-top: 0.75em;
		line-height: 1.4;
	}

	.d8 .counseling__content2 {
		padding: 0.9375em 5% 1.25em;
	}

	.d8 .counseling__text {
		line-height: 1.4;
	}
	/* ◆◆◆ /カウンセリング ◆◆◆ */


	/* ◆◆◆ 流れ（flow） ◆◆◆ */
	.d8 .flow__items {
		padding: 0.9375em 5% 2.5em;
		margin-top: 0.625em;
	}

	.d8 .flow__item {
		margin-top: 1.25em;
	}

	.d8 .flow__item-title {
		padding: 0.375em 0.5em 0.375em 6em;
	}

	.d8 .flow__item-description {
		padding: 0 0.3125em;
		margin-top: 0.5em;
		line-height: 1.3;
	}
	/* ◆◆◆ /流れ ◆◆◆ */


	/* ◆◆◆ Q&A ◆◆◆ */
	.d8 .qa {
		margin-top: 1.875em;
	}
	
	.d8 .qa__title-wrap::before {
		height: 1.2em;
	}

	.d8 .qa__list {
		padding: 0 5% 1.25em;
	}
	/* ◆◆◆ /Q&A ◆◆◆ */


	/* ◆◆◆ アクセス（access） ◆◆◆ */
	.d8 .access {
		margin-top: 1.25em;
	}

	.d8 .access__title {
		padding: 0.4687em 0;
	}

	.d8 .access__content {
		margin-top: 0;
		padding: 0.625em 5%;
	}

	.d8 .access__name {
		margin-top: 0.9375em;
	}

	.d8 .access tbody th, .d8 .access tbody td {
		display: block;
		text-align: center;
		width: 100%;
		padding: 0.4em;
	}

	.d8 .access tbody th{
		padding-bottom: 0!important;
	}
	.d8 .access tbody td{
		padding-top: 0!important;
	}


	/* ◆◆◆ /アクセス ◆◆◆ */


	/* ◆◆◆ フッターボタン ◆◆◆ */
	.d8 .footer-btn__contact {
		right: 0;
		bottom: 0;
		width: 100%;
		z-index: 110;
		gap: 0;
	}

	.d8 .footer-btn__contact:has(.footer-btn__contact-btn:nth-child(2)) {
		flex-direction: row;
	}

	.d8 .footer-btn__contact:has(.footer-btn__contact-btn:nth-child(2)) .footer-btn__contact-btn {
		flex: 1;
	}
	/* ◆◆◆ /フッターボタン ◆◆◆ */

}
/* ◆◆◆ /SP ◆◆◆ */