.sfm-enabled .saku-breadcrumbs,
.sfm-enabled .saku-generic-hero,
.sfm-enabled .rakko-market-auto-note,
.sfm-enabled #swell-lp-fv-btn,
.sfm-enabled .mobile-cta {
	display: none;
}

.sfm-enabled .saku-page-content {
	padding: 0;
}

.sfm-enabled .saku-page-content > .shell.saku-narrow {
	width: 100%;
	max-width: none;
	margin: 0;
}

.sfm-enabled .saku-page-content .entry-content > * {
	max-width: none;
}

.sfm-page {
	--sfm-ink: #07182b;
	--sfm-text: #35485b;
	--sfm-paper: #fff;
	--sfm-mist: #f3f7f8;
	--sfm-line: #c9d7df;
	--sfm-teal: #00a7a5;
	--sfm-teal-dark: #007f80;
	--sfm-lime: #c8f25b;
	--sfm-coral: #ff624c;
	--sfm-motion-ease: cubic-bezier(.22, .7, .2, 1);
	--sfm-scroll-progress: 0;
	--sfm-shell: min(1320px, calc(100vw - 80px));
	width: 100%;
	margin: 0;
	color: var(--sfm-ink);
	background: var(--sfm-paper);
	font-family: var(--font-geist-sans), "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

.sfm-scroll-progress {
	position: fixed;
	z-index: 9998;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	pointer-events: none;
}

.admin-bar .sfm-scroll-progress {
	top: 32px;
}

.sfm-scroll-progress > span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--sfm-teal);
	box-shadow: 5px 0 0 var(--sfm-lime);
	transform: scaleX(var(--sfm-scroll-progress));
	transform-origin: left center;
}

.sfm-page *,
.sfm-page *::before,
.sfm-page *::after {
	box-sizing: border-box;
}

.sfm-page h1,
.sfm-page h2,
.sfm-page h3,
.sfm-page p,
.sfm-page ul,
.sfm-page ol {
	margin-top: 0;
}

.sfm-shell {
	width: var(--sfm-shell);
	margin-inline: auto;
}

.sfm-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--sfm-line);
}

.sfm-grid {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(rgba(42, 104, 132, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(42, 104, 132, .08) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 90%, transparent);
}

.sfm-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(340px, .55fr);
	align-items: center;
	gap: clamp(54px, 7vw, 110px);
	padding-block: clamp(86px, 9vw, 138px);
}

.sfm-kicker {
	margin-bottom: 26px;
	color: var(--sfm-teal-dark);
	font-family: var(--font-geist-mono), monospace;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
}

.sfm-hero h1 {
	max-width: 900px;
	margin-bottom: 30px;
	font-size: clamp(47px, 5vw, 76px);
	font-weight: 880;
	line-height: 1.07;
	letter-spacing: -.065em;
	text-wrap: balance;
}

.sfm-hero h1 em {
	font-style: normal;
	color: var(--sfm-teal-dark);
}

.sfm-hero__line {
	display: block;
	white-space: nowrap;
}

.sfm-hero__free {
	position: relative;
	z-index: 0;
	display: inline-block;
	isolation: isolate;
	padding-inline: .035em;
	color: var(--sfm-ink);
	white-space: nowrap;
}

.sfm-hero__free::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -.025em;
	bottom: .04em;
	left: -.025em;
	height: .3em;
	background: var(--sfm-lime);
	transform: scaleX(0);
	transform-origin: left center;
	animation: sfm-marker-draw 820ms .78s var(--sfm-motion-ease) forwards;
}

.sfm-hero__copy .sfm-kicker {
	animation: sfm-hero-rise 620ms 80ms var(--sfm-motion-ease) both;
}

.sfm-hero h1 {
	animation: sfm-hero-rise 720ms 150ms var(--sfm-motion-ease) both;
}

.sfm-hero__copy > p:last-child {
	animation: sfm-hero-rise 680ms 280ms var(--sfm-motion-ease) both;
}

.sfm-status {
	animation: sfm-status-arrive 760ms 240ms var(--sfm-motion-ease) both;
}

.sfm-hero__copy > p:last-child {
	max-width: 760px;
	margin-bottom: 0;
	color: var(--sfm-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 2;
}

.sfm-status {
	display: flex;
	min-height: 420px;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	padding: clamp(30px, 4vw, 54px);
	border: 1px solid var(--sfm-ink);
	background: rgba(255, 255, 255, .92);
	text-align: center;
}

.sfm-status > .sfm-status__heading {
	font-size: 14px;
	font-weight: 800;
}

.sfm-status > .sfm-status__label {
	display: grid;
	min-height: 86px;
	place-items: center;
	margin-top: 22px;
	color: #fff;
	background: var(--sfm-teal-dark);
	font-size: clamp(30px, 3vw, 46px);
	letter-spacing: -.04em;
}

.sfm-status.is-reviewing > .sfm-status__label {
	color: var(--sfm-ink);
	background: var(--sfm-lime);
}

.sfm-status.is-closed > .sfm-status__label {
	background: var(--sfm-ink);
}

.sfm-status__slots {
	position: relative;
	display: inline-flex;
	align-items: baseline;
	align-self: center;
	isolation: isolate;
	margin-top: 20px;
	padding: 0 10px 2px;
	color: var(--sfm-ink);
	line-height: 1;
}

.sfm-status__slots::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: 0;
	bottom: 0;
	left: 0;
	height: 10px;
	background: var(--sfm-lime);
	transform: scaleX(0);
	transform-origin: left center;
	animation: sfm-marker-draw 680ms 700ms var(--sfm-motion-ease) forwards;
}

.sfm-status__number {
	font-size: clamp(46px, 4vw, 62px);
	font-weight: 900;
	letter-spacing: -.08em;
}

.sfm-status__unit {
	margin-left: 4px;
	font-size: clamp(21px, 2vw, 28px);
	font-weight: 900;
}

.sfm-status > .sfm-status__copy {
	margin: 11px 0 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}

.sfm-page .sfm-status > a {
	display: flex;
	min-height: 60px;
	align-items: center;
	justify-content: space-between;
	margin-top: 22px;
	padding-inline: 22px;
	color: #fff;
	background: var(--sfm-teal-dark);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.sfm-page .sfm-status > a:hover {
	background: var(--sfm-ink);
}

.sfm-page .sfm-status > a i {
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	transition: transform 260ms var(--sfm-motion-ease);
}

.sfm-page .sfm-status > a:hover i,
.sfm-page .sfm-status > a:focus-visible i {
	transform: translateX(5px);
}

.sfm-capability {
	position: relative;
	color: #fff;
	background: var(--sfm-ink);
	border-bottom: 5px solid var(--sfm-lime);
}

.sfm-capability__inner {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(54px, 7vw, 112px);
	padding-block: clamp(58px, 6vw, 86px);
}

.sfm-capability__heading {
	padding-left: clamp(24px, 3vw, 42px);
	border-left: 4px solid var(--sfm-lime);
}

.sfm-capability__heading .sfm-kicker {
	margin-bottom: 18px;
	color: var(--sfm-lime);
}

.sfm-capability h2 {
	margin-bottom: 0;
	font-size: clamp(34px, 3.5vw, 54px);
	font-weight: 860;
	line-height: 1.16;
	letter-spacing: -.055em;
}

.sfm-capability h2 em {
	display: block;
	margin-top: .18em;
	color: var(--sfm-lime);
	font-style: normal;
}

.sfm-capability__body > p {
	margin-bottom: 20px;
	color: #d5e0e7;
	font-size: 14px;
	font-weight: 650;
	line-height: 2;
}

.sfm-capability__body ul {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.sfm-capability__body li {
	padding: 9px 13px;
	border: 1px solid rgba(255, 255, 255, .3);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
}

.sfm-capability__body > .sfm-capability__note {
	margin-bottom: 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .2);
	color: #aebfca;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.9;
}

.sfm-motion-ready .sfm-reveal {
	opacity: 0;
	transform: translate3d(0, 26px, 0);
	transition:
		opacity 680ms var(--sfm-motion-ease),
		transform 680ms var(--sfm-motion-ease);
	transition-delay: var(--sfm-reveal-delay, 0ms);
}

.sfm-motion-ready .sfm-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@keyframes sfm-hero-rise {
	from {
		opacity: 0;
		transform: translate3d(0, 22px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes sfm-status-arrive {
	from {
		opacity: 0;
		transform: translate3d(24px, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes sfm-marker-draw {
	to {
		transform: scaleX(1);
	}
}

.sfm-section {
	padding-block: clamp(86px, 8.5vw, 130px);
}

.sfm-section-title,
.sfm-faq h2,
.sfm-form-heading h2 {
	margin-bottom: 46px;
	font-size: clamp(32px, 3.6vw, 54px);
	font-weight: 850;
	line-height: 1.15;
	letter-spacing: -.055em;
}

.sfm-reason {
	border-bottom: 1px solid var(--sfm-line);
	background: var(--sfm-mist);
}

.sfm-reason__grid {
	display: grid;
	grid-template-columns: minmax(430px, .9fr) minmax(0, 1.1fr);
	align-items: start;
	gap: clamp(60px, 6vw, 100px);
}

.sfm-reason h2 {
	margin-bottom: 0;
	font-size: clamp(46px, 4vw, 60px);
	font-weight: 860;
	line-height: 1.1;
	letter-spacing: -.06em;
	white-space: nowrap;
}

.sfm-reason__body {
	border-top: 1px solid var(--sfm-ink);
}

.sfm-reason__body > p {
	margin: 0;
	padding: 24px 0;
	border-bottom: 1px solid var(--sfm-line);
	color: var(--sfm-text);
	font-size: 13px;
	line-height: 2;
}

.sfm-reason__body > .sfm-reason__lead {
	color: var(--sfm-ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.75;
}

.sfm-no-charge {
	margin-top: 30px;
	padding: 28px 30px;
	border-left: 4px solid var(--sfm-lime);
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-no-charge strong {
	display: block;
	font-size: 20px;
}

.sfm-no-charge p {
	margin: 12px 0 0;
	color: #c7d3db;
	font-size: 12px;
	line-height: 1.9;
}

.sfm-scope__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--sfm-ink);
	border-left: 1px solid var(--sfm-line);
}

.sfm-scope__grid article {
	min-height: 380px;
	padding: 34px 30px;
	border-right: 1px solid var(--sfm-line);
	border-bottom: 1px solid var(--sfm-line);
}

.sfm-scope__grid h3 {
	margin-bottom: 26px;
	padding-bottom: 18px;
	border-bottom: 2px solid var(--sfm-teal);
	font-size: 21px;
	letter-spacing: -.035em;
}

.sfm-scope__grid ul {
	display: grid;
	gap: 15px;
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.sfm-scope__grid li {
	position: relative;
	padding-left: 25px;
	color: var(--sfm-text);
	font-size: 13px;
	font-weight: 650;
	line-height: 1.7;
}

.sfm-check-list li::before,
.sfm-cross-list li::before {
	position: absolute;
	left: 0;
	font-family: var(--font-geist-mono), monospace;
	font-weight: 900;
}

.sfm-check-list li::before {
	content: "✓";
	color: var(--sfm-teal-dark);
}

.sfm-cross-list li::before {
	content: "×";
	color: var(--sfm-coral);
}

.sfm-scope__note,
.sfm-process__note {
	margin: 24px 0 0;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.9;
}

.sfm-scope__note strong {
	display: block;
	margin-bottom: 5px;
	color: var(--sfm-ink);
}

.sfm-solutions {
	border-top: 1px solid var(--sfm-line);
	background: var(--sfm-mist);
}

.sfm-solutions__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .7fr);
	align-items: end;
	gap: clamp(48px, 7vw, 110px);
	margin-bottom: 54px;
}

.sfm-solutions__heading .sfm-kicker {
	margin-bottom: 18px;
}

.sfm-solutions__heading .sfm-section-title {
	margin-bottom: 0;
}

.sfm-solutions__heading > p {
	margin-bottom: 4px;
	color: var(--sfm-text);
	font-size: 13px;
	font-weight: 650;
	line-height: 2;
}

.sfm-solutions__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 3px solid var(--sfm-teal);
	border-left: 1px solid var(--sfm-line);
}

.sfm-solutions__grid article {
	display: flex;
	min-height: 330px;
	flex-direction: column;
	padding: 34px 30px;
	border-right: 1px solid var(--sfm-line);
	border-bottom: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-solutions__grid article > span,
.sfm-solutions__decision span,
.sfm-paid-path__comparison article > span {
	color: var(--sfm-teal-dark);
	font-family: var(--font-geist-mono), monospace;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .11em;
}

.sfm-solutions__grid h3 {
	margin: 28px 0 18px;
	font-size: 23px;
	letter-spacing: -.04em;
}

.sfm-solutions__grid p {
	margin-bottom: 24px;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.9;
}

.sfm-solutions__grid strong {
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid var(--sfm-line);
	font-size: 11px;
	line-height: 1.7;
}

.sfm-solutions__decision {
	display: grid;
	grid-template-columns: minmax(290px, .75fr) minmax(0, 1.25fr);
	gap: clamp(40px, 7vw, 100px);
	margin-top: 38px;
	padding: 38px 40px;
	border-left: 4px solid var(--sfm-lime);
	background: var(--sfm-ink);
}

.sfm-solutions__decision h3 {
	margin: 16px 0 0;
	color: #fff;
	font-size: 24px;
	line-height: 1.35;
	letter-spacing: -.04em;
}

.sfm-solutions__decision p {
	margin-bottom: 20px;
	color: #c7d3db;
	font-size: 12px;
	line-height: 1.9;
}

.sfm-solutions__decision nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
}

.sfm-solutions__decision a {
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

.sfm-solutions__decision a:hover,
.sfm-solutions__decision a:focus-visible {
	color: var(--sfm-lime);
}

.sfm-paid-path {
	padding-block: clamp(78px, 7.5vw, 116px);
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-paid-path__layout {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(440px, 1.15fr);
	align-items: start;
	gap: clamp(54px, 8vw, 126px);
}

.sfm-paid-path .sfm-kicker {
	color: var(--sfm-lime);
}

.sfm-paid-path h2 {
	margin-bottom: 28px;
	color: #fff;
	font-size: clamp(34px, 3.6vw, 54px);
	font-weight: 860;
	line-height: 1.15;
	letter-spacing: -.055em;
}

.sfm-paid-path__copy > p:last-child {
	max-width: 650px;
	margin-bottom: 0;
	color: #c7d3db;
	font-size: 13px;
	line-height: 2;
}

.sfm-paid-path__panel {
	padding: clamp(28px, 4vw, 46px);
	border: 1px solid #53677a;
	background: #0d2238;
}

.sfm-paid-path__comparison {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 28px;
	border-top: 1px solid #53677a;
	border-left: 1px solid #53677a;
}

.sfm-paid-path__comparison article {
	padding: 24px 22px;
	border-right: 1px solid #53677a;
	border-bottom: 1px solid #53677a;
}

.sfm-paid-path__comparison article > span {
	color: var(--sfm-lime);
}

.sfm-paid-path__comparison strong {
	display: block;
	margin-top: 14px;
	font-size: 15px;
	line-height: 1.5;
}

.sfm-paid-path__comparison p {
	margin: 8px 0 0;
	color: #aebdca;
	font-size: 10px;
	line-height: 1.7;
}

.sfm-paid-path__panel nav {
	display: grid;
	gap: 10px;
}

.sfm-paid-path__panel nav a {
	display: flex;
	min-height: 58px;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	border: 1px solid #53677a;
	color: #fff;
	font-size: 12px;
	font-weight: 850;
	text-decoration: none;
}

.sfm-paid-path__panel nav .sfm-paid-path__primary {
	border-color: var(--sfm-lime);
	color: var(--sfm-ink);
	background: var(--sfm-lime);
}

.sfm-paid-path__panel nav a:hover,
.sfm-paid-path__panel nav a:focus-visible {
	border-color: var(--sfm-teal);
	color: #fff;
	background: var(--sfm-teal-dark);
}

.sfm-paid-path__panel > p {
	margin: 20px 0 0;
	color: #aebdca;
	font-size: 10px;
	line-height: 1.8;
}

.sfm-process {
	background: var(--sfm-mist);
}

.sfm-process ol {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 3px solid var(--sfm-teal);
	list-style: none;
}

.sfm-process li {
	position: relative;
	min-height: 250px;
	padding: 34px 24px;
	border-left: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-process li:last-child {
	border-right: 1px solid var(--sfm-line);
}

.sfm-process li::before {
	content: "";
	position: absolute;
	top: -10px;
	left: -7px;
	width: 13px;
	height: 13px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--sfm-teal);
	box-shadow: 0 0 0 1px var(--sfm-teal);
}

.sfm-process li > span {
	color: var(--sfm-teal-dark);
	font-family: var(--font-geist-mono), monospace;
	font-size: 30px;
	font-weight: 800;
}

.sfm-process li > strong {
	display: block;
	margin-top: 26px;
	font-size: 18px;
}

.sfm-process li > p {
	margin: 14px 0 0;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.8;
}

.sfm-terms {
	padding-block: clamp(70px, 7vw, 100px);
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-terms h2 {
	position: relative;
	width: fit-content;
	margin-bottom: 36px;
	margin-inline: auto;
	padding-bottom: 16px;
	color: #fff;
	font-size: clamp(30px, 3vw, 46px);
	text-align: center;
}

.sfm-terms h2::after {
	content: "";
	position: absolute;
	right: 25%;
	bottom: 0;
	left: 25%;
	height: 3px;
	background: var(--sfm-lime);
}

.sfm-terms__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(201, 215, 223, .35);
	border-left: 1px solid rgba(201, 215, 223, .35);
}

.sfm-terms article {
	min-height: 215px;
	padding: 30px 24px;
	border-right: 1px solid rgba(201, 215, 223, .35);
	border-bottom: 1px solid rgba(201, 215, 223, .35);
}

.sfm-terms h3 {
	margin-bottom: 20px;
	color: var(--sfm-lime);
	font-size: 16px;
}

.sfm-terms p {
	margin-bottom: 0;
	color: #b7c5ce;
	font-size: 12px;
	line-height: 1.9;
}

.sfm-publication {
	border-bottom: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-publication__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
	align-items: end;
	gap: clamp(42px, 6vw, 86px);
	margin-bottom: clamp(52px, 6vw, 82px);
}

.sfm-publication__heading .sfm-section-title {
	margin-bottom: 0;
}

.sfm-publication__heading > p {
	margin-bottom: 0;
	padding-top: 22px;
	border-top: 1px solid var(--sfm-ink);
	color: var(--sfm-text);
	font-size: 13px;
	line-height: 2;
}

.sfm-publication__heading > p strong {
	color: var(--sfm-ink);
}

.sfm-publication__layout {
	display: grid;
	grid-template-columns: minmax(340px, .68fr) minmax(0, 1.32fr);
	align-items: start;
	gap: clamp(40px, 5.5vw, 82px);
}

.sfm-publication__visual figure {
	margin: 0;
	padding: clamp(22px, 3vw, 34px);
	border-top: 3px solid var(--sfm-teal);
	background: var(--sfm-mist);
}

.sfm-publication__visual img {
	display: block;
	width: 100%;
	height: auto;
}

.sfm-publication__flow {
	display: grid;
	margin: 28px 0 0;
	padding: 0;
	border-top: 1px solid var(--sfm-ink);
	list-style: none;
}

.sfm-publication__flow li {
	display: grid;
	grid-template-columns: 38px 78px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	min-height: 74px;
	border-bottom: 1px solid var(--sfm-line);
}

.sfm-publication__flow li > span {
	color: var(--sfm-teal-dark);
	font-family: var(--font-geist-mono), monospace;
	font-size: 11px;
	font-weight: 800;
}

.sfm-publication__flow li > strong {
	font-size: 13px;
}

.sfm-publication__flow li > p {
	margin: 0;
	color: var(--sfm-text);
	font-size: 11px;
	line-height: 1.65;
}

.sfm-publication__matrix table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid var(--sfm-ink);
	border-left: 1px solid var(--sfm-line);
	table-layout: fixed;
}

.sfm-publication__matrix th,
.sfm-publication__matrix td {
	padding: 17px 18px;
	border-right: 1px solid var(--sfm-line);
	border-bottom: 1px solid var(--sfm-line);
	vertical-align: middle;
	text-align: left;
}

.sfm-publication__matrix thead th {
	color: #fff;
	background: var(--sfm-ink);
	font-size: 11px;
	letter-spacing: .04em;
}

.sfm-publication__matrix thead th:nth-child(1) {
	width: 34%;
}

.sfm-publication__matrix thead th:nth-child(2) {
	width: 20%;
}

.sfm-publication__matrix tbody th {
	color: var(--sfm-ink);
	background: var(--sfm-mist);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.6;
}

.sfm-publication__matrix tbody td {
	color: var(--sfm-text);
	font-size: 11px;
	font-weight: 650;
	line-height: 1.65;
}

.sfm-condition {
	position: relative;
	display: inline-block;
	isolation: isolate;
	color: var(--sfm-ink);
	font-size: 11px;
	font-weight: 900;
}

.sfm-condition::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -3px;
	bottom: 0;
	left: -3px;
	height: 6px;
	background: var(--sfm-lime);
}

.sfm-condition.is-optional::after {
	height: 2px;
	background: var(--sfm-teal);
}

.sfm-publication__assurance {
	display: grid;
	grid-template-columns: minmax(230px, .45fr) minmax(0, 1.55fr);
	gap: 28px;
	margin-top: 36px;
	padding: 28px 30px;
	border-left: 5px solid var(--sfm-lime);
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-publication__assurance > strong {
	font-size: 18px;
	line-height: 1.55;
}

.sfm-publication__assurance > p {
	margin: 0;
	color: #cfdae1;
	font-size: 12px;
	line-height: 1.9;
}

.sfm-survey {
	display: grid;
	grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr);
	gap: clamp(40px, 5vw, 72px);
	margin-top: 54px;
	padding-top: 46px;
	border-top: 1px solid var(--sfm-ink);
}

.sfm-survey__intro h3 {
	margin-bottom: 18px;
	font-size: clamp(24px, 2.7vw, 36px);
	line-height: 1.3;
	letter-spacing: -.045em;
}

.sfm-survey__intro p {
	margin-bottom: 0;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.9;
}

.sfm-survey > ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 28px;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--sfm-ink);
	counter-reset: sfm-survey;
	list-style: none;
}

.sfm-survey > ol li {
	position: relative;
	min-height: 82px;
	padding: 20px 10px 18px 38px;
	border-bottom: 1px solid var(--sfm-line);
	color: var(--sfm-text);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
	counter-increment: sfm-survey;
}

.sfm-survey > ol li::before {
	content: counter(sfm-survey, decimal-leading-zero);
	position: absolute;
	top: 21px;
	left: 0;
	color: var(--sfm-teal-dark);
	font-family: var(--font-geist-mono), monospace;
	font-size: 10px;
	font-weight: 900;
}

.sfm-survey__publication {
	grid-column: 2;
	margin: 22px 0 0;
	padding: 20px 22px;
	border-left: 4px solid var(--sfm-lime);
	color: var(--sfm-ink);
	background: var(--sfm-mist);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.85;
}

.sfm-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.sfm-application {
	scroll-margin-top: 100px;
}

.sfm-form-shell {
	max-width: 980px;
}

.sfm-form-heading {
	margin-bottom: 42px;
}

.sfm-form-heading h2 {
	margin-bottom: 18px;
}

.sfm-form-heading p {
	margin-bottom: 0;
	color: var(--sfm-text);
	font-size: 13px;
	line-height: 1.9;
}

.sfm-selection-notice {
	margin-bottom: 34px;
	padding: 24px 28px;
	border-top: 1px solid var(--sfm-line);
	border-right: 1px solid var(--sfm-line);
	border-bottom: 1px solid var(--sfm-line);
	border-left: 5px solid var(--sfm-teal-dark);
	background: var(--sfm-mist);
}

.sfm-selection-notice strong {
	display: block;
	margin-bottom: 9px;
	color: var(--sfm-ink);
	font-size: 16px;
}

.sfm-selection-notice p {
	margin: 0;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.9;
}

.sfm-contact-policy {
	display: grid;
	grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
	gap: clamp(28px, 5vw, 64px);
	margin-bottom: 42px;
	padding: clamp(28px, 4vw, 48px);
	border-left: 5px solid var(--sfm-lime);
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-contact-policy__label {
	grid-column: 1 / -1;
	margin-bottom: -8px;
	color: var(--sfm-lime);
	font-family: var(--font-geist-mono), monospace;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
}

.sfm-contact-policy h3 {
	min-width: 0;
	margin: 0;
	color: #fff;
	font-size: clamp(24px, 2.25vw, 34px);
	line-height: 1.35;
	letter-spacing: -.045em;
	overflow-wrap: anywhere;
}

.sfm-contact-policy__line {
	display: block;
}

.sfm-contact-policy__body {
	border-top: 1px solid rgba(201, 215, 223, .42);
}

.sfm-contact-policy__body p {
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid rgba(201, 215, 223, .25);
	color: #d8e1e7;
	font-size: 13px;
	line-height: 1.9;
}

.sfm-form-wrap {
	border-top: 1px solid var(--sfm-ink);
}

.sfm-page .sfm-form-section {
	display: block;
	margin: 42px 0 0;
	padding: 18px 22px;
	border-right: 1px solid var(--sfm-ink);
	border-left: 5px solid var(--sfm-lime);
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-page .sfm-form-section > p {
	display: flex;
	align-items: baseline;
	gap: 18px;
	width: 100%;
	margin: 0;
}

.sfm-page .sfm-form-wrap .sfm-form-section:first-child {
	margin-top: 0;
}

.sfm-page .sfm-form-section span {
	color: var(--sfm-lime);
	font-family: var(--font-geist-mono), monospace;
	font-size: 11px;
	font-weight: 900;
}

.sfm-page .sfm-form-section strong {
	font-size: 18px;
}

.sfm-page .sfm-form-section small {
	color: #c9d7df;
	font-size: 11px;
	font-weight: 600;
}

.sfm-page .sfm-field {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	scroll-margin-top: 136px;
	border-right: 1px solid var(--sfm-line);
	border-bottom: 1px solid var(--sfm-line);
	border-left: 1px solid var(--sfm-line);
}

.sfm-page .sfm-field > label,
.sfm-page .sfm-field > .sfm-field-label,
.sfm-page .sfm-field > p:first-child {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 7px;
	margin: 0;
	padding: 28px 30px;
	color: var(--sfm-ink);
	background: var(--sfm-mist);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.55;
}

.sfm-page .sfm-field > p:first-child > label,
.sfm-page .sfm-field > p:first-child > .sfm-field-label {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 7px;
	margin: 0;
	color: inherit;
	font: inherit;
}

.sfm-page .sfm-field-title {
	display: block;
}

.sfm-page .sfm-field-help {
	display: block;
	color: #667989;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.65;
}

.sfm-page .sfm-required {
	margin-left: 8px;
	color: var(--sfm-coral);
	font-family: var(--font-geist-mono), monospace;
	font-size: 10px;
}

.sfm-page .sfm-field-control {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: 20px 24px;
}

.sfm-page .sfm-field-control > .sfm-field-help {
	margin: 8px 0 0;
}

.sfm-page .sfm-field-control > p {
	width: 100%;
	margin: 0;
}

.sfm-page .sfm-field input[type="text"],
.sfm-page .sfm-field input[type="email"],
.sfm-page .sfm-field input[type="url"],
.sfm-page .sfm-field select,
.sfm-page .sfm-field textarea {
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--sfm-line);
	border-radius: 0;
	color: var(--sfm-ink);
	background: #fff;
	box-shadow: none;
	font-size: 16px;
}

.sfm-page .sfm-field textarea {
	min-height: 170px;
	resize: vertical;
}

.sfm-page .sfm-field.sfm-has-error,
.sfm-page .sfm-consent.sfm-has-error {
	position: relative;
	z-index: 1;
	border: 2px solid var(--sfm-coral);
	box-shadow: 0 0 0 4px rgba(255, 98, 76, .12);
}

.sfm-page .sfm-field.sfm-has-error > label,
.sfm-page .sfm-field.sfm-has-error > .sfm-field-label,
.sfm-page .sfm-field.sfm-has-error > p:first-child {
	background: #fff1ee;
}

.sfm-page .sfm-field input:focus,
.sfm-page .sfm-field select:focus,
.sfm-page .sfm-field textarea:focus {
	border-color: var(--sfm-teal-dark);
	outline: 3px solid rgba(0, 127, 128, .17);
	outline-offset: 1px;
}

.sfm-page .wpcf7-list-item {
	display: block;
	margin: 0 0 10px;
}

.sfm-page .wpcf7-list-item label {
	display: grid;
	grid-template-columns: 20px 1fr;
	align-items: start;
	gap: 9px;
	font-size: 13px;
	line-height: 1.65;
}

.sfm-page .wpcf7-list-item input {
	margin-top: 4px;
}

.sfm-page .sfm-security-note {
	margin: 20px 0 0;
	padding: 18px 20px;
	border: 1px solid #e5d7ae;
	color: var(--sfm-ink);
	background: #fff9e8;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.7;
}

.sfm-page .sfm-consent {
	margin-top: 22px;
	padding: 22px;
	border: 1px solid var(--sfm-line);
}

.sfm-page .sfm-consent p {
	margin-bottom: 12px;
}

.sfm-page .sfm-no-charge-inline {
	margin: 18px 0 0;
	padding: 18px 20px;
	border-left: 4px solid var(--sfm-lime);
	color: #fff;
	background: var(--sfm-ink);
	font-size: 13px;
	line-height: 1.7;
}

.sfm-page .sfm-submit {
	margin: 24px 0 0;
	text-align: center;
}

.sfm-page .sfm-submit .wpcf7-submit {
	width: 100%;
	min-height: 66px;
	border: 0;
	border-radius: 0;
	color: #fff;
	background: var(--sfm-teal-dark);
	font-size: 15px;
	font-weight: 850;
	cursor: pointer;
}

.sfm-page .sfm-submit .wpcf7-submit:hover {
	background: var(--sfm-ink);
}

.sfm-page .wpcf7-not-valid-tip,
.sfm-page .wpcf7-response-output {
	font-size: 12px;
	line-height: 1.7;
}

.sfm-page .wpcf7-not-valid-tip {
	margin-top: 8px;
	color: #c83022;
	font-weight: 800;
}

.sfm-form-unavailable {
	padding: 44px;
	border: 1px solid var(--sfm-line);
	background: var(--sfm-mist);
	text-align: center;
}

.sfm-form-unavailable strong {
	display: block;
	font-size: 24px;
}

.sfm-form-unavailable p {
	margin: 14px 0 0;
	color: var(--sfm-text);
}

.sfm-faq {
	border-top: 1px solid var(--sfm-line);
	background: var(--sfm-mist);
}

.sfm-faq__grid {
	display: grid;
	grid-template-columns: .65fr 1.35fr;
	gap: 90px;
}

.sfm-faq h2 {
	margin-bottom: 18px;
}

.sfm-faq__grid > div:first-child p {
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.9;
}

.sfm-faq__list {
	border-top: 1px solid var(--sfm-ink);
}

.sfm-faq details {
	border-bottom: 1px solid var(--sfm-line);
}

.sfm-faq summary {
	display: grid;
	min-height: 88px;
	grid-template-columns: 34px minmax(0, 1fr) 20px;
	align-items: center;
	gap: 16px;
	cursor: pointer;
	list-style: none;
}

.sfm-faq summary::-webkit-details-marker {
	display: none;
}

.sfm-faq summary > span {
	color: var(--sfm-teal-dark);
	font-family: var(--font-geist-mono), monospace;
	font-weight: 800;
}

.sfm-faq summary > strong {
	font-size: 14px;
}

.sfm-faq summary > i {
	position: relative;
	width: 18px;
	height: 18px;
}

.sfm-faq summary > i::before,
.sfm-faq summary > i::after {
	content: "";
	position: absolute;
	top: 8px;
	right: 0;
	left: 0;
	height: 2px;
	background: var(--sfm-teal-dark);
}

.sfm-faq summary > i::after {
	transform: rotate(90deg);
}

.sfm-faq details[open] summary > i::after {
	transform: rotate(0);
}

.sfm-faq details > p {
	margin: -2px 0 0;
	padding: 0 52px 30px 50px;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 2;
}

/* Token-protected completion form. */
.sfm-followup-body {
	margin: 0;
	color: #07182b;
	background: #edf3f5;
	font-family: var(--font-geist-sans), "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

.sfm-followup {
	--sfm-ink: #07182b;
	--sfm-text: #35485b;
	--sfm-mist: #f3f7f8;
	--sfm-line: #c9d7df;
	--sfm-teal-dark: #007f80;
	--sfm-lime: #c8f25b;
	--sfm-coral: #ff624c;
	box-sizing: border-box;
	width: min(960px, calc(100vw - 48px));
	margin-inline: auto;
	padding-bottom: 80px;
}

.sfm-followup *,
.sfm-followup *::before,
.sfm-followup *::after {
	box-sizing: border-box;
}

.sfm-followup__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 88px;
	border-bottom: 1px solid var(--sfm-line);
}

.sfm-followup__brand {
	color: var(--sfm-ink);
	font-size: 20px;
	font-weight: 900;
	text-decoration: none;
}

.sfm-followup__header > span {
	color: var(--sfm-teal-dark);
	font-family: var(--font-geist-mono), monospace;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
}

.sfm-followup__intro,
.sfm-followup__panel {
	padding: clamp(56px, 8vw, 90px) clamp(28px, 7vw, 72px);
	border-right: 1px solid var(--sfm-line);
	border-bottom: 1px solid var(--sfm-line);
	border-left: 5px solid var(--sfm-teal-dark);
	background: #fff;
}

.sfm-followup__intro h1,
.sfm-followup__panel h1 {
	margin: 0 0 24px;
	font-size: clamp(36px, 6vw, 64px);
	font-weight: 900;
	line-height: 1.12;
	letter-spacing: -.055em;
}

.sfm-followup__intro > p:last-child,
.sfm-followup__panel p {
	max-width: 690px;
	margin-bottom: 0;
	color: var(--sfm-text);
	font-size: 14px;
	line-height: 2;
}

.sfm-followup__complete {
	margin-top: 60px;
	border-left-color: var(--sfm-lime);
}

.sfm-followup__complete p + p {
	margin-top: 18px;
}

.sfm-followup__error {
	margin: 28px 0 0;
	padding: 18px 22px;
	border-left: 5px solid var(--sfm-coral);
	color: #7b2117;
	background: #fff1ee;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.7;
}

.sfm-followup__preview-note {
	margin: 28px 0 0;
	padding: 16px 20px;
	border-left: 5px solid var(--sfm-lime);
	color: var(--sfm-ink);
	background: #fff;
	font-size: 12px;
	font-weight: 800;
}

.sfm-followup__form {
	margin-top: 34px;
}

.sfm-followup__section {
	margin-top: 28px;
	padding: clamp(28px, 5vw, 48px);
	border: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-followup__section-title {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	margin: 0 0 30px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--sfm-line);
}

.sfm-followup__section-title > span {
	color: var(--sfm-teal-dark);
	font-family: var(--font-geist-mono), monospace;
	font-size: 11px;
	font-weight: 900;
}

.sfm-followup__section-title h2 {
	margin: -5px 0 5px;
	font-size: clamp(24px, 4vw, 34px);
	line-height: 1.25;
	letter-spacing: -.04em;
}

.sfm-followup__section-title p {
	margin: 0;
	color: #667989;
	font-size: 11px;
	font-weight: 700;
}

.sfm-followup__section > label,
.sfm-followup__choices legend {
	display: block;
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 850;
	line-height: 1.65;
}

.sfm-followup__section > label > span {
	margin-left: 8px;
	color: var(--sfm-coral);
	font-size: 10px;
}

.sfm-followup__section textarea,
.sfm-followup__section input[type="text"],
.sfm-followup__section input[type="url"] {
	width: 100%;
	min-height: 56px;
	padding: 14px 16px;
	border: 1px solid var(--sfm-line);
	border-radius: 0;
	color: var(--sfm-ink);
	background: #fff;
	box-shadow: none;
	font: inherit;
	font-size: 16px;
}

.sfm-followup__section textarea {
	resize: vertical;
}

.sfm-followup__section textarea:focus,
.sfm-followup__section input[type="text"]:focus,
.sfm-followup__section input[type="url"]:focus {
	border-color: var(--sfm-teal-dark);
	outline: 3px solid rgba(0, 127, 128, .17);
	outline-offset: 1px;
}

.sfm-followup__help {
	margin: 10px 0 0;
	color: #667989;
	font-size: 11px;
	line-height: 1.8;
}

.sfm-followup__public-note {
	margin-bottom: 28px;
	padding: 22px 24px;
	border-left: 5px solid var(--sfm-lime);
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-followup__public-note strong {
	display: block;
	margin-bottom: 8px;
	font-size: 15px;
}

.sfm-followup__public-note p {
	margin: 0;
	color: #d8e1e7;
	font-size: 11px;
	line-height: 1.8;
}

.sfm-followup__choices {
	margin: 30px 0 0;
	padding: 26px;
	border: 1px solid var(--sfm-line);
}

.sfm-followup__base-permission {
	margin: 0 0 22px;
	padding: 16px 18px;
	border-left: 4px solid var(--sfm-lime);
	background: var(--sfm-mist);
	font-size: 12px;
	line-height: 1.75;
}

.sfm-followup__cooperation {
	margin: 0 0 22px;
	padding: 16px 18px;
	border: 1px solid #b9d96b;
	color: var(--sfm-ink);
	background: #f8ffe7;
	font-size: 12px;
	line-height: 1.8;
}

.sfm-followup__cooperation strong {
	display: block;
	margin-bottom: 4px;
}

.sfm-followup__choices > label,
.sfm-followup__consent > label {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	margin: 0;
	padding: 13px 0;
	border-top: 1px solid #e4ecef;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.7;
}

.sfm-followup__choices input,
.sfm-followup__consent input {
	width: 18px;
	height: 18px;
	margin: 3px 0 0;
}

.sfm-followup__publication-details {
	display: grid;
	gap: 18px;
	margin-top: 24px;
}

.sfm-followup__conditional {
	padding: 20px;
	border: 1px solid #b8cbd3;
	background: var(--sfm-mist);
}

.sfm-followup__conditional > label {
	display: block;
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 850;
	line-height: 1.65;
}

.sfm-followup__conditional > label > span {
	margin-left: 8px;
	color: var(--sfm-coral);
	font-size: 10px;
}

.sfm-followup__form--enhanced .sfm-followup__conditional[hidden] {
	display: none;
}

.sfm-followup__selection-summary {
	margin-top: 24px;
	padding: 20px;
	border-left: 5px solid var(--sfm-teal-dark);
	color: var(--sfm-ink);
	background: #eaf7f7;
}

.sfm-followup__selection-summary > strong {
	display: block;
	font-size: 14px;
}

.sfm-followup__selection-summary > p {
	margin: 6px 0 12px;
	color: var(--sfm-text);
	font-size: 11px;
	line-height: 1.75;
}

.sfm-followup__selection-summary ul {
	margin: 0;
	padding-left: 20px;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

.sfm-followup__consent {
	border-color: var(--sfm-ink);
}

.sfm-followup__submit {
	width: 100%;
	min-height: 72px;
	margin-top: 28px;
	border: 0;
	border-radius: 0;
	color: #fff;
	background: var(--sfm-teal-dark);
	font-size: 16px;
	font-weight: 900;
	cursor: pointer;
}

.sfm-followup__submit:hover,
.sfm-followup__submit:focus-visible {
	background: var(--sfm-ink);
}

.sfm-followup__submit:disabled {
	color: #667989;
	background: var(--sfm-line);
	cursor: not-allowed;
}

.sfm-followup__honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (max-width: 1120px) {
	.sfm-hero__inner {
		grid-template-columns: 1fr;
	}

	.sfm-capability__inner {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.sfm-status {
		min-height: 0;
	}

	.sfm-scope__grid {
		grid-template-columns: 1fr;
	}

	.sfm-scope__grid article {
		min-height: 0;
	}

	.sfm-solutions__heading,
	.sfm-paid-path__layout {
		grid-template-columns: 1fr;
	}

	.sfm-solutions__grid {
		grid-template-columns: 1fr;
	}

	.sfm-solutions__grid article {
		min-height: 0;
	}

	.sfm-process ol {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sfm-process li:nth-child(3) {
		border-right: 1px solid var(--sfm-line);
	}

	.sfm-process li:nth-child(n + 4) {
		border-top: 1px solid var(--sfm-line);
	}

	.sfm-terms__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sfm-faq__grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.sfm-contact-policy {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.sfm-contact-policy__label {
		margin-bottom: -2px;
	}

	.sfm-reason__grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.sfm-publication__heading,
	.sfm-publication__layout {
		grid-template-columns: 1fr;
	}

	.sfm-publication__heading {
		align-items: start;
		gap: 32px;
	}

	.sfm-publication__heading > p {
		max-width: 780px;
	}

	.sfm-publication__visual {
		display: grid;
		grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
		align-items: start;
		gap: 34px;
	}

	.sfm-publication__flow {
		margin-top: 0;
	}
}

@media (max-width: 782px) {
	.admin-bar .sfm-scroll-progress {
		top: 46px;
	}
}

@media (max-width: 680px) {
	.sfm-enabled {
		padding-bottom: 0;
	}

	.sfm-page {
		--sfm-shell: calc(100vw - 40px);
	}

	.sfm-hero__inner {
		gap: 48px;
		padding-block: 68px;
	}

	.sfm-capability__inner {
		padding-block: 52px;
	}

	.sfm-capability__heading {
		padding-left: 20px;
	}

	.sfm-capability h2 {
		font-size: clamp(30px, 9vw, 40px);
	}

	.sfm-kicker {
		font-size: 8px;
	}

	.sfm-hero h1 {
		font-size: clamp(34px, 10.5vw, 46px);
		line-height: 1.12;
	}

	.sfm-hero__line {
		white-space: normal;
	}

	.sfm-hero__product {
		white-space: nowrap;
	}

	.sfm-status {
		padding: 24px;
	}

	.sfm-status > .sfm-status__label {
		min-height: 76px;
	}

	.sfm-status__number {
		font-size: 48px;
	}

	.sfm-section {
		padding-block: 78px;
	}

	.sfm-section-title,
	.sfm-faq h2,
	.sfm-form-heading h2 {
		margin-bottom: 34px;
		font-size: clamp(30px, 9vw, 40px);
	}

	.sfm-reason h2 {
		font-size: clamp(34px, 10vw, 44px);
	}

	.sfm-contact-policy {
		margin-bottom: 34px;
		padding: 26px 22px;
	}

	.sfm-selection-notice {
		padding: 20px 22px;
	}

	.sfm-page .sfm-form-section {
		padding: 17px 19px;
	}

	.sfm-page .sfm-form-section > p {
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr);
		align-items: start;
		gap: 4px 12px;
	}

	.sfm-page .sfm-form-section > p > span {
		grid-row: 1;
		grid-column: 1;
	}

	.sfm-page .sfm-form-section > p > strong {
		grid-row: 1;
		grid-column: 2;
	}

	.sfm-page .sfm-form-section small {
		grid-row: 2;
		grid-column: 2;
		width: auto;
		padding-left: 0;
	}

	.sfm-scope__grid article {
		padding: 28px 22px;
	}

	.sfm-solutions__heading {
		gap: 24px;
		margin-bottom: 34px;
	}

	.sfm-solutions__heading > p {
		font-size: 12px;
	}

	.sfm-solutions__grid article {
		padding: 28px 22px;
	}

	.sfm-solutions__decision {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 28px 22px;
	}

	.sfm-solutions__decision nav {
		display: grid;
	}

	.sfm-paid-path {
		padding-block: 72px;
	}

	.sfm-paid-path__layout {
		gap: 36px;
	}

	.sfm-paid-path__panel {
		padding: 22px 18px;
	}

	.sfm-paid-path__comparison {
		grid-template-columns: 1fr;
	}

	.sfm-process ol {
		grid-template-columns: 1fr;
		border-top: 0;
		border-left: 3px solid var(--sfm-teal);
	}

	.sfm-process li,
	.sfm-process li:nth-child(3),
	.sfm-process li:nth-child(n + 4) {
		min-height: 150px;
		border-top: 0;
		border-right: 1px solid var(--sfm-line);
		border-bottom: 1px solid var(--sfm-line);
	}

	.sfm-process li::before {
		top: 32px;
		left: -9px;
	}

	.sfm-process li > strong {
		margin-top: 12px;
	}

	.sfm-terms__grid {
		grid-template-columns: 1fr;
	}

	.sfm-terms article {
		min-height: 0;
	}

	.sfm-publication__visual,
	.sfm-survey,
	.sfm-publication__assurance {
		grid-template-columns: 1fr;
	}

	.sfm-publication__visual {
		gap: 28px;
	}

	.sfm-publication__flow {
		margin-top: 0;
	}

	.sfm-publication__matrix table,
	.sfm-publication__matrix tbody,
	.sfm-publication__matrix tr,
	.sfm-publication__matrix th,
	.sfm-publication__matrix td {
		display: block;
		width: 100%;
	}

	.sfm-publication__matrix table {
		border-right: 1px solid var(--sfm-line);
		border-bottom: 1px solid var(--sfm-line);
		border-left: 1px solid var(--sfm-line);
	}

	.sfm-publication__matrix thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.sfm-publication__matrix tbody tr {
		padding: 20px 20px 15px;
		border-bottom: 1px solid var(--sfm-line);
	}

	.sfm-publication__matrix tbody tr:last-child {
		border-bottom: 0;
	}

	.sfm-publication__matrix tbody th,
	.sfm-publication__matrix tbody td {
		padding: 0;
		border: 0;
		background: transparent;
	}

	.sfm-publication__matrix tbody th {
		margin-bottom: 14px;
		font-size: 14px;
	}

	.sfm-publication__matrix tbody td {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 12px;
		padding: 8px 0;
		border-top: 1px solid #e4ecef;
		font-size: 11px;
	}

	.sfm-publication__matrix tbody td::before {
		content: attr(data-label);
		color: #667989;
		font-size: 10px;
		font-weight: 800;
	}

	.sfm-publication__assurance {
		gap: 12px;
		padding: 24px 22px;
	}

	.sfm-survey {
		gap: 30px;
	}

	.sfm-survey > ol {
		grid-template-columns: 1fr;
	}

	.sfm-survey__publication {
		grid-column: 1;
	}

	.sfm-page .sfm-field {
		grid-template-columns: 1fr;
	}

	.sfm-page .sfm-field > label,
	.sfm-page .sfm-field > .sfm-field-label,
	.sfm-page .sfm-field > p:first-child {
		padding: 18px 20px;
	}

	.sfm-page .sfm-field-control {
		padding: 18px 20px;
	}

	.sfm-form-unavailable {
		padding: 30px 22px;
	}

	.sfm-faq__grid {
		gap: 30px;
	}

	.sfm-faq summary {
		grid-template-columns: 28px minmax(0, 1fr) 18px;
		gap: 10px;
	}

	.sfm-faq details > p {
		padding-right: 28px;
		padding-left: 38px;
	}

	.sfm-followup {
		width: calc(100vw - 32px);
		padding-bottom: 48px;
	}

	.sfm-followup__header {
		min-height: 72px;
	}

	.sfm-followup__header > span {
		display: none;
	}

	.sfm-followup__intro,
	.sfm-followup__panel,
	.sfm-followup__section {
		padding: 28px 22px;
	}

	.sfm-followup__intro h1,
	.sfm-followup__panel h1 {
		font-size: clamp(32px, 10vw, 46px);
	}

	.sfm-followup__section-title {
		gap: 12px;
	}

	.sfm-followup__choices {
		padding: 16px 12px;
	}

	.sfm-followup__conditional {
		padding: 16px 12px;
	}

	.sfm-followup__selection-summary {
		padding: 16px 14px;
	}
}

@media (max-width: 359px) {
	.sfm-reason h2 {
		font-size: 32px;
	}

	.sfm-contact-policy h3 {
		font-size: 20.5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sfm-scroll-progress {
		display: none;
	}

	.sfm-page *,
	.sfm-page *::before,
	.sfm-page *::after {
		animation-duration: .01ms !important;
		animation-delay: 0ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		transition-delay: 0ms !important;
	}

	.sfm-hero__free::after,
	.sfm-status__slots::after {
		transform: scaleX(1);
	}

	.sfm-motion-ready .sfm-reveal {
		opacity: 1;
		transform: none;
	}
}

/* Mandatory member registration and private production support desk. */
.sfm-member-access {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
	margin-bottom: 30px;
	padding: clamp(26px, 4vw, 46px);
	border: 1px solid var(--sfm-ink);
	border-left: 7px solid var(--sfm-lime);
	background: #fff;
}

.sfm-member-access h3 {
	max-width: 760px;
	margin-bottom: 16px;
	font-size: clamp(24px, 3vw, 38px);
	line-height: 1.25;
	letter-spacing: -.035em;
}

.sfm-member-access p:not(.sfm-kicker) {
	margin-bottom: 10px;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.9;
}

.sfm-member-access__actions {
	display: grid;
	gap: 12px;
	align-content: center;
}

.sfm-member-access__actions > a,
.sfm-member-access__actions > span {
	color: var(--sfm-text);
	font-size: 11px;
	font-weight: 750;
	text-align: center;
}

.sfm-page .sfm-member-access__actions .sfm-member-access__primary,
.sfm-page .sfm-member-access__actions .sfm-member-access__primary:visited,
.sfm-page .sfm-member-access__actions .sfm-member-access__primary:hover,
.sfm-page .sfm-member-access__actions .sfm-member-access__primary:focus-visible,
.sfm-page .sfm-member-access__actions .sfm-member-access__primary:active {
	display: flex;
	min-height: 58px;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	color: #fff;
	background: var(--sfm-teal-dark);
	font-size: 12px;
	font-weight: 850;
	text-align: left;
	text-decoration: none;
}

.sfm-page .sfm-member-access__actions .sfm-member-access__primary:hover,
.sfm-page .sfm-member-access__actions .sfm-member-access__primary:focus-visible {
	background: var(--sfm-ink);
}

.sfm-page .sfm-member-access__actions .sfm-member-access__primary:focus-visible {
	outline: 3px solid rgba(0, 127, 128, .3);
	outline-offset: 3px;
}

.sfm-member-closed-notice {
	padding: 14px max(24px, calc((100vw - var(--sfm-shell)) / 2));
	color: #064e4f;
	border-bottom: 1px solid #9fd4d4;
	background: #e9f8f8;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.7;
}

.sfm-member-body {
	margin: 0;
	color: #07182b;
	background: #edf3f5;
	font-family: var(--font-geist-sans), "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

.sfm-member-page {
	--sfm-ink: #07182b;
	--sfm-text: #35485b;
	--sfm-mist: #f3f7f8;
	--sfm-line: #c9d7df;
	--sfm-teal-dark: #007f80;
	--sfm-lime: #c8f25b;
	--sfm-coral: #ff624c;
	box-sizing: border-box;
	width: min(1060px, calc(100vw - 48px));
	margin-inline: auto;
	padding-bottom: 80px;
}

.sfm-member-page *,
.sfm-member-page *::before,
.sfm-member-page *::after {
	box-sizing: border-box;
}

.sfm-member-panel {
	margin-top: clamp(32px, 6vw, 72px);
	padding: clamp(34px, 7vw, 76px);
	border: 1px solid var(--sfm-line);
	border-left: 6px solid var(--sfm-teal-dark);
	background: #fff;
}

.sfm-member-panel h1,
.sfm-member-dashboard h1 {
	margin: 0 0 20px;
	font-size: clamp(34px, 6vw, 60px);
	line-height: 1.12;
	letter-spacing: -.055em;
}

.sfm-member-panel > p:not(.sfm-kicker) {
	max-width: 720px;
	color: var(--sfm-text);
	font-size: 14px;
	line-height: 2;
}

.sfm-member-form {
	display: grid;
	gap: 12px;
	margin-top: 28px;
}

.sfm-member-form label {
	font-size: 12px;
	font-weight: 850;
}

.sfm-member-form input[type="email"],
.sfm-member-form textarea {
	width: 100%;
	padding: 15px 16px;
	border: 1px solid var(--sfm-line);
	border-radius: 0;
	color: var(--sfm-ink);
	background: #fff;
	font: inherit;
	font-size: 16px;
}

.sfm-member-form input[type="email"]:focus,
.sfm-member-form textarea:focus {
	outline: 3px solid rgba(0, 127, 128, .18);
	border-color: var(--sfm-teal-dark);
}

.sfm-member-button {
	display: inline-flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	padding: 14px 22px;
	border: 0;
	color: #fff;
	background: var(--sfm-teal-dark);
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	font-weight: 850;
	text-decoration: none;
}

.sfm-member-subaction {
	margin: 20px 0 0;
	font-size: 12px;
}

.sfm-member-subaction a,
.sfm-member-dashboard a {
	color: var(--sfm-teal-dark);
}

.sfm-member-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.sfm-member-notice {
	margin: 20px 0;
	padding: 14px 18px;
	border-left: 5px solid var(--sfm-teal-dark);
	background: #e9f8f8;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.7;
}

.sfm-member-notice.is-error {
	color: #7b2117;
	border-left-color: var(--sfm-coral);
	background: #fff1ee;
}

.sfm-member-dashboard {
	display: grid;
	gap: 24px;
	margin-top: 36px;
}

.sfm-member-preview-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 15px 18px;
	border: 1px solid #9fd4d4;
	border-left: 6px solid var(--sfm-teal-dark);
	background: #e9f8f8;
	font-size: 12px;
	line-height: 1.7;
}

.sfm-member-preview-notice > div {
	display: grid;
	gap: 2px;
}

.sfm-member-preview-notice a {
	flex: 0 0 auto;
	font-weight: 850;
	white-space: nowrap;
}

.sfm-member-dashboard__intro {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
	padding: clamp(34px, 6vw, 64px);
	border-left: 7px solid var(--sfm-lime);
	background: var(--sfm-ink);
	color: #fff;
}

.sfm-member-dashboard__intro h1 {
	max-width: 760px;
	font-size: clamp(34px, 5vw, 56px);
}

.sfm-member-dashboard__intro p:not(.sfm-kicker) {
	margin: 0;
	font-size: 13px;
	line-height: 1.9;
	opacity: .84;
}

.sfm-member-dashboard__intro nav a,
.sfm-member-preview__logout {
	color: #fff;
	font-size: 12px;
	white-space: nowrap;
}

.sfm-member-preview__logout {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sfm-member-apps {
	display: flex;
	gap: 8px;
	overflow-x: auto;
}

.sfm-member-apps a {
	padding: 10px 14px;
	border: 1px solid var(--sfm-line);
	background: #fff;
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
	text-decoration: none;
}

.sfm-member-apps a.is-current {
	color: #fff;
	border-color: var(--sfm-teal-dark);
	background: var(--sfm-teal-dark);
}

.sfm-member-status-card {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	border: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-member-status-card > span,
.sfm-member-status-card > strong {
	padding: 18px 22px;
}

.sfm-member-status-card > span {
	font-size: 11px;
	font-weight: 850;
}

.sfm-member-status-card > strong {
	color: #fff;
	background: var(--sfm-teal-dark);
	font-size: 18px;
}

.sfm-member-status-card > p {
	grid-column: 1 / -1;
	margin: 0;
	padding: 14px 22px;
	border-top: 1px solid var(--sfm-line);
	color: var(--sfm-text);
	font-size: 11px;
}

.sfm-member-support-scope,
.sfm-talk-room,
.sfm-withdraw {
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-member-support-scope h2,
.sfm-talk-room h2 {
	margin: 0 0 14px;
	font-size: clamp(22px, 3vw, 32px);
	letter-spacing: -.03em;
}

.sfm-member-support-scope p,
.sfm-talk-room > header p,
.sfm-withdraw p {
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.9;
}

.sfm-credential-safety {
	margin-top: 18px;
	padding: 16px 18px;
	border-left: 5px solid var(--sfm-lime);
	background: #f4f8f8;
}

.sfm-credential-safety strong {
	display: block;
	font-size: 12px;
}

.sfm-credential-safety p {
	margin: 7px 0 0;
	color: var(--sfm-text);
	font-size: 11px;
	line-height: 1.85;
}

.sfm-secure-access {
	display: grid;
	gap: 20px;
	margin-top: 24px;
	padding: clamp(22px, 3vw, 32px);
	border: 1px solid #9fd4d4;
	border-top: 6px solid var(--sfm-teal-dark);
	background: #fbfefe;
}

.sfm-secure-access > header h2 {
	margin: 0 0 10px;
	font-size: clamp(22px, 3vw, 30px);
}

.sfm-secure-access > header > p:not(.sfm-kicker) {
	margin: 0;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.85;
}

.sfm-secure-access__rules {
	padding: 16px 18px;
	border-left: 5px solid var(--sfm-lime);
	background: #f2f7f7;
}

.sfm-secure-access__rules strong {
	display: block;
	font-size: 12px;
	line-height: 1.65;
}

.sfm-secure-access__rules p {
	margin: 7px 0 0;
	color: var(--sfm-text);
	font-size: 11px;
	line-height: 1.85;
}

.sfm-secure-access__status {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	padding: 16px 18px;
	border: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-secure-access__status div {
	display: grid;
	gap: 3px;
}

.sfm-secure-access__status span,
.sfm-secure-access__status p {
	color: var(--sfm-text);
	font-size: 10px;
	line-height: 1.7;
}

.sfm-secure-access__status strong {
	font-size: 15px;
}

.sfm-secure-access__status p {
	margin: 0;
	text-align: right;
}

.sfm-secure-access__entry {
	border: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-secure-access__entry > summary {
	padding: 16px 18px;
	cursor: pointer;
	font-size: 12px;
	font-weight: 850;
}

.sfm-secure-access__form {
	display: grid;
	gap: 11px;
	padding: 0 18px 20px;
}

.sfm-secure-access__form > label {
	font-size: 11px;
	font-weight: 850;
}

.sfm-secure-access__form > label > span {
	color: #a22a1f;
	font-size: 9px;
}

.sfm-secure-access__form input[type="text"],
.sfm-secure-access__form input[type="password"],
.sfm-secure-access__form select,
.sfm-secure-access__form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--sfm-line);
	border-radius: 0;
	color: var(--sfm-ink);
	background: #fff;
	font: inherit;
	font-size: 16px;
}

.sfm-secure-access__form textarea {
	min-height: 112px;
	resize: vertical;
}

.sfm-secure-access__form input:focus,
.sfm-secure-access__form select:focus,
.sfm-secure-access__form textarea:focus {
	outline: 3px solid rgba(0, 127, 128, .18);
	border-color: var(--sfm-teal-dark);
}

.sfm-secure-access__form input:disabled,
.sfm-secure-access__form select:disabled,
.sfm-secure-access__form textarea:disabled {
	cursor: not-allowed;
	opacity: .68;
}

.sfm-secure-access__confirmations {
	display: grid;
	gap: 10px;
	margin-top: 6px;
}

.sfm-secure-access__confirmations label {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	padding: 13px 14px;
	border: 1px solid var(--sfm-line);
	background: #f7fafa;
	color: var(--sfm-text);
	font-size: 11px;
	line-height: 1.75;
}

.sfm-secure-access__confirmations input {
	margin-top: 4px;
}

.sfm-secure-access__confirmations strong {
	display: inline;
	color: var(--sfm-ink);
}

.sfm-secure-access__help {
	margin: 2px 0 0;
	color: var(--sfm-text);
	font-size: 10px;
	line-height: 1.75;
}

.sfm-secure-access__delete {
	margin: 0;
}

.sfm-secure-access__delete button {
	padding: 9px 12px;
	border: 1px solid #b32d2e;
	color: #b32d2e;
	background: #fff;
	cursor: pointer;
	font-size: 11px;
	font-weight: 800;
}

.sfm-talk-room__messages {
	display: grid;
	gap: 12px;
	max-height: 620px;
	overflow-y: auto;
	margin: 24px 0;
	padding: 20px;
	background: var(--sfm-mist);
}

.sfm-message {
	width: min(84%, 720px);
	padding: 16px 18px;
	border: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-message.is-admin {
	margin-left: auto;
	border-color: #8ac6c6;
	background: #effafa;
}

.sfm-message header {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 10px;
	font-size: 10px;
}

.sfm-message header time {
	color: #687b8b;
}

.sfm-message > div {
	font-size: 13px;
	line-height: 1.8;
}

.sfm-talk-room__empty {
	margin: 0;
	padding: 24px;
	text-align: center;
}

.sfm-withdraw summary {
	cursor: pointer;
	font-size: 13px;
	font-weight: 850;
}

.sfm-withdraw form {
	display: grid;
	gap: 14px;
	margin-top: 18px;
}

.sfm-member-preview__withdraw-form {
	display: grid;
	gap: 14px;
	margin-top: 18px;
}

.sfm-member-preview__form textarea:disabled {
	color: var(--sfm-ink);
	background: #fff;
	opacity: 1;
}

.sfm-member-preview__form button:disabled,
.sfm-member-preview__withdraw-form button:disabled {
	cursor: not-allowed;
	opacity: .62;
}

.sfm-withdraw__button {
	justify-self: start;
	padding: 10px 16px;
	border: 1px solid #b32d2e;
	color: #b32d2e;
	background: #fff;
	cursor: pointer;
	font-weight: 800;
}

/* Indexable, privacy-safe public progress reports. */
.sfm-public-progress {
	border-top: 1px solid var(--sfm-line);
	border-bottom: 1px solid var(--sfm-line);
	background: #eef6f6;
}

.sfm-public-progress > .sfm-shell > header {
	display: grid;
	grid-template-columns: 1fr .85fr;
	gap: clamp(34px, 7vw, 100px);
	align-items: end;
	margin-bottom: 46px;
}

.sfm-public-progress > .sfm-shell > header > p {
	margin: 0;
	color: var(--sfm-text);
	font-size: 12px;
	line-height: 1.9;
}

.sfm-public-progress__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.sfm-public-progress__grid > article {
	display: flex;
	min-height: 360px;
	flex-direction: column;
	padding: 28px;
	border: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-public-progress__status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 9px;
	font-weight: 850;
	letter-spacing: .08em;
}

.sfm-public-progress__status strong {
	padding: 7px 9px;
	color: #fff;
	background: var(--sfm-teal-dark);
	letter-spacing: 0;
}

.sfm-public-progress h3 {
	margin: 34px 0 14px;
	font-size: clamp(21px, 2.4vw, 30px);
	line-height: 1.3;
	letter-spacing: -.035em;
}

.sfm-public-progress h3 a {
	color: inherit;
	text-decoration: none;
}

.sfm-public-progress__grid article > p {
	color: var(--sfm-text);
	font-size: 11px;
	line-height: 1.9;
}

.sfm-public-progress__speed {
	display: grid;
	gap: 7px;
	margin: 14px 0;
}

.sfm-public-progress__speed > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 11px;
	border-left: 3px solid var(--sfm-lime);
	background: #eef6f6;
}

.sfm-public-progress__speed dt,
.sfm-public-progress__speed dd {
	margin: 0;
}

.sfm-public-progress__speed dt {
	color: var(--sfm-text);
	font-size: 9px;
	font-weight: 750;
}

.sfm-public-progress__speed dd {
	color: var(--sfm-ink);
	font-size: 14px;
	font-weight: 900;
}

.sfm-public-progress__grid ul,
.sfm-public-report__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 14px 0;
	padding: 0;
	list-style: none;
}

.sfm-public-progress__grid li,
.sfm-public-report__tags li {
	padding: 6px 9px;
	border: 1px solid #bdd2d6;
	color: #285265;
	background: #f6fafb;
	font-size: 9px;
	font-weight: 800;
}

.sfm-public-progress__more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid var(--sfm-line);
	color: var(--sfm-teal-dark);
	font-size: 11px;
	font-weight: 850;
	text-decoration: none;
}

.sfm-public-progress__archive {
	margin: 28px 0 0;
	text-align: right;
}

.sfm-public-progress__archive a {
	color: var(--sfm-teal-dark);
	font-size: 12px;
	font-weight: 850;
}

.sfm-public-report-page .saku-breadcrumbs,
.sfm-public-report-page .saku-generic-hero,
.sfm-public-report-page .rakko-market-auto-note {
	display: none;
}

.sfm-public-report-page .saku-page-content,
.sfm-public-report-page .entry-content {
	max-width: none;
	padding: 0;
}

.sfm-public-report {
	--sfm-ink: #07182b;
	--sfm-text: #35485b;
	--sfm-line: #c9d7df;
	--sfm-teal-dark: #007f80;
	--sfm-lime: #c8f25b;
	box-sizing: border-box;
	width: min(1120px, calc(100vw - 48px));
	margin: 48px auto 96px;
	color: var(--sfm-ink);
	font-family: var(--font-geist-sans), "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

.sfm-public-report *,
.sfm-public-report *::before,
.sfm-public-report *::after {
	box-sizing: border-box;
}

.sfm-public-report__hero {
	padding: clamp(46px, 8vw, 92px);
	border-left: 8px solid var(--sfm-lime);
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-public-report__hero .sfm-kicker {
	color: #a7e5e4;
}

.sfm-public-report__hero h1 {
	max-width: 880px;
	margin: 0 0 34px;
	font-size: clamp(42px, 7vw, 78px);
	line-height: 1.08;
	letter-spacing: -.06em;
	overflow-wrap: anywhere;
}

.sfm-public-report__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, .22);
	font-size: 11px;
	font-weight: 800;
}

.sfm-public-report__meta strong {
	padding: 9px 12px;
	color: var(--sfm-ink);
	background: var(--sfm-lime);
}

.sfm-public-report__summary,
.sfm-public-report__timeline,
.sfm-public-report__desk,
.sfm-public-report__cta {
	padding: clamp(34px, 7vw, 72px);
	border-right: 1px solid var(--sfm-line);
	border-bottom: 1px solid var(--sfm-line);
	border-left: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-public-report__summary h2,
.sfm-public-report__timeline h2,
.sfm-public-report__desk h2,
.sfm-public-report__cta h2 {
	margin: 0 0 20px;
	font-size: clamp(30px, 5vw, 50px);
	line-height: 1.17;
	letter-spacing: -.05em;
	overflow-wrap: anywhere;
}

.sfm-public-report__summary > p:not(.sfm-kicker),
.sfm-public-report__timeline-heading > p,
.sfm-public-report__timeline-note,
.sfm-public-report__privacy,
.sfm-public-report__cta p {
	color: var(--sfm-text);
	font-size: 13px;
	line-height: 2;
}

.sfm-public-report__timeline {
	background: #f7fbfb;
}

.sfm-public-report__timeline-heading {
	display: grid;
	grid-template-columns: 1fr minmax(220px, .55fr);
	gap: clamp(24px, 6vw, 72px);
	align-items: end;
}

.sfm-public-report__timeline-heading h2,
.sfm-public-report__timeline-heading > p {
	margin-top: 0;
}

.sfm-public-report__timeline ol {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	margin: 34px 0 0;
	padding: 1px;
	background: var(--sfm-line);
	list-style: none;
}

.sfm-public-report__timeline li {
	position: relative;
	min-height: 118px;
	padding: 22px 18px 18px;
	background: #fff;
}

.sfm-public-report__timeline li::before {
	display: block;
	width: 12px;
	height: 12px;
	margin-bottom: 18px;
	border: 3px solid var(--sfm-teal-dark);
	border-radius: 50%;
	background: var(--sfm-lime);
	content: "";
}

.sfm-public-report__timeline li span,
.sfm-public-report__timeline li time {
	display: block;
}

.sfm-public-report__timeline li span {
	margin-bottom: 7px;
	color: var(--sfm-text);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .04em;
}

.sfm-public-report__timeline li time {
	font-size: 15px;
	font-weight: 900;
}

.sfm-public-report__speed {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 18px 0 0;
}

.sfm-public-report__speed > div {
	padding: 20px;
	color: #fff;
	background: var(--sfm-ink);
}

.sfm-public-report__speed dt,
.sfm-public-report__speed dd {
	margin: 0;
}

.sfm-public-report__speed dt {
	color: #b9c8d3;
	font-size: 10px;
	font-weight: 750;
}

.sfm-public-report__speed dd {
	margin-top: 8px;
	color: var(--sfm-lime);
	font-size: clamp(25px, 4vw, 38px);
	font-weight: 900;
	line-height: 1;
}

.sfm-public-report__timeline-note {
	margin: 18px 0 0;
	padding: 14px 16px;
	border-left: 4px solid var(--sfm-lime);
	background: #fff;
}

.sfm-public-report__desk {
	background: #f2f7f8;
}

.sfm-public-report__desk-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
}

.sfm-public-report__desk-heading > span {
	padding: 9px 12px;
	color: #fff;
	background: var(--sfm-teal-dark);
	font-size: 10px;
	font-weight: 850;
	white-space: nowrap;
}

.sfm-public-report__privacy {
	padding: 16px 18px;
	border-left: 5px solid var(--sfm-lime);
	background: #fff;
}

.sfm-public-report__activity {
	display: grid;
	gap: 14px;
	margin-top: 28px;
}

.sfm-public-report__activity > article {
	width: min(82%, 700px);
	padding: 18px 20px;
	border: 1px solid var(--sfm-line);
	background: #fff;
}

.sfm-public-report__activity > article.is-admin {
	margin-left: auto;
	border-color: #8ac6c6;
}

.sfm-public-report__activity header {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 14px;
	font-size: 10px;
}

.sfm-public-report__activity header span {
	color: #6f808d;
}

.sfm-public-report__skeleton {
	display: grid;
	gap: 8px;
	filter: blur(3px);
	opacity: .72;
}

.sfm-public-report__skeleton i {
	display: block;
	height: 9px;
	border-radius: 20px;
	background: #9bb0ba;
}

.sfm-public-report__skeleton i:nth-child(2) {
	width: 86%;
}

.sfm-public-report__skeleton i:nth-child(3) {
	width: 58%;
}

.sfm-public-report__count,
.sfm-public-report__empty {
	margin: 18px 0 0;
	padding: 14px 18px;
	border: 1px dashed #a9bfc6;
	color: var(--sfm-text);
	background: rgba(255, 255, 255, .7);
	font-size: 11px;
	font-weight: 750;
	text-align: center;
}

.sfm-public-report__cta {
	display: grid;
	grid-template-columns: 1fr minmax(260px, .55fr);
	gap: clamp(32px, 7vw, 90px);
	align-items: center;
	border-left: 8px solid var(--sfm-lime);
}

.sfm-public-report__cta nav {
	display: grid;
	gap: 10px;
}

.sfm-public-report__cta a {
	display: flex;
	min-height: 56px;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	border: 1px solid var(--sfm-ink);
	color: var(--sfm-ink);
	font-size: 11px;
	font-weight: 850;
	text-decoration: none;
}

.sfm-public-report__cta a.is-primary {
	color: #fff;
	background: var(--sfm-teal-dark);
	border-color: var(--sfm-teal-dark);
}

@media (max-width: 900px) {
	.sfm-member-access,
	.sfm-public-progress > .sfm-shell > header,
	.sfm-public-report__timeline-heading,
	.sfm-public-report__cta {
		grid-template-columns: 1fr;
	}

	.sfm-public-progress__grid {
		grid-template-columns: 1fr;
	}

	.sfm-public-progress__grid > article {
		min-height: 0;
	}
}

@media (max-width: 600px) {
	.sfm-member-page,
	.sfm-public-report {
		width: calc(100vw - 28px);
	}

	.sfm-member-page {
		padding-bottom: 48px;
	}

	.sfm-member-page .sfm-followup__header > span {
		display: none;
	}

	.sfm-member-panel,
	.sfm-member-dashboard__intro,
	.sfm-member-support-scope,
	.sfm-talk-room,
	.sfm-secure-access,
	.sfm-withdraw,
	.sfm-public-report__hero,
	.sfm-public-report__summary,
	.sfm-public-report__timeline,
	.sfm-public-report__desk,
	.sfm-public-report__cta {
		padding: 26px 20px;
	}

	.sfm-member-dashboard__intro,
	.sfm-member-preview-notice,
	.sfm-public-report__desk-heading {
		display: grid;
	}

	.sfm-member-status-card {
		grid-template-columns: 1fr;
	}

	.sfm-member-status-card > p {
		grid-column: 1;
	}

	.sfm-message,
	.sfm-public-report__activity > article {
		width: 100%;
	}

	.sfm-talk-room__messages {
		padding: 12px;
	}

	.sfm-secure-access__status {
		grid-template-columns: 1fr;
	}

	.sfm-secure-access__status p {
		text-align: left;
	}

	.sfm-public-report__hero h1 {
		font-size: clamp(36px, 12vw, 54px);
	}

	.sfm-public-report__meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.sfm-public-report__timeline ol,
	.sfm-public-report__speed {
		grid-template-columns: 1fr;
	}

	.sfm-public-report__timeline li {
		min-height: 0;
	}
}
