/* ==========================================================================
   Posto LP ver2 — Desktop-first (Figma 7A64USwEmLRDpXhOLhExt6 / 399:2)
   ========================================================================== */

.urakata-page {
	--posto-blue: #009fde;
	--posto-blue-soft: #e8f6fc;
	--posto-pink: #ff5a9b;
	--posto-orange: #f5a623;
	--posto-line: #06c755;
	--posto-text: #111111;
	--posto-muted: #666666;
	--posto-border: #e5e5e5;
	--posto-bg: #ffffff;
	--posto-bg-soft: #f7f9fb;
	--posto-radius: 12px;
	--posto-wrap: 1200px;
	background: var(--posto-bg);
	color: var(--posto-text);
}

/*
 * ページ内リンクの着地位置。
 * sticky header（PC: topbar28+bar90 / SP: bar50）+ 余白16。
 * html は .urakata-page の祖先なので、変数も html 側に置く。
 */
html {
	--posto-scroll-pad: 134px;
	scroll-padding-top: var(--posto-scroll-pad);
}

html.admin-bar {
	scroll-padding-top: calc(var(--posto-scroll-pad) + 32px);
}

@media screen and (max-width: 782px) {
	html.admin-bar {
		scroll-padding-top: calc(var(--posto-scroll-pad) + 46px);
	}
}

.urakata-page .site-header,
.urakata-page .site-footer {
	display: none;
}

.posto-main {
	overflow-x: clip;
}

/* SP専用 / PC専用 改行 */
.posto-br-sp {
	display: none;
}

.posto-br-pc {
	display: inline;
}

.posto-wrap {
	max-width: 1248px;
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
	box-sizing: border-box;
}

.posto-section-title {
	margin: 0 0 24px;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.posto-section-title--lg {
	font-size: clamp(40px, 5vw, 64px);
	letter-spacing: 0.02em;
}

.posto-block-num {
	margin: 0 0 8px;
	font-family: var(--typography-fontFamily-medium);
	font-size: clamp(64px, 8vw, 96px);
	font-weight: var(--typography-fontWeight-medium, 400);
	line-height: 1;
	color: #d20b8c;
}

.posto-block-num--pink {
	color: #d20b8c;
}

.posto-block-num--blue {
	color: #0097d2;
}

.posto-block-num--orange {
	color: #f1b402;
}

.posto-block-title {
	margin: 0 0 20px;
	max-width: 900px;
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	line-height: 1.45;
}

.posto-block-lead {
	margin: 0 0 40px;
	max-width: 720px;
	font-size: 18px;
	line-height: 1.8;
	color: var(--posto-text);
}

.posto-block-lead--center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.posto-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 12px 28px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.posto-btn:hover {
	opacity: 0.88;
}

.posto-btn--primary {
	background: var(--posto-blue);
	color: #fff;
}

/* Header
   ========================================================================== */

.posto-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
}

.posto-topbar {
	background: #000;
}

.posto-topbar__inner {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 28px;
	width: 100%;
	min-height: 28px;
	margin: 0;
	padding: 0 24px 0 0;
	box-sizing: border-box;
}

.posto-topbar__inner a {
	font-size: 14px;
	line-height: 1;
	color: #fff;
	text-decoration: none;
}

.posto-topbar__inner a:hover {
	opacity: 0.85;
}

.posto-topbar__company,
.posto-topbar__login {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.posto-topbar__company-icon,
.posto-topbar__login-icon {
	display: block;
	width: 15px;
	height: 12px;
	flex-shrink: 0;
}

.posto-topbar__login-icon {
	width: 14px;
	filter: brightness(0) invert(1);
}

.posto-header__bar {
	display: flex;
	align-items: stretch;
	border-bottom: 1px solid var(--posto-border);
	background: #fff;
	position: relative;
}

.posto-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex: 1;
	min-height: 90px;
	min-width: 0;
	/* 左は wrap と同じ開始位置、右は CTA に密着 */
	max-width: none;
	margin: 0;
	padding-left: max(24px, calc((100% - 1200px) / 2));
	padding-right: 24px;
	width: auto;
}

.posto-header__brand {
	display: flex;
	align-items: baseline;
	gap: 10px;
	text-decoration: none;
	color: inherit;
	flex-shrink: 0;
}

.posto-header__logo {
	display: block;
	height: 26px;
	width: auto;
}

.posto-header__by {
	font-size: 14px;
	color: var(--posto-text);
	white-space: nowrap;
}

.posto-header__nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 4px 28px;
}

.posto-header__nav a {
	font-size: 14px;
	color: var(--posto-text);
	text-decoration: none;
	white-space: nowrap;
}

.posto-header__nav a:hover {
	color: var(--posto-blue);
}

.posto-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 200px;
	width: 200px;
	min-height: 90px;
	padding: 12px 16px;
	background: var(--posto-blue);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	line-height: 1.4;
}

.posto-header__cta:hover {
	opacity: 0.92;
	color: #fff;
}

.posto-header__cta-sp {
	display: none;
}

.posto-header__menu-btn {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.posto-header__menu-icon {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 4px;
	width: 27px;
}

.posto-header__menu-bar {
	display: block;
	height: 3px;
	border-radius: 1px;
	background: #0b0b0b;
}

.posto-header__menu-bar--1 {
	width: 27px;
}

.posto-header__menu-bar--2 {
	width: 10px;
}

.posto-header__menu-bar--3 {
	width: 17px;
}

.posto-header__menu-label {
	font-size: 8px;
	line-height: 1;
	letter-spacing: 0.18em;
	color: #000;
	font-family: var(--typography-fontFamily-medium, inherit);
}

.posto-header__nav-utils,
.posto-header__nav-sp,
.posto-header__close {
	display: none;
}

.posto-hero__title-sp {
	display: none;
}

/* Hero
   ========================================================================== */

.posto-hero {
	position: relative;
	padding: 110px 0 56px;
	overflow: hidden;
	background: #fff;
}

.posto-hero__bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	/* Figma: BG下端にチップ上端が約37px重なる。下部は白地に出す */
	bottom: auto;
	height: calc(100% - 180px);
	z-index: 0;
	pointer-events: none;
}

.posto-hero__bg picture,
.posto-hero__bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.posto-hero__grid,
.posto-hero > .posto-wrap {
	position: relative;
	z-index: 1;
}

.posto-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 192px);
	gap: 0 64px;
	align-items: start;
}

.posto-hero__top {
	display: contents;
}

.posto-hero__title {
	grid-column: 1;
	margin: 0 0 60px;
	font-size: 36px;
	font-family: var(--typography-fontFamily-regular);
	font-weight: 400;
	line-height: 1.4;
}

.posto-hero__title-sub {
	display: inline-block;
	margin-top: 0;
	font-weight: 400;
}

.posto-hero__title-sp {
	display: none;
}

.posto-hero__lead {
	grid-column: 1;
	margin: 0 0 50px;
	max-width: 360px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.8;
}

.posto-hero__consult {
	grid-column: 1;
	justify-self: start;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	box-sizing: border-box;
	width: 300px;
	min-height: 70px;
	padding: 12px 20px 12px 40px;
	border-radius: 35px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(17, 17, 17, 0.08);
	font-size: 20px;
	font-weight: 400;
	color: var(--posto-text);
	text-decoration: none;
	white-space: nowrap;
}

.posto-hero__consult:hover {
	color: var(--posto-text);
	opacity: 0.92;
}

.posto-hero__consult-label {
	line-height: 1.2;
	white-space: nowrap;
}

.posto-hero__consult-arrow {
	display: inline-flex;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--posto-blue);
	position: relative;
}

.posto-hero__consult-arrow::before {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg) translate(-1px, -1px);
}

.posto-hero__media {
	grid-column: 2;
	grid-row: 1 / span 3;
	display: flex;
	justify-content: flex-end;
	padding-top: 12px;
}

.posto-phone {
	position: relative;
	width: min(100%, 192px);
	aspect-ratio: 192 / 391;
	filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.16));
}

.posto-phone__body {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 8px 10px;
	border-radius: 32px;
	background: #fff;
	border: 1px solid rgba(17, 17, 17, 0.08);
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.8),
		0 0 0 1px rgba(17, 17, 17, 0.04);
}

/* Side buttons */
.posto-phone__body::before,
.posto-phone__body::after {
	content: '';
	position: absolute;
	background: #d8d8d8;
	border-radius: 2px;
}

.posto-phone__body::before {
	/* silent / volume */
	left: -2px;
	top: 72px;
	width: 3px;
	height: 56px;
	box-shadow: 0 28px 0 #d8d8d8;
}

.posto-phone__body::after {
	/* power */
	right: -2px;
	top: 108px;
	width: 3px;
	height: 36px;
}

.posto-phone--sm {
	width: 132px;
}

.posto-phone--sm .posto-phone__body {
	padding: 6px 7px;
	border-radius: 22px;
}

.posto-phone--sm .posto-phone__viewport {
	border-radius: 16px;
}

.posto-phone__viewport {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 24px;
	overflow: hidden;
}

.posto-phone__screen,
.posto-video-slot {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	overflow: hidden;
	background: #d8d8d8;
}

/* hero.mp4 内 Dynamic Island に合わせた位置（画面座標系の%） */
.posto-phone__island {
	position: absolute;
	z-index: 2;
	top: 1.33%;
	left: 33.54%;
	width: 37.62%;
	height: 4.3%;
	border-radius: 999px;
	background: #000;
	pointer-events: none;
}

.posto-video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	background: #d8d8d8;
}

.posto-video-slot[data-empty='true'] .posto-video {
	opacity: 0;
}

.posto-hero__lower {
	position: relative;
	z-index: 1;
}

.posto-hero__mascot {
	position: absolute;
	left: calc(50% - 160px);
	top: -220px;
	width: min(260px, 30vw);
	line-height: 0;
	z-index: 0;
	pointer-events: none;
}

.posto-hero__mascot picture,
.posto-hero__mascot-img {
	display: block;
	width: 100%;
	height: auto;
}

.posto-hero__chips {
	display: grid;
	width: min(100%, 900px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px 12px;
	/* mascot height ≈ 294 at 260px width; sit on chips top edge */
	margin: 120px auto 0;
	padding: 50px 24px 40px;
	border-radius: 30px;
	background: #fff;
	box-shadow: 0 12px 40px rgba(17, 17, 17, 0.08);
	position: relative;
	z-index: 1;
}

.posto-chip {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 4px;
	text-align: center;
}

.posto-chip__laurel {
	flex: 0 0 39px;
	width: 39px;
	height: 82px;
	object-fit: contain;
}

.posto-chip__body {
	min-width: 0;
}

.posto-chip__label {
	margin: 0 0 8px;
	font-size: 24px;
	font-family: var(--typography-fontFamily-bold);
	color: #ce0003;
	line-height: 1.2;
}

.posto-chip__text {
	margin: 0;
	font-size: 14px;
	line-height: 1;
	color: #00396b;
}

.posto-hero__note {
	grid-column: 1 / -1;
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.5;
	color: #9ab0c3;
	text-align: center;
}

/* About / Features
   ========================================================================== */

.posto-about,
.posto-features,
.posto-approach,
.posto-flow,
.posto-pecomag,
.posto-app,
.posto-price,
.posto-specs,
.posto-compare,
.posto-faq,
.posto-company,
.posto-contact {
	padding: 104px 0;
}

.posto-about {
	background: #fff;
	overflow: hidden;
}

.posto-about .posto-section-title--lg {
	margin-bottom: 0;
	line-height: 1;
}

.posto-about__stage {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
	min-height: 420px;
	padding: 24px 0 8px;
	width: min(1440px, 100%);
	margin: 0 auto;
}

.posto-about__visual {
	position: absolute;
	top: 0;
	z-index: 0;
	pointer-events: none;
}

.posto-about__visual--board {
	left: 6px;
	width: 393px;
	max-width: 28%;
}

.posto-about__visual--megaphone {
	right: 0;
	width: 424px;
	max-width: 30%;
	top: -8px;
}

.posto-about__visual--peek-left,
.posto-about__visual--peek-right {
	display: none;
}

.posto-about__visual picture {
	display: block;
}

.posto-about__img {
	display: block;
	width: 100%;
	height: auto;
}

.posto-about__copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: 100%;
	max-width: 660px;
	padding: 12px 16px 0;
}

.posto-about__eyebrow {
	margin: 0 0 28px;
	font-size: 24px;
	line-height: 1.4;
	color: var(--posto-text);
}

.posto-about__steps {
	margin: 0 0 40px;
	max-width: 360px;
	font-size: 18px;
	line-height: 2;
	color: var(--posto-text);
}

.posto-illust {
	display: none;
}

.posto-about__text {
	margin: 0;
	max-width: 520px;
	font-size: 15px;
	line-height: 2;
	color: #6d6d6d;
}

.posto-about__text-sp {
	display: none;
}

.posto-features__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

.posto-feature-card {
	display: flex;
	flex-direction: column;
	min-height: 500px;
	padding: 36px 28px 28px;
	border-radius: 16px;
	background: #f5f5f5;
	border: 1px solid var(--color-palette-white, #ffffff);
	box-shadow: var(--shadow-md);
}

.posto-feature-card__num {
	margin: 0 0 20px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 48px;
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.4;
	text-align: center;
}

.posto-feature-card__num--pink {
	color: #d20b8c;
}

.posto-feature-card__num--blue {
	color: #0097d2;
}

.posto-feature-card__num--orange {
	color: #f1b402;
}

.posto-feature-card__title {
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.posto-feature-card__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: var(--posto-text);
}

.posto-feature-card__visual {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-top: auto;
	padding-top: 28px;
	min-height: 140px;
}

.posto-feature-card__visual--icons {
	gap: 12px;
	align-items: center;
	justify-content: center;
}

.posto-feature-card__icon {
	display: block;
	width: 64px;
	height: 80px;
	object-fit: contain;
}

.posto-feature-card__img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

.posto-feature-card__img--pecomag {
	width: 100%;
	max-width: 260px;
	border-radius: 4px;
}

/* Approach
   ========================================================================== */

.posto-approach__intro {
	display: grid;
	grid-template-columns: minmax(0, 0.78fr) minmax(360px, 1.22fr);
	gap: 8px 12px;
	align-items: start;
	margin-bottom: 48px;
}

.posto-approach__intro .posto-block-lead {
	margin-bottom: 0;
	max-width: 34em;
}

.posto-approach__intro-visual {
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	min-width: 0;
	/* Figma: illustration overhangs wrap slightly */
	margin-right: clamp(-48px, -4vw, -12px);
}

.posto-approach__journey {
	display: block;
	width: 100%;
	max-width: 784px;
	height: auto;
	/* Figma Rectangle 789 left fade (269/784) */
	-webkit-mask-image: linear-gradient(
		90deg,
		transparent 0%,
		rgba(0, 0, 0, 0.23) 16.5%,
		#000 34%,
		#000 100%
	);
	mask-image: linear-gradient(
		90deg,
		transparent 0%,
		rgba(0, 0, 0, 0.23) 16.5%,
		#000 34%,
		#000 100%
	);
}

.posto-approach__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	gap: 24px;
}

.posto-approach-card {
	display: flex;
	flex-direction: column;
	padding: 32px;
	border-radius: 20px;
	background: var(--posto-blue-soft);
}

.posto-approach-card--ig {
	grid-column: 1;
	grid-row: 1;
}

.posto-approach-card--line {
	grid-column: 1;
	grid-row: 2;
}

.posto-approach-card--meo {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.posto-approach-card__visual {
	display: flex;
	justify-content: center;
	margin-top: auto;
	padding-top: 28px;
}

.posto-approach-card__img {
	display: block;
	width: min(100%, 382px);
	height: auto;
}

.posto-approach-card__img--line {
	width: min(100%, 329px);
}

.posto-approach-card__label {
	margin: 0 0 2px;
	font-size: 14px;
	font-family: var(--typography-fontFamily-bold);
}

.posto-approach-card--ig .posto-approach-card__label {
	color: var(--posto-pink);
}

.posto-approach-card--line .posto-approach-card__label {
	color: var(--posto-line);
}

.posto-approach-card--meo .posto-approach-card__label {
	color: var(--posto-blue);
}

.posto-approach-card__title {
	margin: 0 0 15px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.posto-approach-card__text,
.posto-approach-card__note-text {
	margin: 0;
	font-size: 18px;
	line-height: 2;
}
.posto-approach-card__note-text {
	color: var(--posto-muted);
	font-size: 14px;line-height: 1.6;
}

.posto-approach-card__note {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(0, 159, 222, 0.25);
}

.posto-approach-card__note-title {
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 700;
}

/* Flow
   ========================================================================== */

.posto-flow__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 66px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

.posto-flow__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 150px;
	margin-bottom: 18px;
	overflow: hidden;
	background: var(--posto-blue-soft);
}

.posto-flow__visual picture {
	display: block;
	width: 100%;
}

.posto-flow__img {
	display: block;
	width: 100%;
	height: auto;
}

.posto-flow__step-num {
	margin: 0;
	font-family: var(--typography-fontFamily-bold);
	font-size: 14px;
	line-height: 1;
	font-weight: var(--typography-fontWeight-bold, 700);
	color: var(--posto-blue);
}

.posto-flow__step-title {
	margin: 0 0 5px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 18px;
	font-weight: var(--typography-fontWeight-bold, 700);
}

.posto-flow__step-text {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
}

.posto-flow__summary {
	margin: 0;
	padding: 20px 28px;
	min-height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: #f0f0f0;
	font-size: 16px;
	line-height: 1.75;
	text-align: center;
}

/* Pecomag / App
   ========================================================================== */

.posto-pecomag__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 550px);
	gap: 40px 48px;
	align-items: start;
}

.posto-pecomag__eyebrow {
	margin: 0 0 16px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 18px;
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.5;
}

.posto-pecomag__text {
	margin: 0 0 32px;
	font-size: 16px;
	line-height: 1.8;
}

.posto-pecomag__panel {
	margin: 0;
	min-width: 0;
}

.posto-pecomag__panel-img {
	display: block;
	width: 100%;
	max-width: 550px;
	height: auto;
	margin-inline: auto;
	border-radius: 16px;
}

.posto-pecomag__perk {
	padding: 28px 28px 32px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--shadow-sm);
}

.posto-pecomag__perk-title {
	margin: 0 0 12px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 18px;
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.5;
}

.posto-pecomag__perk-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.8;
}

.posto-app .posto-section-title--lg {
	font-size: 64px;
}

.posto-app__row {
	display: grid;
	grid-template-columns: minmax(220px, 426px) 1fr;
	gap: 48px;
	align-items: flex-start;
	margin-top: 56px;
}

.posto-app__subtitle {
	margin: 0 0 14px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 18px;
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.4;
}

.posto-app__text {
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
}

.posto-app__phones {
	overflow: visible;
}

.posto-app__phones-track {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: flex-end;
	align-items: flex-start;
	/* drop-shadow 用の余白（overflow と分離） */
	padding: 12px 8px 20px;
	margin: -12px -8px -20px;
}

.posto-app__phones picture {
	display: block;
	flex: 0 0 auto;
	line-height: 0;
}

.posto-app__phone {
	display: block;
	width: 161px;
	height: auto;
	/* Figma: DROP_SHADOW radius 30 / rgba 0 / rgba(0,0,0,0.25) — 透過アセットに対してシルエット影 */
	filter: drop-shadow(0 0 7px rgba(0, 0, 0, 0.15));
}

/* Price
   ========================================================================== */

.posto-price .posto-section-title--lg {
	font-size: 64px;
	margin-bottom: 48px;
}

.posto-price__band {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	max-width: 1000px;
	min-height: 150px;
	margin: 0 auto;
	padding: 28px 48px;
	border: 1px solid #8e8e8e;
	border-radius: 10px;
	background: #fff;
	box-sizing: border-box;
}

.posto-price__item {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 40px;
	font-size: 16px;
	line-height: 1.8;
}

.posto-price__label {
	color: var(--posto-text, #111);
}

.posto-price__amount {
	font-family: var(--typography-fontFamily-bold);
	font-weight: var(--typography-fontWeight-bold, 700);
}

.posto-price__divider {
	width: 1px;
	height: 97px;
	background: #8e8e8e;
}

.posto-price__note {
	margin: 24px 0 0;
	text-align: center;
	font-size: 16px;
	line-height: 1.8;
	color: #6d6d6d;
}

.posto-price__pays {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.posto-price__pays li,
.posto-price__pays picture {
	display: block;
	line-height: 0;
	filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.1));
}

.posto-price__pay {
	display: block;
	width: 103px;
	height: auto;
}

/* Specs / Compare
   ========================================================================== */

.posto-specs .posto-section-title--lg {
	font-size: 64px;
}

.posto-specs__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.posto-specs__col {
	padding: 48px 40px;
	border-radius: 30px;
	background: #f5f5f5;
	border: 2px solid var(--posto-bg);
	box-shadow: 0 8px 24px rgba(17, 17, 17, 0.04);
}

.posto-specs__heading {
	margin: 0 0 24px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 24px;
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.4;
}

.posto-specs__list {
	margin: 0;
}

.posto-specs__list > div {
	padding: 14px 0;
	border-top: 1px solid var(--posto-border);
}

.posto-specs__list > div:last-child {
	border-bottom: 1px solid var(--posto-border);
}

.posto-specs__list dt {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 700;
}

.posto-specs__list dd {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #333;
}

.posto-compare .posto-section-title--lg {
	font-size: 64px;
}

.posto-compare .posto-block-lead {
	margin: 0 auto 48px;
	max-width: 540px;
	font-size: 18px;
	line-height: 2;
	color: #6d6d6d;
}

.posto-compare__scroll {
	position: relative;
	margin: 0 -20px 0 0;
}

.posto-compare__table-wrap {
	overflow: hidden;
	border: 1px solid #a4a4a4;
	border-radius: 30px;
	background: #fff;
}

.posto-compare__table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	font-size: 16px;
	line-height: 1.6;
	background: #fff;
}

.posto-compare__table th,
.posto-compare__table td {
	padding: 28px 20px;
	border: 0;
	border-right: 1px solid #a4a4a4;
	border-bottom: 1px solid #a4a4a4;
	vertical-align: middle;
	text-align: center;
}

.posto-compare__table th:last-child,
.posto-compare__table td:last-child {
	border-right: 0;
}

.posto-compare__table tbody tr:last-child th,
.posto-compare__table tbody tr:last-child td {
	border-bottom: 0;
}

.posto-compare__table thead th {
	background: #fff;
	font-family: var(--typography-fontFamily-bold);
	font-weight: var(--typography-fontWeight-bold, 700);
}

.posto-compare__table .is-highlight {
	background: #e4f7ff;
	color: var(--posto-text, #111);
}

.posto-compare__table thead .is-highlight {
	font-family: var(--typography-fontFamily-bold);
	font-weight: var(--typography-fontWeight-bold, 700);
}

.posto-compare__table tbody .is-highlight {
	font-family: var(--typography-fontFamily-bold);
	font-weight: var(--typography-fontWeight-bold, 700);
}

.posto-compare__table tbody th {
	width: 18%;
	background: #fff;
	font-family: var(--typography-fontFamily-bold);
	font-weight: var(--typography-fontWeight-bold, 700);
	text-align: left;
	padding-left: 32px;
}

.posto-compare__table thead th:nth-child(2),
.posto-compare__table thead th:nth-child(3),
.posto-compare__table tbody td:nth-child(2),
.posto-compare__table tbody td:nth-child(3) {
	width: 24%;
}

.posto-compare__table thead th:last-child,
.posto-compare__table tbody td:last-child {
	width: 26%;
}

/* FAQ / Company / Contact
   ========================================================================== */

.posto-faq {
	background: #fff;
	padding-bottom: 0;
}

.posto-faq .posto-section-title--lg {
	font-size: 64px;
	margin-bottom: 48px;
}

.posto-faq__inner {
	max-width: 820px;
	margin: 0 auto;
}

.posto-faq__list {
	display: grid;
	gap: 40px;
}

.posto-faq__item {
	margin: 0;
}

.posto-faq__q,
.posto-faq__a {
	margin: 0;
	font-size: 20px;
	line-height: 2;
	color: var(--posto-text, #111);
}

.posto-faq__q {
	font-family: var(--typography-fontFamily-bold);
	font-weight: 700;
}

.posto-faq__a {
	margin-top: 8px;
}

.posto-faq__cta {
	position: relative;
	margin-top: 96px;
	min-height: 400px;
	padding: 120px 0 20px;
	overflow: visible;
}

.posto-faq__cta-bg {
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.posto-faq__cta-bg picture,
.posto-faq__cta-bg-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.posto-faq__cta-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 40px 48px;
	align-items: center;
}

.posto-faq__cta-text {
	margin: 0;
	max-width: 576px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 24px;
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 2;
	color: #000;
}

.posto-faq__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 400px;
	max-width: 100%;
	min-height: 120px;
	padding: 24px 32px;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 20px;
	background: rgba(0, 159, 222, 0.4);
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.25);
	color: #fff;
	font-family: var(--typography-fontFamily-bold);
	font-size: 20px;
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.posto-faq__cta-btn:hover {
	opacity: 1;
	background: rgba(0, 159, 222, 0.5);
	border-color: rgba(255, 255, 255, 0.65);
	color: #fff;
}

.posto-faq__copy {
	display: block;
	grid-column: 1 / -1;
	margin: 48px 0 0;
	text-align: center;
}

.posto-faq__copy small {
	font-size: 10px;
	line-height: 1.8;
	color: #000;
}

.posto-company__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}

.posto-company__story {
	margin: 0;
	font-size: 16px;
	line-height: 1.9;
}

.posto-company__table {
	width: 100%;
	border-collapse: collapse;
}

.posto-company__table th,
.posto-company__table td {
	padding: 12px 0;
	border-bottom: 1px solid var(--posto-border);
	text-align: left;
	font-size: 15px;
	vertical-align: top;
}

.posto-company__table th {
	width: 28%;
	font-weight: 700;
}

.posto-contact__inner {
	max-width: 800px;
	padding-top: 48px;
	padding-bottom: 104px;
}

.posto-contact .posto-section-title--lg {
	font-size: 64px;
	margin-bottom: 32px;
}

.posto-contact__lead {
	margin: 0 0 40px;
	text-align: center;
	font-size: 16px;
	line-height: 1.9;
}

/* CF7 form (posto-form / legacy ura-form aliases)
   ========================================================================== */

.posto-form .posto-form__fields,
.posto-form .ura-form__fields {
	display: grid;
	gap: 14px;
}

.posto-form .posto-form__row,
.posto-form .ura-form__row {
	display: grid;
	grid-template-columns: 160px 1fr;
	align-items: stretch;
	border: 1px solid var(--posto-border);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

.posto-form .posto-form__label,
.posto-form .ura-form__label {
	display: flex;
	align-items: center;
	padding: 14px 16px;
	background: #f3f3f3;
	font-weight: 700;
	font-size: 14px;
}

.posto-form .posto-form__label-short,
.posto-form .ura-form__label-short {
	display: none;
}

.posto-form .posto-form__control,
.posto-form .ura-form__control {
	padding: 8px 12px;
}

.posto-form input[type='text'],
.posto-form input[type='email'],
.posto-form input[type='tel'],
.posto-form textarea {
	width: 100%;
	border: 0;
	outline: none;
	background: transparent;
	font: inherit;
	padding: 8px 4px;
}

.posto-form textarea {
	min-height: 140px;
	resize: vertical;
}

.posto-form .posto-form__hint,
.posto-form .ura-form__hint {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--posto-muted);
}

.posto-form .posto-form__privacy,
.posto-form .ura-form__privacy {
	margin-top: 20px;
	padding: 20px;
	border-radius: 12px;
	background: #f3f3f3;
	max-height: 200px;
	overflow: auto;
	font-size: 13px;
	line-height: 1.7;
}

.posto-form .posto-form__privacy-title,
.posto-form .ura-form__privacy-title {
	margin: 0 0 10px;
	font-weight: 700;
	text-align: center;
}

.posto-form .posto-form__actions,
.posto-form .ura-form__actions {
	margin-top: 28px;
	text-align: center;
}

.posto-form .posto-form__submit,
.posto-form .ura-form__submit,
.posto-form input.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: min(100%, 420px);
	min-height: 56px;
	padding: 12px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--posto-blue);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

/* Thanks (conversion)
   ========================================================================== */

.posto-thanks {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(100svh - 118px);
	padding: 80px 0 96px;
	overflow: hidden;
	box-sizing: border-box;
}

.posto-thanks__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.posto-thanks__bg picture,
.posto-thanks__bg-img {
	display: block;
	width: 100%;
	height: 100%;
}

.posto-thanks__bg-img {
	object-fit: cover;
	object-position: center center;
}

.posto-thanks__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 720px;
	text-align: center;
}

.posto-thanks__title {
	margin: 0 0 28px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 36px;
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: 1.8;
	color: var(--posto-text);
}

.posto-thanks__email-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 400px);
	min-height: 60px;
	margin: 0 0 24px;
	padding: 12px 20px;
	background: #fff;
	box-sizing: border-box;
}

.posto-thanks__email-wrap[hidden] {
	display: none;
}

.posto-thanks__email {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
	color: var(--posto-text);
	word-break: break-all;
}

.posto-thanks__message {
	margin: 0 0 48px;
	max-width: 40em;
	font-size: 16px;
	line-height: 1.8;
	color: var(--posto-text);
}

.posto-thanks__top {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	box-sizing: border-box;
	width: min(100%, 300px);
	min-height: 70px;
	padding: 12px 20px 12px 40px;
	border-radius: 35px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(17, 17, 17, 0.08);
	font-size: 20px;
	font-weight: 400;
	color: var(--posto-text);
	text-decoration: none;
	white-space: nowrap;
}

.posto-thanks__top:hover {
	color: var(--posto-text);
	opacity: 0.92;
}

.posto-thanks__top-label {
	line-height: 1.2;
}

.posto-thanks__top-arrow {
	display: inline-flex;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--posto-blue);
	position: relative;
}

.posto-thanks__top-arrow::before {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg) translate(-1px, -1px);
}

/* 404（サンクスと同レイアウト + コード表示）
   ========================================================================== */

.posto-notfound {
	/* 背景は .posto-thanks__bg を共用。単色フォールバックのみ上書き */
	background: transparent;
}

.posto-notfound__code {
	margin: 0 0 8px;
	font-family: var(--typography-fontFamily-bold);
	font-size: 20px;
	letter-spacing: 0.08em;
	color: var(--posto-muted);
}

.posto-notfound .posto-thanks__title {
	margin-top: 0;
}

/* Tablet / mobile form column (SP detail in max-width: 767px)
   ========================================================================== */

@media (max-width: 1100px) {
	.posto-header__cta {
		flex-basis: 160px;
		width: 160px;
		font-size: 13px;
	}

	.posto-header__nav {
		gap: 4px 16px;
	}
}

@media (max-width: 1024px) {
	.posto-header__nav {
		gap: 8px 12px;
	}

	.posto-header__nav a:not(.posto-header__cta) {
		font-size: 13px;
	}

	.posto-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(160px, 180px);
		gap: 0 32px;
	}

	.posto-features__grid,
	.posto-approach__intro,
	.posto-approach__grid,
	.posto-flow__steps,
	.posto-specs__grid,
	.posto-company__grid,
	.posto-app__row,
	.posto-pecomag__layout {
		grid-template-columns: 1fr;
	}

	.posto-faq__cta {
		margin-top: 64px;
	}

	.posto-faq__cta-inner {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.posto-faq__cta-btn {
		width: 100%;
		max-width: 400px;
	}

	.posto-price__band {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 28px 24px;
		min-height: 0;
	}

	.posto-price__divider {
		width: 100%;
		height: 1px;
	}

	.posto-price__item {
		gap: 16px;
	}

	.posto-price__pays {
		gap: 12px;
	}

	.posto-about__stage {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 24px;
		min-height: 0;
		padding: 0;
	}

	.posto-about__visual {
		position: static;
		width: min(100%, 320px);
		pointer-events: auto;
	}

	.posto-about__visual--board {
		order: 2;
	}

	.posto-about__copy {
		order: 1;
		padding-top: 0;
	}

	.posto-about__visual--megaphone {
		order: 3;
	}

	.posto-about__eyebrow {
		font-size: 20px;
	}

	.posto-approach-card--ig,
	.posto-approach-card--line,
	.posto-approach-card--meo {
		grid-column: auto;
		grid-row: auto;
	}

	.posto-approach__intro-visual {
		margin-right: 0;
		justify-content: center;
	}

	.posto-approach__journey {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.posto-app__phones-track {
		justify-content: flex-start;
	}

	.posto-hero__chips {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 48px;
	}

	.posto-hero__mascot {
		display: none;
	}
}

@media (max-width: 767px) {
	html {
		/* SP: bar 50 + 余白 16（topbar 非表示） */
		--posto-scroll-pad: 66px;
	}

	.posto-topbar {
		display: none;
	}

	.posto-header__bar {
		align-items: stretch;
		border-bottom: 0;
	}

	.posto-header__inner {
		flex: 1;
		min-height: 50px;
		height: 50px;
		padding-left: 20px;
		padding-right: 8px;
		gap: 8px;
	}

	.posto-header__brand {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		line-height: 1;
	}

	.posto-header__logo {
		height: 21px;
		width: auto;
		max-width: 98px;
	}

	.posto-header__by {
		margin-top: 3px;
		font-size: 8px;
		line-height: 1;
	}

	.posto-header__menu-btn {
		display: inline-flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 2px;
		width: auto;
		min-width: 28px;
		height: 44px;
		margin-left: auto;
		margin-right: 4px;
	}

	.posto-header__cta {
		flex: 0 0 70px;
		width: 70px;
		min-height: 50px;
		height: 50px;
		padding: 8px 4px;
		font-size: 12px;
		font-weight: 400;
		line-height: 1.2;
	}

	.posto-header__cta-pc {
		display: none;
	}

	.posto-header__cta-sp {
		display: block;
	}

	.posto-header__nav {
		display: none;
		position: fixed;
		top: 50px;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 101;
		padding: 0 20px 40px;
		background: var(--posto-blue);
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		overflow-y: auto;
	}

	.posto-header.is-menu-open .posto-header__nav {
		display: flex;
	}

	.posto-header__nav-utils {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px;
		margin: 52px 0 36px;
	}

	.posto-header__nav-utils::before {
		content: '';
		display: block;
		width: 1px;
		height: 12px;
		background: #fff;
	}

	.posto-header__nav-utils a {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		color: #fff;
		font-size: 12px;
		line-height: 1;
		text-decoration: none;
	}

	.posto-header__nav-company {
		position: relative;
		padding-right: 20px;
	}

	.posto-header__nav-company::after {
		content: '';
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 1px;
		height: 12px;
		background: #fff;
	}

	.posto-header__nav-login {
		font-family: var(--typography-fontFamily-bold);
		font-weight: 700;
	}

	.posto-header__nav-company-icon,
	.posto-header__nav-login-icon {
		display: block;
		width: 14px;
		height: 12px;
		flex-shrink: 0;
		filter: brightness(0) invert(1);
	}

	.posto-header__nav > a {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		height: 45px;
		padding: 0;
		color: #fff;
		font-size: 15px;
		line-height: 1;
		text-align: center;
	}

	.posto-header__nav > a:hover {
		color: #fff;
		opacity: 0.85;
	}

	.posto-header__nav-sp {
		display: block;
	}

	.posto-header__close {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
		position: absolute;
		top: 16px;
		right: 18px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		cursor: pointer;
	}

	.posto-header__close-icon {
		position: relative;
		width: 17px;
		height: 17px;
	}

	.posto-header__close-icon::before,
	.posto-header__close-icon::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		width: 22px;
		height: 2px;
		background: #fff;
	}

	.posto-header__close-icon::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.posto-header__close-icon::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.posto-header__close-label {
		font-size: 10px;
		line-height: 1;
		letter-spacing: 0.18em;
	}

	/* Hero SP — title | media 左右割、lead/CTA はその下 */
	.posto-hero {
		margin-top: 0;
		padding: 0 0 40px;
	}

	.posto-hero > .posto-wrap,
	.posto-hero__grid.posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-hero__bg {
		height: 720px;
		overflow: hidden;
	}

	.posto-hero__bg picture,
	.posto-hero__bg img {
		display: block;
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		margin-left: 0;
		object-fit: cover;
		object-position: center top;
	}

	.posto-hero__grid {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		padding-top: 28px;
		min-height: 0;
	}

	.posto-hero__top {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
	}

	.posto-hero__title {
		flex: 0 1 168px;
		width: 168px;
		margin: 0;
		font-size: 24px;
		line-height: 1.4;
		font-family: var(--typography-fontFamily-bold);
	}

	.posto-hero__title-pc {
		display: none;
	}

	.posto-hero__title-sp {
		display: block;
	}

	.posto-hero__media {
		grid-column: auto;
		grid-row: auto;
		position: static;
		flex: 0 0 166px;
		width: 166px;
		padding-top: 0;
		justify-content: flex-end;
		pointer-events: none;
	}

	.posto-phone {
		width: 166px;
		aspect-ratio: 166 / 338;
	}

	.posto-hero__lead {
		grid-column: auto;
		width: 100%;
		max-width: 276px;
		margin: 0;
		font-size: 14px;
		line-height: 1.8;
	}

	.posto-hero__consult {
		grid-column: auto;
		min-width: 0;
		width: 181px;
		min-height: 50px;
		padding: 10px 14px 10px 20px;
		font-size: 14px;
		white-space: nowrap;
	}

	.posto-hero__consult-label {
		white-space: nowrap;
	}

	.posto-hero__consult-arrow {
		width: 24px;
		height: 24px;
	}

	/* Figma: humhumkun x116 y968 w161 h133 — チップ(y1101)上端に乗る
	   margin は collapse するため lower の padding で確保 */
	.posto-hero__lower {
		padding-top: 100px;
	}

	.posto-hero__mascot {
		display: block;
		top: 19px; /* CTA〜マスコット間 ≈19px（152 - 133） */
		bottom: auto;
		left: 50%;
		transform: translateX(-50%);
		width: 161px;
		height: 133px;
		z-index: 0;
	}

	.posto-hero__mascot picture,
	.posto-hero__mascot-img {
		width: 161px;
		height: 133px;
		object-fit: contain;
		object-position: bottom center;
	}

	.posto-hero__chips {
		grid-template-columns: 1fr;
		width: 100%;
		max-width: 353px;
		margin: 0 auto;
		padding: 36px 20px 24px;
		gap: 28px;
		justify-items: center;
	}

	.posto-chip {
		width: 197px;
	}

	.posto-chip__laurel {
		width: 39px;
		height: 82px;
		flex-basis: 39px;
	}

	.posto-hero__note {
		font-size: 12px;
		line-height: 1.4;
		text-align: center;
	}

	.posto-about,
	.posto-features,
	.posto-approach,
	.posto-flow,
	.posto-pecomag,
	.posto-app,
	.posto-price,
	.posto-specs,
	.posto-compare,
	.posto-faq,
	.posto-company,
	.posto-contact {
		padding: 64px 0;
	}

	/* Features SP — 縦積みカードを Figma 寄せ（絵文字なし） */
	.posto-features {
		overflow: visible;
	}

	.posto-features > .posto-wrap {
		/* Figma: カード x20 w353 → 左右 20px。shadow(blur20) が切れないよう visible */
		padding-left: 20px;
		padding-right: 20px;
		overflow: visible;
	}

	.posto-features .posto-section-title--lg {
		margin: 0 0 35px;
		font-size: 36px;
		line-height: 1.4;
	}

	.posto-features__grid {
		gap: 29px;
		width: 100%;
		max-width: none;
		margin: 0;
		/* カード間の shadow 用に上下へわずかな余白 */
		padding: 4px 0 12px;
		overflow: visible;
	}

	.posto-feature-card {
		min-height: 500px;
		padding: 45px 43px 28px;
		border-radius: 10px;
		border: 0;
		/* Figma: DROP_SHADOW blur 20 / #000 25% / offset 0 */
		box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
		background: #f5f5f5;
		text-align: left;
	}

	.posto-feature-card__num {
		margin: 0 0 20px;
		text-align: center;
	}

	.posto-feature-card__title {
		margin: 0 0 20px;
		max-width: 260px;
		text-align: left;
	}

	.posto-feature-card__text {
		margin: 0;
		max-width: 260px;
		font-size: 15px;
		line-height: 1.6;
		color: #6d6d6d;
		text-align: left;
	}

	.posto-feature-card__visual {
		padding-top: 44px;
	}

	/* Approach SP — テキスト中心の縦積み（ジャーニー／カード画像なし） */
	.posto-approach > .posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-approach__intro {
		display: block;
		margin-bottom: 27px;
	}

	.posto-approach__intro-visual {
		display: none;
	}

	.posto-approach .posto-block-num {
		margin: 0 0 10px;
		font-size: 96px;
		font-weight: var(--typography-fontWeight-medium, 400);
		line-height: 1;
		text-align: left;
	}

	.posto-approach .posto-block-title {
		margin: 0 0 10px;
		max-width: none;
		font-size: 24px;
		line-height: 1.4;
		text-align: left;
	}

	.posto-approach__intro .posto-block-lead {
		margin: 0;
		max-width: none;
		font-size: 16px;
		line-height: 2;
		text-align: left;
	}

	.posto-approach__grid {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.posto-approach-card {
		padding: 30px;
		border-radius: 30px;
		background: #d7ebf2;
		box-shadow: none;
	}

	.posto-approach-card__visual {
		display: none;
	}

	.posto-approach-card__label {
		margin: 0 0 10px;
	}

	.posto-approach-card__title {
		margin: 0 0 10px;
		font-size: 18px;
		line-height: 1.4;
	}

	.posto-approach-card__text {
		font-size: 16px;
		line-height: 2;
	}

	.posto-approach-card__note {
		margin-top: 20px;
		padding-top: 20px;
	}

	.posto-approach-card__note-title {
		margin: 0 0 10px;
		font-size: 14px;
		line-height: 1.4;
	}

	.posto-approach-card__note-text {
		font-size: 14px;
		line-height: 1.6;
	}

	/* Flow SP — Intro + 縦ステップ + summary 寄せ */
	.posto-flow > .posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-flow .posto-block-num {
		margin: 0 0 10px;
		font-family: var(--typography-fontFamily-medium);
		font-size: 96px;
		font-weight: var(--typography-fontWeight-medium, 400);
		line-height: 1;
		text-align: left;
	}

	.posto-flow .posto-block-title {
		margin: 0 0 10px;
		max-width: none;
		font-size: 24px;
		line-height: 1.4;
		text-align: left;
	}

	.posto-flow .posto-block-lead {
		margin: 0 0 24px;
		max-width: none;
		font-size: 16px;
		line-height: 2;
		text-align: left;
	}

	.posto-flow__steps {
		gap: 60px;
		margin: 0 0 30px;
	}

	.posto-flow__visual {
		height: 150px;
		min-height: 150px;
		margin-bottom: 13px;
		border-radius: 0;
		background: #d7ebf2;
	}

	.posto-flow__visual picture {
		display: block;
		width: auto;
		max-width: 250px;
		height: 100%;
	}

	.posto-flow__img {
		width: auto;
		max-width: 250px;
		height: 100%;
		object-fit: contain;
	}

	.posto-flow__step-num {
		margin: 0 0 2px;
	}

	.posto-flow__step-title {
		margin: 0 0 4px;
	}

	.posto-flow__step-text {
		font-size: 16px;
		line-height: 1.6;
		text-align: left;
	}

	.posto-flow__summary {
		display: block;
		min-height: 0;
		padding: 18px;
		border-radius: 10px;
		background: #f5f5f5;
		font-size: 16px;
		line-height: 1.4;
		color: #797979;
		text-align: left;
	}

	/* Pecomag SP — Intro + フラット特典 + フルブリードパネル */
	.posto-pecomag {
		padding-bottom: 0;
	}

	.posto-pecomag > .posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-pecomag .posto-block-num {
		margin: 0 0 10px;
		font-family: var(--typography-fontFamily-medium);
		font-size: 96px;
		font-weight: var(--typography-fontWeight-medium, 400);
		line-height: 1;
		text-align: left;
	}

	.posto-pecomag .posto-block-title {
		margin: 0 0 33px;
		max-width: none;
		font-size: 24px;
		line-height: 1.4;
		text-align: left;
	}

	.posto-pecomag__layout {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.posto-pecomag__eyebrow {
		margin: 0 0 5px;
		font-size: 18px;
		line-height: 1.4;
		text-align: left;
	}

	.posto-pecomag__text {
		margin: 0 0 59px;
		font-size: 16px;
		line-height: 1.6;
		text-align: left;
	}

	.posto-pecomag__perk {
		margin: 0 0 24px;
		padding: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.posto-pecomag__perk-title {
		margin: 0 0 10px;
		font-size: 18px;
		line-height: 1.4;
	}

	.posto-pecomag__perk-text {
		font-size: 16px;
		line-height: 1.6;
	}

	.posto-pecomag__panel {
		width: calc(100% + 40px);
		max-width: none;
		margin-left: -20px;
		margin-right: -20px;
		background: #e9f0f2;
	}

	/* SP専用書き出し（393×412・角丸なし・フルブリード） */
	.posto-pecomag__panel-img {
		width: 100%;
		max-width: none;
		height: auto;
		margin: 0;
		border-radius: 0;
		aspect-ratio: 393 / 412;
	}

	/* App SP — 見出し36 / リード左寄せ / 端末横並び */
	.posto-br-sp {
		display: inline;
	}

	.posto-br-pc {
		display: none;
	}

	.posto-app > .posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
		overflow: visible;
	}

	.posto-app .posto-section-title--lg {
		margin: 0 0 25px;
		font-size: 36px;
		line-height: 1.4;
		text-align: center;
	}

	.posto-app .posto-block-lead,
	.posto-app .posto-block-lead--center {
		margin: 0 0 30px;
		max-width: none;
		font-size: 16px;
		line-height: 2;
		text-align: left;
	}

	.posto-app__row {
		display: flex;
		flex-direction: column;
		gap: 28px;
		margin-top: 0;
	}

	.posto-app__row + .posto-app__row {
		margin-top: 51px;
	}

	.posto-app__subtitle {
		margin: 0 0 10px;
		font-size: 18px;
		line-height: 1.4;
		text-align: left;
	}

	.posto-app__text {
		margin: 0;
		font-size: 16px;
		line-height: 1.6;
		text-align: left;
	}

	.posto-app__phones {
		width: calc(100% + 20px);
		max-width: none;
		margin-right: -20px;
		margin-left: 0;
		/* 影の余白は overflow 要素側に置く（子の padding では切れない） */
		padding: 12px 20px 20px 16px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.posto-app__phones::-webkit-scrollbar {
		display: none;
	}

	.posto-app__phones-track {
		flex-wrap: nowrap;
		gap: 51px;
		justify-content: flex-start;
		width: max-content;
		padding: 0;
		margin: 0;
	}

	.posto-app__phone {
		flex: 0 0 auto;
		width: 161px;
	}

	/* Price SP — 見出し36 / 縦帯 / 注記左寄せ / ロゴ3列 */
	.posto-price > .posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-price .posto-section-title--lg {
		margin: 0 0 51px;
		font-size: 36px;
		line-height: 1.4;
		text-align: center;
	}

	.posto-price__band {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 0;
		width: 100%;
		max-width: none;
		min-height: 244px;
		margin: 0;
		padding: 50px 40px;
		box-sizing: border-box;
	}

	.posto-price__band > .posto-price__divider {
		display: block;
		align-self: stretch;
		width: 100%;
		height: 1px;
		margin: 43px 0;
		padding: 0;
		border: 0;
		background: #8e8e8e;
	}

	.posto-price__item {
		justify-content: center;
		gap: 56px;
		font-size: 16px;
		line-height: 1.8;
	}

	.posto-price__label {
		color: #999;
	}

	.posto-price__amount {
		color: #000;
	}

	.posto-price__note {
		margin: 13px 0 0;
		font-size: 16px;
		line-height: 1.8;
		color: #999;
		text-align: left;
	}

	.posto-price__pays {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		row-gap: 16px;
		column-gap: 0;
		margin: 13px 0 0;
	}

	.posto-price__pays li {
		flex: 0 0 103px;
		width: 103px;
	}

	.posto-price__pay {
		width: 100%;
		height: auto;
	}

	/* Specs SP — 見出し36 / カード縦積み / リスト線なし */
	.posto-specs {
		overflow: visible;
	}

	.posto-specs > .posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
		overflow: visible;
	}

	.posto-specs .posto-section-title--lg {
		margin: 0 0 38px;
		font-size: 36px;
		line-height: 1.4;
		text-align: center;
	}

	.posto-specs__grid {
		display: flex;
		flex-direction: column;
		gap: 32px;
	}

	.posto-specs__col {
		padding: 42px 30px 30px;
		border-radius: 30px;
		background: #f5f5f5;
		box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
	}

	.posto-specs__heading {
		margin: 0 0 26px;
		font-size: 24px;
		line-height: 1.4;
	}

	.posto-specs__list > div {
		padding: 0 0 25px;
		border-top: 0;
		border-bottom: 0;
	}

	.posto-specs__list > div:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.posto-specs__list dt {
		margin: 0 0 5px;
		font-size: 16px;
		font-family: var(--typography-fontFamily-bold);
		line-height: 1.4;
		color: #000;
	}

	.posto-specs__list dd {
		margin: 0;
		font-size: 16px;
		line-height: 1.6;
		color: #000;
	}

	/* Compare SP — sticky先頭列 / 横スクロール示唆 / 列幅Figma寄せ */
	.posto-compare > .posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-compare .posto-section-title--lg {
		margin: 0 0 28px;
		font-size: 36px;
		line-height: 1.4;
		text-align: center;
	}

	.posto-compare .posto-block-lead,
	.posto-compare .posto-block-lead--center {
		margin: 0 0 41px;
		max-width: none;
		font-size: 16px;
		line-height: 2;
		color: #000;
		text-align: left;
	}

	.posto-compare__scroll::after {
		content: '';
		position: absolute;
		top: 1px;
		/* wrap の右枠線(1px)を隠さない */
		right: 1px;
		bottom: 1px;
		z-index: 3;
		width: 40px;
		/* 右端を角丸にしない（続きがあるのに「終端」に見えないように） */
		border-radius: 0;
		pointer-events: none;
		background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95) 60%, #fff);
		opacity: 0;
		transition: opacity 0.2s ease;
	}

	.posto-compare__scroll::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 10px;
		z-index: 4;
		width: 8px;
		height: 8px;
		border-right: 2px solid rgba(0, 0, 0, 0.35);
		border-bottom: 2px solid rgba(0, 0, 0, 0.35);
		transform: translateY(-50%) rotate(-45deg);
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.2s ease;
	}

	.posto-compare__scroll.is-scrollable:not(.is-at-end)::after,
	.posto-compare__scroll.is-scrollable:not(.is-at-end)::before {
		opacity: 1;
	}

	.posto-compare__table-wrap {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		/* 続きがある間は右角丸なし。終端でのみ四隅（右角丸が見える） */
		border-radius: 30px 0 0 30px;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.posto-compare__scroll.is-scrollable.is-at-end .posto-compare__table-wrap,
	.posto-compare__scroll:not(.is-scrollable) .posto-compare__table-wrap {
		border-radius: 30px;margin-right: 20px;
	}

	.posto-compare__table {
		width: max-content;
		min-width: 100%;
		max-width: none;
		table-layout: auto;
		border-collapse: separate;
		border-spacing: 0;
		font-size: 16px;
		line-height: 1.2;
	}

	.posto-compare__col--label {
		width: 0;
	}

	.posto-compare__col--other,
	.posto-compare__col--self,
	.posto-compare__col--posto {
		width: 240px;
		min-width: 240px;
	}

	.posto-compare__table th,
	.posto-compare__table td {
		padding: 20px 16px;
		line-height: 1.2;
		border-right: 1px solid #a4a4a4;
		border-bottom: 1px solid #a4a4a4;
	}

	.posto-compare__table thead th {
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.posto-compare__table th:last-child,
	.posto-compare__table td:last-child {
		border-right: 0;
	}

	.posto-compare__table tbody tr:last-child th,
	.posto-compare__table tbody tr:last-child td {
		border-bottom: 0;
	}

	/* 1列目: 改行なしの最小幅 + sticky。区切りは box-shadow でスクロール中も維持 */
	.posto-compare__table thead th:first-child,
	.posto-compare__table tbody th {
		position: sticky;
		left: 0;
		z-index: 2;
		width: 0;
		max-width: none;
		padding: 20px 8px 20px 12px;
		white-space: nowrap;
		background: #fff;
		border-right: 0;
		/* sticky 配下で border が隣セルに隠れるため shadow で描画 */
		box-shadow: 1px 0 0 #a4a4a4;
	}

	.posto-compare__table thead th:first-child {
		z-index: 3;
		padding-top: 28px;
		padding-bottom: 28px;
		border-bottom: 1px solid #a4a4a4;
		box-shadow: 1px 0 0 #a4a4a4;
	}

	.posto-compare__table tbody .is-highlight {
		font-family: var(--typography-fontFamily-medium);
		font-weight: var(--typography-fontWeight-medium, 400);
	}

	.posto-compare__table thead .is-highlight {
		font-family: var(--typography-fontFamily-bold);
		font-weight: var(--typography-fontWeight-bold, 700);
	}

	/* FAQ / CTA / Footer SP */
	.posto-faq {
		padding-bottom: 0;
	}

	.posto-faq > .posto-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-faq .posto-section-title--lg {
		margin: 0 0 45px;
		font-size: 36px;
		line-height: 1.4;
		text-align: center;
	}

	.posto-faq__inner {
		max-width: none;
	}

	.posto-faq__list {
		gap: 40px;
	}

	.posto-faq__q,
	.posto-faq__a {
		font-size: 16px;
		line-height: 1.6;
	}

	.posto-faq__a {
		margin-top: 8px;
	}

	.posto-faq__cta {
		display: flex;
		flex-direction: column;
		margin-top: 64px;
		padding: 26px 0 0;
		min-height: 501px;
		overflow: hidden;
	}

	.posto-faq__cta-bg {
		display: block;
		position: absolute;
		inset: 0;
		z-index: 0;
		pointer-events: none;
	}

	.posto-faq__cta-bg picture,
	.posto-faq__cta-bg-img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}

	.posto-faq__cta-inner {
		position: relative;
		z-index: 1;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		flex: 1 1 auto;
		gap: 26px;
		box-sizing: border-box;
		min-height: 501px;
		padding: 0 20px 36px;
	}

	.posto-faq__cta-text {
		max-width: none;
		font-family: var(--typography-fontFamily-bold);
		font-size: 20px;
		font-weight: var(--typography-fontWeight-bold, 700);
		line-height: 2;
		color: #000;
		text-align: left;
	}

	.posto-faq__cta-btn {
		width: 100%;
		max-width: none;
		height: 120px;
		min-height: 120px;
		padding: 0 20px;
		border: 2px solid rgba(255, 255, 255, 0.5);
		border-radius: 20px;
		background: rgba(0, 159, 222, 0.4);
		box-shadow: 0 0 30px rgba(0, 0, 0, 0.25);
		font-size: 20px;
		line-height: 1.2;
		white-space: normal;
	}

	.posto-faq__cta-btn:hover {
		opacity: 1;
		background: rgba(0, 159, 222, 0.5);
		border-color: rgba(255, 255, 255, 0.65);
		color: #fff;
	}

	.posto-faq__copy {
		display: block;
		margin: auto 0 0;
		padding: 0;
		text-align: center;
	}

	/* About SP — 左右peek + 左寄せコピー */
	.posto-about {
		position: relative;
		overflow: hidden;
		padding-top: 48px;
		padding-bottom: 80px;
	}

	.posto-about > .posto-wrap {
		position: relative;
		z-index: 1;
		/* タイトルをpeek下端付近へ（Figma: peek y1608 / title y1801） */
		padding-top: 140px;
	}

	.posto-about .posto-section-title--lg {
		margin: 0;
		font-size: 40px;
		line-height: 1.4;
	}

	.posto-about__stage {
		display: block;
		position: relative;
		min-height: 0;
		padding: 0;
		width: 100%;
	}

	.posto-about__visual--board,
	.posto-about__visual--megaphone {
		display: none;
	}

	.posto-about__visual--peek-left,
	.posto-about__visual--peek-right {
		display: block;
		position: absolute;
		z-index: 0;
		pointer-events: none;
		max-width: none;
	}

	.posto-about__visual--peek-left .posto-about__img,
	.posto-about__visual--peek-right .posto-about__img,
	.posto-about__visual--peek-left picture,
	.posto-about__visual--peek-right picture {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.posto-about__visual--peek-left .posto-about__img,
	.posto-about__visual--peek-left picture img {
		object-position: left center;
	}

	.posto-about__visual--peek-right .posto-about__img,
	.posto-about__visual--peek-right picture img {
		object-position: right center;
	}

	/* Figma(x-88 / x211)より中央へ少し寄せて、タイトル周りに密着 */
	.posto-about__visual--peek-left {
		left: 0;
		top: 0;
		width: 232px;
		height: 220px;
	}

	.posto-about__visual--peek-right {
		right: 0;
		top: 14px;
		width: 232px;
		height: 192px;
	}

	.posto-about__copy {
		align-items: flex-start;
		text-align: left;
		max-width: none;
		width: 100%;
		padding: 33px 20px 0;
		box-sizing: border-box;
	}

	.posto-about__eyebrow {
		margin: 0 0 29px;
		max-width: 353px;
		font-size: 24px;
		line-height: 1.4;
		text-align: left;
	}

	.posto-about__steps {
		margin: 0 0 20px;
		max-width: 320px;
		font-size: 16px;
		line-height: 2;
		text-align: left;
	}

	.posto-about__text {
		max-width: 353px;
		font-size: 15px;
		line-height: 2;
		text-align: left;
		color: #6d6d6d;
	}

	.posto-about__text-pc {
		display: none;
	}

	.posto-about__text-sp {
		display: inline;
	}

	/* Contact SP — 見出し24 / リード左寄せ / ピル型フォーム */
	.posto-contact {
		padding: 48px 0 64px;
	}

	.posto-contact__inner.posto-wrap,
	.posto-contact .posto-contact__inner {
		max-width: none;
		padding-top: 24px;
		padding-bottom: 40px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-contact .posto-section-title--lg {
		margin: 0 0 24px;
		font-size: 24px;
		line-height: 1.8;
		letter-spacing: 0;
		text-align: center;
	}

	.posto-contact__lead {
		margin: 0 0 50px;
		font-family: var(--typography-fontFamily-medium);
		font-size: 16px;
		font-weight: var(--typography-fontWeight-medium, 400);
		line-height: 1.8;
		text-align: left;
		color: #000;
	}

	.posto-form .posto-form__fields,
	.posto-form .ura-form__fields {
		gap: 20px;
	}

	.posto-form .posto-form__row,
	.posto-form .ura-form__row {
		grid-template-columns: 100px 1fr;
		min-height: 50px;
		border-color: #bebebe;
		border-radius: 45px;
	}

	.posto-form .posto-form__row--message,
	.posto-form .ura-form__row--message {
		height: 236px;
		min-height: 236px;
		border-radius: 25px;
		align-items: stretch;
	}

	.posto-form .posto-form__label,
	.posto-form .ura-form__label {
		padding: 0 12px;
		border-right: 1px solid #bebebe;
		background: #f6f6f6;
		font-family: var(--typography-fontFamily-medium);
		font-size: 12px;
		font-weight: var(--typography-fontWeight-medium, 400);
		line-height: 1;
	}

	.posto-form .posto-form__row--message .posto-form__label,
	.posto-form .ura-form__row--message .ura-form__label,
	.posto-form .posto-form__row--message .ura-form__label {
		min-height: 0;
		height: 100%;
		padding-top: 19px;
		align-items: flex-start;
	}

	.posto-form .posto-form__control,
	.posto-form .ura-form__control {
		padding: 0 14px;
		display: flex;
		align-items: center;
		min-width: 0;
	}

	.posto-form .posto-form__row--message .posto-form__control,
	.posto-form .ura-form__row--message .ura-form__control {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		height: 100%;
		min-height: 0;
		padding-top: 13px;
		padding-bottom: 12px;
		box-sizing: border-box;
	}

	.posto-form input[type='text'],
	.posto-form input[type='email'],
	.posto-form input[type='tel'],
	.posto-form textarea {
		padding: 0;
		font-size: 14px;
		line-height: 1.4;
	}

	.posto-form textarea {
		min-height: 0;
		flex: 1 1 auto;
		height: auto;
	}

	.posto-form .posto-form__hint,
	.posto-form .ura-form__hint {
		margin: 0 0 6px;
		font-size: 14px;
		line-height: 1.8;
		color: #9d9d9d;
	}

	.posto-form .posto-form__label-full,
	.posto-form .ura-form__label-full {
		display: none;
	}

	.posto-form .posto-form__label-short,
	.posto-form .ura-form__label-short {
		display: inline;
	}

	.posto-form .posto-form__privacy,
	.posto-form .ura-form__privacy {
		margin-top: 0;
		padding: 20px 16px;
		border: 1px solid #bebebe;
		border-radius: 25px;
		background: #fff;
		max-height: 164px;
		font-size: 12px;
		line-height: 1.8;
		color: #8e8e8e;
	}

	.posto-form .posto-form__privacy-title,
	.posto-form .ura-form__privacy-title {
		margin: 0 0 14px;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.8;
		color: #000;
		text-align: center;
	}

	.posto-form .posto-form__privacy-heading,
	.posto-form .ura-form__privacy-heading {
		color: #000;
	}

	.posto-form .posto-form__actions,
	.posto-form .ura-form__actions {
		margin-top: 20px;
	}

	.posto-form .posto-form__submit,
	.posto-form .ura-form__submit,
	.posto-form input.wpcf7-submit {
		width: 100%;
		min-width: 0;
		min-height: 50px;
		height: 50px;
		padding: 0 16px;
		border-radius: 45px;
		font-family: var(--typography-fontFamily-medium);
		font-size: 12px;
		font-weight: var(--typography-fontWeight-medium, 400);
		line-height: 1;
	}

	.posto-thanks {
		min-height: calc(100svh - 50px);
		padding: 56px 0 72px;
	}

	.posto-thanks__bg-img {
		object-position: 62% center;
	}

	.posto-thanks__inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.posto-thanks__title {
		margin-bottom: 20px;
		font-size: 28px;
		line-height: 1.5;
	}

	.posto-thanks__email-wrap {
		width: 100%;
		min-height: 52px;
		margin-bottom: 16px;
		padding: 10px 16px;
	}

	.posto-thanks__email {
		font-size: 14px;
	}

	.posto-thanks__message {
		margin-bottom: 36px;
		font-size: 14px;
		text-align: left;
	}

	.posto-thanks__top {
		width: min(100%, 280px);
		min-height: 56px;
		padding: 10px 16px 10px 28px;
		font-size: 16px;
	}

	.posto-thanks__top-arrow {
		width: 36px;
		height: 36px;
	}

	body.posto-menu-lock {
		overflow: hidden;
	}
}
