@charset "UTF-8";
/* ==========================================================================
   ハピラブ TOPページ（ブロック版）
   - 読み込み: functions.php（フロントページと top-block ページのみ）
   - 接頭辞: .hpl-
   - 各セクションは元画像（幅1000px）と同じ比率で縮むよう、コンテナ幅基準（cqw）でサイズを指定
   ========================================================================== */

:root {
	--hpl-pink: #e8507b;
	--hpl-pink-light: #f7a8be;
	--hpl-red: #d7243f;
	--hpl-red-deep: #a3152d;
	--hpl-gold: #c9a55a;
	--hpl-gold-light: #ecd9a4;
	--hpl-gold-grad: linear-gradient(90deg, #b8913f 0%, #f3e3ae 35%, #c9a55a 60%, #f3e3ae 85%, #b8913f 100%);
	--hpl-text: #333;
	--hpl-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--hpl-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
}

/* 共通の強調色 */
.hpl-em {
	color: var(--hpl-pink);
}


/* ==========================================================================
   S01 ファーストビュー
   元画像: top-26-01-pc.png（1000 x 458）
   ========================================================================== */

.post_content .hpl-fv {
	position: relative;
	container-type: inline-size;
	aspect-ratio: 1000 / 458;
	margin: 0 0 2em;
	overflow: hidden;
	font-family: var(--hpl-sans);
	color: var(--hpl-text);
	background: linear-gradient(100deg, #f5f9fb 0%, #e6f0f5 40%, #d5e5ee 100%);
}

/* 右側のハート柄 */
.post_content .hpl-fv::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='%23b9a3c9'%3E%3Cpath d='M30 52c-9-7-14-12-14-19 0-5 4-8 8-8 3 0 5 2 6 4 1-2 3-4 6-4 4 0 8 3 8 8 0 7-5 12-14 19z' opacity='.45' transform='rotate(-15 30 40)'/%3E%3Cpath d='M120 30c-6-5-10-8-10-13 0-3 3-6 6-6 2 0 3 1 4 3 1-2 2-3 4-3 3 0 6 3 6 6 0 5-4 8-10 13z' opacity='.35' transform='rotate(20 120 20)'/%3E%3Cpath d='M160 120c-10-8-16-13-16-21 0-5 4-9 9-9 3 0 6 2 7 5 1-3 4-5 7-5 5 0 9 4 9 9 0 8-6 13-16 21z' opacity='.4' transform='rotate(10 160 105)'/%3E%3Cpath d='M70 160c-7-5-11-9-11-14 0-4 3-6 6-6 2 0 4 1 5 3 1-2 3-3 5-3 3 0 6 2 6 6 0 5-4 9-11 14z' opacity='.3' transform='rotate(-25 70 150)'/%3E%3Cpath d='M100 95c-4-3-6-5-6-8 0-2 2-4 4-4 1 0 2 1 2 2 1-1 2-2 3-2 2 0 4 2 4 4 0 3-2 5-7 8z' opacity='.35'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 20cqw 20cqw;
	-webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 75%);
	mask-image: linear-gradient(90deg, transparent 30%, #000 75%);
	pointer-events: none;
}

/* 下端の金のライン */
.post_content .hpl-fv::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1.2cqw;
	background: var(--hpl-gold-grad);
	z-index: 3;
}

.post_content .hpl-fv > * {
	margin: 0 !important;
}

.post_content .hpl-fv figure img {
	display: block;
	width: 100%;
	height: auto;
}

/* バッジ */
.post_content .hpl-fv__ibj {
	position: absolute;
	top: 4.4%;
	left: 1.8%;
	width: 16.8%;
	z-index: 2;
}

.post_content .hpl-fv__ibj img {
	border: 1px solid #c8d6e5;
	background: #fff;
}

.post_content .hpl-fv__seicon {
	position: absolute;
	top: 18.4%;
	left: 1.8%;
	width: 9.2%;
	z-index: 2;
}

/* 女性 */
.post_content .hpl-fv__woman {
	position: absolute;
	top: 14%;
	left: .7%;
	width: 41.5%;
	z-index: 1;
}

/* 赤いハート「お見合い無料」 */
.post_content .hpl-fv__heart {
	position: absolute;
	top: 10.9%;
	left: 31.8%;
	width: 17%;
	aspect-ratio: 100 / 96;
	z-index: 4;
	padding: 3.6cqw 0 0;
	font-size: 4cqw;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: .1em;
	color: #fff;
	text-align: center;
	text-shadow: 0 .15cqw .3cqw rgba(80, 0, 15, .45);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 96'%3E%3Cdefs%3E%3ClinearGradient id='r' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23d01f3c'/%3E%3Cstop offset='.55' stop-color='%23a5112b'/%3E%3Cstop offset='1' stop-color='%237a0a1f'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f6e3a1'/%3E%3Cstop offset='1' stop-color='%23b8913f'/%3E%3C/linearGradient%3E%3CclipPath id='h'%3E%3Cpath d='M50 93C20 71 3 53 3 31 3 15 15 4 29 4c10 0 17 6 21 14 4-8 11-14 21-14 14 0 26 11 26 27 0 22-17 40-47 62z'/%3E%3C/clipPath%3E%3C/defs%3E%3Cpath d='M50 93C20 71 3 53 3 31 3 15 15 4 29 4c10 0 17 6 21 14 4-8 11-14 21-14 14 0 26 11 26 27 0 22-17 40-47 62z' fill='url(%23r)' stroke='%23fff' stroke-opacity='.5' stroke-width='1'/%3E%3Cg clip-path='url(%23h)'%3E%3Cpath d='M-2 40 40 -2 46 4 4 46z' fill='url(%23g)'/%3E%3C/g%3E%3Cpath d='M26 16c-7-9-17-6-14 1 2 5 9 4 14-1zM26 16c3-10 13-11 13-4 0 6-8 7-13 4z' fill='url(%23g)' stroke='%23946b22' stroke-width='.6'/%3E%3Cpath d='M26 16 19 30M26 16l11 9' stroke='url(%23g)' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='26' cy='16' r='2.6' fill='url(%23g)' stroke='%23946b22' stroke-width='.6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.post_content .hpl-fv__heart-sub {
	display: block;
	font-size: 1.9cqw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

/* 改行はspanのblock表示で行うので、エディタ用の<br>は画面上では使わない */
.post_content .hpl-fv__heart br {
	display: none;
}

/* 右の金枠カード（枠はSVGで描画。元画像の比率 447:320 で固定） */
.post_content .hpl-fv__card {
	position: absolute;
	top: 15.3%;
	left: 46%;
	width: 44.7%;
	aspect-ratio: 447 / 320;
	z-index: 3;
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 0;
	padding: 0;
	text-align: center;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 447 320'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23b8913f'/%3E%3Cstop offset='.3' stop-color='%23f3e3ae'/%3E%3Cstop offset='.55' stop-color='%23c9a55a'/%3E%3Cstop offset='.8' stop-color='%23f6e8b8'/%3E%3Cstop offset='1' stop-color='%23b8913f'/%3E%3C/linearGradient%3E%3CradialGradient id='c' cx='.5' cy='.45' r='.7'%3E%3Cstop offset='0' stop-color='%23fffefa'/%3E%3Cstop offset='.6' stop-color='%23fbf6e8'/%3E%3Cstop offset='1' stop-color='%23efe3c2'/%3E%3C/radialGradient%3E%3Cpath id='f' d='M14 20H110C150 20 170 2 223.5 2S297 20 337 20H433A14 14 0 0 0 445 32V283A14 14 0 0 0 433 295H337C297 295 277 318 223.5 318S150 295 110 295H14A14 14 0 0 0 2 283V32A14 14 0 0 0 14 20Z'/%3E%3C/defs%3E%3Cuse href='%23f' fill='url(%23c)' stroke='url(%23g)' stroke-width='3.5'/%3E%3Cuse href='%23f' fill='none' stroke='%23c9a55a' stroke-opacity='.7' stroke-width='1.6' transform='translate(223.5 160) scale(.95 .925) translate(-223.5 -160)'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	filter: drop-shadow(0 .5cqw 1cqw rgba(110, 85, 30, .22));
}

/* SWELLが付ける段落下の余白（1em）とグループの内側ラッパーを調整 */
.post_content .hpl-fv__card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.post_content .hpl-fv__card p {
	margin-bottom: 0 !important;
}

.post_content .hpl-fv__lead {
	font-size: 4cqw;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .06em;
}

.post_content .hpl-fv__lead::before,
.post_content .hpl-fv__lead::after {
	display: inline-block;
	margin: 0 .5em;
	font-weight: 500;
	color: #666;
	transform: skewX(-20deg);
}

.post_content .hpl-fv__lead::before {
	content: "＼＼";
	letter-spacing: -.45em;
	margin-right: .9em;
}

.post_content .hpl-fv__lead::after {
	content: "／／";
	letter-spacing: -.45em;
}

.post_content .hpl-fv__catch {
	margin-top: 1.2cqw !important;
	font-size: 4.9cqw;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 6.7cqw;
}

.post_content .hpl-fv__catch .hpl-em {
	font-family: var(--hpl-serif);
	font-size: 1.22em;
	font-weight: 700;
}

.post_content .hpl-fv__title {
	position: relative;
	width: 94%;
	margin-top: 2cqw !important;
	padding: 2.2cqw 0;
	font-family: var(--hpl-serif);
	font-size: 10.3cqw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .42em;
	text-indent: .42em;
	white-space: nowrap;
	color: var(--hpl-red-deep);
	background: linear-gradient(180deg, #c21d3a 0%, #8e0f25 55%, #6a0a1b 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.post_content .hpl-fv__title::before,
.post_content .hpl-fv__title::after {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	height: 2px;
	background: var(--hpl-gold-grad);
}

.post_content .hpl-fv__title::before {
	top: 0;
}

.post_content .hpl-fv__title::after {
	bottom: 0;
}

.post_content .hpl-fv__member {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2.2cqw !important;
	white-space: nowrap;
	font-size: 5.3cqw;
	font-weight: 900;
	line-height: 1;
	letter-spacing: .02em;
}

.post_content .hpl-fv__member-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 10.6cqw;
	height: 10.6cqw;
	margin-right: 1.4cqw;
	border-radius: 50%;
	font-size: 3.4cqw;
	font-weight: 700;
	letter-spacing: 0;
	color: #fff;
	background: var(--hpl-pink);
}

.post_content .hpl-fv__member-num {
	margin-left: .15em;
	font-family: var(--hpl-serif);
	font-size: 1.7em;
	letter-spacing: -.02em;
	font-style: italic;
	font-weight: 700;
	color: var(--hpl-pink);
}

.post_content .hpl-fv__member-unit {
	margin-right: .3em;
	font-family: var(--hpl-serif);
	font-size: 1.2em;
	font-weight: 700;
	color: var(--hpl-pink);
}

.post_content .hpl-fv__note {
	margin-top: .8cqw !important;
	font-size: max(2.5cqw, 8px);
	line-height: 1.2;
	text-align: center;
	color: #999;
}

/* スマホ：現在のサイトと同じく画面幅いっぱいに表示 */
@media (max-width: 599px) {
	.post_content .hpl-fv {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
}

/* ==========================================================================
   S02 早期成婚キャンペーン＋3つの特長
   元画像: 02.png（1001 x 800）
   ※このファイルは tools/gen/s02.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-fv {
	margin-bottom: 0;
}

.post_content .hpl-cp {
	position: relative;
	container-type: inline-size;
	margin: 0 0 2em;
	/* 自分自身の幅を基準にするため cqw ではなく %（親の幅＝このセクションの幅） */
	padding: 5.3% 0 4.5%;
	font-family: var(--hpl-sans);
	color: var(--hpl-text);
	background: #f7c9ce;
}

/* 光の玉 */
.post_content .hpl-cp::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(circle at 4% 6%, rgba(255, 255, 255, 0.9) 0, rgba(255, 255, 255, 0.41) 0.49cqw, rgba(255, 255, 255, 0) 1.4cqw),
		radial-gradient(circle at 13% 22%, rgba(255, 255, 255, 0.7) 0, rgba(255, 255, 255, 0.32) 0.28cqw, rgba(255, 255, 255, 0) 0.8cqw),
		radial-gradient(circle at 6% 34%, rgba(255, 255, 255, 0.95) 0, rgba(255, 255, 255, 0.43) 0.63cqw, rgba(255, 255, 255, 0) 1.8cqw),
		radial-gradient(circle at 2% 58%, rgba(255, 255, 255, 0.7) 0, rgba(255, 255, 255, 0.32) 0.35cqw, rgba(255, 255, 255, 0) 1cqw),
		radial-gradient(circle at 16% 50%, rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0.27) 0.21cqw, rgba(255, 255, 255, 0) 0.6cqw),
		radial-gradient(circle at 23% 62%, rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0.36) 0.39cqw, rgba(255, 255, 255, 0) 1.1cqw),
		radial-gradient(circle at 31% 70%, rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0.27) 0.24cqw, rgba(255, 255, 255, 0) 0.7cqw),
		radial-gradient(circle at 35% 4%, rgba(255, 255, 255, 0.7) 0, rgba(255, 255, 255, 0.32) 0.32cqw, rgba(255, 255, 255, 0) 0.9cqw),
		radial-gradient(circle at 48% 2%, rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0.27) 0.21cqw, rgba(255, 255, 255, 0) 0.6cqw),
		radial-gradient(circle at 62% 5%, rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0.36) 0.42cqw, rgba(255, 255, 255, 0) 1.2cqw),
		radial-gradient(circle at 76% 3%, rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0.27) 0.24cqw, rgba(255, 255, 255, 0) 0.7cqw),
		radial-gradient(circle at 91% 8%, rgba(255, 255, 255, 0.9) 0, rgba(255, 255, 255, 0.41) 0.52cqw, rgba(255, 255, 255, 0) 1.5cqw),
		radial-gradient(circle at 97% 24%, rgba(255, 255, 255, 0.7) 0, rgba(255, 255, 255, 0.32) 0.32cqw, rgba(255, 255, 255, 0) 0.9cqw),
		radial-gradient(circle at 95% 44%, rgba(255, 255, 255, 0.9) 0, rgba(255, 255, 255, 0.41) 0.59cqw, rgba(255, 255, 255, 0) 1.7cqw),
		radial-gradient(circle at 86% 57%, rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0.36) 0.39cqw, rgba(255, 255, 255, 0) 1.1cqw),
		radial-gradient(circle at 79% 69%, rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0.27) 0.24cqw, rgba(255, 255, 255, 0) 0.7cqw),
		radial-gradient(circle at 70% 64%, rgba(255, 255, 255, 0.85) 0, rgba(255, 255, 255, 0.38) 0.49cqw, rgba(255, 255, 255, 0) 1.4cqw),
		radial-gradient(circle at 57% 72%, rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0.27) 0.21cqw, rgba(255, 255, 255, 0) 0.6cqw),
		radial-gradient(circle at 10% 70%, rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0.36) 0.45cqw, rgba(255, 255, 255, 0) 1.3cqw),
		radial-gradient(circle at 45% 66%, rgba(255, 255, 255, 0.7) 0, rgba(255, 255, 255, 0.32) 0.28cqw, rgba(255, 255, 255, 0) 0.8cqw);
	pointer-events: none;
}

.post_content .hpl-cp > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
}

.post_content .hpl-cp p {
	margin: 0;
}

/* --- キャンペーンバナー（元画像の比率 801:302 で固定） --- */
.post_content .hpl-cp__banner {
	position: relative;
	container-type: inline-size;
	width: 80%;
	aspect-ratio: 801 / 302;
	margin: 0 auto !important;
	overflow: hidden;
}

.post_content .hpl-cp__photo {
	position: absolute;
	inset: 0;
	margin: 0 !important;
}

.post_content .hpl-cp__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 75% 30%;
}

/* 文字の後ろの白いハート */
.post_content .hpl-cp__banner::before {
	content: "";
	position: absolute;
	top: 8%;
	left: 1.5%;
	width: 41%;
	height: 92%;
	z-index: 1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 110'%3E%3Cdefs%3E%3Cfilter id='b' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Cpath filter='url(%23b)' fill='%23fff' fill-opacity='.92' d='M60 102C24 78 8 58 8 36 8 19 21 8 36 8c11 0 19 6 24 15 5-9 13-15 24-15 15 0 28 11 28 28 0 22-16 42-52 66z'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}

.post_content .hpl-cp__banner p {
	position: absolute;
	z-index: 2;
	line-height: 1.2;
	white-space: nowrap;
}

.post_content .hpl-cp__ribbon {
	top: 9%;
	left: .75%;
	padding: .6cqw 3.6cqw .6cqw 3cqw;
	font-size: 2.5cqw;
	font-weight: 500;
	letter-spacing: .08em;
	color: #fff;
	background: linear-gradient(90deg, #f27d9c, #ee6c8f);
	clip-path: polygon(0 0, 100% 0, 95% 50%, 100% 100%, 0 100%);
	transform: rotate(-3deg);
	transform-origin: left center;
}

.post_content .hpl-cp__max {
	top: 26%;
	left: 16.5%;
	padding: 0 5.5cqw;
	font-size: 4.5cqw;
	font-weight: 700;
	letter-spacing: .06em;
	color: #c9203d;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cg stroke='%23d7243f' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 4 14 13M20 2v12M34 7l-7 8'/%3E%3C/g%3E%3C/svg%3E") left center / 4.5cqw auto no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cg stroke='%23d7243f' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 7l7 8M20 2v12M34 4l-8 9'/%3E%3C/g%3E%3C/svg%3E") right center / 4.5cqw auto no-repeat;
}

.post_content .hpl-cp__amount {
	top: 39%;
	left: 8.6%;
	font-size: 7.4cqw;
	font-weight: 900;
	line-height: 1 !important;
	letter-spacing: .02em;
	background: linear-gradient(180deg, #f6e08f 0%, #d8a93a 45%, #a8771f 70%, #e3bd5c 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 .2cqw .2cqw rgba(120, 80, 10, .35));
}

.post_content .hpl-cp__num {
	margin-right: .05em;
	font-size: 1.45em;
	font-style: italic;
	letter-spacing: -.04em;
}

.post_content .hpl-cp__cb {
	top: 70%;
	left: 8.8%;
	font-size: 3.75cqw;
	font-weight: 500;
	letter-spacing: .04em;
	color: #d6304f;
	-webkit-text-stroke: 0;
}

.post_content .hpl-cp__note {
	top: 70%;
	left: 71%;
	transform: translateX(-50%);
	font-size: 2.75cqw;
	font-weight: 700;
	line-height: 1.35 !important;
	letter-spacing: .08em;
	text-align: center;
	color: #fff;
	text-shadow: 0 0 .6cqw #f0567f, 0 0 1.2cqw #f0567f, 0 0 .2cqw #e33b6a;
}

/* --- 赤いボタン（ページ内で共通） --- */
.post_content .hpl-btn-red {
	width: 38%;
	margin: 2.3cqw auto 0 !important;
}

.post_content .hpl-btn-red .swell-block-button__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 6.9cqw;
	padding: 0 0 0 7cqw;
	border-radius: .6cqw;
	border-bottom: .5cqw solid #b88a2e;
	font-size: 2.2cqw;
	font-weight: 700;
	letter-spacing: .12em;
	color: #fff;
	background: linear-gradient(180deg, #e0304b 0%, #cc1f3b 100%);
	box-shadow: 0 .3cqw .8cqw rgba(150, 20, 40, .25);
	transition: filter .2s, transform .2s;
}

.post_content .hpl-btn-red .swell-block-button__link:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.post_content .hpl-btn-red .swell-block-button__link::before {
	content: "";
	position: absolute;
	left: 5.5%;
	bottom: 0;
	width: 24%;
	aspect-ratio: 300 / 290;
	background: url("../img/hpl/bear-wave.png") left bottom / contain no-repeat;
}

/* --- 3つの特長 --- */
.post_content .hpl-feat {
	position: relative;
	width: 79.5%;
	margin: 9.3cqw auto 0 !important;
}

/* 金の帯と、その下の白い背景（ボタンの下〜セクションの下端まで） */
.post_content .hpl-feat::before {
	content: "";
	position: absolute;
	top: -8.8cqw;
	bottom: -4.5cqw;
	left: -12.9%;
	width: 125.8%;
	z-index: -1;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 120' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='w' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fbfbfb'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 22Q500 140 1000 22V120H0Z' fill='url(%23w)'/%3E%3Cpath d='M0 4Q500 122 1000 4' fill='none' stroke='%23fff' stroke-width='2' opacity='.8'/%3E%3Cpath d='M0 12Q500 130 1000 12' fill='none' stroke='url(%23g)' stroke-width='4'/%3E%3Cpath d='M0 22Q500 140 1000 22' fill='none' stroke='url(%23g)' stroke-width='2'/%3E%3C/svg%3E") top center / 100% 9cqw no-repeat,
		linear-gradient(180deg, #fbfbfb 0%, #efefef 100%) 0 8.9cqw / 100% 100% no-repeat;
}

.post_content .hpl-feat > .wp-block-group__inner-container {
	position: relative;
}

.post_content .hpl-feat > .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
}

.post_content .hpl-feat__item {
	width: 30.2%;
	min-height: 21cqw;
	margin: 0 !important;
	padding: 7cqw 1cqw 2cqw;
	border-radius: 1.2cqw;
	text-align: center;
	background:
		var(--hpl-ico) center 2cqw / auto 4.2cqw no-repeat,
		linear-gradient(180deg, #fff 45%, #fdf6e1 100%);
	box-shadow: 0 .4cqw 1cqw rgba(0, 0, 0, .14);
}

.post_content .hpl-feat__item--map { --hpl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23g)'%3E%3Cpath d='M34 2h8v4h-2v4h-6z'/%3E%3Cpath d='M30 12h6v4h-2v4h-2v4h-4v4H18v4h-6v-4h4v-4h6v-4h4v-4h2v-4h2z'/%3E%3Cpath d='M6 30h6v4h-2v4H4v-4h2z'/%3E%3Cpath d='M14 36h4v3h-4z'/%3E%3C/g%3E%3C/svg%3E"); }
.post_content .hpl-feat__item--search { --hpl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='17' cy='17' r='11' fill='none' stroke='url(%23g)' stroke-width='5'/%3E%3Cpath d='M25 25l10 10' stroke='url(%23g)' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E"); }
.post_content .hpl-feat__item--heart { --hpl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M18 30C6 22 1 16 1 9 1 4 5 1 9.5 1 13 1 16 3 18 6c2-3 5-5 8.5-5C31 1 35 4 35 9c0 7-5 13-17 21z'/%3E%3Cpath fill='url(%23g)' d='M38 39c-6-4-9-7-9-11 0-3 2-5 4.5-5 2 0 3.5 1 4.5 2.5 1-1.5 2.5-2.5 4.5-2.5 2.5 0 4.5 2 4.5 5 0 4-3 7-9 11z'/%3E%3C/svg%3E"); }

.post_content .hpl-feat__title {
	display: inline-block;
	padding: 0 .6em .5cqw;
	border-bottom: 1px solid #b9935a;
	font-size: 2.35cqw;
	font-weight: 500;
	line-height: 1.3;
	color: #d02a45;
}

.post_content .hpl-feat__text {
	margin-top: 1.3cqw !important;
	font-size: 1.5cqw;
	font-weight: 700;
	line-height: 1.85;
	letter-spacing: .02em;
}

/* スマホ：現在のSP画像（sp-02.png）に合わせて画面幅いっぱいに表示し、文字は読める大きさを下限にする */
@media (max-width: 599px) {
	.post_content .hpl-cp {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 5.3vw 0 4.5vw;
	}

	.post_content .hpl-cp__banner {
		width: 100%;
	}

	.post_content .hpl-cp__note {
		font-size: max(2.75cqw, 9px);
	}

	.post_content .hpl-btn-red {
		width: 72%;
		margin-top: 4cqw !important;
	}

	.post_content .hpl-btn-red .swell-block-button__link {
		min-height: 11cqw;
		padding-left: 12cqw;
		font-size: max(2.2cqw, 14px);
	}

	.post_content .hpl-feat {
		width: 94%;
		margin-top: 12cqw !important;
	}

	.post_content .hpl-feat::before {
		top: -11.5cqw;
		left: -3.2%;
		width: 106.4%;
		background-size: 100% 10cqw, 100% 100%;
		background-position: top center, 0 9.9cqw;
	}

	.post_content .hpl-feat__item {
		width: 32%;
		padding: 11cqw 1.5cqw 4cqw;
		background-position: center 3cqw, 0 0;
		background-size: auto 6.5cqw, auto;
	}

	.post_content .hpl-feat__title {
		padding: 0 .2em .2em;
		font-size: max(2.35cqw, 12.5px);
	}

	.post_content .hpl-feat__text {
		margin-top: 2cqw !important;
		font-size: max(1.5cqw, 10px);
		line-height: 1.7;
		letter-spacing: 0;
	}
}

/* ==========================================================================
   S03 LINEのCTA（ブログパーツ「TOP用：LINE無料相談CTA」として4か所で共通利用）
   元画像: 03.png（1001 x 309）／ sp-cta.png（744 x 309）
   ========================================================================== */

/* セクション同士は隙間なく並べる */
.post_content .hpl-cp {
	margin-bottom: 0;
}

.post_content .p-blogParts:has(> .hpl-cta) {
	margin: 0;
}

.post_content .hpl-cta {
	position: relative;
	container-type: inline-size;
	margin: 0;
	padding: 5.6% 0 5.6%;
	font-family: var(--hpl-sans);
	text-align: center;
	color: var(--hpl-text);
	background:
		var(--hpl-gold-grad) top / 100% 8px no-repeat,
		var(--hpl-gold-grad) bottom / 100% 8px no-repeat,
		radial-gradient(ellipse at 70% 60%, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, 0) 55%),
		linear-gradient(110deg, #f1dcae 0%, #f9ecce 30%, #fcf3df 55%, #f3e1b6 100%);
}

.post_content .hpl-cta p {
	margin: 0;
}

/* ＼ LINEで気軽にご相談下さい ／ */
.post_content .hpl-cta__lead {
	font-size: 2.4cqw;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .04em;
	color: #23a33a;
}

.post_content .hpl-cta__lead::before,
.post_content .hpl-cta__lead::after {
	display: inline-block;
	font-weight: 400;
	letter-spacing: -.12em;
	transform: scaleY(1.1);
}

.post_content .hpl-cta__lead::before {
	content: "\\\\";
	margin-right: .5em;
}

.post_content .hpl-cta__lead::after {
	content: "//";
	margin-left: .4em;
}

/* 30分の無料カウンセリングはこちら */
.post_content .hpl-cta__catch {
	margin-top: .9cqw !important;
	font-size: 2.6cqw;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .1em;
	color: #333;
}

.post_content .hpl-cta__marker {
	padding: 0 .05em 0 .15em;
	font-size: 1.42em;
	letter-spacing: .14em;
	color: #d32e45;
	background: linear-gradient(transparent 68%, #ffd400 68%, #ffd400 90%, transparent 90%);
}

/* --- 緑のLINEボタン（ページ内で共通） --- */
.post_content .hpl-btn-line {
	width: 38.2%;
	margin: 2.8cqw auto 0 !important;
}

.post_content .hpl-btn-line .swell-block-button__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 7cqw;
	padding: 0 0 0 8cqw;
	border-radius: .4cqw;
	border-bottom: .4cqw solid #a48a4b;
	font-size: 2.2cqw;
	font-weight: 500;
	letter-spacing: .06em;
	color: #fff;
	background: linear-gradient(180deg, #34c632 0%, #1fae1f 100%);
	box-shadow: 0 .3cqw .8cqw rgba(30, 120, 30, .2);
	transition: filter .2s, transform .2s;
}

.post_content .hpl-btn-line .swell-block-button__link:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.post_content .hpl-btn-line .swell-block-button__link::before {
	content: "";
	position: absolute;
	left: 2.6%;
	bottom: 0;
	width: 25%;
	aspect-ratio: 300 / 275;
	background: url("../img/hpl/bear-good.png") left bottom / contain no-repeat;
}

/* スマホ：sp-cta.png（744px幅）の比率に合わせ、画面幅いっぱいに表示 */
@media (max-width: 599px) {
	.post_content .p-blogParts:has(> .hpl-cta) {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	.post_content .hpl-cta {
		padding: 8vw 0;
	}

	.post_content .hpl-cta__lead {
		font-size: max(2.8cqw, 12px);
	}

	.post_content .hpl-cta__catch {
		margin-top: 1.5cqw !important;
		font-size: 3.3cqw;
	}

	.post_content .hpl-btn-line {
		width: 51.5%;
		margin-top: 4cqw !important;
	}

	.post_content .hpl-btn-line .swell-block-button__link {
		min-height: 9.5cqw;
		padding-left: 11cqw;
		font-size: max(3cqw, 13px);
		border-bottom-width: .6cqw;
	}
}

/* ==========================================================================
   S04 こんなお悩みありませんか？
   元画像: 04.png（1001 x 556）／ sp-03.png（850 x 556）
   ※このファイルは tools/gen/s04.py から生成（直接編集しない）
   ========================================================================== */

/* 画面には出さず、検索エンジンと読み上げにだけ伝える見出し */
.post_content .hpl-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0 !important;
}

.post_content .hpl-red {
	color: #d7243f;
}

.post_content .hpl-worry {
	position: relative;
	container-type: inline-size;
	aspect-ratio: 1001 / 556;
	margin: 0;
	overflow: hidden;
	font-family: var(--hpl-sans);
	color: var(--hpl-text);
	background: repeating-linear-gradient(135deg, #e9e9e9 0 .35cqw, #f7f7f7 .35cqw .8cqw);
}

/* 女性の後ろのグレーの形 */
.post_content .hpl-worry::before {
	content: "";
	position: absolute;
	left: 33.5%;
	top: 34.2%;
	width: 36%;
	height: 65.8%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 370' preserveAspectRatio='none'%3E%3Cpath fill='%23cfd5de' fill-opacity='.85' d='M70 38C118 4 196 8 246 28c56 22 104 66 100 140-4 78 12 128-6 202H18C2 300 12 254 16 196 20 128 26 70 70 38Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.post_content .hpl-worry__woman {
	position: absolute;
	left: 34.8%;
	top: 38.7%;
	width: 32.9%;
	margin: 0 !important;
	z-index: 1;
}

.post_content .hpl-worry__woman img {
	display: block;
	width: 100%;
	height: auto;
}

/* 吹き出し */
.post_content .hpl-worry__item {
	position: absolute;
	z-index: 2;
	/* 文字の途中の<span>で行が分かれないよう、ブロックのまま縦中央に寄せる */
	display: block;
	align-content: center;
	margin: 0 !important;
	border: .2cqw solid #555;
	border-radius: 0 1.6cqw 1.6cqw 0;
	font-size: 1.5cqw;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: .06em;
	text-align: center;
	background: #fff;
}

.post_content .hpl-worry__item--2,
.post_content .hpl-worry__item--4,
.post_content .hpl-worry__item--6 {
	border-radius: 1.6cqw 0 0 1.6cqw;
}

.post_content .hpl-worry__item .hpl-red {
	font-size: 1.27em;
	letter-spacing: .04em;
}

/* 角の薄い三角形 */
.post_content .hpl-worry__item::before {
	content: "";
	position: absolute;
	left: var(--deco-left);
	right: var(--deco-right);
	bottom: -.7cqw;
	z-index: -1;
	width: 42%;
	height: 72%;
	background: #dde3ec;
	clip-path: var(--deco-clip);
}

/* 点線のしっぽ */
.post_content .hpl-worry__item::after {
	content: "";
	position: absolute;
	left: var(--tail-left);
	top: var(--tail-top);
	bottom: var(--tail-bottom);
	width: .4cqw;
	height: 4cqw;
	background: repeating-linear-gradient(180deg, #555 0 .4cqw, transparent .4cqw .8cqw);
	transform: rotate(var(--tail-rot));
	transform-origin: var(--tail-origin);
}

.post_content .hpl-worry__item--1 {
	left: 20.2%;
	top: 8.1%;
	width: 24%;
	height: 18.9%;
	--tail-left: 43%;
	--tail-rot: -45deg;
	--tail-top: calc(100% - .4cqw);
	--tail-bottom: auto;
	--tail-origin: center top;
	--deco-left: -.7cqw;
	--deco-right: auto;
	--deco-clip: polygon(0 0, 0 100%, 100% 100%);
}

.post_content .hpl-worry__item--2 {
	left: 56.4%;
	top: 7.2%;
	width: 24%;
	height: 18.9%;
	--tail-left: 52%;
	--tail-rot: 40deg;
	--tail-top: calc(100% - .4cqw);
	--tail-bottom: auto;
	--tail-origin: center top;
	--deco-left: auto;
	--deco-right: -.7cqw;
	--deco-clip: polygon(100% 0, 100% 100%, 0 100%);
}

.post_content .hpl-worry__item--3 {
	left: 9.8%;
	top: 37.2%;
	width: 24%;
	height: 18.9%;
	--tail-left: 44.5%;
	--tail-rot: -45deg;
	--tail-top: calc(100% - .4cqw);
	--tail-bottom: auto;
	--tail-origin: center top;
	--deco-left: -.7cqw;
	--deco-right: auto;
	--deco-clip: polygon(0 0, 0 100%, 100% 100%);
}

.post_content .hpl-worry__item--4 {
	left: 65.4%;
	top: 36%;
	width: 24%;
	height: 18.9%;
	--tail-left: 56%;
	--tail-rot: 40deg;
	--tail-top: calc(100% - .4cqw);
	--tail-bottom: auto;
	--tail-origin: center top;
	--deco-left: auto;
	--deco-right: -.7cqw;
	--deco-clip: polygon(100% 0, 100% 100%, 0 100%);
}

.post_content .hpl-worry__item--5 {
	left: 6.5%;
	top: 71.4%;
	width: 27.5%;
	height: 18.5%;
	--tail-left: 72%;
	--tail-rot: 40deg;
	--tail-top: auto;
	--tail-bottom: calc(100% - .4cqw);
	--tail-origin: center bottom;
	--deco-left: -.7cqw;
	--deco-right: auto;
	--deco-clip: polygon(0 0, 0 100%, 100% 100%);
}

.post_content .hpl-worry__item--6 {
	left: 65.7%;
	top: 70.7%;
	width: 24%;
	height: 18.7%;
	--tail-left: 30%;
	--tail-rot: -40deg;
	--tail-top: auto;
	--tail-bottom: calc(100% - .4cqw);
	--tail-origin: center bottom;
	--deco-left: auto;
	--deco-right: -.7cqw;
	--deco-clip: polygon(100% 0, 100% 100%, 0 100%);
}

/* スマホ：sp-03.png の配置に合わせ、文字は読める大きさを下限にする */
@media (max-width: 599px) {
	.post_content .hpl-worry {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		/* 文字を読める大きさにするため、元のSP画像（850:556）より少し縦長にする */
		aspect-ratio: 850 / 640;
	}

	.post_content .hpl-worry::before {
		left: 34%;
		top: 33%;
		width: 34%;
		height: 67%;
	}

	.post_content .hpl-worry__woman {
		left: 35.5%;
		top: 36%;
		width: 33%;
	}

	.post_content .hpl-worry__item {
		font-size: max(1.8cqw, 9px);
		line-height: 1.55;
		letter-spacing: 0;
	}

	.post_content .hpl-worry__item .hpl-red {
		font-size: 1.15em;
	}

	.post_content .hpl-worry__item::after {
		height: 3.5cqw;
	}

	.post_content .hpl-worry__item--1 {
		left: 17%;
		top: 6%;
		width: 31%;
		height: 17%;
	}

	.post_content .hpl-worry__item--2 {
		left: 58%;
		top: 6%;
		width: 31%;
		height: 17%;
	}

	.post_content .hpl-worry__item--3 {
		left: 3%;
		top: 36%;
		width: 31%;
		height: 17%;
	}

	.post_content .hpl-worry__item--4 {
		left: 66%;
		top: 36%;
		width: 31%;
		height: 17%;
	}

	.post_content .hpl-worry__item--5 {
		left: 1%;
		top: 70%;
		width: 37%;
		height: 17%;
	}

	.post_content .hpl-worry__item--6 {
		left: 66%;
		top: 70%;
		width: 33%;
		height: 17%;
	}
}

/* ==========================================================================
   S05 選ばれる3つの理由（見出し）＋その1
   元画像: reason3-26-01-pc.jpg（1000 x 2193）／ sp版（800 x 1754）
   金枠・メダル・見出し・ピンクの帯は、その2・その3でも共通で使う
   ※このファイルは tools/gen/s05.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-pink {
	color: #ef4f86;
}

/* --- セクション（ピンク地＋ハート） --- */
.post_content .hpl-reasons {
	/* 中身のサイズの基準（1 = 元画像の幅1000pxに対する1%）。スマホで倍率を変えるときはここを上書き */
	--u: 1cqw;
	position: relative;
	container-type: inline-size;
	margin: 0;
	padding: 4% 0 6.8%;
	font-family: var(--hpl-sans);
	color: var(--hpl-text);
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 700'%3E%3Cdefs%3E%3Cfilter id='b' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='9'/%3E%3C/filter%3E%3Cfilter id='s' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='1.6'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(130 280) scale(3.2)' fill='%23fff' fill-opacity='0.5' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(820 330) scale(2.8)' fill='%23fff' fill-opacity='0.45' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(330 170) scale(1.6)' fill='%23fff' fill-opacity='0.35' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(640 160) scale(1.7)' fill='%23fff' fill-opacity='0.35' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(930 110) scale(1.3)' fill='%23fff' fill-opacity='0.35' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(40 600) scale(2.2)' fill='%23fff' fill-opacity='0.35' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(960 620) scale(2.4)' fill='%23fff' fill-opacity='0.35' filter='url(%23b)'/%3E%3Ccircle cx='20' cy='145' r='7' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='75' cy='130' r='9' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='110' cy='190' r='4' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='250' cy='290' r='5' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='320' cy='300' r='3' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='180' cy='350' r='4' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='60' cy='420' r='6' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='640' cy='280' r='6' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='700' cy='320' r='4' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='780' cy='190' r='4' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='860' cy='240' r='7' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='930' cy='200' r='3' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='960' cy='330' r='9' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='590' cy='360' r='3' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='420' cy='330' r='3' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='850' cy='400' r='4' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='150' cy='470' r='3' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='900' cy='470' r='5' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='470' cy='90' r='3' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='560' cy='60' r='4' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3Ccircle cx='690' cy='110' r='3' fill='%23fff' fill-opacity='.9' filter='url(%23s)'/%3E%3C/svg%3E") top center / 100% auto no-repeat,
		linear-gradient(180deg, #f8cdd4 0%, #fbdde2 25%, #f9d5db 60%, #f8d3d9 100%);
}

.post_content .hpl-reasons p,
.post_content .hpl-reasons figure {
	margin: 0;
}

.post_content .hpl-reasons__logo {
	width: calc(var(--u) * 14);
	margin: 0 auto !important;
}

.post_content .hpl-reasons__logo img {
	display: block;
	width: 100%;
}

/* SWELLの見出し装飾を打ち消す */
.post_content .hpl-reasons h2,
.post_content .hpl-reasons h3 {
	padding: 0;
	border: none;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.post_content .hpl-reasons h2::before,
.post_content .hpl-reasons h2::after,
.post_content .hpl-reasons h3::before,
.post_content .hpl-reasons h3::after {
	content: none;
}

.post_content .hpl-reasons__title {
	margin: calc(var(--u) * 2.6) 0 0 !important;
	font-size: calc(var(--u) * 4);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .14em;
	text-align: center;
	color: #fff;
	text-shadow: 0 0 calc(var(--u) * .8) #f06792, 0 0 calc(var(--u) * 1.8) #f48aab, 0 0 calc(var(--u) * .2) #ee5f8c;
}

.post_content .hpl-reasons__num {
	margin: 0 .1em;
	font-size: 1.7em;
	font-weight: 500;
	line-height: 1;
	vertical-align: -.08em;
}

/* --- 金枠（共通） --- */
.post_content .hpl-frame {
	position: relative;
	isolation: isolate;
	width: 87.6%;
	margin: calc(var(--u) * 7.9) auto 0 !important;
	padding: calc(var(--u) * 12) 0 calc(var(--u) * 8);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 876 1775' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fffdf8'/%3E%3Cstop offset='.78' stop-color='%23fffaf0'/%3E%3Cstop offset='.92' stop-color='%23f8ebcb'/%3E%3Cstop offset='1' stop-color='%23ecd39a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M18 32H300C325 32 335 2 360 2H516C541 2 551 32 576 32H858A16 16 0 0 0 874 48V1712A16 16 0 0 0 858 1728H556C500 1728 470 1773 438 1773C406 1773 376 1728 320 1728H18A16 16 0 0 0 2 1712V48A16 16 0 0 0 18 32Z' fill='url(%23f)' stroke='url(%23g)' stroke-width='3' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M28 42H300C325 42 335 12 360 12H516C541 12 551 42 576 42H848A16 16 0 0 0 864 58V1702A16 16 0 0 0 848 1718H556C500 1718 470 1763 438 1763C406 1763 376 1718 320 1718H28A16 16 0 0 0 12 1702V58A16 16 0 0 0 28 42Z' fill='none' stroke='%23d2b064' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	filter: drop-shadow(0 calc(var(--u) * .3) calc(var(--u) * .6) rgba(160, 110, 40, .15));
}

/* --- メダル「その1」（共通） --- */
.post_content .hpl-medal {
	position: absolute;
	top: calc(var(--u) * -6.3);
	left: 50%;
	z-index: 3;
	width: calc(var(--u) * 11.4);
	height: calc(var(--u) * 14);
	padding-top: calc(var(--u) * 2.4);
	transform: translateX(-50%);
	font-size: calc(var(--u) * 4.2);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #fff;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 114 140'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='p' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23f8789f'/%3E%3Cstop offset='1' stop-color='%23e0407a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M38 84 56 98 44 139 35 127 22 134Z' fill='url(%23g)'/%3E%3Cpath d='M76 84 58 98 70 139 79 127 92 134Z' fill='url(%23g)'/%3E%3Cpath d='M57.00 5.00A6.4 6.4 0 0 1 68.73 6.42A6.4 6.4 0 0 1 79.77 10.61A6.4 6.4 0 0 1 89.49 17.32A6.4 6.4 0 0 1 97.33 26.16A6.4 6.4 0 0 1 102.82 36.62A6.4 6.4 0 0 1 105.64 48.09A6.4 6.4 0 0 1 105.64 59.91A6.4 6.4 0 0 1 102.82 71.38A6.4 6.4 0 0 1 97.33 81.84A6.4 6.4 0 0 1 89.49 90.68A6.4 6.4 0 0 1 79.77 97.39A6.4 6.4 0 0 1 68.73 101.58A6.4 6.4 0 0 1 57.00 103.00A6.4 6.4 0 0 1 45.27 101.58A6.4 6.4 0 0 1 34.23 97.39A6.4 6.4 0 0 1 24.51 90.68A6.4 6.4 0 0 1 16.67 81.84A6.4 6.4 0 0 1 11.18 71.38A6.4 6.4 0 0 1 8.36 59.91A6.4 6.4 0 0 1 8.36 48.09A6.4 6.4 0 0 1 11.18 36.62A6.4 6.4 0 0 1 16.67 26.16A6.4 6.4 0 0 1 24.51 17.32A6.4 6.4 0 0 1 34.23 10.61A6.4 6.4 0 0 1 45.27 6.42A6.4 6.4 0 0 1 57.00 5.00Z' fill='url(%23p)' stroke='%23cf3468' stroke-width='1.2'/%3E%3Ccircle cx='57' cy='54' r='43' fill='none' stroke='%23fff' stroke-opacity='.35' stroke-width='1'/%3E%3C/svg%3E") center top / 100% auto no-repeat;
}

.post_content .hpl-medal__sub {
	display: block;
	margin-bottom: calc(var(--u) * .3);
	font-size: calc(var(--u) * 1.8);
	letter-spacing: .1em;
}

/* --- 見出し（金の下線＋くま）（共通） --- */
.post_content .hpl-reasons .hpl-rhead {
	width: calc(var(--u) * 60.5);
	margin: 0 0 0 16.3% !important;
	padding: 0 calc(var(--u) * 7) calc(var(--u) * 1.6) 0 !important;
	font-size: calc(var(--u) * 3);
	font-weight: 700;
	line-height: 1;
	letter-spacing: .04em;
	text-align: center;
	color: #333;
	background: linear-gradient(90deg, #8d6a2c, #d9b968 30%, #f3e1a6 50%, #c9a24f 75%, #8d6a2c) left bottom / 97% calc(var(--u) * .55) no-repeat !important;
}

/* くま：見出しの高さより大きいので、はみ出して表示できる疑似要素で描く */
.post_content .hpl-reasons .hpl-rhead {
	position: relative;
}

.post_content .hpl-reasons .hpl-rhead::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: calc(var(--u) * .4);
	width: calc(var(--u) * 12);
	aspect-ratio: 300 / 231;
	background: url("../img/hpl/bear-gut.png") center / contain no-repeat;
}

.post_content .hpl-rhead__em {
	font-size: 1.47em;
	color: #ef4f86;
}

/* --- ピンクの帯（共通） --- */
.post_content .hpl-band {
	position: relative;
	width: calc(var(--u) * 57.3);
	margin: calc(var(--u) * 3.9) auto 0 !important;
	padding: calc(var(--u) * 1.25) 0;
	border: calc(var(--u) * .15) solid #d6b26a;
	font-size: calc(var(--u) * 3);
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	color: #fff;
	background: #f15b8e;
}

.post_content .hpl-rhead + .hpl-band {
	margin-top: calc(var(--u) * 3.8) !important;
}

/* 斜線の影 */
.post_content .hpl-band::after {
	content: "";
	position: absolute;
	inset: calc(var(--u) * .9) calc(var(--u) * -1) calc(var(--u) * -1) calc(var(--u) * .9);
	z-index: -1;
	background: repeating-linear-gradient(135deg, #d4d4d4 0 calc(var(--u) * .3), #fff calc(var(--u) * .3) calc(var(--u) * .6));
}

.post_content .hpl-band__note {
	position: absolute;
	right: calc(var(--u) * .8);
	bottom: calc(var(--u) * .25);
	font-size: max(calc(var(--u) * .9), 7px);
	font-weight: 500;
	line-height: 1;
}

/* --- 理由1：2人の写真とボックス --- */
.post_content .hpl-r1pts {
	width: calc(var(--u) * 70.7);
	margin: calc(var(--u) * 3.3) auto 0 !important;
}

.post_content .hpl-r1pts > .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.post_content .hpl-r1pt {
	position: relative;
	width: calc(var(--u) * 32.8);
	margin: 0 !important;
	padding-top: calc(var(--u) * 30.6);
}

/* 写真の後ろのピンクの光 */
.post_content .hpl-r1pt::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(var(--u) * -2);
	width: calc(var(--u) * 37);
	height: calc(var(--u) * 32);
	background:
		radial-gradient(ellipse 45% 45% at 55% 50%, rgba(246, 150, 180, .55) 0%, rgba(250, 190, 210, .35) 45%, rgba(255, 255, 255, 0) 75%),
		radial-gradient(circle at 25% 40%, rgba(255, 255, 255, .9) 0, rgba(255, 255, 255, 0) calc(var(--u) * 1.5)),
		radial-gradient(circle at 80% 60%, rgba(255, 255, 255, .9) 0, rgba(255, 255, 255, 0) calc(var(--u) * 1.8));
}

/* 落書き（ハート・きらきら） */
.post_content .hpl-r1pt::after {
	content: "";
	position: absolute;
	z-index: 2;
	width: calc(var(--u) * 4.6);
	aspect-ratio: 50 / 46;
	background: center / contain no-repeat;
}

.post_content .hpl-r1pt--1::after {
	top: calc(var(--u) * -.6);
	left: calc(var(--u) * 14.5);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 46'%3E%3Cg fill='%23ffd84d' stroke='%23333' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M14 38C4 31 1 25 2 19c1-5 6-7 10-4 2-4 8-5 10 0 2 7-3 14-8 23z'/%3E%3Cpath d='M36 22c-6-4-8-8-7-12 1-3 4-4 6-2 1-3 5-3 6 0 1 5-2 9-5 14z'/%3E%3C/g%3E%3C/svg%3E");
}

.post_content .hpl-r1pt--2::after {
	top: calc(var(--u) * -.4);
	left: calc(var(--u) * 14.6);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 46'%3E%3Cg fill='%23ffd84d' stroke='%23333' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M14 2 17 15 28 18 17 21 14 34 11 21 0 18 11 15Z'/%3E%3Cpath d='M38 22 40 30 47 32 40 34 38 42 36 34 29 32 36 30Z'/%3E%3C/g%3E%3C/svg%3E");
}

.post_content .hpl-r1pt__photo {
	position: absolute;
}

.post_content .hpl-r1pt__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.post_content .hpl-r1pt--1 .hpl-r1pt__photo {
	top: calc(var(--u) * 5.3);
	left: calc(var(--u) * 8.9);
	width: calc(var(--u) * 24.3);
	clip-path: inset(0 8% 0 0);
}

.post_content .hpl-r1pt--2 .hpl-r1pt__photo {
	top: calc(var(--u) * 4.2);
	left: calc(var(--u) * -.4);
	width: calc(var(--u) * 27);
}

/* 丸い吹き出し */
.post_content .hpl-r1pt__bubble {
	position: absolute;
	top: calc(var(--u) * 3.2);
	width: calc(var(--u) * 15.5);
	aspect-ratio: 1;
	align-content: center;
	border: calc(var(--u) * .15) solid #444;
	border-radius: 50%;
	font-size: calc(var(--u) * 1.75);
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: #333;
}

.post_content .hpl-r1pt--1 .hpl-r1pt__bubble {
	left: calc(var(--u) * -2);
	background: #f8cfd8;
	box-shadow: calc(var(--u) * -.9) calc(var(--u) * .5) 0 calc(var(--u) * .3) rgba(247, 190, 205, .8);
}

.post_content .hpl-r1pt--2 .hpl-r1pt__bubble {
	left: calc(var(--u) * 20.3);
	background: #fdf0f3;
	box-shadow: calc(var(--u) * .9) calc(var(--u) * .5) 0 calc(var(--u) * .3) rgba(247, 190, 205, .8);
}

/* 吹き出しのしっぽ */
.post_content .hpl-r1pt__bubble::after {
	content: "";
	position: absolute;
	bottom: calc(var(--u) * .7);
	width: calc(var(--u) * 1.8);
	height: calc(var(--u) * 1.8);
	border: calc(var(--u) * .15) solid #444;
	border-top: none;
	background: inherit;
}

.post_content .hpl-r1pt--1 .hpl-r1pt__bubble::after {
	right: calc(var(--u) * 1.4);
	border-left: none;
	border-radius: 0 0 calc(var(--u) * .8) 0;
	transform: rotate(-12deg);
}

.post_content .hpl-r1pt--2 .hpl-r1pt__bubble::after {
	left: calc(var(--u) * 1.4);
	border-right: none;
	border-radius: 0 0 0 calc(var(--u) * .8);
	transform: rotate(12deg);
}

.post_content .hpl-r1pt__no1 {
	display: inline-block;
	padding: 0 .25em;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: .04em;
	color: #ef4f86;
	background: #fff;
}

/* 白いボックス（重なり順はHTMLの順番＝写真→吹き出し→ボックス。z-indexを付けると影が上に出るので付けない） */
.post_content .hpl-r1pt__box {
	position: relative;
	border: 1px solid #333;
	background: linear-gradient(180deg, #fff9d4 0 calc(var(--u) * 13.6), #fff calc(var(--u) * 13.6));
}

.post_content .hpl-r1pt__box::after {
	content: "";
	position: absolute;
	inset: calc(var(--u) * 1.4) calc(var(--u) * -1.5) calc(var(--u) * -1.5) calc(var(--u) * 1.4);
	z-index: -1;
	background: repeating-linear-gradient(135deg, #d4d4d4 0 calc(var(--u) * .3), #fff calc(var(--u) * .3) calc(var(--u) * .6));
}

.post_content .hpl-r1pt__title {
	height: calc(var(--u) * 13.6);
	margin: 0 calc(var(--u) * 2.4) !important;
	align-content: center;
	border-bottom: 1px solid #333;
	font-size: calc(var(--u) * 3);
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .06em;
	text-align: center;
}

.post_content .hpl-r1pt__text {
	padding: calc(var(--u) * 1.9) calc(var(--u) * .8) calc(var(--u) * 2.4);
	font-size: calc(var(--u) * 1.7);
	font-weight: 500;
	line-height: 1.76;
	letter-spacing: .04em;
	text-align: center;
}

/* 注記 */
.post_content .hpl-r1note {
	width: calc(var(--u) * 70.7);
	margin: calc(var(--u) * 2.4) auto 0 !important;
	padding-left: calc(var(--u) * 1.2);
	font-size: max(calc(var(--u) * 1.1), 8px);
	font-weight: 500;
	line-height: 1.82;
	color: #444;
}

/* --- 小見出し（王冠＋斜線）（共通） --- */
.post_content .hpl-subhead {
	margin-top: calc(var(--u) * 4) !important;
	padding-top: calc(var(--u) * 5.4);
	font-size: calc(var(--u) * 2.6);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
	text-align: center;
	color: #e6334f;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 46'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23g)'%3E%3Cpath d='M6 14 18 26 30 8 42 26 54 14 50 38H10Z'/%3E%3Crect x='10' y='40' width='40' height='5' rx='1'/%3E%3Ccircle cx='6' cy='11' r='4'/%3E%3Ccircle cx='30' cy='5' r='4.5'/%3E%3Ccircle cx='54' cy='11' r='4'/%3E%3C/g%3E%3C/svg%3E") center top / calc(var(--u) * 4.8) auto no-repeat;
}

.post_content .hpl-subhead::before,
.post_content .hpl-subhead::after {
	display: inline-block;
	font-weight: 400;
	letter-spacing: -.1em;
}

.post_content .hpl-subhead::before {
	content: "\\\\";
	margin-right: .6em;
}

.post_content .hpl-subhead::after {
	content: "//";
	margin-left: .4em;
}

/* --- 会員データのカード --- */
.post_content .hpl-stats {
	width: calc(var(--u) * 72.7);
	margin: calc(var(--u) * 2.2) auto 0 !important;
}

.post_content .hpl-stats > .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
}

.post_content .hpl-stat {
	width: calc(var(--u) * 33.6);
	min-height: calc(var(--u) * 38.5);
	margin: 0 !important;
	padding: calc(var(--u) * 2) 0;
	border-radius: calc(var(--u) * 1.4);
	overflow: hidden;
	background:
		linear-gradient(90deg, #e5577a, #f5a5b4 50%, #e5577a) left top / 100% calc(var(--u) * 2) no-repeat,
		linear-gradient(90deg, #e5577a, #f5a5b4 50%, #e5577a) left bottom / 100% calc(var(--u) * 2) no-repeat,
		#fff;
	box-shadow: 0 calc(var(--u) * .3) calc(var(--u) * .8) rgba(200, 120, 140, .18);
}

.post_content .hpl-stat > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: calc(var(--u) * 34.5);
}

.post_content .hpl-stat__head {
	padding: calc(var(--u) * 1.6) 0 calc(var(--u) * 1.6) calc(var(--u) * 6.5);
	font-size: calc(var(--u) * 1.8);
	font-weight: 500;
	line-height: 1.45;
	text-align: center;
	background: url("../img/hpl/bear-memo.png") calc(var(--u) * 1.6) bottom / calc(var(--u) * 7) auto no-repeat, #fad6dc;
}

.post_content .hpl-stat__head .hpl-red {
	font-size: 1.3em;
	font-weight: 700;
	letter-spacing: .04em;
}

.post_content .hpl-stat__chart {
	flex: 1;
	display: block;
	align-content: center;
	padding: calc(var(--u) * 1) calc(var(--u) * 1.2);
}

.post_content .hpl-stat__chart img {
	display: block;
	width: 100%;
	height: auto;
}

/* スマホ：画面幅いっぱいに表示し、小さすぎる文字だけ下限を設ける */
@media (max-width: 599px) {
	.post_content .hpl-reasons {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 6vw 0 8vw;
	}

	.post_content .hpl-medal__sub {
		font-size: max(calc(var(--u) * 1.8), 9px);
	}

	.post_content .hpl-r1pt__bubble {
		font-size: max(calc(var(--u) * 1.75), 8.5px);
		line-height: 1.45;
	}

	.post_content .hpl-r1pt__title {
		font-size: max(calc(var(--u) * 3), 12px);
	}

	.post_content .hpl-r1pt__text {
		padding-left: calc(var(--u) * .4);
		padding-right: calc(var(--u) * .4);
		font-size: max(calc(var(--u) * 1.7), 9px);
		line-height: 1.65;
		letter-spacing: -.02em;
	}

	/* 帯の注記は本文と重なるので、本文の下に右寄せで置く */
	.post_content .hpl-band__note {
		position: static;
		display: block;
		margin-top: .3em;
		padding-right: calc(var(--u) * 1.5);
		text-align: right;
	}

	.post_content .hpl-stat__head {
		font-size: max(calc(var(--u) * 1.8), 9px);
		padding-left: calc(var(--u) * 7.5);
	}
}

/* ==========================================================================
   S06 選ばれる理由・その2（オンラインでお見合いまで可能）
   元画像: 06.png（1001 x 2544）／ sp-05.png（738 x 2544）
   ※このファイルは tools/gen/s06.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-reasons--2 {
	padding: 5.5% 0 2.9%;
	overflow: hidden;
	background: repeating-linear-gradient(45deg, #f7c4ce 0 calc(var(--u) * 2.8), #fad3db calc(var(--u) * 2.8) calc(var(--u) * 5.6));
}

.post_content .hpl-frame--r2 {
	margin-top: 0 !important;
	padding: calc(var(--u) * 14.2) 0 calc(var(--u) * 9.2);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 876 2460' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fffdf8'/%3E%3Cstop offset='.78' stop-color='%23fffaf0'/%3E%3Cstop offset='.92' stop-color='%23f8ebcb'/%3E%3Cstop offset='1' stop-color='%23ecd39a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M18 32H300C325 32 335 2 360 2H516C541 2 551 32 576 32H858A16 16 0 0 0 874 48V2397A16 16 0 0 0 858 2413H556C500 2413 470 2458 438 2458C406 2458 376 2413 320 2413H18A16 16 0 0 0 2 2397V48A16 16 0 0 0 18 32Z' fill='url(%23f)' stroke='url(%23g)' stroke-width='3' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M28 42H300C325 42 335 12 360 12H516C541 12 551 42 576 42H848A16 16 0 0 0 864 58V2387A16 16 0 0 0 848 2403H556C500 2403 470 2448 438 2448C406 2448 376 2403 320 2403H28A16 16 0 0 0 12 2387V58A16 16 0 0 0 28 42Z' fill='none' stroke='%23d2b064' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

.post_content .hpl-frame--r2 .hpl-medal {
	top: calc(var(--u) * -5);
}

/* 横に長い見出し（その2・その3） */
.post_content .hpl-reasons .hpl-rhead--wide {
	width: calc(var(--u) * 70);
	margin-left: 10% !important;
	padding-right: calc(var(--u) * 11.5) !important;
	background-size: 100% calc(var(--u) * .55) !important;
}

.post_content .hpl-reasons .hpl-rhead--wide::after {
	right: calc(var(--u) * -1.5);
}

.post_content .hpl-frame--r2 .hpl-rhead + .hpl-band {
	margin-top: calc(var(--u) * 4.3) !important;
}

/* --- ステップ（文字と写真が左右交互） --- */
.post_content .hpl-step {
	width: calc(var(--u) * 66);
	margin: calc(var(--u) * 4.6) 0 0 10.8% !important;
}

.post_content .hpl-step > .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.post_content .hpl-step--text-right > .wp-block-group__inner-container {
	flex-direction: row-reverse;
}

.post_content .hpl-step__text {
	width: calc(var(--u) * 25.3);
	margin: 0 !important;
}

/* 旗と番号 */
.post_content .hpl-step__no {
	width: calc(var(--u) * 8);
	height: calc(var(--u) * 9.5);
	margin-left: calc(var(--u) * 5.3) !important;
	padding: calc(var(--u) * 2.4) 0 0 calc(var(--u) * .9);
	font-size: calc(var(--u) * 2);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-indent: calc(var(--u) * -.6);
	color: #fff;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 95'%3E%3Cpath d='M4 7V95' stroke='%23555' stroke-width='2'/%3E%3Ccircle cx='4' cy='4.5' r='3.2' fill='%23fff' stroke='%23555' stroke-width='1.6'/%3E%3Cpath d='M9 13H74L66 33 74 53H9Z' fill='%23f47a97' stroke='%23555' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") left top / 100% 100% no-repeat;
}

/* 英字（Download など） */
.post_content .hpl-step__en {
	margin: calc(var(--u) * -3.3) 0 0 calc(var(--u) * 6.6) !important;
	font-family: "Dancing Script", cursive;
	font-size: calc(var(--u) * 2.9);
	line-height: 1.05;
	letter-spacing: .04em;
	color: #9a9a9a;
	transform: rotate(-4deg);
	transform-origin: left bottom;
}

.post_content .hpl-step__en2 {
	display: inline-block;
	margin-left: calc(var(--u) * 7.5);
}

/* 本文（上下に点線） */
.post_content .hpl-step__body {
	margin-top: calc(var(--u) * .8) !important;
	padding: calc(var(--u) * 2.2) 0 calc(var(--u) * 2.1);
	font-size: calc(var(--u) * 2.6);
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .04em;
	text-align: center;
	color: #444;
	background:
		radial-gradient(circle, #f3a8bd 42%, transparent 46%) left top / calc(var(--u) * .9) calc(var(--u) * .4) repeat-x,
		radial-gradient(circle, #f3a8bd 42%, transparent 46%) left bottom / calc(var(--u) * .9) calc(var(--u) * .4) repeat-x;
}

.post_content .hpl-step__small {
	display: inline-block;
	margin-top: .3em;
	font-size: .52em;
	line-height: 1.5;
	letter-spacing: .02em;
	color: #333;
}

/* 写真（右上にピンクの板、左下に斜線の影） */
.post_content .hpl-step__media {
	position: relative;
	width: calc(var(--u) * 32.2);
	margin: calc(var(--u) * 2.8) 0 0 !important;
}

.post_content .hpl-step__photo {
	position: relative;
	margin: 0 !important;
}

.post_content .hpl-step__photo::before,
.post_content .hpl-step__photo::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	border-radius: calc(var(--u) * 1.6);
}

.post_content .hpl-step__photo::before {
	top: calc(var(--u) * -1.3);
	right: calc(var(--u) * -1.3);
	background: #f9d2da;
}

.post_content .hpl-step__photo::after {
	left: calc(var(--u) * -1.1);
	bottom: calc(var(--u) * -1.1);
	background: repeating-linear-gradient(135deg, #cfcfcf 0 calc(var(--u) * .3), #fff calc(var(--u) * .3) calc(var(--u) * .6));
}

.post_content .hpl-step__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 322 / 207;
	object-fit: cover;
	border-radius: calc(var(--u) * 1.6);
}

/* 写真の上の吹き出し */
.post_content .hpl-step__balloon {
	position: absolute;
	top: calc(var(--u) * 1.3);
	left: calc(var(--u) * 2.8);
	width: calc(var(--u) * 10.4);
	height: calc(var(--u) * 6.6);
	align-content: center;
	border: calc(var(--u) * .15) solid #444;
	border-radius: 50%;
	font-size: calc(var(--u) * 1.3);
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	color: #333;
	background: #fff;
	transform: rotate(-8deg);
}

.post_content .hpl-step__balloon::after {
	content: "";
	position: absolute;
	right: calc(var(--u) * 1.2);
	bottom: calc(var(--u) * -1);
	width: calc(var(--u) * 1.6);
	height: calc(var(--u) * 1.6);
	border-right: calc(var(--u) * .15) solid #444;
	border-bottom: calc(var(--u) * .15) solid #444;
	background: #fff;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
	transform: skewX(-20deg);
}

/* --- 「ここまで オンラインのみでOK」の帯 --- */
.post_content .hpl-okband {
	position: relative;
	width: calc(var(--u) * 70);
	height: calc(var(--u) * 11.7);
	margin: calc(var(--u) * 7.2) 0 0 10% !important;
	border-radius: calc(var(--u) * 2);
	background:
		linear-gradient(90deg, #ec6189, #f6a5b9 50%, #ec6189) left top / 100% calc(var(--u) * 1.9) no-repeat,
		linear-gradient(90deg, #ec6189, #f6a5b9 50%, #ec6189) left bottom / 100% calc(var(--u) * 1.9) no-repeat,
		#fff9d9;
}

.post_content .hpl-okband::before {
	content: "";
	position: absolute;
	left: calc(var(--u) * 3.5);
	bottom: calc(var(--u) * .2);
	width: calc(var(--u) * 11.5);
	aspect-ratio: 300 / 198;
	background: url("../img/hpl/bear-hearts.png") center / contain no-repeat;
}

.post_content .hpl-okband__label {
	position: absolute;
	top: calc(var(--u) * -2.7);
	left: 50%;
	width: calc(var(--u) * 17);
	height: calc(var(--u) * 5);
	transform: translateX(-50%);
	border-radius: calc(var(--u) * 2.5);
	font-size: calc(var(--u) * 2.5);
	font-weight: 700;
	line-height: calc(var(--u) * 5);
	letter-spacing: .35em;
	text-indent: .35em;
	text-align: center;
	color: #fff;
	background: #ef4f86;
}

.post_content .hpl-okband__text {
	padding-left: calc(var(--u) * 7.2);
	font-size: calc(var(--u) * 4.5);
	font-weight: 900;
	line-height: calc(var(--u) * 11.7);
	letter-spacing: .1em;
	text-align: center;
	color: #ef4f86;
}

/* ステップ同士の間隔は元画像で一定ではないので、個別に合わせる */
.post_content .hpl-step--1 { margin-top: calc(var(--u) * 5.9) !important; }
.post_content .hpl-step--2 { margin-top: calc(var(--u) * 6.8) !important; }
.post_content .hpl-step--3 { margin-top: calc(var(--u) * 1.8) !important; }
.post_content .hpl-step--4 { margin-top: calc(var(--u) * 1.7) !important; }
.post_content .hpl-step--5 { margin-top: calc(var(--u) * 4.3) !important; }
.post_content .hpl-step--6 { margin-top: calc(var(--u) * 6) !important; }

/* スマホ：sp-05.png に合わせて中身を約1.36倍にし、金枠は画面の左右いっぱいに広げる */
@media (max-width: 599px) {
	.post_content .hpl-reasons--2 {
		--u: 1.36cqw;
		padding: 2vw 0 3vw;
	}

	.post_content .hpl-frame--r2 {
		width: 106%;
		margin-left: -3% !important;
		padding-top: calc(var(--u) * 12);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 876 2656.8' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fffdf8'/%3E%3Cstop offset='.78' stop-color='%23fffaf0'/%3E%3Cstop offset='.92' stop-color='%23f8ebcb'/%3E%3Cstop offset='1' stop-color='%23ecd39a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M18 32H300C325 32 335 2 360 2H516C541 2 551 32 576 32H858A16 16 0 0 0 874 48V2593.8A16 16 0 0 0 858 2609.8H556C500 2609.8 470 2654.8 438 2654.8C406 2654.8 376 2609.8 320 2609.8H18A16 16 0 0 0 2 2593.8V48A16 16 0 0 0 18 32Z' fill='url(%23f)' stroke='url(%23g)' stroke-width='3' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M28 42H300C325 42 335 12 360 12H516C541 12 551 42 576 42H848A16 16 0 0 0 864 58V2583.8A16 16 0 0 0 848 2599.8H556C500 2599.8 470 2644.8 438 2644.8C406 2644.8 376 2599.8 320 2599.8H28A16 16 0 0 0 12 2583.8V58A16 16 0 0 0 28 42Z' fill='none' stroke='%23d2b064' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
	}

	.post_content .hpl-frame--r2 .hpl-medal {
		top: calc(var(--u) * -2.2);
	}

	.post_content .hpl-reasons .hpl-rhead--wide,
	.post_content .hpl-frame--r2 .hpl-step,
	.post_content .hpl-frame--r2 .hpl-okband {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.post_content .hpl-reasons .hpl-rhead--wide::after {
		right: calc(var(--u) * -.5);
	}

	.post_content .hpl-step__small {
		font-size: max(.52em, 9px);
	}

	.post_content .hpl-step__balloon {
		top: calc(var(--u) * .6);
		left: calc(var(--u) * 1.6);
		width: calc(var(--u) * 13.5);
		height: calc(var(--u) * 8);
		font-size: max(calc(var(--u) * 1.3), 8px);
		line-height: 1.3;
	}
}

/* ==========================================================================
   S07 選ばれる理由・その3（1年以内の結婚）
   元画像: 07.png（1001 x 1312）／ sp-06.png（637 x 1312）
   ※このファイルは tools/gen/s07.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-reasons--3 {
	padding: 6% 0 8%;
	overflow: hidden;
	background: #f7d0d6;
}

.post_content .hpl-frame--r3 {
	margin-top: 0 !important;
	padding: calc(var(--u) * 14) 0 calc(var(--u) * 4.9);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 876 1172' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fffdf8'/%3E%3Cstop offset='.78' stop-color='%23fffaf0'/%3E%3Cstop offset='.92' stop-color='%23f8ebcb'/%3E%3Cstop offset='1' stop-color='%23ecd39a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M18 32H300C325 32 335 2 360 2H516C541 2 551 32 576 32H858A16 16 0 0 0 874 48V1109A16 16 0 0 0 858 1125H556C500 1125 470 1170 438 1170C406 1170 376 1125 320 1125H18A16 16 0 0 0 2 1109V48A16 16 0 0 0 18 32Z' fill='url(%23f)' stroke='url(%23g)' stroke-width='3' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M28 42H300C325 42 335 12 360 12H516C541 12 551 42 576 42H848A16 16 0 0 0 864 58V1099A16 16 0 0 0 848 1115H556C500 1115 470 1160 438 1160C406 1160 376 1115 320 1115H28A16 16 0 0 0 12 1099V58A16 16 0 0 0 28 42Z' fill='none' stroke='%23d2b064' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

.post_content .hpl-frame--r3 .hpl-medal {
	top: calc(var(--u) * -4.2);
}

/* 見出し：くまは文字のすぐ右 */
.post_content .hpl-reasons .hpl-rhead--r3 {
	padding-right: calc(var(--u) * 9.2) !important;
}

.post_content .hpl-reasons .hpl-rhead--r3::after {
	right: calc(var(--u) * 6.5);
}

.post_content .hpl-frame--r3 .hpl-rhead + .hpl-band {
	margin-top: calc(var(--u) * 4.3) !important;
}

.post_content .hpl-frame--r3 .hpl-subhead {
	margin-top: calc(var(--u) * 3.3) !important;
	padding-top: calc(var(--u) * 5.5);
}

/* --- グレーのパネル（上下にピンクの帯） --- */
.post_content .hpl-rulepanel {
	position: relative;
	width: calc(var(--u) * 69.8);
	margin: calc(var(--u) * 1.2) auto 0 !important;
	padding: calc(var(--u) * 4.3) 0 calc(var(--u) * 7.6);
	border-radius: calc(var(--u) * 2);
	overflow: hidden;
	background:
		linear-gradient(90deg, #e9648a, #f8aab4 50%, #e9648a) left top / 100% calc(var(--u) * 1.8) no-repeat,
		linear-gradient(90deg, #e9648a, #f8aab4 50%, #e9648a) left bottom / 100% calc(var(--u) * 1.8) no-repeat,
		#f2f2f2;
}

.post_content .hpl-rulepanel__lead {
	font-size: calc(var(--u) * 2.9);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: .06em;
	text-align: center;
	color: #444;
}

.post_content .hpl-rulepanel .hpl-red {
	color: #e6334f;
}

/* ルールカード（幅は元画像のとおり1枚ずつ違う） */
.post_content .hpl-rules {
	width: calc(var(--u) * 59.3);
	margin: calc(var(--u) * 2.8) 0 0 calc(var(--u) * 6) !important;
}

.post_content .hpl-rules > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	gap: calc(var(--u) * 4.5) calc(var(--u) * 4.4);
}

.post_content .hpl-rule {
	position: relative;
	margin: 0 !important;
	padding: calc(var(--u) * .7) calc(var(--u) * 1) calc(var(--u) * .7) calc(var(--u) * 5);
	border: calc(var(--u) * .2) solid #444;
	font-size: calc(var(--u) * 1.75);
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: .04em;
	text-align: center;
	color: #444;
	background:
		linear-gradient(135deg, #fcd3de 50%, transparent 50%) left top / calc(var(--u) * 4.6) calc(var(--u) * 4.6) no-repeat,
		#fff;
	box-shadow: calc(var(--u) * .8) calc(var(--u) * .8) 0 #f6b9ca;
}

.post_content .hpl-rule--1 { width: calc(var(--u) * 24); }
.post_content .hpl-rule--2 { width: calc(var(--u) * 30.8); }
.post_content .hpl-rule--3 { width: calc(var(--u) * 28.5); }
.post_content .hpl-rule--4 { width: calc(var(--u) * 26); }
.post_content .hpl-rule--5 { width: calc(var(--u) * 26); margin-left: calc(var(--u) * 17.5) !important; }

.post_content .hpl-rule__no {
	position: absolute;
	top: calc(var(--u) * -1.4);
	left: calc(var(--u) * 1.5);
	font-size: calc(var(--u) * 5.4);
	font-weight: 900;
	line-height: 1;
	color: #444;
	transform: scaleX(.7);
	transform-origin: left top;
}

/* 下の男女 */
.post_content .hpl-rulepanel__man,
.post_content .hpl-rulepanel__woman {
	position: absolute;
	margin: 0 !important;
}

.post_content .hpl-rulepanel__man img,
.post_content .hpl-rulepanel__woman img {
	display: block;
	width: 100%;
	height: auto;
}

.post_content .hpl-rulepanel__man {
	left: calc(var(--u) * 3);
	bottom: calc(var(--u) * 1.8);
	width: calc(var(--u) * 18.5);
}

.post_content .hpl-rulepanel__woman {
	left: calc(var(--u) * 54.5);
	bottom: calc(var(--u) * 1.1);
	width: calc(var(--u) * 12);
}

/* スマホ：sp-06.png に合わせて中身を約1.4倍にし、金枠は画面の左右いっぱいに広げる */
@media (max-width: 599px) {
	.post_content .hpl-reasons--3 {
		--u: 1.4cqw;
		padding: 2vw 0 5vw;
	}

	.post_content .hpl-frame--r3 {
		width: 106%;
		margin-left: -3% !important;
		padding-top: calc(var(--u) * 12);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 876 1289.2' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fffdf8'/%3E%3Cstop offset='.78' stop-color='%23fffaf0'/%3E%3Cstop offset='.92' stop-color='%23f8ebcb'/%3E%3Cstop offset='1' stop-color='%23ecd39a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M18 32H300C325 32 335 2 360 2H516C541 2 551 32 576 32H858A16 16 0 0 0 874 48V1226.2A16 16 0 0 0 858 1242.2H556C500 1242.2 470 1287.2 438 1287.2C406 1287.2 376 1242.2 320 1242.2H18A16 16 0 0 0 2 1226.2V48A16 16 0 0 0 18 32Z' fill='url(%23f)' stroke='url(%23g)' stroke-width='3' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M28 42H300C325 42 335 12 360 12H516C541 12 551 42 576 42H848A16 16 0 0 0 864 58V1216.2A16 16 0 0 0 848 1232.2H556C500 1232.2 470 1277.2 438 1277.2C406 1277.2 376 1232.2 320 1232.2H28A16 16 0 0 0 12 1216.2V58A16 16 0 0 0 28 42Z' fill='none' stroke='%23d2b064' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
	}

	.post_content .hpl-frame--r3 .hpl-medal {
		top: calc(var(--u) * -2.2);
	}

	.post_content .hpl-reasons .hpl-rhead--r3 {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.post_content .hpl-rule {
		letter-spacing: 0;
	}
}

/* ==========================================================================
   S08 専用アプリ（元からブロックで作られていた部分。見た目はそのままに整理）
   ========================================================================== */

.post_content .hpl-app {
	container-type: inline-size;
	margin: 0;
	padding: 7% 0 8%;
	font-family: var(--hpl-sans);
	background: #fdf9ee;
}

/* SWELLの見出し装飾を打ち消す */
.post_content .hpl-app__title {
	position: relative;
	width: fit-content;
	margin: 0 auto !important;
	padding: 0 0 0 9cqw;
	border: none;
	font-size: 2.6cqw;
	font-weight: 800;
	line-height: 1.6;
	letter-spacing: .04em;
	text-align: center;
	color: #e34258;
	background: none;
}

.post_content .hpl-app__title::before {
	content: "";
	position: absolute;
	top: -2.6cqw;
	left: 0;
	width: 8cqw;
	aspect-ratio: 239 / 240;
	border: none;
	background: url("../img/hpl/bear-heart.png") center / contain no-repeat;
}

.post_content .hpl-app__title::after {
	content: none;
}

.post_content .hpl-app__shots {
	width: 74cqw;
	margin: 6cqw auto 0 !important;
}

.post_content .hpl-app__shots > .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
}

.post_content .hpl-app__shot {
	width: 46%;
	margin: 0 !important;
}

.post_content .hpl-app__shot img {
	display: block;
	width: 100%;
	height: auto;
}

/* スマホ：画面幅いっぱいに表示し、見出しは読める大きさに */
@media (max-width: 599px) {
	.post_content .hpl-app {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 10vw 0;
	}

	.post_content .hpl-app__title {
		padding-left: 14cqw;
		font-size: max(2.6cqw, 17px);
	}

	.post_content .hpl-app__title::before {
		top: -1cqw;
		width: 13cqw;
	}

	.post_content .hpl-app__shots {
		width: 90cqw;
	}
}

/* ==========================================================================
   S09 あなたの婚活を支えます
   元画像: 08.png（1001 x 734）／ sp-07.png（858 x 731）
   ※このファイルは tools/gen/s09.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-support {
	position: relative;
	container-type: inline-size;
	aspect-ratio: 1001 / 734;
	margin: 0;
	overflow: hidden;
	font-family: var(--hpl-sans);
	background: linear-gradient(180deg, #7ea35c 0%, #9cbf74 45%, #eee 46%);
}

/* 白い面・金のカーブ・光の粒（写真の上に重ねる） */
.post_content .hpl-support::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 8.5% 49% / 3.2cqw auto no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 57% 46% / 2.4cqw auto no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 92% 52% / 3.6cqw auto no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 30% 92% / 2.2cqw auto no-repeat,
		radial-gradient(circle at 4% 30%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.26cqw, rgba(255, 225, 90, .55) 0.59cqw, rgba(255, 225, 90, 0) 1.3cqw),
		radial-gradient(circle at 37% 27%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.16cqw, rgba(255, 225, 90, .55) 0.36cqw, rgba(255, 225, 90, 0) 0.8cqw),
		radial-gradient(circle at 62% 19%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.20cqw, rgba(255, 225, 90, .55) 0.45cqw, rgba(255, 225, 90, 0) 1.0cqw),
		radial-gradient(circle at 79% 44%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.28cqw, rgba(255, 225, 90, .55) 0.63cqw, rgba(255, 225, 90, 0) 1.4cqw),
		radial-gradient(circle at 88% 37%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.16cqw, rgba(255, 225, 90, .55) 0.36cqw, rgba(255, 225, 90, 0) 0.8cqw),
		radial-gradient(circle at 45% 53%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.16cqw, rgba(255, 225, 90, .55) 0.36cqw, rgba(255, 225, 90, 0) 0.8cqw),
		radial-gradient(circle at 13% 53%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.46cqw, rgba(255, 222, 160, .55) 1.03cqw, rgba(255, 222, 160, 0) 2.3cqw),
		radial-gradient(circle at 24% 46%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.18cqw, rgba(255, 222, 160, .55) 0.41cqw, rgba(255, 222, 160, 0) 0.9cqw),
		radial-gradient(circle at 31% 58%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.28cqw, rgba(255, 222, 160, .55) 0.63cqw, rgba(255, 222, 160, 0) 1.4cqw),
		radial-gradient(circle at 55% 49%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.34cqw, rgba(255, 222, 160, .55) 0.77cqw, rgba(255, 222, 160, 0) 1.7cqw),
		radial-gradient(circle at 66% 58%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.18cqw, rgba(255, 222, 160, .55) 0.41cqw, rgba(255, 222, 160, 0) 0.9cqw),
		radial-gradient(circle at 94% 56%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.50cqw, rgba(255, 222, 160, .55) 1.12cqw, rgba(255, 222, 160, 0) 2.5cqw),
		radial-gradient(circle at 97% 73%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.24cqw, rgba(255, 222, 160, .55) 0.54cqw, rgba(255, 222, 160, 0) 1.2cqw),
		radial-gradient(circle at 3% 75%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.34cqw, rgba(255, 222, 160, .55) 0.77cqw, rgba(255, 222, 160, 0) 1.7cqw),
		radial-gradient(circle at 50% 96%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.22cqw, rgba(255, 222, 160, .55) 0.50cqw, rgba(255, 222, 160, 0) 1.1cqw),
		radial-gradient(circle at 72% 93%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.30cqw, rgba(255, 222, 160, .55) 0.68cqw, rgba(255, 222, 160, 0) 1.5cqw),
		radial-gradient(circle at 21% 94%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.18cqw, rgba(255, 222, 160, .55) 0.41cqw, rgba(255, 222, 160, 0) 0.9cqw),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 734' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='w' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='1' stop-color='%23ececec'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 350C200 425 330 450 470 450 700 450 850 365 1000 285V734H0Z' fill='url(%23w)'/%3E%3Cpath d='M0 560C300 540 600 470 1000 380V734H0Z' fill='%23f4f4f4' opacity='.7'/%3E%3Cpath d='M0 322C200 402 330 430 470 431 700 432 850 344 1000 258' fill='none' stroke='%23fff' stroke-width='3' opacity='.8'/%3E%3Cpath d='M0 332C200 412 330 440 470 441 700 442 850 354 1000 268' fill='none' stroke='url(%23g)' stroke-width='3.5'/%3E%3Cpath d='M0 343C200 423 330 450 470 451 700 452 850 365 1000 279' fill='none' stroke='url(%23g)' stroke-width='1.6'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	pointer-events: none;
}

.post_content .hpl-support figure,
.post_content .hpl-support p {
	margin: 0 !important;
}

.post_content .hpl-support__photo {
	position: absolute;
	top: -5.8cqw;
	left: -20.9cqw;
	width: 119cqw;
}

.post_content .hpl-support__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.post_content .hpl-support__logo {
	position: absolute;
	top: 14.3%;
	left: 50%;
	z-index: 2;
	width: 14cqw;
	transform: translateX(-50%);
}

.post_content .hpl-support__logo img {
	display: block;
	width: 100%;
}

/* SWELLの見出し装飾を打ち消す */
.post_content .hpl-support__title {
	position: absolute;
	top: 37.5%;
	left: 0;
	z-index: 2;
	width: 100%;
	margin: 0 !important;
	padding: 0;
	border: none;
	font-size: 4.2cqw;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
	text-align: center;
	color: #fff;
	background: none;
	text-shadow: 0 0 .8cqw #f06792, 0 0 1.8cqw #f48aab, 0 0 .2cqw #ee5f8c;
}

.post_content .hpl-support__title::before,
.post_content .hpl-support__title::after {
	content: none;
}

.post_content .hpl-support__em {
	margin: 0 .1em;
	font-size: 1.45em;
	letter-spacing: .08em;
}

/* 金色の丸 */
.post_content .hpl-support__points {
	position: absolute;
	top: 65.4%;
	left: 10.5%;
	z-index: 2;
	width: 78.5%;
}

.post_content .hpl-support__points > .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
}

.post_content .hpl-support__point {
	position: relative;
	width: 20cqw;
	aspect-ratio: 1;
	align-content: center;
	border-radius: 50%;
	font-size: 2.55cqw;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .02em;
	text-align: center;
	color: #444;
	background: radial-gradient(circle at 50% 42%, #fffaf0 0%, #f5e6c2 40%, #e2c27d 75%, #cfa957 100%);
	box-shadow: 0 .3cqw .8cqw rgba(160, 120, 40, .25);
}

.post_content .hpl-support__point .hpl-red {
	font-size: 1.14em;
	color: #d6304f;
}

/* ピンクの輪（太め＋光） */
.post_content .hpl-support__point::before {
	content: "";
	position: absolute;
	inset: -1.4cqw;
	border: .5cqw solid #f497b3;
	border-radius: 50%;
	box-shadow:
		0 0 1cqw rgba(244, 110, 160, .75),
		0 0 2.4cqw rgba(255, 180, 210, .7),
		inset 0 0 .8cqw rgba(244, 110, 160, .55);
	-webkit-mask: conic-gradient(#000 0 115deg, transparent 115deg 135deg, #000 135deg 295deg, transparent 295deg 315deg, #000 315deg);
	mask: conic-gradient(#000 0 115deg, transparent 115deg 135deg, #000 135deg 295deg, transparent 295deg 315deg, #000 315deg);
}

/* 輪の上のキラッとした光 */
.post_content .hpl-support__point::after {
	content: "";
	position: absolute;
	top: -2.2cqw;
	right: 1cqw;
	width: 4cqw;
	aspect-ratio: 1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat;
	filter: drop-shadow(0 0 .4cqw rgba(255, 150, 190, .9));
}

/* スマホ：sp-07.png の比率に合わせ、画面幅いっぱいに表示 */
@media (max-width: 599px) {
	.post_content .hpl-support {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		aspect-ratio: 858 / 731;
	}

	.post_content .hpl-support__logo {
		top: 13%;
		width: 16cqw;
	}

	.post_content .hpl-support__title {
		top: 38%;
		font-size: 4.2cqw;
	}

	.post_content .hpl-support__points {
		top: 64%;
		left: 4%;
		width: 92%;
	}

	.post_content .hpl-support__point {
		width: 25cqw;
		font-size: max(3cqw, 11px);
	}
}

/* ==========================================================================
   S10 ハピラブの想い
   元画像: 09.png（1001 x 771）／ sp-08.png（902 x 771）
   ※このファイルは tools/gen/s10.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-msg {
	container-type: inline-size;
	margin: 0;
	padding: 7.4% 0 6.9%;
	font-family: var(--hpl-sans);
	color: #333;
	background: repeating-linear-gradient(-45deg, #f7c3cd 0 2.8vw, #fad5dc 2.8vw 5.6vw);
}

.post_content .hpl-msg p,
.post_content .hpl-msg figure {
	margin: 0;
}

/* 白いカード（上下に赤い帯、下にリボン） */
.post_content .hpl-msg__card {
	position: relative;
	isolation: isolate;
	width: 80.8cqw;
	min-height: 63cqw;
	margin: 0 auto !important;
	padding: 2.9cqw 0 7cqw 5.9cqw;
	border-top: 1.1cqw solid #e2213f;
	border-bottom: 1.1cqw solid #e2213f;
	background: #fff;
}

/* 女性の後ろの光 */
.post_content .hpl-msg__card::before {
	content: "";
	position: absolute;
	top: 18cqw;
	right: 0;
	z-index: -1;
	width: 40cqw;
	height: 44cqw;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 500'%3E%3Cdefs%3E%3CradialGradient id='p' cx='.55' cy='.5' r='.55'%3E%3Cstop offset='0' stop-color='%23fff1e4'/%3E%3Cstop offset='.35' stop-color='%23fcd6e1'/%3E%3Cstop offset='.7' stop-color='%23fdeaf0' stop-opacity='.6'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='400' height='500' fill='url(%23p)' opacity='0.55'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(60 70) rotate(-15) scale(1.3)' fill='none' stroke='%23f4a3bb' stroke-width='2.2' stroke-opacity='.85'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(340 110) rotate(12) scale(1.1)' fill='none' stroke='%23f4a3bb' stroke-width='2.2' stroke-opacity='.85'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(40 250) rotate(8) scale(0.9)' fill='%23f9c5d4' fill-opacity='.7'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(370 290) rotate(-10) scale(0.9)' fill='none' stroke='%23f4a3bb' stroke-width='2.2' stroke-opacity='.85'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(185 30) rotate(5) scale(0.7)' fill='%23f9c5d4' fill-opacity='.7'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(30 420) rotate(-12) scale(1.0)' fill='none' stroke='%23f4a3bb' stroke-width='2.2' stroke-opacity='.85'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(120 160) rotate(15) scale(0.6)' fill='%23f9c5d4' fill-opacity='.7'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(270 40) rotate(-20) scale(0.6)' fill='none' stroke='%23f4a3bb' stroke-width='2.2' stroke-opacity='.85'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(375 450) rotate(10) scale(0.7)' fill='%23f9c5d4' fill-opacity='.7'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

/* リボン */
.post_content .hpl-msg__card::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -4.2cqw;
	z-index: 2;
	width: 14cqw;
	aspect-ratio: 150 / 104;
	transform: translateX(-50%);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 104'%3E%3Cg fill='none' stroke='%23e2213f' stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M71 36C50 9 13 5 14 27 15 46 51 44 71 36'/%3E%3Cpath d='M79 36C100 9 137 5 136 27 135 46 99 44 79 36'/%3E%3Cpath d='M70 42C63 62 50 80 36 99'/%3E%3Cpath d='M80 42C87 62 100 80 114 99'/%3E%3C/g%3E%3Cellipse cx='75' cy='37' rx='10' ry='9' fill='%23e2213f'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* SWELLの見出し装飾を打ち消す */
.post_content .hpl-msg__title {
	margin: 0 !important;
	padding: 0;
	border: none;
	font-size: 3.75cqw;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .1em;
	color: #333;
	background: none;
}

.post_content .hpl-msg__title::before,
.post_content .hpl-msg__title::after {
	content: none;
}

.post_content .hpl-msg__em {
	padding-bottom: .1em;
	color: #d7203d;
	background: linear-gradient(90deg, #9b7a35, #e3c57a 50%, #9b7a35) left bottom / 100% .5cqw no-repeat;
}

.post_content .hpl-msg__lead {
	margin-top: 2.9cqw !important;
	font-size: 2.5cqw;
	font-weight: 700;
	line-height: 1.54;
	letter-spacing: .08em;
	color: #e2324f;
}

.post_content .hpl-msg__body {
	position: relative;
	z-index: 1;
	width: 55cqw;
	margin-top: 2.5cqw !important;
	font-size: 1.33cqw;
	font-weight: 500;
	line-height: 1.53;
	letter-spacing: .14em;
}

.post_content .hpl-msg__photo {
	position: absolute;
	top: 24cqw;
	left: 57.4cqw;
	width: 30.2cqw;
	z-index: 1;
}

.post_content .hpl-msg__photo img {
	display: block;
	width: 100%;
	height: auto;
}

/* スマホ：本文が読めないほど小さくなるため、本文はカード幅いっぱい・女性は文章の下に配置 */
@media (max-width: 599px) {
	.post_content .hpl-msg {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 8vw 0 10vw;
	}

	.post_content .hpl-msg__card {
		width: 92cqw;
		min-height: 0;
		padding: 7cqw 5cqw 52cqw;
		border-width: 1.6cqw;
	}

	.post_content .hpl-msg__title {
		font-size: max(4.2cqw, 15px);
		line-height: 1.6;
		letter-spacing: 0;
	}

	/* 「理想のパートナーを探せます！」を途中で折り返さない */
	.post_content .hpl-msg__em {
		display: inline-block;
	}

	.post_content .hpl-msg__em {
		background-size: 100% 2px;
	}

	.post_content .hpl-msg__lead {
		font-size: max(2.3cqw, 14px);
		letter-spacing: .04em;
	}

	.post_content .hpl-msg__body {
		width: 100%;
		font-size: max(1.32cqw, 12.5px);
		letter-spacing: .02em;
	}

	.post_content .hpl-msg__card::before {
		top: auto;
		bottom: 0;
		width: 60cqw;
		height: 54cqw;
	}

	.post_content .hpl-msg__photo {
		top: auto;
		left: auto;
		right: 6cqw;
		bottom: 0;
		width: 34cqw;
		height: 50cqw;
		overflow: hidden;
	}

	.post_content .hpl-msg__card::after {
		left: 30%;
		width: 22cqw;
		bottom: -6.5cqw;
	}
}

/* ==========================================================================
   S11 3つの料金プラン（id="plan"：メニューの「料金プラン」のリンク先）
   元画像: ハピラブ料金表-26-01-pc.jpg（1000 x 1452）／ sp（800 x 1162）
   表はWordPressのテーブルブロック。行を並べ替えたときは下の「行番号」も合わせる
   ※このファイルは tools/gen/s11.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-price {
	--u: 1cqw;
	--red: #d7263d;
	position: relative;
	container-type: inline-size;
	margin: 0;
	padding: 26.2% 0 2.6%;
	font-family: var(--hpl-sans);
	color: #333;
	background: var(--red);
	scroll-margin-top: 80px;
}

.post_content .hpl-price p {
	margin: 0;
}

/* --- 左上の見出し（濃い赤のリボン） --- */
.post_content .hpl-price__titlebox {
	position: absolute;
	top: 0;
	left: calc(var(--u) * 7);
	z-index: 3;
	width: calc(var(--u) * 20.2);
	height: calc(var(--u) * 33.3);
	padding-top: calc(var(--u) * 8.4);
	text-align: center;
	color: #fff;
	background:
		linear-gradient(90deg, #b8913f, #f3e1a6 50%, #b8913f) 0 calc(var(--u) * 5.6) / 100% calc(var(--u) * .55) no-repeat,
		linear-gradient(90deg, #b8913f, #f3e1a6 50%, #b8913f) 0 calc(var(--u) * 26.2) / 100% calc(var(--u) * .55) no-repeat,
		#a51c35;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 90%, 0 100%);
}

.post_content .hpl-price__lead {
	font-size: calc(var(--u) * 1.3);
	font-weight: 500;
	letter-spacing: .06em;
}

.post_content .hpl-price__lead::before {
	content: "\\\\ ";
	letter-spacing: -.15em;
}

.post_content .hpl-price__lead::after {
	content: " //";
	letter-spacing: -.15em;
}

.post_content .hpl-price__title {
	margin: calc(var(--u) * 1.6) 0 0 !important;
	padding: 0;
	border: none;
	font-size: calc(var(--u) * 3.4);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .06em;
	color: #fff;
	background: none;
}

.post_content .hpl-price__title::before,
.post_content .hpl-price__title::after {
	content: none;
}

.post_content .hpl-price__num {
	font-family: var(--hpl-serif);
	font-size: 2.1em;
	font-weight: 600;
	line-height: 1;
	vertical-align: -.1em;
	margin-right: .05em;
}

/* --- プラン名の上の吹き出しとくま --- */
.post_content .hpl-price__balloon {
	position: absolute;
	top: calc(var(--u) * 10);
	z-index: 1;
	width: calc(var(--u) * 13.8);
	height: calc(var(--u) * 6.2);
	align-content: center;
	border: calc(var(--u) * .15) solid #333;
	border-radius: calc(var(--u) * 1.4);
	font-size: calc(var(--u) * 1.3);
	line-height: 1.5;
	letter-spacing: .06em;
	text-align: center;
	background: #fff;
}

.post_content .hpl-price__balloon--1 { left: calc(var(--u) * 32.3); }
.post_content .hpl-price__balloon--2 { left: calc(var(--u) * 53.8); }
.post_content .hpl-price__balloon--3 { left: calc(var(--u) * 75.3); }

/* 吹き出しのしっぽ */
.post_content .hpl-price__balloon::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(var(--u) * -1.05);
	width: calc(var(--u) * 1.6);
	height: calc(var(--u) * 1.6);
	border-right: calc(var(--u) * .15) solid #333;
	border-bottom: calc(var(--u) * .15) solid #333;
	background: #fff;
	transform: translateX(-50%) rotate(45deg) scaleY(.7);
}

/* くま（下半分はプラン名のタブに隠れる） */
.post_content .hpl-price__balloon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(var(--u) * 7.6);
	transform: translateX(-50%);
	background: center top / contain no-repeat;
}

.post_content .hpl-price__balloon--1::after {
	width: calc(var(--u) * 9.5);
	aspect-ratio: 313 / 320;
	background-image: url("../img/hpl/bear-plan1.png");
}

.post_content .hpl-price__balloon--2::after {
	width: calc(var(--u) * 9);
	aspect-ratio: 246 / 320;
	background-image: url("../img/hpl/bear-plan2.png");
}

.post_content .hpl-price__balloon--3::after {
	width: calc(var(--u) * 15.5);
	aspect-ratio: 320 / 238;
	background-image: url("../img/hpl/bear-plan3.png");
}

/* --- 料金表 --- */
.post_content .hpl-price__table {
	position: relative;
	z-index: 2;
	width: calc(var(--u) * 85.8);
	margin: 0 auto !important;
}

.post_content .hpl-price__table table {
	width: 100%;
	table-layout: fixed;
	border: none;
	border-collapse: separate;
	border-spacing: 0;
}

.post_content .hpl-price__table th,
.post_content .hpl-price__table td {
	height: calc(var(--u) * 6.5);
	padding: calc(var(--u) * .3) calc(var(--u) * .6);
	border: none;
	border-bottom: 1px solid #e57b88;
	font-size: calc(var(--u) * 1.6);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .04em;
	text-align: center;
	vertical-align: middle;
	color: #333;
	background: #fff;
}

/* 項目の列 */
.post_content .hpl-price__table tbody th,
.post_content .hpl-price__table tfoot th {
	width: 25%;
	border-right: calc(var(--u) * .2) solid var(--red);
	background: #f2f2f2;
}

/* プランの列の間の赤いすき間 */
.post_content .hpl-price__table td + td {
	border-left: calc(var(--u) * .4) solid var(--red);
}

.post_content .hpl-price__table em {
	display: block;
	font-size: .55em;
	font-style: normal;
	line-height: 1.4;
}

/* プラン名のタブ */
.post_content .hpl-price__table thead td {
	width: 25%;
	border: none;
	background: transparent;
}

.post_content .hpl-price__table thead th {
	height: calc(var(--u) * 9.5);
	border: none;
	border-radius: calc(var(--u) * 3) calc(var(--u) * 3) 0 0;
	font-size: calc(var(--u) * 2.3);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .06em;
	color: #fff;
}

.post_content .hpl-price__table thead th:nth-child(2) { background: #e99d3a; }
.post_content .hpl-price__table thead th:nth-child(3) { background: #7db343; border-left: calc(var(--u) * .4) solid var(--red); }
.post_content .hpl-price__table thead th:nth-child(4) { background: #f47b99; border-left: calc(var(--u) * .4) solid var(--red); }

/* キャンペーン行（4・5行目） */
.post_content .hpl-price__table tbody tr:nth-child(4) th,
.post_content .hpl-price__table tbody tr:nth-child(5) th {
	font-weight: 700;
	line-height: 1.35;
	color: #d7263d;
	background: linear-gradient(100deg, #e9cf86 0%, #fbf0c8 30%, #e2c06e 60%, #f7e7b0 80%, #d3a84c 100%);
}

.post_content .hpl-price__table tbody tr:nth-child(4) td,
.post_content .hpl-price__table tbody tr:nth-child(5) td {
	font-size: calc(var(--u) * 2.2);
	font-weight: 700;
	color: #d7263d;
}

.post_content .hpl-price__table tbody tr:nth-child(4) td:first-of-type,
.post_content .hpl-price__table tbody tr:nth-child(5) td:first-of-type {
	color: #333;
}

.post_content .hpl-price__table tbody tr:nth-child(4) td:not(:first-of-type),
.post_content .hpl-price__table tbody tr:nth-child(5) td:not(:first-of-type) {
	background: radial-gradient(ellipse at 50% 50%, #fff8df 0%, #f6e3ae 55%, #e6c475 100%);
}

/* 早婚キャッシュバック行（15行目）：数字を赤く大きく */
.post_content .hpl-price__table tbody strong {
	margin: 0 .1em;
	font-size: 1.5em;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
	color: #e21b2f;
}

/* 初期費用合計 */
.post_content .hpl-price__table tfoot th,
.post_content .hpl-price__table tfoot td {
	height: calc(var(--u) * 7);
	border-bottom: none;
	background: linear-gradient(100deg, #e9cf86 0%, #fbf0c8 30%, #e2c06e 60%, #f7e7b0 80%, #d3a84c 100%);
}

.post_content .hpl-price__table tfoot td {
	font-size: calc(var(--u) * 2.3);
	font-weight: 900;
}

/* 左下のくま */
.post_content .hpl-price::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 3;
	width: calc(var(--u) * 10.5);
	aspect-ratio: 287 / 300;
	background: url("../img/hpl/bear-memo.png") left bottom / contain no-repeat;
	pointer-events: none;
}

.post_content .hpl-price__note {
	width: calc(var(--u) * 85.8);
	margin: calc(var(--u) * 1.1) auto 0 !important;
	padding-right: calc(var(--u) * 2);
	font-size: calc(var(--u) * 1.1);
	text-align: right;
	color: #fff;
}

/* スマホ：元のSP画像（同じ構成を縮小）に合わせ、文字は読める大きさを下限にする */
@media (max-width: 599px) {
	.post_content .hpl-price {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding-top: 31%;
	}

	.post_content .hpl-price__titlebox {
		left: calc(var(--u) * 3.75);
		width: calc(var(--u) * 25.6);
		height: calc(var(--u) * 40);
		padding-top: calc(var(--u) * 10);
		background-position: 0 calc(var(--u) * 6.5), 0 calc(var(--u) * 31), 0 0;
	}

	.post_content .hpl-price__lead {
		font-size: max(calc(var(--u) * 1.6), 8px);
		letter-spacing: 0;
	}

	.post_content .hpl-price__title {
		font-size: calc(var(--u) * 4.4);
	}

	.post_content .hpl-price__balloon {
		top: calc(var(--u) * 10);
		width: calc(var(--u) * 19);
		height: calc(var(--u) * 8.5);
		font-size: max(calc(var(--u) * 1.6), 8px);
		line-height: 1.35;
		letter-spacing: 0;
	}

	.post_content .hpl-price__balloon--1 { left: calc(var(--u) * 32); }
	.post_content .hpl-price__balloon--2 { left: calc(var(--u) * 55.5); }
	.post_content .hpl-price__balloon--3 { left: calc(var(--u) * 78.5); }

	.post_content .hpl-price__balloon::after {
		top: calc(var(--u) * 10);
		transform: translateX(-50%) scale(1.2);
		transform-origin: center top;
	}

	.post_content .hpl-price__table {
		width: calc(var(--u) * 92.5);
	}

	/* 項目の列を少し広げ、「20代活動サポート費」が1行に収まるようにする */
	.post_content .hpl-price__table tbody th,
	.post_content .hpl-price__table tfoot th,
	.post_content .hpl-price__table thead td {
		width: 28%;
	}

	.post_content .hpl-price__table thead th {
		width: 24%;
		padding: 0;
		font-size: max(calc(var(--u) * 2.3), 11.5px) !important;
		letter-spacing: -.02em;
	}

	/* キャンペーン行の項目名は1行の文字数が多いので少し小さく */
	.post_content .hpl-price__table tbody tr:nth-child(4) th,
	.post_content .hpl-price__table tbody tr:nth-child(5) th {
		padding: calc(var(--u) * 2.2) calc(var(--u) * .2);
		font-size: max(calc(var(--u) * 1.4), 9px);
		letter-spacing: -.03em;
	}

	.post_content .hpl-price__table th,
	.post_content .hpl-price__table td {
		height: auto;
		padding: calc(var(--u) * 2.2) calc(var(--u) * .4);
		font-size: max(calc(var(--u) * 1.6), 10px);
		line-height: 1.4;
		letter-spacing: 0;
	}

	.post_content .hpl-price__table thead th {
		height: calc(var(--u) * 12);
		border-radius: calc(var(--u) * 3.5) calc(var(--u) * 3.5) 0 0;
		font-size: max(calc(var(--u) * 2.3), 12.5px);
	}

	.post_content .hpl-price__table tbody tr:nth-child(4) td,
	.post_content .hpl-price__table tbody tr:nth-child(5) td,
	.post_content .hpl-price__table tfoot td {
		font-size: max(calc(var(--u) * 2.2), 13px);
	}

	.post_content .hpl-price::after {
		width: calc(var(--u) * 13);
	}

	.post_content .hpl-price__note {
		width: calc(var(--u) * 92.5);
		font-size: max(calc(var(--u) * 1.1), 9px);
	}
}

/* ==========================================================================
   S12 入会する7つのメリット
   元画像: 11.png（1001 x 1938）／ sp-10.png（824 x 1938）
   メリットはリストブロック（番号はCSSで自動）
   ※このファイルは tools/gen/s12.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-merit {
	isolation: isolate;
	padding: 5.5% 0 0;
	overflow: hidden;
}

/* 薄い大きなハート（ピンクの背景の上、文字や写真の下） */
.post_content .hpl-merit::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cdefs%3E%3Cfilter id='b' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeGaussianBlur stdDeviation='2'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(60 110) rotate(-12) scale(4.2)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(930 80) rotate(10) scale(3.6)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(870 420) rotate(8) scale(4.6)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(110 520) rotate(-6) scale(3.8)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(520 300) rotate(4) scale(2.6)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(300 820) rotate(10) scale(4.4)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(760 760) rotate(-10) scale(3.4)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(980 960) rotate(6) scale(3.0)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3Cpath d='M0 -6C-8 -16 -24 -14 -24 0 -24 12 -10 22 0 30 10 22 24 12 24 0 24 -14 8 -16 0 -6Z' transform='translate(20 930) rotate(-8) scale(3.2)' fill='%23fff' fill-opacity='.55' filter='url(%23b)'/%3E%3C/svg%3E") center top / 100% auto repeat-y;
	pointer-events: none;
}

/* --- メリットのリスト --- */
.post_content .hpl-merits {
	counter-reset: hpl-merit;
	width: calc(var(--u) * 74);
	margin: calc(var(--u) * 5.6) auto 0 !important;
	padding: 0 !important;
	list-style: none;
}

.post_content .hpl-merits > li {
	position: relative;
	/* 文字の途中の<span>で行が分かれないよう、ブロックのまま縦中央に寄せる */
	display: block;
	align-content: center;
	min-height: calc(var(--u) * 11.5);
	margin: 0 0 calc(var(--u) * 4.5) !important;
	padding: calc(var(--u) * 1.5) calc(var(--u) * 2) !important;
	border: calc(var(--u) * .2) solid #555;
	font-size: calc(var(--u) * 3);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .02em;
	text-align: center;
	color: #555;
	background: #fff;
	counter-increment: hpl-merit;
}

.post_content .hpl-merits > li:last-child {
	margin-bottom: 0 !important;
}

/* 番号の札 */
.post_content .hpl-merits > li::before {
	content: counter(hpl-merit);
	position: absolute;
	top: calc(var(--u) * -2.5);
	left: calc(var(--u) * -3.6);
	width: calc(var(--u) * 8.2);
	height: calc(var(--u) * 7);
	padding: calc(var(--u) * 1.4) 0 0 calc(var(--u) * 2.6);
	border: none;
	border-radius: 0;
	font-size: calc(var(--u) * 2.6);
	font-weight: 400;
	line-height: calc(var(--u) * 5.2);
	text-align: center;
	color: #fff;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 82 70'%3E%3Cpath d='M1 1H40V24L32 30 40 36H8L14 18Z' fill='%23f07796' stroke='%23444' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M26 14H80V66H26Z' fill='%23f47b99' stroke='%23444' stroke-width='1.6'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	transform: none;
}

/* 右下の折り返したリボン */
.post_content .hpl-merits > li::after {
	content: "";
	position: absolute;
	right: calc(var(--u) * -2.3);
	bottom: calc(var(--u) * -1.4);
	width: calc(var(--u) * 4);
	height: calc(var(--u) * 5.6);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 56'%3E%3Cpath d='M1 1 18 13V55H1Z' fill='%23555'/%3E%3Cpath d='M18 13H39L31 34 39 55H18Z' fill='%23f47b99' stroke='%23444' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.post_content .hpl-merit .hpl-red {
	color: #e0334f;
}

.post_content .hpl-merit__small {
	font-size: .75em;
}

/* --- 会員の声（雲形の吹き出し＋女性＋くま） --- */
.post_content .hpl-voices {
	position: relative;
	height: calc(var(--u) * 50.8);
	margin: calc(var(--u) * 1) 0 0 !important;
}

/* 女性の後ろの丸 */
.post_content .hpl-voices::before {
	content: "";
	position: absolute;
	top: calc(var(--u) * 31);
	left: calc(var(--u) * 33);
	width: calc(var(--u) * 32);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, #fff 0%, #fdeff3 70%, #fbe3ea 100%);
}

/* 左右の応援するくま（右は左右反転） */
.post_content .hpl-voices::after {
	content: "";
	position: absolute;
	left: calc(var(--u) * 12);
	right: calc(var(--u) * 12);
	bottom: calc(var(--u) * -1.5);
	height: calc(var(--u) * 14);
	background:
		url("../img/hpl/bear-cheer.png") left bottom / auto 100% no-repeat;
	pointer-events: none;
}

.post_content .hpl-voices__woman {
	position: absolute;
	top: calc(var(--u) * 15.5);
	left: calc(var(--u) * 37.5);
	z-index: 1;
	width: calc(var(--u) * 26.2);
	margin: 0 !important;
}

.post_content .hpl-voices__woman img {
	display: block;
	width: 100%;
	height: auto;
}

.post_content .hpl-voice {
	position: absolute;
	z-index: 2;
	margin: 0 !important;
	padding: 0 0 calc(var(--u) * 1.6);
	align-content: center;
	font-size: calc(var(--u) * 1.45);
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: .04em;
	text-align: center;
	color: #333;
	background: center / 100% 100% no-repeat;
}

.post_content .hpl-voice--1 { top: calc(var(--u) * 11); left: calc(var(--u) * 8.5); width: calc(var(--u) * 30); height: calc(var(--u) * 22); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 220' preserveAspectRatio='none'%3E%3Cpath d='M196.0 186.5L210.0 215.0L216.0 193.6' fill='%23fff' stroke='%23f06a92' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M292.0 110.0Q312.5 130.6 283.4 144.9Q292.9 169.3 258.8 175.6Q256.1 200.8 221.0 198.3Q206.4 221.4 174.7 210.5Q150.0 228.5 125.3 210.5Q93.6 221.4 79.0 198.3Q43.9 200.8 41.2 175.6Q7.1 169.3 16.6 144.9Q-12.5 130.6 8.0 110.0Q-12.5 89.4 16.6 75.1Q7.1 50.7 41.2 44.4Q43.9 19.2 79.0 21.7Q93.6 -1.4 125.3 9.5Q150.0 -8.5 174.7 9.5Q206.4 -1.4 221.0 21.7Q256.1 19.2 258.8 44.4Q292.9 50.7 283.4 75.1Q312.5 89.4 292.0 110.0Z' fill='%23fff' stroke='%23f06a92' stroke-width='2.2'/%3E%3Cpath d='M198.0 183.4L214.0 189.6' stroke='%23fff' stroke-width='5'/%3E%3C/svg%3E"); }
.post_content .hpl-voice--2 { top: calc(var(--u) * 2.5); left: calc(var(--u) * 39.5); width: calc(var(--u) * 29.5); height: calc(var(--u) * 15.5); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 295 155' preserveAspectRatio='none'%3E%3Cpath d='M96.0 129.6L110.0 152.0L116.0 134.5' fill='%23fff' stroke='%23f06a92' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M287.0 77.5Q307.1 91.5 278.6 101.3Q287.9 117.9 254.4 122.2Q251.7 139.4 217.2 137.7Q202.9 153.4 171.7 145.9Q147.5 158.3 123.3 145.9Q92.1 153.4 77.8 137.7Q43.3 139.4 40.6 122.2Q7.1 117.9 16.4 101.3Q-12.1 91.5 8.0 77.5Q-12.1 63.5 16.4 53.7Q7.1 37.1 40.6 32.8Q43.3 15.6 77.7 17.3Q92.1 1.6 123.3 9.1Q147.5 -3.3 171.7 9.1Q202.9 1.6 217.2 17.3Q251.7 15.6 254.4 32.8Q287.9 37.1 278.6 53.7Q307.1 63.5 287.0 77.5Z' fill='%23fff' stroke='%23f06a92' stroke-width='2.2'/%3E%3Cpath d='M98.0 127.5L114.0 131.7' stroke='%23fff' stroke-width='5'/%3E%3C/svg%3E"); }
.post_content .hpl-voice--3 { top: calc(var(--u) * 18.5); left: calc(var(--u) * 59.5); width: calc(var(--u) * 29.5); height: calc(var(--u) * 15); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 295 150' preserveAspectRatio='none'%3E%3Cpath d='M86.0 125.2L100.0 148.0L106.0 129.9' fill='%23fff' stroke='%23f06a92' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M287.0 75.0Q307.1 88.5 278.6 97.9Q287.9 113.9 254.4 118.1Q251.7 134.6 217.2 133.0Q202.9 148.2 171.7 141.0Q147.5 152.9 123.3 141.0Q92.1 148.2 77.8 133.0Q43.3 134.6 40.6 118.1Q7.1 113.9 16.4 97.9Q-12.1 88.5 8.0 75.0Q-12.1 61.5 16.4 52.1Q7.1 36.1 40.6 31.9Q43.3 15.4 77.7 17.0Q92.1 1.8 123.3 9.0Q147.5 -2.9 171.7 9.0Q202.9 1.8 217.2 17.0Q251.7 15.4 254.4 31.9Q287.9 36.1 278.6 52.1Q307.1 61.5 287.0 75.0Z' fill='%23fff' stroke='%23f06a92' stroke-width='2.2'/%3E%3Cpath d='M88.0 123.2L104.0 127.3' stroke='%23fff' stroke-width='5'/%3E%3C/svg%3E"); }

/* 右のくま（::after は左のくまに使っているので、吹き出し3の疑似要素を使う） */
.post_content .hpl-voice--3::after {
	content: "";
	position: absolute;
	right: calc(var(--u) * 2);
	top: calc(var(--u) * 19.8);
	width: calc(var(--u) * 18.2);
	height: calc(var(--u) * 14);
	background: url("../img/hpl/bear-cheer.png") right bottom / auto 100% no-repeat;
	transform: scaleX(-1);
	pointer-events: none;
}

/* スマホ：元のSP画像（同じ構成を縮小）に合わせ、文字は読める大きさを下限にする */
@media (max-width: 599px) {
	.post_content .hpl-merit {
		--u: 1.2cqw;
		padding-top: 8vw;
	}

	/* --u が1.2倍なので、72 → 画面幅の約86% */
	.post_content .hpl-merits {
		width: calc(var(--u) * 72);
	}

	.post_content .hpl-merits > li {
		font-size: max(calc(var(--u) * 3), 13px);
		letter-spacing: 0;
	}

	.post_content .hpl-merits > li::before {
		left: calc(var(--u) * -3);
	}

	.post_content .hpl-merits > li::after {
		right: calc(var(--u) * -2);
	}

	/* 会員の声の配置は画面幅そのものを基準に指定している（1.2倍しない） */
	.post_content .hpl-voices {
		--u: 1cqw;
		height: calc(var(--u) * 72);
	}

	.post_content .hpl-voice {
		font-size: max(calc(var(--u) * 1.45), 8.5px);
		line-height: 1.6;
		letter-spacing: 0;
	}

	.post_content .hpl-voice--1 { top: calc(var(--u) * 10); left: calc(var(--u) * 1); width: calc(var(--u) * 37); height: calc(var(--u) * 26); }
	.post_content .hpl-voice--2 { top: calc(var(--u) * 1); left: calc(var(--u) * 38); width: calc(var(--u) * 36); height: calc(var(--u) * 18); }
	.post_content .hpl-voice--3 { top: calc(var(--u) * 21); left: calc(var(--u) * 61); width: calc(var(--u) * 37); height: calc(var(--u) * 18); }

	.post_content .hpl-voices__woman {
		top: calc(var(--u) * 36);
		left: calc(var(--u) * 35);
		width: calc(var(--u) * 30);
	}

	.post_content .hpl-voices::before {
		top: calc(var(--u) * 46);
		left: calc(var(--u) * 30);
		width: calc(var(--u) * 40);
	}

	.post_content .hpl-voices::after {
		left: calc(var(--u) * 1);
		height: calc(var(--u) * 17);
	}

	.post_content .hpl-voice--3::after {
		top: calc(var(--u) * 37);
		right: 0;
		width: calc(var(--u) * 22);
		height: calc(var(--u) * 17);
	}
}

/* ==========================================================================
   S13 無料カウンセリングからお見合いまでの流れ（2026年版）
   元画像: flow26-01-pc.png（1000 x 1191）／ flow-26-01-sp.png（800 x 953）
   ※このファイルは tools/gen/s13.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-flow {
	--u: 1cqw;
	position: relative;
	container-type: inline-size;
	counter-reset: hpl-flow;
	margin: 0;
	padding: 4.5% 0 4.2%;
	font-family: var(--hpl-sans);
	color: #444;
	background:
		linear-gradient(90deg, #a8822f, #f4e2a6 40%, #c79e48 70%, #8d6a2c) left bottom / 100% .8% no-repeat,
		repeating-linear-gradient(-45deg, #e6e6e6 0 calc(var(--u) * 3.2), #f7f7f7 calc(var(--u) * 3.2) calc(var(--u) * 6.4));
}

.post_content .hpl-flow p,
.post_content .hpl-flow figure {
	margin: 0;
}

/* --- 見出し（金の帯＋赤い帯＋くま） --- */
.post_content .hpl-flow__head {
	position: relative;
	margin: 0 0 calc(var(--u) * 4.5) !important;
}

.post_content .hpl-flow__head::before {
	content: "";
	position: absolute;
	left: calc(var(--u) * 9.5);
	top: calc(var(--u) * 2);
	z-index: 2;
	width: calc(var(--u) * 13.2);
	aspect-ratio: 258 / 360;
	background: url("../img/hpl/bear-kick.png") center / contain no-repeat;
}

.post_content .hpl-flow__sub {
	width: calc(var(--u) * 64.5);
	height: calc(var(--u) * 7.3);
	padding-left: calc(var(--u) * 22.5);
	font-size: calc(var(--u) * 3.2);
	font-weight: 500;
	line-height: calc(var(--u) * 7.3);
	letter-spacing: .02em;
	color: #d7263d;
	background: linear-gradient(90deg, #a07a2b 0%, #e9cf88 35%, #fbf1cc 60%, #e7c97c 100%);
	clip-path: polygon(0 0, 100% 0, 96% 100%, 0 100%);
}

.post_content .hpl-flow__h {
	margin: 0 !important;
	padding: 0 0 0 calc(var(--u) * 10);
	border: none;
	height: calc(var(--u) * 7.7);
	font-size: calc(var(--u) * 3.6);
	font-weight: 700;
	line-height: calc(var(--u) * 7.7);
	letter-spacing: .08em;
	text-align: center;
	color: #fff;
	background: #d7263d;
}

.post_content .hpl-flow__h::before,
.post_content .hpl-flow__h::after {
	content: none;
}

/* --- ステップ --- */
.post_content .hpl-flow__step {
	position: relative;
	counter-increment: hpl-flow;
	width: calc(var(--u) * 78);
	min-height: calc(var(--u) * 19.2);
	margin: 0 auto calc(var(--u) * 4.5) !important;
	border-left: calc(var(--u) * 1.5) solid #f47b99;
	border-right: calc(var(--u) * 1.3) solid #f47b99;
	background: #fff;
}

.post_content .hpl-flow__step:last-child {
	margin-bottom: 0 !important;
}

.post_content .hpl-flow__step > .wp-block-group__inner-container {
	display: flex;
	min-height: calc(var(--u) * 19.2);
}

/* 左上のピンクの三角と番号 */
.post_content .hpl-flow__step::before {
	content: counter(hpl-flow);
	position: absolute;
	top: 0;
	left: 0;
	width: calc(var(--u) * 11);
	height: calc(var(--u) * 11.5);
	padding: calc(var(--u) * 1.2) 0 0 calc(var(--u) * 1.6);
	font-family: "Oswald", "Bahnschrift", "Arial Narrow", var(--hpl-sans);
	font-size: calc(var(--u) * 7.4);
	font-weight: 700;
	line-height: 1;
	color: #fff;
	background: #f47b99;
	letter-spacing: -.05em;
	clip-path: polygon(0 0, 100% 0, 0 100%);
}

/* 下向きの赤い三角（最後のステップ以外） */
.post_content .hpl-flow__step:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(var(--u) * -4.5);
	width: calc(var(--u) * 7.4);
	height: calc(var(--u) * 3.5);
	transform: translateX(-60%);
	background: #d7263d;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.post_content .hpl-flow__text {
	flex: 1;
	margin: 0 !important;
	padding: calc(var(--u) * 1.9) calc(var(--u) * 2.3) calc(var(--u) * 1.9) calc(var(--u) * 4.4);
	text-align: center;
}

.post_content .hpl-flow__title {
	margin: 0 !important;
	padding: 0 0 calc(var(--u) * 1);
	border: none;
	border-bottom: calc(var(--u) * .25) solid #f47b99;
	font-size: calc(var(--u) * 2.5);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .08em;
	color: #444;
	background: none;
}

.post_content .hpl-flow__title::before,
.post_content .hpl-flow__title::after {
	content: none;
}

.post_content .hpl-flow__body {
	margin-top: calc(var(--u) * 2.2) !important;
	font-size: calc(var(--u) * 1.5);
	font-weight: 500;
	line-height: 1.85;
	letter-spacing: .06em;
}

.post_content .hpl-flow__paren {
	font-size: .85em;
	letter-spacing: 0;
}

.post_content .hpl-flow__photo {
	width: calc(var(--u) * 18.2);
	flex-shrink: 0;
}

.post_content .hpl-flow__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* スマホ：元のSP画像（同じ構成を縮小）に合わせ、文字は読める大きさを下限にする */
@media (max-width: 599px) {
	.post_content .hpl-flow {
		--u: 1.1cqw;
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	.post_content .hpl-flow__step {
		width: calc(var(--u) * 84);
	}

	.post_content .hpl-flow__sub {
		font-size: max(calc(var(--u) * 3.2), 13px);
	}

	.post_content .hpl-flow__h {
		font-size: max(calc(var(--u) * 3.4), 15px);
	}

	.post_content .hpl-flow__title {
		font-size: max(calc(var(--u) * 2.5), 13px);
		letter-spacing: .02em;
	}

	.post_content .hpl-flow__body {
		font-size: max(calc(var(--u) * 1.5), 9.5px);
		line-height: 1.7;
		letter-spacing: 0;
	}

	.post_content .hpl-flow__body br {
		display: none;
	}

	.post_content .hpl-flow__text {
		padding: calc(var(--u) * 2.4) calc(var(--u) * 1.5) calc(var(--u) * 2.4) calc(var(--u) * 6);
	}

	.post_content .hpl-flow__photo {
		width: calc(var(--u) * 24);
	}
}

/* ==========================================================================
   S14 ご紹介キャンペーン
   元画像: 13.png（1002 x 464）／ sp-12.png（950 x 464）
   ※このファイルは tools/gen/s14.py から生成（直接編集しない）
   ========================================================================== */

.post_content .hpl-refer {
	position: relative;
	container-type: inline-size;
	aspect-ratio: 1002 / 464;
	margin: 0;
	overflow: hidden;
	font-family: var(--hpl-sans);
	background: #eee;
}

.post_content .hpl-refer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 33% 40% / 3cqw auto no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 54% 40% / 2.6cqw auto no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 93% 57% / 3.8cqw auto no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 7% 60% / 2.6cqw auto no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='s'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 0C21 14 26 19 40 20 26 21 21 26 20 40 19 26 14 21 0 20 14 19 19 14 20 0Z' fill='url(%23s)'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23fff'/%3E%3C/svg%3E") 67% 76% / 2.2cqw auto no-repeat,
		radial-gradient(circle at 3% 6%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.18cqw, rgba(255, 215, 110, .55) 0.41cqw, rgba(255, 215, 110, 0) 0.9cqw),
		radial-gradient(circle at 31% 6%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.20cqw, rgba(255, 215, 110, .55) 0.45cqw, rgba(255, 215, 110, 0) 1.0cqw),
		radial-gradient(circle at 36% 30%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.28cqw, rgba(255, 222, 160, .55) 0.63cqw, rgba(255, 222, 160, 0) 1.4cqw),
		radial-gradient(circle at 52% 6%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.18cqw, rgba(255, 215, 110, .55) 0.41cqw, rgba(255, 215, 110, 0) 0.9cqw),
		radial-gradient(circle at 56% 24%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.24cqw, rgba(255, 222, 160, .55) 0.54cqw, rgba(255, 222, 160, 0) 1.2cqw),
		radial-gradient(circle at 60% 42%, rgba(255, 245, 170, 1) 0, rgba(255, 245, 170, .95) 0.16cqw, rgba(255, 215, 110, .55) 0.36cqw, rgba(255, 215, 110, 0) 0.8cqw),
		radial-gradient(circle at 95% 10%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.20cqw, rgba(255, 222, 160, .55) 0.45cqw, rgba(255, 222, 160, 0) 1.0cqw),
		radial-gradient(circle at 98% 32%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.28cqw, rgba(255, 222, 160, .55) 0.63cqw, rgba(255, 222, 160, 0) 1.4cqw),
		radial-gradient(circle at 49% 52%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.20cqw, rgba(255, 222, 160, .55) 0.45cqw, rgba(255, 222, 160, 0) 1.0cqw),
		radial-gradient(circle at 94% 60%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.52cqw, rgba(255, 222, 160, .55) 1.17cqw, rgba(255, 222, 160, 0) 2.6cqw),
		radial-gradient(circle at 12% 69%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.22cqw, rgba(255, 222, 160, .55) 0.50cqw, rgba(255, 222, 160, 0) 1.1cqw),
		radial-gradient(circle at 2% 64%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.36cqw, rgba(255, 222, 160, .55) 0.81cqw, rgba(255, 222, 160, 0) 1.8cqw),
		radial-gradient(circle at 36% 66%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.16cqw, rgba(255, 222, 160, .55) 0.36cqw, rgba(255, 222, 160, 0) 0.8cqw),
		radial-gradient(circle at 58% 72%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.26cqw, rgba(255, 222, 160, .55) 0.59cqw, rgba(255, 222, 160, 0) 1.3cqw),
		radial-gradient(circle at 82% 70%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.18cqw, rgba(255, 222, 160, .55) 0.41cqw, rgba(255, 222, 160, 0) 0.9cqw),
		radial-gradient(circle at 98% 84%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.28cqw, rgba(255, 222, 160, .55) 0.63cqw, rgba(255, 222, 160, 0) 1.4cqw),
		radial-gradient(circle at 50% 96%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.20cqw, rgba(255, 222, 160, .55) 0.45cqw, rgba(255, 222, 160, 0) 1.0cqw),
		radial-gradient(circle at 22% 92%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.16cqw, rgba(255, 222, 160, .55) 0.36cqw, rgba(255, 222, 160, 0) 0.8cqw),
		radial-gradient(circle at 70% 90%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.24cqw, rgba(255, 222, 160, .55) 0.54cqw, rgba(255, 222, 160, 0) 1.2cqw),
		radial-gradient(circle at 8% 52%, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .95) 0.20cqw, rgba(255, 222, 160, .55) 0.45cqw, rgba(255, 222, 160, 0) 1.0cqw),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 464' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a77d2c'/%3E%3Cstop offset='.45' stop-color='%23f3d77e'/%3E%3Cstop offset='.7' stop-color='%23c9a046'/%3E%3Cstop offset='1' stop-color='%238f6a22'/%3E%3C/linearGradient%3E%3ClinearGradient id='w' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23ededed'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 182C250 268 420 292 540 290 720 288 860 240 1000 150V464H0Z' fill='url(%23w)'/%3E%3Cpath d='M0 170C250 256 420 280 540 278 720 276 860 228 1000 138' fill='none' stroke='%23fff' stroke-width='3' opacity='.8'/%3E%3Cpath d='M0 178C250 264 420 288 540 286 720 284 860 236 1000 146' fill='none' stroke='url(%23g)' stroke-width='3'/%3E%3Cpath d='M0 188C250 274 420 298 540 296 720 294 860 246 1000 156' fill='none' stroke='url(%23g)' stroke-width='1.5'/%3E%3Crect y='440' width='1000' height='7' fill='url(%23g)'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	pointer-events: none;
}

.post_content .hpl-refer figure,
.post_content .hpl-refer p {
	margin: 0;
}

/* 写真（左右に半分ずつ） */
.post_content .hpl-refer__photo {
	position: absolute;
	top: 0;
	width: 50%;
	height: 66%;
	overflow: hidden;
}

.post_content .hpl-refer__photo--l { left: 0; }
.post_content .hpl-refer__photo--r { left: 50%; }

.post_content .hpl-refer__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post_content .hpl-refer__photo--l img { object-position: 15% 30%; transform: scale(1.25); transform-origin: 10% 20%; }
.post_content .hpl-refer__photo--r img { object-position: 75% 15%; transform: scale(1.2); transform-origin: 70% 10%; }

/* SWELLの見出し装飾を打ち消す */
.post_content .hpl-refer__title {
	position: absolute;
	top: 9.2%;
	left: 0;
	z-index: 2;
	width: 100%;
	margin: 0 !important;
	padding: 0;
	border: none;
	font-size: 3.15cqw;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: .22em;
	text-align: center;
	color: #fff;
	background: none;
	text-shadow: 0 0 .8cqw #f06792, 0 0 1.8cqw #f48aab, 0 0 .2cqw #ee5f8c;
}

.post_content .hpl-refer__title::before,
.post_content .hpl-refer__title::after {
	content: none;
}

.post_content .hpl-refer__ribbon {
	position: absolute;
	top: 54.3%;
	left: 0;
	z-index: 2;
	width: 30cqw;
	height: 6cqw;
	padding-left: 5.8cqw;
	font-size: 1.85cqw;
	font-weight: 500;
	line-height: 5.4cqw;
	letter-spacing: .1em;
	color: #fff;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 60' preserveAspectRatio='none'%3E%3Cpath d='M262 14H300L292 38 300 60H262Z' fill='%23d9567b'/%3E%3Cpath d='M0 0H272Q288 18 278 40Q270 52 262 54H0Z' fill='%23f2789b'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.post_content .hpl-refer__cond {
	position: absolute;
	top: 67.5%;
	left: 0;
	z-index: 2;
	width: 100%;
	padding-left: 11cqw;
	font-size: 2.4cqw;
	font-weight: 500;
	letter-spacing: .04em;
	text-align: center;
	color: #c8213c;
}

.post_content .hpl-refer__offer {
	position: absolute;
	top: 77.5%;
	left: 2.6%;
	z-index: 2;
	display: flex;
	align-items: center;
	width: 94.5%;
	white-space: nowrap;
}

.post_content .hpl-refer__who {
	padding: .6cqw .6cqw;
	border-top: .15cqw solid #c8213c;
	border-bottom: .15cqw solid #c8213c;
	font-size: 1.3cqw;
	font-weight: 500;
	line-height: 1.3;
	color: #c8213c;
}

.post_content .hpl-refer__gold {
	margin: 0 1.6cqw 0 .9cqw;
	font-size: 3.65cqw;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: .02em;
	background: linear-gradient(180deg, #e8c870 0%, #b98a2c 45%, #8f6418 60%, #d0a347 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 .15cqw .1cqw rgba(110, 70, 10, .25));
}

.post_content .hpl-refer__gold:last-child {
	margin-right: 0;
}

.post_content .hpl-refer__big {
	font-size: 1.32em;
	font-style: italic;
	letter-spacing: -.02em;
}

/* スマホ：sp-12.png の比率に合わせ、画面幅いっぱいに表示 */
@media (max-width: 599px) {
	.post_content .hpl-refer {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		aspect-ratio: 950 / 464;
	}

	.post_content .hpl-refer__title {
		font-size: 3.4cqw;
		letter-spacing: .15em;
	}

	.post_content .hpl-refer__ribbon {
		font-size: max(1.85cqw, 8px);
		letter-spacing: .04em;
	}

	.post_content .hpl-refer__cond {
		font-size: max(2.25cqw, 9px);
	}

	/* 特典2つを1行に並べると小さすぎるので、2段にして大きく見せる */
	.post_content .hpl-refer {
		aspect-ratio: 950 / 560;
	}

	.post_content .hpl-refer__photo {
		height: 55%;
	}

	.post_content .hpl-refer::before {
		background-size: 100% 83%;
		background-repeat: no-repeat;
		background-position: top;
	}

	.post_content .hpl-refer::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		height: 18%;
		background: linear-gradient(180deg, #ededed, #ececec);
	}

	.post_content .hpl-refer__ribbon {
		top: 46%;
	}

	.post_content .hpl-refer__cond {
		top: 56%;
		padding-left: 22cqw;
		font-size: max(2.6cqw, 11px);
	}

	.post_content .hpl-refer__offer {
		top: 66%;
		left: 0;
		width: 100%;
		display: grid;
		grid-template-columns: auto auto;
		justify-content: center;
		align-items: center;
		row-gap: 2cqw;
	}

	.post_content .hpl-refer__who {
		justify-self: end;
		font-size: max(1.8cqw, 9px);
		padding: .6cqw .6cqw;
	}

	.post_content .hpl-refer__gold {
		margin: 0 0 0 2cqw;
		font-size: 5cqw;
	}
}

/* ==========================================================================
   S15 代表ご挨拶（元からSWELLのキャプションボックス＋アコーディオンで作られていた部分）
   中身はそのまま、ほかのセクションと色味をそろえる
   ========================================================================== */

.post_content .hpl-greet {
	margin: 0;
	padding: 6% 4% 7%;
	font-family: var(--hpl-sans);
	background: #fdf3f5;
}

.post_content .hpl-greet .cap_box {
	--capbox_color: #ef4f86;
	margin: 0;
	background: #fff;
}

/* SWELLのテーマカラー（水色）を、ピンクに置き換える */
.post_content .hpl-greet .cap_box {
	border-color: #ef4f86;
}

.post_content .hpl-greet .cap_box_ttl,
.post_content .hpl-greet .cap_box_ttl span {
	font-weight: 700;
	letter-spacing: .06em;
	color: #fff;
	background: #ef4f86;
	border-color: #ef4f86;
}

.post_content .hpl-greet .cap_box_content {
	border-color: #ef4f86;
}

.post_content .hpl-greet .swell-block-accordion__title {
	color: #333;
}

.post_content .hpl-greet h4 {
	margin-top: 2em;
	padding: 0 0 .4em;
	border-left: none;
	border-bottom: 2px solid #f7b6c8;
	background: none;
	font-size: 1.05em;
	color: #d7263d;
}

.post_content .hpl-greet h4::before {
	content: none;
}

/* スマホ：画面幅いっぱいに表示 */
@media (max-width: 599px) {
	.post_content .hpl-greet {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 10vw 4vw;
	}
}
