/* ===== Linkwin LP Builder ===== */
body.lwlp-blank { margin: 0; background: #fff; }
.lwlp {
	--lwlp-w: 750px;
	background: var(--c-outer, #fff);
	color: var(--c-text, #555);
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
.lwlp *, .lwlp *::before, .lwlp *::after { box-sizing: border-box; }
:where(.lwlp) :where(p, ul, ol, li, figure) { margin: 0; padding: 0; }
.lwlp :where(h1, h2, h3) { margin: 0; padding: 0; border: 0; background: none; font-size: inherit; line-height: inherit; color: inherit; font-family: inherit; letter-spacing: inherit; }
.lwlp :where(h1, h2, h3)::before, .lwlp :where(h1, h2, h3)::after { content: none; }
:where(.lwlp) :where(ul, ol) { list-style: none; }
:where(.lwlp) img { max-width: 100%; height: auto; display: block; }
.lwlp a { text-decoration: none; }

/* セクション共通：幅＝コンテナ（文字サイズは cqw で幅に比例） */
.lwlp-sec { container-type: inline-size; max-width: var(--lwlp-w); margin: 0 auto; }
.lwlp-in { position: relative; background: var(--sec-bg, transparent); }

/* 装飾記法 */
.lwlp strong { font-weight: 700; }
.lwlp-em { -webkit-text-emphasis: filled circle; text-emphasis: filled circle; -webkit-text-emphasis-position: over right; text-emphasis-position: over right; }
.lwlp-hl { color: var(--c-accent); }
.lwlp-ul { text-decoration: underline dotted; text-decoration-thickness: .55cqw; text-underline-offset: 1.3cqw; }
.lwlp s { text-decoration-color: var(--c-accent); text-decoration-thickness: .4cqw; }

/* 画像未設定 */
.lwlp-noimg { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; background: #ddd5cf; color: #8d8178; font-size: 3.2cqw; letter-spacing: .1em; }

/* 大見出し */
.lwlp-h2 { text-align: center; padding: 0 4cqw; }
.lwlp-h2__sub { font-size: 3.8cqw; color: #555; letter-spacing: .1em; margin-bottom: 1cqw; }
.lwlp-h2__main { font-size: 8cqw !important; font-weight: 700; color: #4d4d4d; letter-spacing: .06em; line-height: 1.35; }
.lwlp .lwlp-h2__main::after { content: ""; display: block; width: 12cqw; height: .8cqw; background: var(--c-accent); margin: 3.4cqw auto 0; }

/* 月桂樹バッジ */
.lwlp-badge { margin-top: 6cqw; text-align: center; }
.lwlp-badge__row { display: flex; align-items: center; justify-content: center; gap: 2cqw; }
.lwlp-badge__text { font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif; font-size: 6.2cqw; font-weight: 700; color: #555; line-height: 1.35; letter-spacing: .06em; }
.lwlp-badge .lwlp-laurel { width: 6cqw; height: 15cqw; }
.lwlp-badge__note { font-size: 2.6cqw; color: #666; margin-top: .6cqw; }
.lwlp-laurel { flex: 0 0 auto; }
.lwlp-laurel.is-right { transform: scaleX(-1); }

/* 縦線・矢印 */
.lwlp-vline { display: block; width: 1px; height: 9cqw; background: #444; margin: 5cqw auto 0; }
.lwlp-arrow-down { display: block; position: relative; width: 1px; height: 8cqw; background: #555; margin: 0 auto 3cqw; }
.lwlp-arrow-down::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 2cqw; height: 2cqw; border-right: 1px solid #555; border-bottom: 1px solid #555; transform: translate(-50%, 0) rotate(45deg); transform-origin: center; }

/* ===== FV ===== */
.lwlp-fv__inner { background: var(--c-bg); padding: 3.5cqw 0 6cqw; overflow: hidden; }

/* 上部キャッチ */
.lwlp-fv__top { padding: 0 5.5cqw; text-align: center; }
.lwlp-fv__top1,
.lwlp-fv__top2 {
	background: var(--c-main);
	color: #fff;
	font-weight: 700;
	letter-spacing: .06em;
	box-shadow: 0 .4cqw 1cqw rgba(0,0,0,.12);
}
.lwlp-fv__top1 { font-size: 4.3cqw; padding: 1.2cqw 3.4cqw; width: fit-content; max-width: 100%; margin: 0 auto; }
.lwlp-fv__top2 { font-size: 5.7cqw; letter-spacing: .02em; padding: 2.2cqw 3cqw 1.4cqw; margin-top: 1.6cqw; line-height: 1.35; }

/* 写真エリア */
.lwlp-fv__visual { position: relative; margin: 0 2.5cqw; }
.lwlp-fv__photo { position: relative; padding-top: var(--ratio, 72%); }
.lwlp-fv__photo picture,
.lwlp-fv__photo img,
.lwlp-fv__noimg { position: absolute; inset: 0; width: 100%; height: 100%; }
.lwlp-fv__photo img { object-fit: cover; }
.lwlp-fv__visual.is-fade .lwlp-fv__photo {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.lwlp-fv__noimg { display: flex; align-items: center; justify-content: center; background: #ddd4cc; color: #8a7f76; font-size: 3.4cqw; }

/* 実績バッジ */
.lwlp-fv__badge-area { position: absolute; top: 2.6cqw; left: 51%; right: 3cqw; }
.lwlp-fv__badge { color: var(--c-gold); text-align: center; }
.lwlp-fv__badge-small {
	font-size: 2.1cqw; font-weight: 700; letter-spacing: .02em; white-space: nowrap;
	display: flex; align-items: center; justify-content: center; gap: 1.2cqw;
	text-shadow: 0 0 .6cqw #fff, 0 0 .6cqw #fff;
}
.lwlp-fv__badge-small::before,
.lwlp-fv__badge-small::after { content: ""; width: 3cqw; height: .3cqw; background: currentColor; }
.lwlp-fv__badge-small::before { transform: rotate(40deg); }
.lwlp-fv__badge-small::after  { transform: rotate(-40deg); }
.lwlp-fv__badge-main { display: flex; align-items: center; justify-content: center; gap: .4cqw; margin-top: .6cqw; }
.lwlp-fv__badge-main p {
	font-size: 4cqw; font-weight: 900; line-height: 1.45; letter-spacing: .04em;
	background: linear-gradient(180deg, #d9b957 0%, var(--c-gold) 55%, #a8832a 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	filter: drop-shadow(0 0 .5cqw rgba(255,255,255,.9));
}
.lwlp-laurel { width: 4.6cqw; height: 11.5cqw; flex: 0 0 auto; color: var(--c-gold); }
.lwlp-laurel.is-right { transform: scaleX(-1); }

.lwlp-fv__gold { margin-top: 1.8cqw; }
.lwlp-fv__gold li + li { margin-top: 1.3cqw; }
.lwlp-fv__gold li > span {
	display: inline-block;
	background: var(--c-gold);
	color: #fff;
	font-size: 2.35cqw; font-weight: 700; letter-spacing: .08em;
	padding: 1.1cqw 1.8cqw .9cqw;
	line-height: 1.4;
}

/* 吹き出し・サブコピー（写真下部に重ねる） */
.lwlp-fv__quote {
	position: absolute; left: 0; bottom: 11cqw;
	width: 74%;
	background: color-mix(in srgb, var(--c-main) 92%, transparent);
	color: #fff;
	font-size: 3.1cqw; font-weight: 700; letter-spacing: .05em; line-height: 1.45;
	padding: 1.2cqw 2.4cqw;
}
.lwlp-fv__sub1 { position: absolute; left: 0; bottom: 1.2cqw; }
.lwlp-fv__sub1 > span,
.lwlp-fv__sub2 > span,
.lwlp-fv__title > span {
	display: inline-block;
	background: #fff;
	color: var(--c-main);
	font-weight: 900;
	letter-spacing: .04em;
	box-shadow: 0 .3cqw .8cqw rgba(0,0,0,.06);
}
.lwlp-fv__sub1 > span { font-size: 4.9cqw; padding: 1cqw 3.4cqw 1cqw 2.4cqw; }
.lwlp-fv__sub2 { margin: 1.4cqw 2.5cqw 0; }
.lwlp-fv__sub2 > span { font-size: 5.6cqw; padding: 2.4cqw 4.4cqw 1.2cqw 2.4cqw; }
.lwlp-fv__title { margin: 1.4cqw 2.5cqw 0; line-height: 1.3; }
.lwlp-fv__title > span { font-size: 7.9cqw; padding: 1.6cqw 4cqw 1.6cqw 2.4cqw; }

/* お悩みチェック */
.lwlp-fv__check { margin: 6.5cqw 7cqw 0; background: #fff; padding: 1cqw; }
.lwlp-fv__check-box { border: 1px solid color-mix(in srgb, var(--c-main) 25%, #ddd); padding: 4.2cqw 5.5cqw 4.6cqw; }
.lwlp-fv__check-title { color: var(--c-main); text-align: center; font-size: 3.3cqw; font-weight: 700; letter-spacing: .14em; }
.lwlp-fv__check-list { margin-top: 2.6cqw; }
.lwlp-fv__check-list li {
	position: relative;
	padding-left: 3.6cqw;
	font-size: 3cqw; letter-spacing: .14em; color: var(--c-text);
	line-height: 1.6;
}
.lwlp-fv__check-list li + li { margin-top: 1.6cqw; }
.lwlp-fv__check-list li::before {
	content: ""; position: absolute; left: .4cqw; top: .9cqw;
	width: 1.2cqw; height: 2cqw;
	border-right: .35cqw solid var(--c-main);
	border-bottom: .35cqw solid var(--c-main);
	transform: rotate(40deg);
}

/* ===== お客様の声（写真） ===== */
.lwlp-voice .lwlp-in { padding: 11cqw 0 10cqw; }
.lwlp-voice__grid { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 4cqw; margin: 7cqw 4cqw 0; }
.lwlp-voice__card img, .lwlp-voice__card .lwlp-noimg { width: 100%; }

/* ===== 初回限定オファー ===== */
.lwlp-offer .lwlp-in { padding: 2.7cqw; }
.lwlp-offer__box { background: #fff; padding: 3cqw 3cqw 4cqw; }
.lwlp-offer__photo img, .lwlp-offer__photo .lwlp-noimg { width: 100%; aspect-ratio: 690/300; object-fit: cover; }
.lwlp-offer__band { margin-top: 2.4cqw; background: var(--c-main); color: #fff; font-size: 3.4cqw; font-weight: 700; text-align: center; padding: 1.1cqw 1cqw; letter-spacing: 0; }
.lwlp-offer__lead { margin-top: 2.6cqw; font-size: 4.3cqw; font-weight: 700; color: #555; text-align: center; letter-spacing: .02em; }
.lwlp-offer__price { display: flex; align-items: center; justify-content: center; gap: 2cqw; margin: 1.4cqw 0 3cqw; color: var(--c-accent); }
.lwlp-offer__label { border: .5cqw solid var(--c-main); color: var(--c-main); font-size: 5.4cqw; font-weight: 700; line-height: 1.2; padding: .8cqw 1.2cqw; letter-spacing: .12em; text-align: center; }
.lwlp-offer__num { font-size: 19cqw; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.lwlp-offer__unit { display: flex; flex-direction: column; align-items: center; line-height: 1.1; }
.lwlp-offer__tax { font-size: 3.2cqw; }
.lwlp-offer__yen { font-size: 7cqw; font-weight: 700; }
.lwlp-offer__mt { background: #e3d7d1; color: #555; font-size: 4cqw; font-weight: 700; text-align: center; padding: 1cqw; letter-spacing: .06em; }
.lwlp-offer__menu { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 2cqw; margin-top: 2cqw; padding: 0 2cqw; }
.lwlp-offer__menu li { text-align: center; }
.lwlp-offer__menu img, .lwlp-offer__menu .lwlp-noimg { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.lwlp-offer__menu .lwlp-cap { display: block; margin-top: 1.5cqw; font-size: 3.3cqw; color: #444; letter-spacing: 0; white-space: nowrap; }

/* ===== 予約ボタン ===== */
.lwlp-cta .lwlp-in { padding: 3cqw; }
.lwlp-cta__box { background: #fff; padding: 5cqw 6cqw 6cqw; }
.lwlp-cta__item + .lwlp-cta__item { margin-top: 4.5cqw; }
.lwlp-cta__lead { text-align: center; font-size: 3.4cqw; color: #444; letter-spacing: .14em; margin-bottom: 1.6cqw; }
.lwlp .lwlp-cta__btn { display: flex; align-items: center; gap: 3cqw; min-height: 16cqw; padding: 0 4cqw; background: var(--btn); color: #fff; transition: opacity .2s, transform .2s; }
.lwlp .lwlp-cta__btn:hover { opacity: .88; color: #fff; }
.lwlp-cta__icon { flex: 0 0 13cqw; display: flex; align-items: center; justify-content: center; color: var(--btn); }
.lwlp-cta__icon svg { width: 9cqw; height: 9cqw; display: block; }
.lwlp-cta__icon.is-img img { max-height: 10cqw; width: auto; }
.lwlp-cta__label { flex: 1; text-align: center; font-size: 6cqw; font-weight: 700; letter-spacing: .03em; line-height: 1.3; padding: 2cqw 0; }
.lwlp-cta__arrow { flex: 0 0 6cqw; width: 6cqw; height: 6cqw; border-radius: 50%; background: #fff; position: relative; }
.lwlp-cta__arrow::after { content: ""; position: absolute; left: 44%; top: 50%; width: 1.5cqw; height: 1.5cqw; border-top: .6cqw solid var(--btn); border-right: .6cqw solid var(--btn); transform: translate(-50%, -50%) rotate(45deg); }

/* ===== こんなお悩み ===== */
.lwlp-worry .lwlp-in { padding: 12cqw 0 0; background: linear-gradient(165deg, #fdfdfd 0%, var(--sec-bg) 45%, #fafafa 75%, var(--sec-bg) 100%); overflow: hidden; }
.lwlp-worry__title { text-align: center; font-size: 7cqw !important; font-weight: 300; color: #444; letter-spacing: .06em; line-height: 1.45; }
.lwlp-worry__title::first-line { font-size: 10cqw; }
.lwlp-worry__box { margin: 6cqw 4cqw 0; }
.lwlp-worry__list { background: #fff; padding: 2cqw 7cqw 3cqw; }
.lwlp-worry__list li { position: relative; padding: 3cqw 0 3cqw 5.5cqw; border-bottom: 1px dashed #ccc; font-size: 4.3cqw; color: #555; letter-spacing: .08em; line-height: 1.6; }
.lwlp-worry__list li:last-child { border-bottom: 0; }
.lwlp-worry__list li::before {
	content: ""; position: absolute; left: 0; top: 4.1cqw; width: 4.2cqw; height: 4.2cqw; background: var(--c-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2.2A7.8 7.8 0 1 1 15.6 5L17 3.3A10 10 0 0 0 12 2zm9.2 1.4L11.3 14 7.6 10.4 6 12l5.3 5.2L22.8 5z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2.2A7.8 7.8 0 1 1 15.6 5L17 3.3A10 10 0 0 0 12 2zm9.2 1.4L11.3 14 7.6 10.4 6 12l5.3 5.2L22.8 5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.lwlp-worry__visual { position: relative; margin-bottom: 13cqw; }
.lwlp-worry__visual > img, .lwlp-worry__visual > .lwlp-noimg { width: 100%; aspect-ratio: 690/440; object-fit: cover; }
.lwlp-worry__bubble { position: absolute; width: 44cqw; height: 26cqw; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 3.3cqw; color: #333; line-height: 1.65; letter-spacing: .06em; box-shadow: 0 0 0 1.2cqw #fff; }
.lwlp-worry__bubble::before, .lwlp-worry__bubble::after { content: ""; position: absolute; border-radius: 50%; background: #fff; }
.lwlp-worry__bubble.is-left { left: 1cqw; bottom: 2cqw; }
.lwlp-worry__bubble.is-left::before { width: 3.6cqw; height: 3cqw; right: 8cqw; top: -3.4cqw; }
.lwlp-worry__bubble.is-left::after { width: 2.2cqw; height: 1.8cqw; right: 5cqw; top: -6.4cqw; }
.lwlp-worry__bubble.is-right { right: -1cqw; bottom: -10cqw; width: 46cqw; }
.lwlp-worry__bubble.is-right::before { width: 3.6cqw; height: 3cqw; left: 11cqw; top: -3.2cqw; }
.lwlp-worry__bubble.is-right::after { width: 2.2cqw; height: 1.8cqw; left: 8cqw; top: -6.4cqw; }
.lwlp-worry .lwlp-vline { margin-top: 0; }

/* ===== 痛みの原因 ===== */
.lwlp-cause .lwlp-in { padding: 10cqw 0 10cqw; }
.lwlp-cause__title { text-align: center; font-size: 7cqw !important; font-weight: 300; color: #555; letter-spacing: .06em; }
.lwlp-cause__title strong { text-decoration: underline wavy var(--c-accent); text-decoration-thickness: .45cqw; text-underline-offset: 2.4cqw; }
.lwlp-cause__box { position: relative; background: #fff; margin: 12cqw 6cqw 0; padding: 10cqw 6cqw 7cqw; text-align: center; }
.lwlp-cause__icon { position: absolute; left: 50%; top: -5.5cqw; transform: translateX(-50%); width: 11cqw; height: 11cqw; border-radius: 50%; background: #555; color: #fff; font-size: 7cqw; font-weight: 700; line-height: 11cqw; }
.lwlp-cause__small { font-size: 4.6cqw; font-weight: 300; color: #555; letter-spacing: .1em; }
.lwlp-cause__big { font-size: 6.6cqw; font-weight: 700; color: #555; letter-spacing: .08em; margin-top: 1cqw; }
.lwlp-cause__img { width: 80%; margin: 4cqw auto 5cqw; }
.lwlp-cause__img img, .lwlp-cause__img .lwlp-noimg { width: 100%; aspect-ratio: 440/280; object-fit: cover; }
.lwlp-cause__t { font-size: 4.4cqw; color: #333; letter-spacing: .08em; }
.lwlp-cause__key { font-size: 9cqw; font-weight: 700; color: var(--c-accent); letter-spacing: .06em; line-height: 1.3; }
.lwlp-cause__mid { margin: 6cqw 4cqw 0; text-align: center; font-size: 4.4cqw; font-weight: 300; color: #666; line-height: 1.8; letter-spacing: .1em; }
.lwlp-cause__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4cqw; margin: 5cqw 6cqw 0; }
.lwlp-cause__grid li { background: #fff; padding: 3.5cqw 3.5cqw 2.4cqw; text-align: center; }
.lwlp-cause__grid img, .lwlp-cause__grid .lwlp-noimg { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.lwlp-cause__grid .lwlp-cap { display: block; margin-top: 2cqw; font-size: 3.2cqw; color: #333; letter-spacing: 0; white-space: nowrap; }
.lwlp-cause__end { text-align: center; margin-top: 3cqw; }
.lwlp-cause__end-s { font-size: 4cqw; font-weight: 300; color: #777; letter-spacing: .08em; }
.lwlp-cause__end-b { font-size: 4.6cqw; font-weight: 700; color: #555; margin-top: 1cqw; letter-spacing: .04em; }
.lwlp-cause__end-b span { border-bottom: .6cqw dotted #555; padding-bottom: .8cqw; }

/* ===== 結果的に ===== */
.lwlp-result .lwlp-in { padding: 7cqw 0 0; background-color: var(--sec-bg); background-size: cover; background-position: center; }
.lwlp-result .lwlp-in:not(.has-bgimg) { background-image: radial-gradient(ellipse at 20% 30%, rgba(255,255,255,.9), transparent 55%), radial-gradient(ellipse at 80% 70%, rgba(255,255,255,.85), transparent 50%); }
.lwlp-result__label { text-align: center; }
.lwlp-result__label span { display: inline-block; position: relative; background: #555; color: #fff; font-size: 5cqw; padding: 1.4cqw 3cqw; letter-spacing: .1em; }
.lwlp-result__label span::after { content: ""; position: absolute; left: 50%; top: 100%; transform: translateX(-50%); border: 1.6cqw solid transparent; border-top: 2cqw solid #555; border-bottom: 0; }
.lwlp-result__list { margin: 6cqw 7cqw 0; }
.lwlp-result__list li { position: relative; }
.lwlp-result__list img, .lwlp-result__list .lwlp-noimg { width: 100%; aspect-ratio: 640/270; object-fit: cover; }
.lwlp-result__list p { position: absolute; top: 50%; transform: translateY(-50%); font-size: 4.8cqw; font-weight: 700; color: #222; line-height: 1.55; letter-spacing: .06em; text-decoration: underline dotted; text-decoration-thickness: .5cqw; text-underline-offset: 1.2cqw; text-shadow: 0 0 1.5cqw #fff, 0 0 1.5cqw #fff; }
.lwlp-result__list li.is-left p { left: 8%; }
.lwlp-result__list li.is-right p { right: 8%; text-align: right; }
.lwlp-result__list li.is-center p { left: 50%; transform: translate(-50%, -50%); text-align: center; }
.lwlp-result__text { margin-top: 5cqw; text-align: center; font-size: 4.4cqw; color: #333; line-height: 1.8; letter-spacing: .1em; }

/* ===== 当院の施術は ===== */
.lwlp-treatment .lwlp-in { background: #fff; padding-bottom: 8cqw; }
.lwlp-treat__bg { background: var(--sec-bg); border-radius: 50% 50% 50% 50% / 16cqw 16cqw 20cqw 20cqw; padding: 15cqw 4cqw 20cqw; }
.lwlp-treat__title { text-align: center; font-size: 7cqw !important; font-weight: 700; color: var(--c-accent); letter-spacing: .1em; }
.lwlp-treat__title span { position: relative; display: inline-block; padding: 0 9cqw; }
.lwlp-treat__title span::before, .lwlp-treat__title span::after { content: ""; position: absolute; top: -1cqw; height: 9cqw; border-left: .5cqw dotted var(--c-accent); }
.lwlp-treat__title span::before { left: 2.5cqw; transform: rotate(-30deg); }
.lwlp-treat__title span::after { right: 2.5cqw; transform: rotate(30deg); }
.lwlp-treat__circles { position: relative; display: flex; justify-content: center; gap: 4cqw; margin-top: 6cqw; }
.lwlp-treat__circle { width: 40cqw; aspect-ratio: 1; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 5.2cqw; font-weight: 700; color: var(--c-accent); line-height: 1.75; letter-spacing: .04em; }
.lwlp-treat__x { position: absolute; left: 50%; top: 50%; width: 11cqw; height: 11cqw; transform: translate(-50%, -50%); }
.lwlp-treat__x::before, .lwlp-treat__x::after { content: ""; position: absolute; left: -10%; top: 50%; width: 120%; height: 1px; background: #555; }
.lwlp-treat__x::before { transform: rotate(45deg); }
.lwlp-treat__x::after { transform: rotate(-45deg); }
.lwlp-treat__small { margin-top: 9cqw; text-align: center; font-size: 4.2cqw; color: #333; letter-spacing: .12em; }
.lwlp-treat__big { margin-top: 2cqw; text-align: center; font-size: 6.6cqw; font-weight: 700; color: var(--c-accent); line-height: 1.6; letter-spacing: .1em; }
.lwlp-treat__img { width: 64%; margin: 8cqw auto 0; }
.lwlp-treat__img img, .lwlp-treat__img .lwlp-noimg { width: 100%; aspect-ratio: 480/575; object-fit: cover; border-radius: 999px 999px 0 0; }

/* ===== お客様インタビュー ===== */
.lwlp-interview .lwlp-in { padding: 10cqw 0 12cqw; }
.lwlp-iv__lead { margin: 5cqw 8cqw 0; text-align: center; }
.lwlp-iv__lead span { display: block; background: #fff; padding: 2cqw 3cqw; font-size: 4.7cqw; font-weight: 700; color: #555; letter-spacing: .06em; line-height: 1.55; }
.lwlp-iv__list { border-top: 1px solid #555; margin: 4cqw 1.5cqw 0; padding: 7cqw 9.5cqw 0; }
.lwlp-iv__item { aspect-ratio: 16/9; background: #000; }
.lwlp-iv__item + .lwlp-iv__item { margin-top: 5cqw; }
.lwlp-iv__item .lwlp-noimg { height: 100%; background: #3a3a3a; color: #ccc; }
.lwlp-iv__item iframe, .lwlp-iv__item video, .lwlp-iv__item img { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }

/* ===== 3ステップ ===== */
.lwlp-steps .lwlp-in { padding: 12cqw 0 10cqw; }
.lwlp-steps__head { text-align: center; }
.lwlp-steps__small { display: inline-block; position: relative; font-size: 4cqw; font-weight: 300; color: #555; line-height: 1.6; letter-spacing: .06em; padding: 0 6cqw 2cqw; border-bottom: 1px solid #666; }
.lwlp-steps__small::after { content: ""; position: absolute; left: 50%; bottom: -1.4cqw; width: 2.4cqw; height: 2.4cqw; background: var(--sec-bg); border-right: 1px solid #666; border-bottom: 1px solid #666; transform: translateX(-50%) rotate(45deg); }
.lwlp-steps__title { font-size: 12cqw !important; font-weight: 700; color: var(--c-accent); letter-spacing: .12em; margin-top: 3cqw; }
.lwlp-steps__list { margin: 9cqw 6cqw 0; }
.lwlp-steps__item { position: relative; background: #fff; padding: 4cqw 4.5cqw 5cqw; }
.lwlp-steps__item + .lwlp-steps__item { margin-top: 15cqw; }
.lwlp-steps__item + .lwlp-steps__item::before { content: ""; position: absolute; left: 50%; top: -9.5cqw; transform: translateX(-50%); border-left: 3cqw solid transparent; border-right: 3cqw solid transparent; border-top: 2.2cqw solid var(--c-accent); }
.lwlp-steps__num { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 10cqw; height: 10cqw; border-radius: 50%; background: var(--c-accent); color: #fff; font-size: 4.2cqw; font-weight: 700; line-height: 1; }
.lwlp-steps__num small { font-size: 2cqw; font-weight: 500; letter-spacing: .04em; margin-bottom: .3cqw; }
.lwlp-steps__h { font-size: 4.8cqw !important; font-weight: 700; color: var(--c-accent); line-height: 1.55; letter-spacing: .06em; margin: 2cqw 0 3cqw; }
.lwlp-steps__img img, .lwlp-steps__img .lwlp-noimg { width: 100%; aspect-ratio: 590/350; object-fit: cover; }
.lwlp-steps__text { margin-top: 4cqw; font-size: 3.9cqw; font-weight: 300; color: #333; line-height: 1.75; letter-spacing: .06em; }

/* ===== 推薦の声 ===== */
.lwlp-recommend .lwlp-in { padding: 10cqw 0 10cqw; }
.lwlp-recommend .lwlp-h2__main { font-size: 9cqw !important; }
.lwlp-rec__card { background: #fff; margin: 8cqw 6cqw 0; padding: 8cqw 5cqw 7cqw; }
.lwlp-rec__head { display: flex; align-items: center; gap: 4cqw; }
.lwlp-rec__card:nth-child(odd) .lwlp-rec__head { flex-direction: row-reverse; }
.lwlp-rec__photo { flex: 0 0 42%; }
.lwlp-rec__photo img, .lwlp-rec__photo .lwlp-noimg { width: 100%; aspect-ratio: 300/380; object-fit: cover; }
.lwlp-rec__info { flex: 1; min-width: 0; }
.lwlp-rec__catch { display: inline-block; font-size: 2.4cqw; color: #555; border-bottom: .6cqw dotted #555; padding-bottom: 1cqw; letter-spacing: .04em; }
.lwlp-rec__role { font-size: 3.2cqw; color: #555; margin-top: 1cqw; letter-spacing: .04em; }
.lwlp-rec__name { font-size: 6cqw; color: #333; line-height: 1.3; letter-spacing: .04em; }
.lwlp-rec__text { margin-top: 6cqw; font-size: 3.9cqw; font-weight: 300; color: #444; line-height: 1.8; letter-spacing: .08em; }

/* ===== 通院プログラム ===== */
.lwlp-program .lwlp-in { padding: 0 4cqw 10cqw; }
.lwlp-prog__box { background: #fff; padding: 8cqw 5cqw 6cqw; }
.lwlp-prog__small { text-align: center; font-size: 4.4cqw; color: #333; letter-spacing: .1em; }
.lwlp-prog__title { text-align: center; font-size: 9.5cqw !important; font-weight: 700; color: var(--c-accent); letter-spacing: .1em; margin-top: 1cqw; }
.lwlp-prog__chart { margin-top: 6cqw; background: #fbfaf9; border: 1px solid #f0ebe8; padding: 5cqw 5cqw 4cqw; }
.lwlp-prog__ct { text-align: center; font-size: 4.6cqw; color: #444; letter-spacing: .06em; }
.lwlp-prog__bars { display: flex; justify-content: space-around; margin-top: 16cqw; }
.lwlp-prog__bars li { flex: 1; text-align: center; }
.lwlp-prog__col { height: 32cqw; display: flex; align-items: flex-end; justify-content: center; }
.lwlp-prog__bar { position: relative; width: 62%; min-height: 8cqw; background: #f8ebe7; display: flex; align-items: center; justify-content: center; }
.lwlp-prog__val { font-size: 3.4cqw; color: #333; }
.lwlp-prog__bubble { position: absolute; left: 50%; bottom: calc(100% + 2.6cqw); transform: translateX(-50%); width: 11cqw; height: 11cqw; border-radius: 50%; background: var(--c-main); color: #fff; font-size: 2.8cqw; font-weight: 700; line-height: 1.2; display: flex; align-items: center; justify-content: center; text-align: center; }
.lwlp-prog__bubble::after { content: ""; position: absolute; left: 50%; top: 96%; transform: translateX(-50%); border: 1.2cqw solid transparent; border-top: 1.8cqw solid var(--c-main); border-bottom: 0; }
.lwlp-prog__label { display: block; border-top: 1px solid #888; padding-top: 2cqw; font-size: 4.6cqw; color: #333; letter-spacing: .1em; }
.lwlp-prog__text { margin-top: 6cqw; font-size: 4.3cqw; color: #333; line-height: 1.85; letter-spacing: .06em; }

/* ===== 口コミ ===== */
.lwlp-reviews .lwlp-in { padding: 10cqw 0 10cqw; }
.lwlp-rv__head { text-align: center; padding: 0 3cqw; }
.lwlp-rv__lead { font-size: 3.6cqw; color: var(--c-accent); letter-spacing: .04em; }
.lwlp-rv__lead span::before { content: "＼ "; }
.lwlp-rv__lead span::after { content: " ／"; }
.lwlp-rv__title { font-size: 7.4cqw !important; font-weight: 500; color: var(--c-accent); letter-spacing: .04em; margin-top: 1cqw; }
.lwlp-rv__card { background: #fff; margin: 7cqw 5cqw 0; padding: 5cqw 4.5cqw 6cqw; }
.lwlp-rv__t1 { text-align: center; font-size: 5cqw; font-weight: 700; color: var(--c-accent); letter-spacing: .04em; }
.lwlp-rv__t2 { text-align: center; font-size: 5cqw; font-weight: 700; color: #444; letter-spacing: .04em; margin-bottom: 4cqw; }
.lwlp-rv__shot { width: 100%; }
.lwlp-rv__g { font-family: Roboto, "Noto Sans JP", sans-serif; }
.lwlp-rv__user { display: flex; align-items: center; gap: 2.5cqw; }
.lwlp-rv__avatar { flex: 0 0 6.5cqw; width: 6.5cqw; height: 6.5cqw; border-radius: 50%; overflow: hidden; background: #8e6fd6; color: #fff; font-size: 3cqw; display: flex; align-items: center; justify-content: center; }
.lwlp-rv__avatar img { width: 100%; height: 100%; object-fit: cover; }
.lwlp-rv__name { display: block; font-size: 2.8cqw; color: #1a73e8; font-weight: 500; }
.lwlp-rv__meta { display: block; font-size: 2.3cqw; color: #70757a; }
.lwlp-rv__rate { display: flex; align-items: center; gap: 2cqw; margin: 2.4cqw 0 2cqw; font-size: 2.6cqw; color: #70757a; }
.lwlp-rv__stars { color: #fbbc04; letter-spacing: .05em; font-size: 2.8cqw; }
.lwlp-rv__stars .is-off { color: #dadce0; }
.lwlp-rv__badge { border: 1px solid #dadce0; border-radius: .8cqw; padding: .2cqw 1.2cqw; font-size: 2.3cqw; color: #3c4043; }
.lwlp-rv__text { font-size: 3cqw; color: #3c4043; line-height: 1.8; }
.lwlp-rv__text .lwlp-ul { text-decoration: underline solid #e8453c; text-decoration-thickness: .3cqw; text-underline-offset: .9cqw; }

/* ===== ヘッダー（ロゴ） ===== */
.lwlp-header .lwlp-in { padding: 2.6cqw 6cqw; display: flex; justify-content: flex-start; }
.lwlp-header .lwlp-in.is-center { justify-content: center; }
.lwlp-header .lwlp-header__logo { display: inline-flex; flex-direction: column; align-items: center; color: var(--logo-c); line-height: 1.25; }
.lwlp-header__logo img { max-width: 100%; height: auto; }
.lwlp-header__name { font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif; font-size: 5cqw; letter-spacing: .06em; }
.lwlp-header__sub { font-family: "Times New Roman", "Hiragino Mincho ProN", serif; font-size: 2.6cqw; letter-spacing: .04em; margin-top: .6cqw; }
.lwlp-header.is-sticky { position: sticky; top: 0; z-index: 50; }
.admin-bar .lwlp-header.is-sticky { top: 32px; }
@media (max-width: 782px) { .admin-bar .lwlp-header.is-sticky { top: 46px; } }

/* ===== フッター ===== */
.lwlp-footer .lwlp-in { padding: 9cqw 5cqw; text-align: center; }
.lwlp-footer__text { font-size: 3.4cqw; line-height: 1.8; letter-spacing: .04em; margin-bottom: 4cqw; }
.lwlp-footer__copy small { font-size: 3.2cqw; letter-spacing: .02em; }
