:root {
	--stn-r2-ink: #10243e;
	--stn-r2-muted: #526579;
	--stn-r2-line: #d8e2ec;
	--stn-r2-soft: #f5f8fb;
	--stn-r2-blue: #0868c9;
	--stn-r2-blue-dark: #064e99;
	--stn-r2-red: #d82d3f;
	--stn-r2-green: #16865d;
	--stn-r2-orange: #d96b16;
}

.stn-r2-enabled {
	background: #fff;
	color: var(--stn-r2-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	letter-spacing: 0;
}

.stn-r2-enabled .wp-block-post-content {
	margin-block-start: 0;
}

.stn-r2-page,
.stn-r2-service-detail {
	width: 100%;
	color: var(--stn-r2-ink);
}

.stn-r2-page *,
.stn-r2-service-detail * {
	box-sizing: border-box;
}

.stn-r2-page h1,
.stn-r2-page h2,
.stn-r2-page h3,
.stn-r2-service-detail h2,
.stn-r2-service-detail h3 {
	color: var(--stn-r2-ink);
	font-family: inherit;
	font-weight: 800;
	letter-spacing: 0;
}

.stn-r2-page p,
.stn-r2-page li,
.stn-r2-service-detail p,
.stn-r2-service-detail li,
.stn-r2-service-detail dd {
	line-height: 1.75;
}

.stn-r2-page a,
.stn-r2-service-detail a {
	text-underline-offset: 3px;
}

.stn-r2-shell,
.stn-r2-section,
.stn-r2-hero__inner,
.stn-r2-service-detail {
	width: min(1160px, calc(100% - 48px));
	margin-inline: auto;
}

.stn-r2-section {
	padding-block: 54px;
}

.stn-r2-section + .stn-r2-section {
	border-top: 1px solid #edf1f5;
}

.stn-r2-band {
	position: relative;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	background: var(--stn-r2-soft);
}

.stn-r2-band > .stn-r2-shell {
	padding-block: 54px;
}

.stn-r2-section__head {
	max-width: 760px;
	margin-bottom: 22px;
}

.stn-r2-section__head h2,
.stn-r2-section > h2,
.stn-r2-service-detail section > h2 {
	margin: 0 0 8px;
	font-size: clamp(27px, 3vw, 36px);
	line-height: 1.3;
}

.stn-r2-section__head p,
.stn-r2-section > p {
	margin: 0;
	color: var(--stn-r2-muted);
}

.stn-r2-eyebrow {
	display: inline-block;
	margin: 0 0 8px;
	color: var(--stn-r2-blue);
	font-size: 13px;
	font-weight: 800;
}

.stn-r2-disclosure {
	display: flex;
	width: min(1160px, calc(100% - 48px));
	align-items: center;
	gap: 8px;
	margin: 12px auto;
	color: #64748b;
	font-size: 12px;
	line-height: 1.55;
}

.stn-r2-disclosure > span:first-child {
	display: inline-flex;
	flex: 0 0 auto;
	padding: 2px 6px;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	background: #f8fafc;
	color: #475569;
	font-weight: 800;
}

.stn-r2-disclosure a {
	color: #526579;
}

.stn-r2-hero {
	position: relative;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	border-top: 1px solid #edf1f5;
	border-bottom: 1px solid var(--stn-r2-line);
	background: #f7f9fb;
}

.stn-r2-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
	gap: 48px;
	align-items: center;
	min-height: 430px;
	padding-block: 44px;
}

.stn-r2-hero h1 {
	max-width: 720px;
	margin: 0 0 16px;
	font-size: clamp(40px, 4.3vw, 57px);
	line-height: 1.16;
}

.stn-r2-hero__lead {
	max-width: 680px;
	margin: 0;
	color: #31475d;
	font-size: 17px;
	line-height: 1.8;
}

.stn-r2-primary,
.stn-r2-secondary,
.stn-r2-page .stn-r2-primary,
.stn-r2-service-detail .stn-r2-primary {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	margin-top: 20px;
	padding: 11px 20px;
	border: 1px solid var(--stn-r2-blue);
	border-radius: 8px;
	background: var(--stn-r2-blue);
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-weight: 800;
	line-height: 1.4;
}

.stn-r2-primary:hover {
	background: var(--stn-r2-blue-dark);
}

.stn-r2-secondary {
	border-color: var(--stn-r2-line);
	background: #fff;
	color: var(--stn-r2-blue);
}

.stn-r2-decision-list {
	display: grid;
	margin: 0;
	padding: 0;
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
	list-style: none;
}

.stn-r2-decision-list li + li {
	border-top: 1px solid var(--stn-r2-line);
}

.stn-r2-decision-list a {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	min-height: 64px;
	padding: 12px 16px;
	color: var(--stn-r2-ink);
	text-decoration: none;
}

.stn-r2-decision-list b {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border-radius: 50%;
	background: #eaf4ff;
	color: var(--stn-r2-blue);
	font-size: 18px;
}

.stn-r2-decision-list strong {
	font-size: 17px;
}

.stn-r2-decision-list i {
	color: var(--stn-r2-blue);
	font-size: 22px;
	font-style: normal;
}

.stn-r2-hero-visual {
	margin: 14px 0 0;
}

.stn-r2-hero-visual .stn-generated-visual,
.stn-r2-guide-visual .stn-generated-visual {
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.stn-r2-hero-visual .stn-generated-image,
.stn-r2-guide-visual .stn-generated-image {
	display: block;
	width: 100%;
	height: auto;
	max-height: 235px;
	object-fit: contain;
}

.stn-r2-guide-grid {
	display: grid;
	grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
	gap: 28px;
	align-items: center;
}

.stn-r2-guide-grid .stn-r2-decision-list a {
	min-height: 58px;
}

.stn-r2-category-nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--stn-r2-blue);
	border-radius: 8px;
	overflow: hidden;
}

.stn-r2-category-nav a {
	display: flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 9px 12px;
	color: var(--stn-r2-blue);
	text-align: center;
	text-decoration: none;
	font-weight: 800;
}

.stn-r2-category-nav a + a {
	border-left: 1px solid #a8c9eb;
}

.stn-r2-category-nav a:first-child {
	background: var(--stn-r2-blue);
	color: #fff;
}

.stn-r2-trust-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 20px;
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-trust-strip div {
	padding: 18px;
}

.stn-r2-trust-strip div + div {
	border-left: 1px solid var(--stn-r2-line);
}

.stn-r2-trust-strip strong {
	display: block;
	margin-bottom: 4px;
}

.stn-r2-trust-strip p {
	margin: 0;
	color: var(--stn-r2-muted);
	font-size: 14px;
}

.stn-r2-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 14px;
}

.stn-r2-filters button {
	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid #bccddd;
	border-radius: 6px;
	background: #fff;
	color: #29425c;
	font: inherit;
	font-weight: 750;
	cursor: pointer;
}

.stn-r2-filters button[aria-pressed="true"] {
	border-color: var(--stn-r2-blue);
	background: var(--stn-r2-blue);
	color: #fff;
}

.stn-r2-service-table {
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.stn-r2-service-row[hidden] {
	display: none !important;
}

.stn-r2-service-table__head,
.stn-r2-service-row {
	display: grid;
	grid-template-columns: 155px 135px 205px 180px minmax(190px, 1fr) 185px;
}

.stn-r2-service-table__head {
	min-height: 44px;
	align-items: center;
	background: #eef4f9;
	color: #36506a;
	font-size: 12px;
	font-weight: 800;
}

.stn-r2-service-table__head span,
.stn-r2-service-row > * {
	min-width: 0;
	padding: 12px 13px;
}

.stn-r2-service-row {
	align-items: stretch;
	border-top: 1px solid var(--stn-r2-line);
}

.stn-r2-service-row > * + * {
	border-left: 1px solid #e6edf3;
}

.stn-r2-service-row__identity {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}

.stn-r2-service-row__mark {
	width: 11px;
	height: 11px;
	flex: 0 0 11px;
	margin-top: 6px;
	border-radius: 50%;
	background: var(--stn-r2-blue);
}

.stn-r2-service-row__identity h3 {
	margin: 0;
	font-size: 17px;
	line-height: 1.35;
}

.stn-r2-service-row__identity small {
	display: block;
	margin-top: 5px;
	color: #718096;
	font-size: 10px;
	line-height: 1.4;
}

.stn-r2-service-row__capacity > span,
.stn-r2-service-row__fees > span,
.stn-r2-service-row__for > span {
	display: block;
	margin-bottom: 5px;
	color: #718096;
	font-size: 11px;
	font-weight: 750;
}

.stn-r2-service-row__capacity strong {
	display: block;
	color: var(--stn-r2-green);
	font-size: 17px;
	line-height: 1.45;
}

.stn-r2-service-row__fees p {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin: 0;
	line-height: 1.45;
}

.stn-r2-service-row__fees p + p {
	margin-top: 4px;
}

.stn-r2-service-row__fees small {
	color: #526579;
	font-size: 11px;
}

.stn-r2-service-row__fees strong {
	color: var(--stn-r2-ink);
	font-size: 18px;
	white-space: nowrap;
}

.stn-r2-service-row__features {
	align-content: start;
}

.stn-r2-chip {
	display: inline-flex;
	margin: 0 4px 5px 0;
	padding: 3px 6px;
	border: 1px solid #bdd9cc;
	border-radius: 4px;
	background: #f2faf6;
	color: #176b4e;
	font-size: 10px;
	font-weight: 800;
}

.stn-r2-service-row__features p,
.stn-r2-service-row__for {
	margin: 0;
	color: #40566c;
	font-size: 12px;
	line-height: 1.65;
}

.stn-r2-service-row__action {
	display: flex;
	align-items: center;
}

.stn-r2-service-row__action .stn-r2-row-link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	color: var(--stn-r2-blue);
	font-size: 13px;
	font-weight: 800;
}

.stn-r2-service-row__action .affiliate-text-slot-wrap {
	max-width: none;
	margin: 0;
}

.stn-r2-service-row__action .affiliate-text-slot a {
	min-height: 44px;
	padding: 8px 10px;
	font-size: 12px;
}

.stn-r2-more-button {
	display: flex;
	width: 100%;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	border: 0;
	border-top: 1px solid var(--stn-r2-line);
	background: #f7fafc;
	color: var(--stn-r2-blue);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.stn-r2-page .stn-campaign-banner-grid {
	gap: 18px;
	margin-top: 18px;
}

.stn-r2-page .stn-campaign-banner-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 304px;
	gap: 12px 18px;
	align-content: start;
	padding: 18px;
	border: 1px solid var(--stn-r2-line);
	border-top: 3px solid var(--stn-r2-red);
	border-radius: 8px;
	box-shadow: none;
}

.stn-r2-page .stn-campaign-banner-card--softbank {
	border-top-color: var(--stn-r2-orange);
}

.stn-r2-page .stn-campaign-banner-card__header {
	grid-column: 1 / -1;
}

.stn-r2-page .stn-campaign-banner-card__plan,
.stn-r2-page .stn-campaign-banner-card__benefit {
	grid-column: 1;
}

.stn-r2-page .stn-campaign-banner-card__media {
	grid-column: 2;
	grid-row: 2 / span 3;
	align-self: start;
}

.stn-r2-page .stn-campaign-banner-card__media .affiliate-ad-slot {
	margin: 0;
}

.stn-r2-page .stn-campaign-banner-card__benefit {
	margin-top: 0;
	padding: 12px;
}

.stn-r2-page .stn-campaign-banner-card__detail {
	grid-column: 1;
	align-self: end;
}

.stn-r2-page .affiliate-text-slot-wrap {
	max-width: 560px;
}

.stn-r2-page .affiliate-text-slot a,
.stn-r2-service-detail .affiliate-text-slot a {
	border-radius: 8px;
	background: var(--stn-r2-red);
	box-shadow: none;
}

.stn-r2-featured-offer {
	max-width: 560px;
	margin-top: 18px;
	padding: 14px;
	border: 1px solid #f0c4c9;
	border-radius: 8px;
	background: #fff;
}

.stn-r2-featured-offer .affiliate-text-slot-wrap {
	margin: 8px 0 0;
}

.stn-r2-featured-offer__label {
	display: block;
	margin-bottom: 5px;
	color: #64748b;
	font-size: 11px;
	font-weight: 750;
}

.stn-r2-featured-offer strong {
	display: block;
	color: var(--stn-r2-red);
	font-size: 24px;
	line-height: 1.35;
}

.stn-r2-method-table {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.stn-r2-method-table article {
	padding: 18px;
}

.stn-r2-method-table article + article {
	border-left: 1px solid var(--stn-r2-line);
}

.stn-r2-method-table h3 {
	margin: 0 0 8px;
	font-size: 18px;
}

.stn-r2-method-table ul {
	margin: 0;
	padding-left: 1.2em;
	color: var(--stn-r2-muted);
	font-size: 14px;
}

.stn-r2-device-offers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.stn-r2-device-offer {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 18px;
	border: 1px solid var(--stn-r2-line);
	border-top: 3px solid var(--stn-r2-green);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-device-offer--softbank {
	border-top-color: var(--stn-r2-orange);
}

.stn-r2-device-offer header > span {
	display: inline-flex;
	padding: 3px 7px;
	border-radius: 4px;
	background: #eef6ff;
	color: var(--stn-r2-blue);
	font-size: 12px;
	font-weight: 800;
}

.stn-r2-device-offer h3 {
	margin: 9px 0 3px;
	font-size: 22px;
}

.stn-r2-device-offer header small {
	color: #64748b;
}

.stn-r2-device-offer__benefit {
	margin: 14px 0;
	padding: 13px;
	border-radius: 6px;
	background: #fff5f6;
}

.stn-r2-device-offer__benefit .stn-benefit-list {
	margin: 0;
	padding-left: 1.2em;
}

.stn-r2-device-offer dl {
	display: grid;
	margin: 0;
	border-top: 1px solid #e8eef3;
}

.stn-r2-device-offer dl > div {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	padding: 9px 0;
	border-bottom: 1px solid #e8eef3;
}

.stn-r2-device-offer dt {
	font-weight: 800;
}

.stn-r2-device-offer dd {
	margin: 0;
	color: var(--stn-r2-muted);
}

.stn-r2-device-offer__cta {
	margin-top: auto;
	padding-top: 14px;
}

.stn-r2-device-offer__cta .affiliate-text-slot-wrap {
	margin: 0;
}

.stn-r2-device-offer details {
	margin-top: 10px;
	border: 1px solid var(--stn-r2-line);
	border-radius: 6px;
}

.stn-r2-device-offer summary {
	min-height: 44px;
	padding: 10px 13px;
	font-weight: 800;
	cursor: pointer;
}

.stn-r2-device-offer details > div {
	padding: 0 13px 13px;
	color: var(--stn-r2-muted);
	font-size: 14px;
}

.stn-r2-check-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-check-grid article {
	padding: 18px;
}

.stn-r2-check-grid article + article {
	border-left: 1px solid var(--stn-r2-line);
}

.stn-r2-check-grid h3 {
	margin: 0 0 5px;
	font-size: 16px;
}

.stn-r2-check-grid p {
	margin: 0;
	color: var(--stn-r2-muted);
	font-size: 13px;
}

.stn-r2-carrier-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.stn-r2-carrier-groups section {
	padding: 18px;
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-carrier-groups h3 {
	margin: 0 0 8px;
	font-size: 17px;
}

.stn-r2-carrier-groups ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.stn-r2-carrier-groups a {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid #e9eef3;
	color: var(--stn-r2-ink);
	text-decoration: none;
	font-weight: 750;
}

.stn-r2-carrier-groups a span {
	color: var(--stn-r2-blue);
}

.stn-r2-faq {
	display: grid;
	gap: 8px;
}

.stn-r2-faq details {
	border: 1px solid var(--stn-r2-line);
	border-radius: 7px;
	background: #fff;
}

.stn-r2-faq summary {
	position: relative;
	min-height: 48px;
	padding: 13px 46px 13px 16px;
	color: var(--stn-r2-ink);
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}

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

.stn-r2-faq summary::after {
	position: absolute;
	top: 50%;
	right: 16px;
	color: var(--stn-r2-blue);
	content: "＋";
	transform: translateY(-50%);
}

.stn-r2-faq details[open] summary::after {
	content: "−";
}

.stn-r2-faq details p {
	margin: 0;
	padding: 0 16px 16px;
	color: var(--stn-r2-muted);
}

.stn-r2-beginner-phases {
	display: grid;
	gap: 14px;
}

.stn-r2-beginner-phase {
	display: grid;
	grid-template-columns: 175px repeat(3, minmax(0, 1fr));
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.stn-r2-beginner-phase > h3 {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 18px;
	background: #eff7ff;
	font-size: 21px;
}

.stn-r2-beginner-phase--before > h3 {
	background: #eef8f3;
	color: var(--stn-r2-green);
}

.stn-r2-beginner-phase--after > h3 {
	background: #fff6ec;
	color: var(--stn-r2-orange);
}

.stn-r2-beginner-step {
	position: relative;
	padding: 18px;
	border-left: 1px solid var(--stn-r2-line);
}

.stn-r2-beginner-step b {
	display: inline-grid;
	width: 25px;
	height: 25px;
	place-items: center;
	margin-bottom: 8px;
	border-radius: 50%;
	background: var(--stn-r2-blue);
	color: #fff;
	font-size: 12px;
}

.stn-r2-beginner-step strong {
	display: block;
	margin-bottom: 4px;
}

.stn-r2-beginner-step p {
	margin: 0;
	color: var(--stn-r2-muted);
	font-size: 13px;
}

.stn-r2-term-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-term-list article {
	padding: 18px;
}

.stn-r2-term-list article + article {
	border-left: 1px solid var(--stn-r2-line);
}

.stn-r2-term-list h3 {
	margin: 0 0 7px;
	font-size: 18px;
}

.stn-r2-term-list p {
	margin: 0;
	color: var(--stn-r2-muted);
	font-size: 14px;
}

.stn-r2-service-detail {
	padding-bottom: 50px;
}

.stn-r2-service-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
	gap: 34px;
	align-items: start;
	padding: 36px 0 42px;
	border-bottom: 1px solid var(--stn-r2-line);
}

.stn-r2-service-hero h2 {
	margin: 4px 0 12px;
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.18;
}

.stn-r2-service-hero__summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-service-hero__summary div {
	padding: 14px;
}

.stn-r2-service-hero__summary div:nth-child(even) {
	border-left: 1px solid var(--stn-r2-line);
}

.stn-r2-service-hero__summary div:nth-child(n+3) {
	border-top: 1px solid var(--stn-r2-line);
}

.stn-r2-service-hero__summary dt {
	color: #64748b;
	font-size: 11px;
	font-weight: 750;
}

.stn-r2-service-hero__summary dd {
	margin: 4px 0 0;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.5;
}

.stn-r2-service-hero__summary .stn-r2-primary {
	grid-column: 1 / -1;
	margin: 0 14px 14px;
}

.stn-r2-verdict {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 28px 0 0;
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-verdict article {
	padding: 18px 20px;
}

.stn-r2-verdict article + article {
	border-left: 1px solid var(--stn-r2-line);
}

.stn-r2-verdict h3 {
	margin: 0 0 8px;
	font-size: 19px;
}

.stn-r2-verdict ul {
	margin: 0;
	padding-left: 1.2em;
}

.stn-r2-service-detail section {
	padding: 44px 0;
	border-bottom: 1px solid #e8edf2;
}

.stn-r2-plan-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
	gap: 20px;
}

.stn-r2-plan-grid dl {
	margin: 0;
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-plan-grid dl > div {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	padding: 12px 15px;
}

.stn-r2-plan-grid dl > div + div {
	border-top: 1px solid var(--stn-r2-line);
}

.stn-r2-plan-grid dt {
	font-weight: 800;
}

.stn-r2-plan-grid dd {
	margin: 0;
}

.stn-r2-plan-example {
	padding: 18px;
	border: 1px solid #cfe0f0;
	border-radius: 8px;
	background: #f1f7fd;
}

.stn-r2-plan-example h3 {
	margin: 0 0 8px;
	font-size: 18px;
}

.stn-r2-plan-example p {
	margin: 0;
	color: var(--stn-r2-muted);
}

.stn-r2-feature-rows {
	display: grid;
	border: 1px solid var(--stn-r2-line);
	border-radius: 8px;
	background: #fff;
}

.stn-r2-feature-rows article {
	display: grid;
	grid-template-columns: 48px 230px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 15px 18px;
}

.stn-r2-feature-rows article + article {
	border-top: 1px solid var(--stn-r2-line);
}

.stn-r2-feature-rows b {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border-radius: 8px;
	background: #eef6ff;
	color: var(--stn-r2-blue);
}

.stn-r2-feature-rows h3,
.stn-r2-feature-rows p {
	margin: 0;
}

.stn-r2-feature-rows p {
	color: var(--stn-r2-muted);
}

.stn-r2-campaign-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 18px;
	padding: 18px;
	border: 1px solid #efcfd3;
	border-radius: 8px;
	background: #fff;
}

.stn-r2-campaign-panel h3 {
	margin: 0 0 10px;
	font-size: 21px;
}

.stn-r2-campaign-panel .stn-benefit-list {
	margin: 0;
}

.stn-r2-campaign-panel__cta {
	align-self: center;
}

.stn-r2-campaign-panel__cta .affiliate-text-slot-wrap {
	margin: 0;
}

.stn-r2-source-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin-top: 14px;
	font-size: 13px;
}

.stn-r2-enabled .sn-footer {
	padding-block: 40px 18px;
}

.stn-r2-enabled .sn-footer-inner {
	max-width: min(1160px, calc(100vw - 48px)) !important;
}

.stn-r2-enabled .sn-footer-grid {
	gap: 28px;
}

.stn-r2-enabled .sn-footer h2 {
	font-size: 25px;
}

.stn-r2-enabled .sn-footer h3 {
	font-size: 16px;
}

.stn-r2-enabled .sn-footer p,
.stn-r2-enabled .sn-footer a {
	font-size: 13px;
}

.stn-r2-enabled .sn-footer ul {
	gap: 1px;
}

@media (max-width: 1040px) {
	.stn-r2-service-table__head {
		display: none;
	}

	.stn-r2-service-row {
		grid-template-columns: 1.1fr .9fr 1.1fr;
		padding: 0;
	}

	.stn-r2-service-row__identity,
	.stn-r2-service-row__for,
	.stn-r2-service-row__action {
		grid-column: 1 / -1;
	}

	.stn-r2-service-row > * + * {
		border-left: 0;
	}

	.stn-r2-service-row__identity,
	.stn-r2-service-row__capacity,
	.stn-r2-service-row__fees,
	.stn-r2-service-row__features,
	.stn-r2-service-row__for {
		border-bottom: 1px solid #e8eef3;
	}

	.stn-r2-service-row__capacity,
	.stn-r2-service-row__fees,
	.stn-r2-service-row__features {
		border-left: 1px solid #e8eef3;
	}

	.stn-r2-service-row__action {
		min-height: 52px;
	}

	.stn-r2-service-row__action .affiliate-text-slot-wrap {
		width: 100%;
	}
}

@media (max-width: 899px) {
	.stn-r2-shell,
	.stn-r2-section,
	.stn-r2-hero__inner,
	.stn-r2-service-detail {
		width: min(100% - 32px, 760px);
	}

	.stn-r2-hero__inner,
	.stn-r2-service-hero {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.stn-r2-hero__inner {
		min-height: 0;
		padding-block: 36px;
	}

	.stn-r2-guide-grid,
	.stn-r2-plan-grid {
		grid-template-columns: 1fr;
	}

	.stn-r2-check-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.stn-r2-check-grid article:nth-child(odd) {
		border-left: 0;
	}

	.stn-r2-check-grid article:nth-child(n+3) {
		border-top: 1px solid var(--stn-r2-line);
	}

	.stn-r2-beginner-phase {
		grid-template-columns: 150px 1fr;
	}

	.stn-r2-beginner-phase > h3 {
		grid-row: 1 / span 3;
	}

	.stn-r2-beginner-step + .stn-r2-beginner-step {
		border-top: 1px solid var(--stn-r2-line);
	}

	.stn-r2-campaign-panel {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.stn-r2-shell,
	.stn-r2-section,
	.stn-r2-hero__inner,
	.stn-r2-service-detail,
	.stn-r2-disclosure {
		width: calc(100% - 32px);
	}

	.stn-r2-section {
		padding-block: 34px;
	}

	.stn-r2-band > .stn-r2-shell {
		padding-block: 34px;
	}

	.stn-r2-section__head {
		margin-bottom: 16px;
	}

	.stn-r2-section__head h2,
	.stn-r2-section > h2,
	.stn-r2-service-detail section > h2 {
		font-size: 24px;
	}

	.stn-r2-disclosure {
		align-items: flex-start;
		margin-block: 8px;
		font-size: 11px;
	}

	.stn-r2-disclosure a {
		display: none;
	}

	.stn-r2-hero__inner {
		gap: 18px;
		padding-block: 26px 30px;
	}

	.stn-r2-hero h1 {
		margin-bottom: 12px;
		font-size: clamp(29px, 8.7vw, 34px);
		line-height: 1.2;
	}

	.stn-r2-hero__lead {
		font-size: 15px;
		line-height: 1.7;
	}

	.stn-r2-primary,
	.stn-r2-secondary,
	.stn-r2-page .stn-r2-primary,
	.stn-r2-service-detail .stn-r2-primary {
		width: 100%;
		min-height: 50px;
		margin-top: 16px;
	}

	.stn-r2-decision-list a {
		min-height: 54px;
		padding: 9px 12px;
	}

	.stn-r2-decision-list b {
		width: 32px;
		height: 32px;
	}

	.stn-r2-decision-list strong {
		font-size: 15px;
	}

	.stn-r2-hero-visual .stn-generated-image,
	.stn-r2-guide-visual .stn-generated-image {
		max-height: 180px;
	}

	.stn-r2-category-nav a {
		min-height: 50px;
		padding: 8px 5px;
		font-size: 13px;
	}

	.stn-r2-trust-strip,
	.stn-r2-method-table,
	.stn-r2-device-offers,
	.stn-r2-term-list {
		grid-template-columns: 1fr;
	}

	.stn-r2-trust-strip div + div,
	.stn-r2-method-table article + article,
	.stn-r2-term-list article + article {
		border-top: 1px solid var(--stn-r2-line);
		border-left: 0;
	}

	.stn-r2-filters {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.stn-r2-filters button {
		padding-inline: 7px;
		font-size: 13px;
	}

	.stn-r2-service-row {
		grid-template-columns: 1fr 1fr;
	}

	.stn-r2-service-row__identity,
	.stn-r2-service-row__features,
	.stn-r2-service-row__for,
	.stn-r2-service-row__action {
		grid-column: 1 / -1;
	}

	.stn-r2-service-row__identity,
	.stn-r2-service-row__capacity,
	.stn-r2-service-row__fees,
	.stn-r2-service-row__features,
	.stn-r2-service-row__for,
	.stn-r2-service-row__action {
		padding: 11px 12px;
	}

	.stn-r2-service-row__capacity {
		border-left: 0;
	}

	.stn-r2-service-row__fees {
		border-left: 1px solid #e8eef3;
	}

	.stn-r2-service-row__features {
		border-left: 0;
	}

	.stn-r2-service-row__capacity strong,
	.stn-r2-service-row__fees strong {
		font-size: 17px;
	}

	.stn-r2-service-row__action .stn-r2-row-link {
		width: 100%;
		justify-content: center;
	}

	.stn-r2-page .stn-campaign-banner-grid {
		grid-template-columns: 1fr;
	}

	.stn-r2-page .stn-campaign-banner-card {
		display: flex;
		gap: 11px;
		padding: 14px;
	}

	.stn-r2-page .stn-campaign-banner-card__media {
		order: 3;
	}

	.stn-r2-page .stn-campaign-banner-card__benefit {
		order: 2;
	}

	.stn-r2-page .stn-campaign-banner-card__detail {
		order: 4;
	}

	.stn-r2-page .stn-campaign-banner-card__media .affiliate-ad-slot {
		width: min(100%, 320px);
	}

	.stn-r2-page--home .stn-campaign-banner-card__plan {
		display: none;
	}

	.stn-r2-page--home .stn-campaign-banner-card__media img:not([width="1"]) {
		width: min(240px, 100%);
		height: auto;
	}

	.stn-r2-device-offer {
		padding: 14px;
	}

	.stn-r2-device-offer h3 {
		font-size: 20px;
	}

	.stn-r2-check-grid {
		grid-template-columns: 1fr;
	}

	.stn-r2-check-grid article,
	.stn-r2-check-grid article:nth-child(odd) {
		border-top: 1px solid var(--stn-r2-line);
		border-left: 0;
	}

	.stn-r2-check-grid article:first-child {
		border-top: 0;
	}

	.stn-r2-carrier-groups {
		grid-template-columns: 1fr;
	}

	.stn-r2-carrier-groups ul {
		grid-template-columns: 1fr 1fr;
	}

	.stn-r2-beginner-phase {
		grid-template-columns: 1fr;
	}

	.stn-r2-beginner-phase > h3 {
		grid-row: auto;
		padding: 14px;
	}

	.stn-r2-beginner-step {
		padding: 13px 14px;
		border-top: 1px solid var(--stn-r2-line);
		border-left: 0;
	}

	.stn-r2-service-hero {
		gap: 18px;
		padding-block: 24px 30px;
	}

	.stn-r2-service-hero h2 {
		font-size: 31px;
	}

	.stn-r2-verdict {
		grid-template-columns: 1fr;
	}

	.stn-r2-verdict article + article {
		border-top: 1px solid var(--stn-r2-line);
		border-left: 0;
	}

	.stn-r2-service-detail section {
		padding: 34px 0;
	}

	.stn-r2-feature-rows article {
		grid-template-columns: 40px minmax(0, 1fr);
		padding: 13px 14px;
	}

	.stn-r2-feature-rows article p {
		grid-column: 2;
		font-size: 13px;
	}

	.stn-r2-campaign-panel {
		padding: 14px;
	}

	.stn-r2-enabled .sn-footer {
		padding-block: 28px 14px;
	}

	.stn-r2-enabled .sn-footer-inner {
		max-width: calc(100vw - 32px) !important;
	}

	.stn-r2-enabled .sn-footer-grid {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 22px 18px !important;
	}

	.stn-r2-enabled .sn-footer-grid > .wp-block-column:first-child,
	.stn-r2-enabled .sn-footer-grid > .wp-block-column:nth-child(2) {
		grid-column: 1 / -1;
	}

	.stn-r2-enabled .sn-footer a {
		min-height: 34px;
		padding: 4px 0;
	}
}

@media (max-width: 360px) {
	.stn-r2-shell,
	.stn-r2-section,
	.stn-r2-hero__inner,
	.stn-r2-service-detail,
	.stn-r2-disclosure {
		width: calc(100% - 24px);
	}

	.stn-r2-category-nav a {
		font-size: 12px;
	}

	.stn-r2-service-row__capacity strong,
	.stn-r2-service-row__fees strong {
		font-size: 16px;
	}

	.stn-r2-carrier-groups ul {
		grid-template-columns: 1fr;
	}
}
