@charset "utf-8";

/* ============================================
   ダイエット LP16
   最終更新: 260809
   ============================================ */

.is-lp .c-postContent > section{
  padding-block: var(--lp-space__30);
}

/* ◆◆◆ 変数 ◆◆◆ */
:root {
	--pink: #e66083;
	--pink-sub: #e28e96;
	--teal: #97c6c7;
	--cream: #fffbd9;
	--text: #3e3a39;
	--header: #f9aab2;
	--pink-pale: #ffe5e8;
	--red:#D30F42;
	--card: #fff7f8;
	--dot: #e7a2a8;
	--beige: #f2eee8;
	--marker: #ffec84;
	--purple: #c49ecc;
	--gray-dark: #5f5f5f;
	--line-green: #06c755;

	--font-mincho: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", "Noto Serif JP", serif;
	--font-gothic: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "ヒラギノ角ゴシック", "Noto Sans JP", sans-serif;
	--font-num: "Outfit", var(--font-gothic);
}
/* ◆◆◆ /変数 ◆◆◆ */

/* ◆◆◆ 枠外背景 ◆◆◆ */
@media (min-width: 601px) {
	.l-wrapper {
		overflow: clip;
		background-image:url(d16-bg.webp);
		background-attachment: fixed;
		background-repeat: no-repeat;
		background-size: cover;
	}
}
/* ◆◆◆ /枠外背景 ◆◆◆ */



/*葉っぱの見出し*/
h2.d16-title {
	display: block;
	text-align: center;
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	line-height: 1.5;
	letter-spacing: 2px;
	margin: 0;
}

span.d16-title-line {
	display: inline-block;
	position: relative;
	padding: 0 2em;
}

span.d16-title-line::before,
span.d16-title-line::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.6em;
	height: 1.6em;
	background-repeat: no-repeat;
	background-size: contain;
}

span.d16-title-line::before {
	left: 0;
	background-image: url("d16-reaf-l.webp");
}

span.d16-title-line::after {
	right: 0;
	background-image: url("d16-reaf-r.webp");
}



/* ◆◆◆ 汎用 ◆◆◆ */
.text__pink {
	color: var(--pink);
}

.text__pink-sub {
	color: var(--pink-sub);
}

.text__teal {
	color: var(--teal);
}

.text__line {
	color: var(--line-green);
}

.marker__yellow {
	background: linear-gradient(transparent 60%, var(--marker) 60%);
}


.text-size__middle{
	font-size: 120%;
}

.text-size__large{
	font-size: 140%;
}

/* ◆◆◆ /汎用 ◆◆◆ */



/* ◆◆◆ ヘッダー ◆◆◆ */
.lp-header {
	display: flex;
	max-width: 600px;
}

/* ◆◆◆ 追従ヘッダー ◆◆◆ */
.lp-header__sticky {
	position: fixed;
	top: 0;
	left: 50%;
	width: 100%;
	max-width: 600px;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, -100%);
	transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
}
.lp-header__sticky.is-show {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}
/* ◆◆◆ /追従ヘッダー ◆◆◆ */

p.lp-header__info {
	align-items: center;
	background: var(--header);
	color: #fff;
	display: flex;
	flex: 1;
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	justify-content: center;
	line-height: 1.2;
	margin: 0;
	padding: 0.7em 0.5em;
	text-align: center;
}
.lp-header__line {
	align-items: center;
	background: linear-gradient(to bottom, #62de3e, #57cd41);
	display: flex;
	flex: 0 0 50%;
}
.lp-header__line a {
	display: block;
	width: 100%;
}
.lp-header__line br {
	display: none;
}
.lp-header__line img {
	display: block;
	height: auto;
	width: 100%;
}
/* ◆◆◆ /ヘッダー ◆◆◆ */

/* ◆◆◆ FV ◆◆◆ */
.is-lp .fv__image img {
	width: 100%;
	display: block;
}
/* ◆◆◆ /FV ◆◆◆ */




/* ◆◆◆ お悩み ◆◆◆ */
section.problem {
	background-image: url("d16-problem-bg.webp");
	background-size: cover;
	background-position: center;
}

div.problem__head {letter-spacing: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3em;
}

figure.problem__head-img {
	flex: 0 0 22%;
	max-width: 5em;
	margin: 0;
}

figure.problem__head-img img {
	display: block;
	width: 100%;
}

h2.problem__title {
	font-size: clamp(1.8rem, 3.2vw, 2.6rem);
	line-height: 1.3;
}

ul.problem__items {
	background: #fff;
	padding: 1.8em 1.4em;
	list-style: none;
	margin: 0;
}

li.problem__item {
	position: relative;
	font-size: clamp(1rem, 1.5vw, 1.25rem);
	line-height: 1.6;
	padding-left: 2em;
}

li.problem__item + li.problem__item {
	margin-top: 0.9em;
}

li.problem__item::before {
	content: "";
	position: absolute;
	top: 0.2em;
	left: 0.1em;
	width: 1.2em;
	height: 1.1em;
	background: var(--purple);
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'><path d='M1 5.2 4.2 8.4 11 1' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'><path d='M1 5.2 4.2 8.4 11 1' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
}
/* ◆◆◆ /お悩み ◆◆◆ */


/* ◆◆◆ ひとつでも当てはまる方へ ◆◆◆ */
.is-lp .c-postContent > section.empathy {
	padding: 0;
}

div.empathy__block {
	background:url("d16-light-blue-bg.webp") no-repeat center / cover;
	text-align: center;
	padding-block: 3em 2.6em;
}

h2.empathy__badge {
	font-family: var(--font-mincho);
	display: inline-block;
	background: var(--pink);
	border-radius: 100em;
	color: #fff;
	font-size: clamp(1.3rem, 2.6vw, 2.1rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 0.45em 1.6em;
	margin: 0 0 0.8em;
}

p.empathy__text {
	font-family: var(--font-mincho);
	font-size: clamp(1.3rem, 2.4vw, 2rem);
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.text-pink--lg {
	font-size: 1.3em;
}

div.about__block {
	background: #fff url("d16-about-bg.webp") no-repeat center / cover;
	padding-block: var(--lp-pad__section);
}

h2.about__title {
	font-size: clamp(1.8rem, 2.6vw, 2.2rem);
	font-weight: 700;
	line-height: 1.55;
	margin: 0 0 0.6em;
}

p.about__text {
	font-size: clamp(1rem, 2vw, 1.5rem);
	line-height: 1.6;
	margin: 0;
}
/* ◆◆◆ /ひとつでも当てはまる方へ ◆◆◆ */


/* ◆◆◆ 3つの柱 ◆◆◆ */
section.pillar {
	background: url("d16-pillar-bg-scaled.webp") no-repeat center / cover;
}

/*h2.pillar__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	text-align: center;
	margin: 0 0 1.5em;
}*/

.pillar .d16-title-line .text-size__large {
	padding-inline: 0.1em;
}

/*img.pillar__title-leaf {
	width: 1.6em;
	height: auto;
	display: block;
}*/

ul.pillar__items {
	display: flex;
	flex-direction: column;
	gap: 2em;
	list-style: none;
	padding: 0;
	margin: 0;
}

li.pillar__item {
	position: relative;
	isolation: isolate;
	border-radius: 20px;
	padding: 1.6em 1.4em;
}

li.pillar__item::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--card);
	border: 1px solid var(--pink-sub);
	border-radius: 20px;
	filter: blur(5px);
	z-index: -1;
}

h3.pillar__item-title {
	display: block;
	width: 100%;
	background: var(--pink-sub);
	color: #fff;
	border-radius: 100em;
	font-family: var(--font-mincho);
	font-size: clamp(1.3rem, 2.3vw, 1.9rem);
	font-weight: 700;
	text-align: left;
	padding: 0.3em 1em;
	margin: 0 0 0.8em;
	text-shadow: 2px 2px 4px rgba(175, 63, 63, 0.5);
}

div.pillar__item-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}

ul.pillar__item-list {
	flex: 1;
	list-style: none;
	padding: 0;
	margin: 0;
}

ul.pillar__item-list li {
	position: relative;
	font-size: clamp(1rem, 1.8vw, 1.5rem);
	line-height: 1.7;
	padding-left: 1.3em;
}

ul.pillar__item-list li + li {
	margin-top: 0.4em;
}

ul.pillar__item-list li::before {
	content: "";
	position: absolute;
	top: 0.45em;
	left: 0;
	width: 0.8em;
	height: 0.8em;
	border-radius: 50%;
	background: var(--pink-sub);
}

figure.pillar__item-img {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 6em;
	height: 6em;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	z-index: -1;
	opacity: 0.5;
}

/* ◆◆◆ /3つの柱 ◆◆◆ */


/* ◆◆◆ 3ヵ月-8kg ◆◆◆ */
div.pillar__result {
	background: url("d16-light-blue-bg.webp") no-repeat center / cover;
	text-align: center;
	margin-top: 2em;
	padding: 2.6em 1.4em;
}
p.pillar__result-lead {
	font-size: clamp(1.3rem, 2.6vw, 2rem);
	font-weight: 700;
	text-shadow: 3px 3px 6px rgba(255, 255, 255, 0.8);
	margin: 0;
}
p.pillar__result-lead span:not(.text-pink) {
	font-size: clamp(1.4rem, 2.6vw, 2rem);;
}
p.pillar__result-num {
	font-family: var(--font-gothic);
	font-size: clamp(2.4rem, 6vw, 4.5rem);
	font-weight: 600;
	color: var(--pink);
	line-height: 1.2;
	text-shadow: 3px 3px 6px rgba(255, 255, 255, 0.8);
	margin: 0;
}
span.pillar__result-num-unit {
	font-family: var(--font-gothic);
	font-size: 80%;
	letter-spacing: -0.08em;
}
span.pillar__result-num-tilde {
	display: inline-block;
	font-size: 0.5em;
	vertical-align: 0.45em;
	margin-left: 0.10em;
	margin-right: 0.22em;
}

.pillar__result-num-tilde ~ .pillar__result-num-unit {
	margin-left: 0.16em;
}

.pillar__result-num-suffix {
	margin-left: 0.16em;
}
span.pillar__result-num-suffix {
	font-family: var(--font-gothic);
	color: var(--text);
	font-size: 0.5em;
}
p.pillar__result-text {
	font-size: clamp(1.3rem, 2.2vw, 1.7rem);
	text-shadow: 3px 3px 6px rgba(255, 255, 255, 0.8);
	font-weight: 700;
	margin: 0;
}
span.pillar__result-text-em {
	font-size: 1.15em;
}
span.pillar__result-text-suffix {
	font-size: 0.75em;
}
/* ◆◆◆ /3ヵ月-8kg ◆◆◆ */


/* ◆◆◆ 他の方法との違い ◆◆◆ */
section.compare {
	background: linear-gradient(180deg, #fff 0%, #ffddd9 100%);
}

/*h2.compare__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	font-size: clamp(1.8rem, 2.8vw, 2.3rem);
	text-align: center;
	margin: 0 0 0.8em;
}*/

/*img.compare__title-leaf {
	width: 1.6em;
	height: auto;
	display: block;
}*/

p.compare__lead {
	font-size: clamp(1.1rem, 1.8vw, 1.6rem);
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
	margin: 0.5em 0 2em;
}

table.compare__table {
	border-collapse: collapse;
	width: 100%;
	border-top: none;
}

.compare__table tr:first-child th {
	border-top: none!important;
}


table.compare__table th,
table.compare__table td {
	border: 1px solid #fff;
	font-size: clamp(0.9rem, 1.4vw, 1.2rem);
	line-height: 1.4;
	padding: 0.7em 0.4em;
	text-align: center;
	vertical-align: middle;
}

table.compare__table th {
	background: var(--gray-dark);
	color: white;
	font-weight: 500;
}

table.compare__table td {
	background: #fff;
}

th.compare__main {
	position: relative;
	background: var(--pink-sub)!important;
	font-size: clamp(1.1rem, 1.8vw, 1.4rem);
	padding: 1.2em 0.4em;border:none!important;
}

.compare__main .compare__main-label {
	display: inline-block;
	font-size: clamp(1rem, 2.3vw, 1.75rem);
	font-weight: 700;
	line-height: 1.35;
	transform: translateY(-0.4em);
}

th.compare__main:before {
	position: absolute;
	content: "";
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	background: var(--pink-sub);width: 100%; height: 1em;top: -1em;left: 0;

}

/* 整体ダイエット列：白背景・薄グレー罫線 */
.compare__table td:nth-child(2) {
	background: #ffffff;
	border-color: #d9d9d9;
}

/* ジム・エステ列：薄グレー背景・白罫線 */
.compare__table td:nth-child(n+3) {
	background: #f2f2f2;
	border-color: #ffffff;
}
/* ◆◆◆ /他の方法との違い ◆◆◆ */


.summary {
	background: url("d16-light-blue-bg.webp") no-repeat center / cover;
	text-align: center;
}

p.summary__text {
	font-size: clamp(1.3rem, 2.3vw, 1.9rem);
	font-weight: 700;
	line-height: 2;
	margin-bottom: 0;
}

.summary__box {
	background: var(--pink);
	color: #fff;
	padding: 0.1em 0.35em;
}

.summary__strong {
	color: var(--pink);
	font-size: clamp(1.8rem, 2.9vw, 2.4rem);
}
/* ◆◆◆ /整体ダイエットです ◆◆◆ */


/* ◆◆◆ 初回特別キャンペーン ◆◆◆ */
section.offer {
	background: var(--pink-sub);
	padding-inline: 3.6%;
	text-align: center;
}

section.offer{
	padding-top: 1.1em !important;
}
section.offer {
	padding-bottom: 1.7em !important;
}

/* 上部黄色四角5個（シェブロン）*/
div.offer__chevron {
	width: 3.7em;
	height: 3.05em;
	margin: 0 auto;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Crect x='0' y='0' width='4' height='4'/%3E%3Crect x='16' y='0' width='4' height='4'/%3E%3Crect x='4' y='4' width='4' height='4'/%3E%3Crect x='12' y='4' width='4' height='4'/%3E%3Crect x='8' y='8' width='4' height='4'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Crect x='0' y='0' width='4' height='4'/%3E%3Crect x='16' y='0' width='4' height='4'/%3E%3Crect x='4' y='4' width='4' height='4'/%3E%3Crect x='12' y='4' width='4' height='4'/%3E%3Crect x='8' y='8' width='4' height='4'/%3E%3C/svg%3E") no-repeat center / contain;
}
div.offer__chevron--cream {
	background-color: var(--cream);
	margin: 0 auto 1.1em;
}
div.offer__chevron--pink {
	background-color: #F9AAB2;
	margin: 1.4em auto 1em;
}

div.offer__card {
	position: relative;
	background: #fff;
	padding-block: 2em 0;
	text-align: center;
}
.offer__badge {
	position: absolute;
	top: -1em;
	right: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 7em;
	height: 7em;
	box-sizing: border-box;
	background: #d30f42;
	color: #fff;
	border-radius: 50%;
	text-align: center;
	z-index: 2;
}
.offer__badge::after {
	content: "";
	position: absolute;
	left: 10px;
	bottom: -6px;
	width: 26px;
	height: 26px;
	background: #d30f42;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	transform: rotate(35deg);     
	z-index: -1;                  
}
.offer__badge-inner {
	font-size: clamp(1.1rem, 2vw, 1.6rem);
	line-height: 1.2;
	padding-bottom: 0.2em;
}
.offer__badge-num {
	font-size: 160%;
	font-weight: bold;        
	letter-spacing: 2px;
}
.offer__badge-txt {
	font-weight: bold;
	text-align: left;
}

h2.offer__title {
	position: relative;
	display: block;
	font-family: var(--font-mincho);
	font-size: clamp(2.2rem, 4vw, 3.4rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.3;
	padding: 0 0.4em;
	margin: 0 0 0.5em;
}

h2.offer__title::before,
h2.offer__title::after {
	content: "";
	position: absolute;

	background-repeat: no-repeat;
	background-size: contain;
}

h2.offer__title::before {
	top: -0.45em;
	left: 0.5em;
		width: 1.7em;
	height: 1.7em;
	background-image: url("d16-reaf-l.webp");
	transform: rotate(85deg);
}

h2.offer__title::after {
	right: 0.5em;
	bottom: -0.2em;
		width: 1.2em;
	height: 1.2em;
	background-image: url("d16-reaf-r.webp");
	transform: rotate(-10deg);
}

p.offer__menu {
	background: var(--pink-pale);
	font-family: var(--font-mincho);
	font-size: clamp(1.3rem, 2.8vw, 2.3rem);
	padding: 0.4em;
	margin: 0 0 0.4em;
	line-height: 1;
}
p.offer__before {
	font-family: var(--font-mincho);
	font-size: clamp(1.3rem, 2.6vw, 2.4rem);
	margin: 0;
}
span.offer__before-num {
	position: relative;
	display: inline-block;font-size: 140%;
}
span.offer__before-num::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -0.05em;
	right: -0.05em;
	height: 1px;
	background: currentColor;
	transform: rotate(-8deg);
}

div.offer__price-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 0.3em;
	margin: 0.3em 0 1.2em;
}
div.offer__price-left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-bottom: 0.6em;	
}

span.offer__price-label {
	color: var(--red);
	font-family: var(--font-mincho);
	font-size: clamp(1.3rem, 2.6vw, 2.2rem);
	line-height: 0;
	letter-spacing: 2px;
}

span.offer__price-arrow {
	color: var(--red);
	font-size: clamp(1rem, 2.1vw, 1.9rem);
	letter-spacing: -0.12em;
	line-height: 1;
}
p.offer__price-num {
	color: var(--red);
	font-family: var(--font-mincho);
	font-size: clamp(1.9rem, 4vw, 3.6rem);
	line-height: 1;
	white-space: nowrap;
	margin: 0;
}
span.offer__price-num-main {
	
	font-size: 180%;
	letter-spacing: -0.01em;padding-right:0.1em
}

.offer__btn {
	margin-top: 2em;
	display: flex;
	flex-wrap: wrap;
	gap: 1.4em;
}

.offer__btn-item {
	transition: 0.6s;
}

.offer__btn-item:hover {
	opacity: 0.7;
}

/* ボーナス：イラスト3枚をCSSで配置（background＝サラダ / ::before＝女性 / ::after＝スマホ） */
div.offer__bonus-area {
	position: relative;
	min-height: 10em;
	text-align: left;
	background-image: url("d16-offer-salad.webp");
	background-repeat: no-repeat;
	background-position: right 0 bottom 0;
	background-size: 18% auto;
}

span.offer__more {position: absolute;
	font-size: clamp(1.5rem, 2.8vw, 2.4rem);
	font-weight: 600;
	top: -1.5em;
	transform: rotate(-15deg);
}

p.offer__bonus {
	font-family: var(--font-mincho);
	text-align: center;
	font-size: clamp(1.1rem, 2.2vw, 2rem);
	line-height: 1.7;
	margin: 0;
	padding-bottom: 2em;
}

.offer__bonus-large {font-size: 130%;}
div.offer__bonus-area::before {
	content: "";
	position: absolute;
	left: -8%;
	bottom: 0;
	width: 21%;
	aspect-ratio: 412 / 541;
	background: url("d16-offer-woman.webp") no-repeat center / contain;
	z-index: 2;
}
div.offer__bonus-area::after {
	content: "";
	position: absolute;
	right: -20%;top: -5em;
	width: 40%;
	aspect-ratio: 5 / 4;
	background: url("d16-offer-phone-img.webp") no-repeat center / contain;
	z-index: 2;
}
/* ◆◆◆ /初回特別キャンペーン ◆◆◆ */


@media (max-width:600px) {
div.offer__price-left {
line-height: 1;
	padding-bottom: 0.4em;	
}
	
	.offer__btn {
margin-top: 1em;
gap: 1em;
}
	
	div.offer__chevron--pink {
margin: 1em auto 0.8em;
}
	}


/* ◆◆◆ Before & After ◆◆◆ */
.ba {
	background-image: url(d16-light-blue-bg2-scaled.webp);
}

/* ページ全体でBAのCASE番号を通し連番（セクションを分けても継続） */
.is-lp .c-postContent {
	counter-reset: ba-counter 0;
}

/*h2.ba__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	font-size: clamp(1.8rem, 3.8vw, 3.4rem);
	padding: 1.2em 0;
	text-align: center;
	margin: 0;
}*/


/*img.ba__title-leaf {
	width: 1.6em;
	height: auto;
	display: block;
}*/

li.ba__item {
	position: relative;
	padding-bottom: 4.5em;
	counter-increment: ba-counter;
}

.ba .ba__item:first-child {
	margin-top: 5em;
}

.ba .ba__item:last-child {
	margin-bottom: 0;
	padding-bottom: 2em;
}

div.ba__item-head {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4em;
	padding-top: 1.5em;top: -5em;left: 50%;transform: translateX(-50%);
}
p.ba__item-case {
	color: var(--teal);
	font-family: var(--font-num);
	font-size: clamp(0.9rem, 1.4vw, 1.1rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	margin: 0;
}

p.ba__item-case::before {
	content: "CASE " counter(ba-counter, decimal-leading-zero);
}

/* CASE番号は ::before で出すため中身が空になりdefault.css の p:empty { display: none } に巻き込まれるので除外 */
p.ba__item-case:empty {
	display: block;
}

p.ba__item-meta {
	font-family: var(--font-mincho);
	display: flex;
	justify-content: center;
	width: 70%;
	margin: 0 auto;
	flex: 1;
	white-space: nowrap;
}

span.ba__item-term {
	background: var(--teal);
	border-radius: 100em 0 0 100em;
	color: #fff;
	font-size: clamp(1.1rem, 1.8vw, 1.4rem);
	padding: 0.5em 1.2em;
}
span.ba__item-age {
	background: #fff;
	border-radius: 0 100em 100em 0;
	font-size: clamp(1.1rem, 1.8vw, 1.4rem);
	padding: 0.5em 1.4em;
}

li.ba__item div.inner {
	background-image: url(d16-ba-bg.webp);
	padding-top: 2em;border-top: solid var(--teal);border-bottom: solid var(--teal);
}

div.ba__item-imgs {
	display: flex;
	gap: 1em;
	justify-content: center;
	position: relative;
}

figure.ba__item-img {
	width: calc(50% - 0.5em);
	margin-bottom: 2em;border-radius: 1em;
}

figure.ba__item-img:first-of-type {
	position: relative;
	box-shadow: 0 0 8px rgba(151,198,199,0.5);
}

figure.ba__item-img:last-of-type {
	position: relative;
	box-shadow: 0 0 8px rgba(226,142,150,0.5);
}

figure.ba__item-img::after {font-family: var(--font-mincho);font-size: clamp(1.3rem,2vw,1.8rem);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

figure.ba__item-img:first-of-type::after {
	content: "Before";
	color: var(--teal);
}

figure.ba__item-img:last-of-type::after {
	content: "After";
	color: var(--pink-sub);
}

figure.ba__item-img img {
	background: #fff;
	border-radius: 1em;
	display: block;
	width: 100%;
}

div.ba__item-weight {
	align-content: center;
	align-items: baseline;
	aspect-ratio: 1;
	background: var(--pink);
	border-radius: 50%;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	justify-content: center;
	left: 50%;
	line-height: 1.2;
	position: absolute;
	text-align: center;
	top: 46%;
	transform: translate(-50%, -50%);
	width: 26%;
	z-index: 2;
	margin: 0;
}

div.ba__item-weight::before {
	content: "体重";
	flex-basis: 100%;
	text-align: center;
}
span.ba__item-weight-num {
	font-family: var(--font-num);
	font-size: clamp(1.3rem, 2.8vw, 2.4rem);
	font-weight: 600;
}
span.ba__item-weight-unit {
	font-size: 0.8em;
	margin-left: 0.1em;
}
div.ba__item-imgs::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 20%;
	transform: translateX(-50%);
	width: 23%;
	aspect-ratio: 1;
	background: url("d16-ba-arrow.webp") no-repeat center / contain;
	z-index: 1;
}

ul.ba__item-data {
	list-style: none;
	display:flex;
	gap: 1em;
}
ul.ba__item-data li {
	background: #fff;
	border: 1.5px solid var(--teal);
	border-radius: 0.4em;
	font-size: clamp(0.9rem, 1.6vw, 1.3rem);
	padding: 0 0.5em;
	text-align: center;
	width: 100%;
}

span.ba__item-data-num {
	color: var(--pink);
	font-family: var(--font-num);
	font-size: 1.4em;
	font-weight: 600;
}
.ba__item-text {
	font-size: clamp(0.9rem, 1.4vw, 1.2rem);
	padding: 0.6em 0.6em 0;
}
p.ba__item-note {
	font-size: 0.75em;
	margin-top: 0.6em;
	text-align: right;
}
/* ◆◆◆ /Before & After ◆◆◆ */


/* ◆◆◆ 5つの理由 ◆◆◆ */
section.reason {
	background: url(d16-reason-bg-scaled.webp);
	background-size: cover;
}

div.reason__card {
	background: #fff;
	padding: 2em 1.2em;
}

p.reason__badge {
	background: var(--pink-pale);
	border-radius: 100em;
	display: block;
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	font-weight: 600;
	line-height: 1.4;
	margin: 0 auto;
	padding: 0.5em 1.4em;
	text-align: center;
	width: fit-content;
	margin-bottom: 1em;
}

h2.reason__title {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	margin-top: 0.8em;
	text-align: center;
}

ul.reason__items {
	counter-reset: reason-counter;
	margin-top: 2em;
	padding: 0;
	list-style: none;
}

li.reason__item {
	counter-increment: reason-counter;
}

li.reason__item + li.reason__item {
	margin-top: 1.5em;
}

h3.reason__item-title {
	color: var(--pink-sub);
	display: flex;
	flex-direction: column;
	font-family: var(--font-mincho);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	justify-content: center;
	line-height: 1.4;
	min-height: 3.4em;
	padding-left: 3.4em;
	position: relative;
	margin: 0;
}

h3.reason__item-title::before {
	align-items: center;
	background: url("d16-number-bg.webp") no-repeat center / contain;
	color: #fff;
	content: "理由\A" counter(reason-counter, decimal-leading-zero);
	display: flex;
	flex-direction: column;
	font-size: 0.7em;
	height: 3.8em;
	justify-content: center;
	left: 0;
	line-height: 1.1;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	white-space: pre;
	width: 4.4em;
}

span.reason__item-sub {
	color: var(--text);
	font-size: 0.7em;
}

figure.reason__item-img {
	margin: 0.3em 0 0;
}

figure.reason__item-img img {
	aspect-ratio: 3 / 2;
	background: #d9d9d9;
	border-radius: 0.5em;
	display: block;
	object-fit: cover;
	width: 100%;
}

p.reason__item-text {
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	line-height: 1.9;
	text-align: justify;
	margin-top: 0.9em;
}
/* ◆◆◆ /5つの理由 ◆◆◆ */


/* ◆◆◆ 初回カウンセリング ◆◆◆ */
section.counseling {
	background: var(--pink-sub);
	padding-block: 2em;
}
div.counseling__card {
	background: #fff;
	padding: 2em 1.2em;
}
h2.counseling__title {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	text-align: center;
	margin: 0;
}
div.counseling__body {
	align-items: start;
	display: flex;
	gap: 0.5em;
	margin-top: 1.4em;
	padding-inline: 3% 33%;
}
ul.counseling__items {
	flex: 1;
	list-style: none;
	padding: 0;
	margin: 0;
}
li.counseling__item {
	background: var(--pink-sub);
	border-radius: 100em;
	color: #fff;
	font-size: clamp(1.25rem, 2vw, 1.4rem);
	padding: 0.1em 1.2em;
	text-align: center;
}
li.counseling__item + li.counseling__item {
	margin-top: 0.6em;
}
div.counseling__note {
	position: relative;
	background: var(--card);
	font-weight: 600;
	padding: 1em;
	text-align: center;
}
div.counseling__note::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 100%;
	width: 32%;
	aspect-ratio: 412 / 541;
	background: url("d16-offer-woman.webp") no-repeat center bottom / contain;
	transform: scaleX(-1);
	pointer-events: none;
}
div.counseling__note p {
	margin: 0;
	font-size: clamp(0.9rem, 1.6vw, 1.3rem);
}
p.counseling__time {
	margin-top: 0.6em;
}
span.counseling__time-label {
	border: 1px solid var(--pink);
	color: var(--pink);
	font-size: 0.85em;
	margin-right: 0.6em;
	padding: 0.2em 0.5em;
}
p.counseling__text {
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	line-height: 1.9;
	margin-top: 1.4em;
	text-align: center;
}
/* カウンセリング：下向きシェブロン（菱形5つ／offerと同じマーク） */
.counseling__chevron {
	width: 3.7em;
	height: 3.05em;
	margin: 0 auto;
	background-color: #F9AAB2;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Crect x='0' y='0' width='4' height='4'/%3E%3Crect x='16' y='0' width='4' height='4'/%3E%3Crect x='4' y='4' width='4' height='4'/%3E%3Crect x='12' y='4' width='4' height='4'/%3E%3Crect x='8' y='8' width='4' height='4'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Crect x='0' y='0' width='4' height='4'/%3E%3Crect x='16' y='0' width='4' height='4'/%3E%3Crect x='4' y='4' width='4' height='4'/%3E%3Crect x='12' y='4' width='4' height='4'/%3E%3Crect x='8' y='8' width='4' height='4'/%3E%3C/svg%3E") no-repeat center / contain;
	margin-block: 0.8em;
}
/* ◆◆◆ /初回カウンセリング ◆◆◆ */


/* ◆◆◆ お申し込み後の流れ ◆◆◆ */
.flow {
	background: url(d16-flow-bg.webp);
}
.flow__items {
	counter-reset: flow-counter;
	margin-top: 2em;
}
.flow__item {
	--step-top: 0.9em;
	counter-increment: flow-counter;
	min-height: 10.2em;
	padding-bottom: 2em;
	padding-left: calc(5.4em + 0.8em);
	padding-top: var(--step-top);
	position: relative;
	isolation: isolate;
}

/* 丸バッジ*/
.flow__item-badge {
	position: absolute;
	left: 1em;
	top: var(--step-top);
	width: 4.5em;
	height: 4.5em;
	border-radius: 50%;
	background: var(--teal);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-family: var(--font-num);
}
.flow__item-step {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	padding-top: 0.2em;
}
.flow__item-num {
	font-size: 1.6em;
	font-weight: 600;
	margin-top: -0.6em;
}
.flow__item-num::before {
	content: counter(flow-counter, decimal-leading-zero);
}

/* 縦の点線レール*/
.flow__item-line {
	--dot-size: 0.4em;
	--dot-pitch: 1em;
	position: absolute;
	left: calc(1em + 2.4em);
	top: calc(var(--step-top) + 4.7em);
	bottom: 0.6em;
	width: var(--dot-size);
	transform: translateX(-50%);
	background-image: radial-gradient(circle at center, var(--teal) 0 calc(var(--dot-size) / 2), transparent calc(var(--dot-size) / 2) 100%);
	background-repeat: repeat-y;
	background-size: var(--dot-size) var(--dot-pitch);
	background-position: center top;
}
.flow__item:last-child .flow__item-line {
	display: none;
}

li.flow__item:nth-child(even) {
	background: #fff7f8;
}
.flow__item-title {
	font-size: clamp(1.3rem, 2.2vw, 1.9rem);
	line-height: 1.3;
	padding-top: 0.5em;
}
.flow__item-text {
	font-size: clamp(0.95rem, 1.5vw, 1.2rem);
	line-height: 1.8;
	margin-top: 0.4em;
	padding-right: 2em;
}
.flow__item-img {
	position: absolute;
	right: 1.5em;
	top: calc(var(--step-top) + 2em);
	width: 18%;
	z-index: -1;
	opacity: 0.55;
}
.flow__item-img br {
	display: none;
}
.flow__item-img img {
	aspect-ratio: 1;
	display: block;
	object-fit: cover;
	width: 100%;
}
/* ◆◆◆ /お申し込み後の流れ ◆◆◆ */

/* ◆◆◆ よくある質問 ◆◆◆ */
section.qa {
	background: var(--card);
	border-top: 8px solid var(--pink-sub);
}

h2.qa__title {
	font-size: clamp(1.8rem, 2.8vw, 2.3rem);
	text-align: center;
	margin: 0;
}

ul.qa__items {
	counter-reset: qa-counter;
	margin-top: 1.6em;
	padding: 0;
	list-style: none;
}

li.qa__item {
	counter-increment: qa-counter;
}

li.qa__item + li.qa__item {
	margin-top: 0.8em;
}

li.qa__item details {
	background: #fff;
	border-radius: 0.6em;
	padding: 1.2em 1em;
}

summary.qa__q {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: clamp(0.95rem, 1.5vw, 1.2rem);
	line-height: 1.5;
	list-style: none;
	min-height: 2.4em;
	padding-left: 3.2em;
	padding-right: 2.4em;
	position: relative;
}

summary.qa__q::-webkit-details-marker {
	display: none;
}

summary.qa__q::before {
	align-items: center;
	background: url("d16-number-bg.webp") no-repeat center / contain;
	color: #fff;
	content: "Q" counter(qa-counter);
	display: flex;
	font-family: var(--font-num);
	height: 2.4em;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.4em;
}

/* 閉じている時は ＋ */
summary.qa__q::after {
	background:
		linear-gradient(var(--pink-sub), var(--pink-sub)) center / 100% 1px no-repeat,
		linear-gradient(var(--pink-sub), var(--pink-sub)) center / 1px 100% no-repeat;
	content: "";
	height: 1.2em;
	position: absolute;
	right: 0.2em;
	top: 50%;
	transform: translateY(-50%);
	width: 1.2em;
}

/* 開いている時は － */
li.qa__item details[open] summary.qa__q::after {
	background: linear-gradient(var(--pink-sub), var(--pink-sub)) center / 100% 1px no-repeat;
}

p.qa__a {
	font-size: clamp(0.95rem, 1.5vw, 1.2rem);
	line-height: 1.7;
	margin-top: 1em;
	padding-left: 3.2em;
	position: relative;
}

p.qa__a::before {
	color: var(--pink-sub);
	content: "A";
	font-family: var(--font-num);
	font-size: 1.3em;
	left: 0.9em;
	position: absolute;
	top: -0.1em;
}
/* ◆◆◆ /よくある質問 ◆◆◆ */


/* ◆◆◆ アクセス ◆◆◆ */
.access {
	background: #fff;
}

.access__img img {
	aspect-ratio: 3 / 2;
	background: #b7b7b7;
	border-radius: 1.5em;
	display: block;
	object-fit: cover;
	width: 100%;
margin-block: 2em;
}
.access__img br {
	display: none;
}
.access__name {
	color: var(--pink);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 700;
	text-align: center;
	letter-spacing: 2px;
	padding-bottom: 0.8em;
}
.is-lp .access__table {
	--ark-padding--cell: 0.9em 0.5em;
	--dash-len: 11px;
	--dash-gap: 9px;
	--dash-line: linear-gradient(to right, var(--dot) 0 var(--dash-len), transparent var(--dash-len) 100%);
	background-image: var(--dash-line);
	background-position: top left;
	background-repeat: repeat-x;
	background-size: calc(var(--dash-len) + var(--dash-gap)) 1px;
	border: none;
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 3em;
}
.is-lp .access__table tr {
	background-image: var(--dash-line);
	background-position: bottom left;
	background-repeat: repeat-x;
	background-size: calc(var(--dash-len) + var(--dash-gap)) 1px;
}
.is-lp .access__table th,
.is-lp .access__table td {
	background: none;
	border: none;
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	line-height: 1.7;
	vertical-align: middle;
	word-break: normal;
}
.is-lp .access__table th {
	color: var(--pink);
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
	width: 25%;letter-spacing: 1px;
}
.access__map iframe {
	aspect-ratio: 4 / 3;
	border: 0;
	display: block;
	width: 100%;
}
/* ◆◆◆ /アクセス ◆◆◆ */


/* ◆◆◆ フッターボタン ◆◆◆ */
.footer-btn__contact {
	position: fixed;
	bottom: 0.5em;
	right: 1em;
	width: 400px;
	line-height: 0.5em;
	z-index: 10;
}

.footer-btn__contact-btn img {
	transition: 0.6s;
}

.footer-btn__contact-btn img:hover {
	transform: scale(1.05,1.05);
}

.footer-btn__contact-btn + .footer-btn__contact-btn {
	margin-top: 0.6em;
}

/* ◆◆◆ /フッターボタン ◆◆◆ */



@media screen and (max-width: 600px) {
	/*葉っぱの見出し*/
	h2.d16-title {
		letter-spacing: 0;
	}

	span.d16-title-line::before, span.d16-title-line::after {
		width: 1.2em;
		height: 1.2em;
	}
	
	/*3つの柱*/
	ul.pillar__items {
		gap: 1em;
	}
	
	/*理由*/
	h3.reason__item-title {
		padding-left: 3em;
	}
	
	div.pillar__result {
		padding: 2em 1.4em;
	}
	
	p.pillar__result-lead span:not(.text-pink) {
		font-size: clamp(1.3rem, 2.6vw, 2rem);
	}
	
	p.summary__text {
		font-size: clamp(1.3rem, 2.3vw, 1.9rem);
		font-weight: 700;
		line-height: 2;
		margin-bottom: 0;
	}
	
	/*オファー*/
	.offer__badge {
		top: -1em;
		right: 0.5em;
		width: 5em;
		height: 5em;
	}
	
	div.offer__bonus-area::after {
		right: -8%;
	}
	
	/*カウンセリング*/
	div.counseling__body {
		padding-inline: 3%;
	}

	div.counseling__note::before {
		right: -0.5em;
		width: 28%;
	}
	
	/* ◆◆◆ アクセス ◆◆◆ */	
	.is-lp .access__table {
		--ark-padding--cell: 0.8em 0.3em;
	}
	
	.is-lp .access__table th {
		width: 5.5em;
	}
	
	/* ◆◆◆ フッターボタン ◆◆◆ */
		.footer-btn__contact {
			display: flex;
		bottom: 0;
		right: 0;
		width: 100%;
	}
	/* ◆◆◆ /フッターボタン ◆◆◆ */
}

/*M16 耳つぼについて*/
.about-mimi-d16 {
    background: url(d16-flow-bg.webp);
}

.about-mimi-d16 .about-mimi__lead {
    font-size: clamp(1.1rem, 1.8vw, 1.6rem);
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
    margin: 0.5em 0 2em;
}

.about-mimi-d16 .about-mimi__wrap {
    border: solid var(--teal);
    padding: 1em 3%;
    background: #ffffff;
}

.about-mimi-d16 .about-mimi__image {}

.about-mimi-d16 .about-mimi__text {
    font-size: 1rem;
    line-height: 1.7;
    text-align: left;
    font-weight: 500;
    margin-block: 1.5em 0;
}
