/* StageCrew LP — Distilled Order
 * 白基調／ハイライト #0FC16E／Open Sans + Noto Sans JP
 * すべてのセレクタは .sclp 配下に限定し、テーマCSSと干渉しない。
 */

:root {
	--sc-green: #0FC16E;
	--sc-green-ink: #087A45;   /* 白地上の小さな文字用（コントラスト確保） */
	--sc-green-soft: #E7F8EF;
	--sc-navy: #1F3348;
	--sc-body: #44546A;
	--sc-mute: #6B7A8C;
	--sc-mist: #F3F6F8;
	--sc-line: #DCE3EA;
	--sc-white: #FFFFFF;
	--sc-font: "Open Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--sc-gutter: clamp(20px, 5vw, 48px);
	--sc-max: 1200px;
	--sc-header: 72px;
	--sc-utility: 32px;
}

/* ---------- Base / reset (scoped) ---------- */
body.sclp {
	margin: 0;
	background: var(--sc-white);
	color: var(--sc-body);
	font-family: var(--sc-font);
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.02em;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.sclp *, .sclp *::before, .sclp *::after { box-sizing: border-box; }
.sclp :where(h1, h2, h3, p, ul, ol, dl, dd, figure, figcaption) { margin: 0; padding: 0; }
.sclp :where(ul, ol) { list-style: none; }
.sclp img, .sclp svg { display: block; max-width: 100%; height: auto; }
.sclp a { color: inherit; text-decoration: none; }
.sclp :where(h1, h2, h3) {
	color: var(--sc-navy);
	font-family: var(--sc-font);
	font-feature-settings: "palt";
	word-break: auto-phrase;
	text-wrap: balance;
	letter-spacing: 0.03em;
}
.sclp p { text-wrap: pretty; }
.sclp :focus-visible { outline: 3px solid var(--sc-green); outline-offset: 3px; border-radius: 6px; }
@media (prefers-reduced-motion: no-preference) { html:has(body.sclp) { scroll-behavior: smooth; } }
html:has(body.sclp) { scroll-padding-top: calc(var(--sc-header) + 24px); }

.sclp-wrap { width: 100%; max-width: calc(var(--sc-max) + var(--sc-gutter) * 2); margin-inline: auto; padding-inline: var(--sc-gutter); }
.sclp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sclp-skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--sc-navy); color: #fff; padding: 8px 16px; border-radius: 999px; }
.sclp-skip:focus { top: 12px; }

/* ---------- Buttons / links ---------- */
.sclp-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 52px; padding: 0 30px; border-radius: 999px;
	font-weight: 700; font-size: 15px; letter-spacing: 0.06em; line-height: 1;
	border: 1.5px solid transparent;
	transition: background-color .2s, color .2s, border-color .2s;
}
.sclp-btn--primary { background: var(--sc-green); color: var(--sc-navy); }
.sclp-btn--primary:hover { background: #12D47A; }
.sclp-btn--ghost { border-color: var(--sc-navy); color: var(--sc-navy); }
.sclp-btn--ghost:hover { background: var(--sc-navy); color: #fff; }
.sclp-btn--onnavy { border-color: rgba(255,255,255,.7); color: #fff; }
.sclp-btn--onnavy:hover { background: #fff; color: var(--sc-navy); }
.sclp-btn--sm { min-height: 40px; padding: 0 20px; font-size: 14px; }
.sclp-btn--lg { min-height: 60px; padding: 0 44px; font-size: 16px; }
.sclp-link { color: var(--sc-green-ink); font-weight: 700; font-size: 15px; border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }
.sclp-link:hover { color: var(--sc-navy); }

/* ---------- Header ---------- */
.sclp-header {
	position: sticky; top: calc(var(--sc-utility) * -1); z-index: 50;
	background: rgba(255,255,255,.94);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color .2s;
}
body.admin-bar .sclp-header { top: calc(32px - var(--sc-utility)); }
@media (max-width: 782px) { body.admin-bar .sclp-header { top: calc(46px - var(--sc-utility)); } }

/* Utility bar（ステータス／サインイン／言語） */
.sclp-utility { height: var(--sc-utility); background: var(--sc-mist); font-size: 12px; }
.sclp-utility__in { display: flex; justify-content: flex-end; align-items: center; gap: 24px; height: 100%; }
.sclp-utility__links, .sclp-lang { display: flex; gap: 20px; }
.sclp-utility a { color: var(--sc-body); font-weight: 600; }
.sclp-utility a:hover { color: var(--sc-green-ink); }
.sclp-lang { gap: 0; }
.sclp-lang li + li::before { content: "/"; margin: 0 8px; color: var(--sc-line); }
.sclp-lang a[aria-current="true"], .sclp-nav__lang a[aria-current="true"] { color: var(--sc-navy); text-decoration: underline; text-underline-offset: 4px; }
.sclp-nav .sclp-nav__utility { display: none; }
.sclp-nav__btns { display: flex; gap: 10px; }
.sclp-header.is-scrolled { border-bottom-color: var(--sc-line); }
.sclp-header__in { position: relative; display: flex; align-items: center; justify-content: space-between; height: var(--sc-header); }
.sclp-brand img { width: 152px; height: auto; }
.sclp-nav { display: flex; align-items: center; gap: 28px; }
.sclp-nav ul { display: flex; gap: 28px; }
.sclp-nav ul a { font-size: 14px; font-weight: 600; color: var(--sc-navy); }
.sclp-nav ul a:hover { color: var(--sc-green-ink); }
.sclp-menu { display: none; }

@media (max-width: 1080px) {
	.sclp-utility { display: none; }
	.sclp-header { top: 0; }
	body.admin-bar .sclp-header { top: 32px; }
	.sclp-menu {
		display: inline-flex; align-items: center; justify-content: center;
		width: 44px; height: 44px; border: 0; background: none; cursor: pointer; padding: 0;
	}
	.sclp-menu__bar, .sclp-menu__bar::before, .sclp-menu__bar::after {
		display: block; width: 22px; height: 2px; border-radius: 2px; background: var(--sc-navy); position: relative; transition: transform .2s, background-color .2s;
	}
	.sclp-menu__bar::before, .sclp-menu__bar::after { content: ""; position: absolute; left: 0; }
	.sclp-menu__bar::before { top: -7px; }
	.sclp-menu__bar::after { top: 7px; }
	.sclp-menu[aria-expanded="true"] .sclp-menu__bar { background: transparent; }
	.sclp-menu[aria-expanded="true"] .sclp-menu__bar::before { transform: translateY(7px) rotate(45deg); }
	.sclp-menu[aria-expanded="true"] .sclp-menu__bar::after { transform: translateY(-7px) rotate(-45deg); }
	.sclp-nav {
		position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 20px;
		background: #fff; border-bottom: 1px solid var(--sc-line);
		padding: 8px var(--sc-gutter) 28px;
		display: none;
	}
	.sclp-nav.is-open { display: flex; }
	.sclp-nav ul { flex-direction: column; gap: 0; }
	.sclp-nav ul a { display: block; padding: 14px 0; border-bottom: 1px solid var(--sc-line); font-size: 15px; }
	.sclp-nav .sclp-nav__utility { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 24px; font-size: 14px; }
	.sclp-nav .sclp-nav__utility a { display: inline; padding: 0; border: 0; }
	.sclp-nav__utility a { color: var(--sc-body); font-weight: 600; }
	.sclp-nav__lang a + a { margin-left: 12px; }
	.sclp-nav__btns { display: grid; grid-template-columns: 1fr 1fr; }
	.sclp-nav .sclp-btn { min-height: 52px; }
}
@media (max-width: 782px) { body.admin-bar .sclp-header { top: 46px; } }

/* ---------- Hero ---------- */
.sclp-hero { padding: clamp(32px, 6vw, 72px) 0 clamp(56px, 8vw, 104px); overflow: hidden; }
.sclp-hero__grid {
	display: grid; max-width: none; padding: 0;
	grid-template-columns:
		[full-start] minmax(var(--sc-gutter), 1fr)
		[text-start] minmax(0, 620px)
		[visual-start] minmax(0, 580px)
		[text-end] minmax(var(--sc-gutter), 1fr) [full-end];
	align-items: center;
}
.sclp-hero__text { grid-column: text-start / visual-start; padding-right: 24px; position: relative; z-index: 1; }
.sclp-hero__visual { grid-column: visual-start / full-end; margin-right: -2px; }
.sclp-hero__visual svg {
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%), linear-gradient(90deg, transparent 0, #000 9%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%), linear-gradient(90deg, transparent 0, #000 9%);
	mask-composite: intersect;
}
.sclp-hero__title {
	/* 日本語は <br> 位置の2行で固定（行内では折り返さない） */
	white-space: nowrap;
	font-size: clamp(2.25rem, 4.1vw, 3.5rem);
	line-height: 1.32;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.sclp-hero__lead { margin-top: 28px; word-break: auto-phrase; font-size: clamp(1rem, 1.2vw, 1.0625rem); line-height: 2; max-width: 32em; }
.sclp-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 40px; }

.sclp-field .c { transform-box: fill-box; transform-origin: center; rotate: var(--r1); }
@media (prefers-reduced-motion: no-preference) {
	.sclp-field .c { animation: sclp-settle 1.5s cubic-bezier(.2,.75,.2,1) var(--d) both; }
}
@keyframes sclp-settle { from { rotate: var(--r0); opacity: 0; } 35% { opacity: 1; } }

@media (max-width: 960px) {
	.sclp-hero__grid { grid-template-columns: var(--sc-gutter) minmax(0, 1fr) var(--sc-gutter); }
	.sclp-hero__text { grid-column: 2 / 3; padding-right: 0; }
	.sclp-hero__title { font-size: clamp(1.75rem, 8.4vw, 3rem); }
	.sclp-hero__visual { grid-column: 1 / -1; margin-top: 40px; }
	.sclp-hero__visual svg { width: 115%; max-width: none; margin-left: -6%; }
}

/* ---------- Sections ---------- */
.sclp-section { padding: clamp(72px, 10vw, 128px) 0; }
.sclp-h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.45; font-weight: 700; }
.sclp-body { font-size: 1rem; line-height: 2; max-width: 40em; }
.sclp-sechead { display: grid; gap: 20px; margin-bottom: clamp(48px, 6vw, 72px); }
.sclp-note { margin-top: 40px; font-size: 12.5px; line-height: 1.8; color: var(--sc-mute); }

.sclp-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px 32px; flex-wrap: wrap; margin-top: 40px; }
.sclp-foot .sclp-note { margin-top: 0; }
.sclp-foot > .sclp-btn:only-child { margin-left: auto; }

/* Problem */
.sclp-problem, .sclp-product { border-top: 1px solid var(--sc-line); }
.sclp-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.sclp-split__text { display: grid; gap: 24px; }
.sclp-split__visual svg { width: 100%; font-family: var(--sc-font); }
.sclp-only-narrow { display: none; }
@media (max-width: 860px) { .sclp-split { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
	.sclp-only-wide { display: none; }
	.sclp-only-narrow { display: block; max-width: 420px; margin-inline: auto; }
}

/* Product: Writer と Team Agent の2本柱。Automation Bridge は間をつなぐ控えめな位置づけ */
.sclp-pillars { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 168px minmax(0, 1fr); column-gap: 24px; }
.sclp-pillars::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 220px;
	background: var(--sc-mist); border-radius: 28px; z-index: 0;
}
.sclp-pillar { position: relative; z-index: 1; display: flex; flex-direction: column; }
.sclp-pillar__ill { height: 220px; display: grid; place-items: center; padding: 28px 12px; }
.sclp-pillar__ill svg { width: min(250px, 100%); }
.sclp-pillar__role { margin-top: 32px; font-size: 14px; font-weight: 700; color: var(--sc-green-ink); letter-spacing: 0.06em; }
.sclp-pillar__name { margin-top: 8px; font-size: clamp(1.6rem, 2.4vw, 2.125rem); font-weight: 700; line-height: 1.3; letter-spacing: 0.01em; }
.sclp-pillar__motto { min-height: 1.9em; margin-top: 4px; font-size: 15px; color: var(--sc-mute); letter-spacing: 0.04em; }
.sclp-pillar__body { margin-top: 18px; font-size: 15px; line-height: 1.95; }
.sclp-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 22px; }
.sclp-tags li { font-size: 13px; line-height: 1; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--sc-line); color: var(--sc-navy); font-weight: 600; }

.sclp-bridge { position: relative; z-index: 1; height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; }
.sclp-bridge__arrow {
	width: 100%; height: 24px; margin-bottom: 8px;
	background: no-repeat center / 100% 24px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 168 24' preserveAspectRatio='none'%3E%3Cpath d='M4 12h156M151 4l9 8-9 8' fill='none' stroke='%230FC16E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='0'/%3E%3C/svg%3E");
}
.sclp-bridge__name { font-size: 13px; font-weight: 700; color: var(--sc-navy); letter-spacing: 0.02em; }
.sclp-bridge__body { font-size: 12px; line-height: 1.6; color: var(--sc-mute); }

@media (max-width: 960px) {
	.sclp-pillars { grid-template-columns: 1fr; row-gap: 0; }
	.sclp-pillars::before { display: none; }
	.sclp-pillar__ill { background: var(--sc-mist); border-radius: 24px; height: 190px; }
	.sclp-pillar__motto:empty { display: none; }
	.sclp-bridge { height: auto; padding: 36px 0; display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; row-gap: 2px; align-items: center; justify-items: start; text-align: left; }
	.sclp-bridge__arrow { grid-row: 1 / 3; width: 24px; height: 48px; margin: 0; background-size: 24px 48px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 48'%3E%3Cpath d='M12 3v40M4 35l8 9 8-9' fill='none' stroke='%230FC16E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
}

/* Tacit knowledge: before / after */
.sclp-tacit { background: var(--sc-mist); }
.sclp-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.sclp-compare__panel { background: #fff; border-radius: 24px; padding: clamp(24px, 3vw, 40px); border: 1px solid var(--sc-line); display: grid; gap: 28px; align-content: start; }
.sclp-compare__panel--after { border: 2px solid var(--sc-green); }
.sclp-compare__ill svg { width: 100%; }
.sclp-compare__label { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; padding: 6px 16px; border-radius: 999px; background: var(--sc-mist); color: var(--sc-mute); }
.sclp-compare__panel--after .sclp-compare__label { background: var(--sc-green-soft); color: var(--sc-green-ink); }
.sclp-compare__head { margin-top: 14px; font-size: clamp(1.15rem, 1.6vw, 1.375rem); line-height: 1.55; font-weight: 700; }
.sclp-compare__body { margin-top: 10px; font-size: 15px; line-height: 1.95; }
@media (max-width: 860px) { .sclp-compare { grid-template-columns: 1fr; } }

/* Results */
.sclp-kpi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(40px, 5vw, 64px); border-top: 1px solid var(--sc-line); }
.sclp-kpi__item { padding: 32px 24px 8px 0; display: flex; flex-direction: column; gap: 14px; }
.sclp-kpi__item + .sclp-kpi__item { padding-left: 28px; border-left: 1px solid var(--sc-line); }
.sclp-kpi dt { font-size: 14px; font-weight: 600; color: var(--sc-body); }
.sclp-kpi dd { display: flex; align-items: baseline; flex-wrap: wrap; color: var(--sc-navy); }
.sclp-kpi__num { font-size: clamp(2.75rem, 5.4vw, 4.5rem); font-weight: 700; line-height: 1; letter-spacing: -0.02em; font-feature-settings: "tnum"; }
.sclp-kpi__unit { font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 700; color: var(--sc-green); margin-left: 4px; }
.sclp-kpi__verb { flex-basis: 100%; margin-top: 10px; font-size: 15px; font-weight: 700; color: var(--sc-navy); letter-spacing: 0.08em; }
@media (max-width: 860px) {
	.sclp-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sclp-kpi__item:nth-child(3) { padding-left: 0; border-left: 0; }
	.sclp-kpi__item:nth-child(n+3) { border-top: 1px solid var(--sc-line); }
}
@media (max-width: 560px) {
	.sclp-kpi { grid-template-columns: 1fr; }
	.sclp-kpi__item, .sclp-kpi__item + .sclp-kpi__item { padding: 24px 0 20px; border-left: 0; }
	.sclp-kpi__item + .sclp-kpi__item { border-top: 1px solid var(--sc-line); }
}

/* Services: lifecycle rail */
.sclp-services { border-top: 1px solid var(--sc-line); }
.sclp-rail { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.sclp-rail::before { content: ""; position: absolute; left: 0; right: 0; top: 9px; height: 2px; background: linear-gradient(90deg, var(--sc-line), var(--sc-green)); }
.sclp-rail__step { position: relative; padding-top: 44px; }
.sclp-rail__node { position: absolute; top: 0; left: 0; width: 40px; height: 20px; border-radius: 999px; background: #fff; border: 2px solid var(--sc-navy); }
.sclp-rail__step:last-child .sclp-rail__node { background: var(--sc-green); border-color: var(--sc-green); }
.sclp-rail__phase { font-size: 13px; font-weight: 700; color: var(--sc-green-ink); letter-spacing: 0.08em; }
.sclp-rail__name { margin-top: 8px; font-size: 1.25rem; font-weight: 700; line-height: 1.5; }
.sclp-rail__body { margin-top: 12px; font-size: 15px; line-height: 1.9; }
@media (max-width: 960px) {
	.sclp-rail { grid-template-columns: 1fr; gap: 36px; padding-left: 0; }
	.sclp-rail::before { left: 19px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(180deg, var(--sc-line), var(--sc-green)); }
	.sclp-rail__step { padding-top: 0; padding-left: 64px; }
}

/* Plans（#top-plan） */
.sclp-plans { border-top: 1px solid var(--sc-line); }
.sclp-plan-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(40px, 5vw, 56px); border-top: 2px solid var(--sc-navy); }
.sclp-plan { padding: 28px 32px 8px 0; }
.sclp-plan + .sclp-plan { padding-left: 32px; border-left: 1px solid var(--sc-line); }
.sclp-plan__name { font-size: 1.375rem; font-weight: 700; letter-spacing: 0.01em; }
.sclp-plan__for { margin-top: 4px; font-size: 14px; color: var(--sc-mute); }
.sclp-plan__users { margin-top: 22px; font-size: 2rem; font-weight: 700; color: var(--sc-navy); line-height: 1.2; letter-spacing: 0; }
.sclp-plan__base { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--sc-line); font-size: 14px; font-weight: 700; color: var(--sc-navy); }
.sclp-plan__features { margin-top: 10px; display: grid; gap: 8px; }
.sclp-plan__users + .sclp-plan__features { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--sc-line); }
.sclp-plan__features li { position: relative; padding-left: 26px; font-size: 14px; line-height: 1.7; }
.sclp-plan__features li.is-key { color: var(--sc-green-ink); font-weight: 700; }
.sclp-plan__features li.is-sub { padding-left: 42px; }
.sclp-plan__features li.is-sub::before { left: 16px; width: 10px; height: 2px; top: 0.85em; rotate: 0deg; background: var(--sc-line); }
.sclp-plan__features em { font-style: normal; font-weight: 700; color: var(--sc-navy); }
.sclp-plan__features li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 16px; height: 7px; border-radius: 999px; background: var(--sc-green); rotate: -11deg; }
@media (max-width: 960px) {
	.sclp-plan-list { grid-template-columns: 1fr; }
	.sclp-plan, .sclp-plan + .sclp-plan { padding: 24px 0 20px; border-left: 0; }
	.sclp-plan + .sclp-plan { border-top: 1px solid var(--sc-line); margin-top: 0; }
}

/* Optional page content (video etc.) */
.sclp-extra { padding-top: 0; }
.sclp-extra iframe, .sclp-extra video { max-width: 100%; }

/* Blog */
.sclp-blog { border-top: 1px solid var(--sc-line); }
.sclp-blog__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.sclp-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.sclp-post a { display: grid; gap: 12px; }
.sclp-post__thumb { display: block; aspect-ratio: 16 / 10; border-radius: 16px; overflow: hidden; background: var(--sc-mist); }
.sclp-post__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.sclp-post__thumb.is-empty { display: grid; place-items: center; }
.sclp-post__thumb.is-empty img { width: 64px; height: auto; object-fit: contain; }
.sclp-post a:hover .sclp-post__thumb:not(.is-empty) img { transform: scale(1.03); }
.sclp-post time { font-size: 13px; color: var(--sc-mute); letter-spacing: 0.06em; }
.sclp-post__title { color: var(--sc-navy); font-weight: 700; font-size: 1rem; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sclp-post a:hover .sclp-post__title { color: var(--sc-green-ink); }
@media (max-width: 860px) { .sclp-posts { grid-template-columns: 1fr; } .sclp-post a { grid-template-columns: 140px 1fr; grid-template-rows: auto 1fr; column-gap: 16px; row-gap: 4px; } .sclp-post__thumb { grid-row: 1 / 3; } }

/* CTA */
.sclp-cta { background: var(--sc-navy); color: #fff; padding: clamp(64px, 8vw, 104px) 0; }
.sclp-cta__in { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.sclp-cta__title { color: #fff; font-size: clamp(1.6rem, 2.8vw, 2.25rem); line-height: 1.5; font-weight: 700; }
.sclp-cta__body { margin-top: 14px; color: rgba(255,255,255,.82); max-width: 36em; line-height: 1.95; }
.sclp-cta .sclp-btn--primary:hover { background: #fff; }

.sclp-prose > * + * { margin-top: 1.2em; }
.sclp-cta__btns { margin-top: 0; }

/* Footer */
.sclp-footer { padding: 56px 0 40px; border-top: 1px solid var(--sc-line); }
.sclp-footer__in { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; flex-wrap: wrap; }
.sclp-footer__brand { display: grid; gap: 14px; }
.sclp-footer__brand img { width: 136px; }
.sclp-footer__brand p { font-size: 13px; }
.sclp-footer__brand a:hover, .sclp-footer__links a:hover { color: var(--sc-green-ink); }
.sclp-footer__links { display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 14px; color: var(--sc-navy); font-weight: 600; }
.sclp-footer__sub { display: flex; flex-wrap: wrap; gap: 6px 24px; margin-top: 32px; font-size: 12.5px; color: var(--sc-body); }
.sclp-footer__sub a:hover { color: var(--sc-green-ink); }
.sclp-footer__legal { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--sc-line); padding-inline: 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12px; line-height: 1.8; color: var(--sc-mute); }
.sclp-footer__legal p:first-child { max-width: 52em; }

/* ---------- English ---------- */
.sclp--en { letter-spacing: 0; line-height: 1.75; }
.sclp--en :where(h1, h2, h3) { letter-spacing: -0.01em; font-feature-settings: normal; }
.sclp--en .sclp-hero__title { white-space: normal; font-size: clamp(2rem, 3.5vw, 3.15rem); line-height: 1.12; letter-spacing: -0.02em; }
.sclp--en .sclp-h2 { line-height: 1.2; letter-spacing: -0.015em; }
.sclp--en .sclp-hero__lead, .sclp--en .sclp-body { line-height: 1.75; }
.sclp--en .sclp-btn { letter-spacing: 0.01em; }
.sclp--en .sclp-pillar__role, .sclp--en .sclp-rail__phase, .sclp--en .sclp-compare__label { letter-spacing: 0.02em; }
.sclp--en .sclp-kpi__verb { letter-spacing: 0.02em; }
.sclp--en .sclp-nav ul { gap: 26px; }

/* ---------- Wide screens ----------
 * 1200px 基準のレイアウトを、広い画面では比率を保ったまま拡大する。
 * 管理バーへの影響を避けるため、LP の各ブロックにのみ zoom を掛ける。
 */
@media (min-width: 1760px) { body.sclp { --sclp-z: 1.1; } }
@media (min-width: 2048px) { body.sclp { --sclp-z: 1.2; } }
@media (min-width: 2400px) { body.sclp { --sclp-z: 1.35; } }
@media (min-width: 1760px) {
	.sclp-skip, .sclp-header, #sclp-main, .sclp-footer { zoom: var(--sclp-z); }
	body.admin-bar .sclp-header { top: calc(32px / var(--sclp-z) - var(--sc-utility)); }
	html:has(body.sclp) { scroll-padding-top: calc((var(--sc-header) + 24px) * var(--sclp-z)); }
}

/* ==========================================================================
 * 下層ページ（ステータス・ブログ一覧・お問い合わせ・資料請求）
 * 本文は既存のブロックをそのまま描画し、旧デザインの「カード枠・余白・配色」をここで打ち消す。
 * ========================================================================== */
/* グローバルスタイル（テーマ）の段落サイズ指定を、共通パーツでは打ち消す。個別クラスの指定が優先されるよう、この位置に置く。 */
.sclp-header :where(p), .sclp-subhero :where(p), .sclp-cta :where(p), .sclp-footer :where(p) { font-size: inherit; line-height: inherit; }
.sclp-subhero { background: var(--sc-mist); padding: clamp(48px, 7vw, 88px) 0 clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--sc-line); }
.sclp-subhero__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.18em; color: var(--sc-green-ink); text-transform: uppercase; }
.sclp-subhero__title { margin-top: 10px; font-size: clamp(1.9rem, 3.4vw, 2.75rem); line-height: 1.35; font-weight: 700; }
.sclp-subbody { padding: clamp(48px, 7vw, 96px) 0 clamp(72px, 9vw, 120px); }
.sclp-subbody--form .sclp-sub__body { max-width: 800px; }

/* 旧デザインの枠を外す */
.sclp-sub__body { color: var(--sc-body); font-family: var(--sc-font); font-size: 1rem; line-height: 1.9; }
.sclp-sub__body :where(.wp-block-group, .wp-block-query, .wp-block-columns) { margin-block: 0; }
.sclp-sub__body .wp-block-group.has-background,
.sclp-sub__body .wp-block-group.has-global-padding { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.sclp-sub__body > .wp-block-group,
.sclp-sub__body > .wp-block-group > .wp-block-group,
.sclp-sub__body > .wp-block-group > .wp-block-group > .wp-block-group { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; }
.sclp-sub__body .alignfull, .sclp-sub__body .alignwide { margin-left: 0 !important; margin-right: 0 !important; width: auto; max-width: none !important; }
.sclp-sub__body :where(.is-layout-constrained) > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }

/* 見出し・本文 */
.sclp-sub__body :where(h2, h3, h4) { color: var(--sc-navy); font-family: var(--sc-font) !important; font-weight: 700; line-height: 1.5; letter-spacing: 0.02em; }
.sclp-sub__body h2 { font-size: clamp(1.35rem, 2vw, 1.625rem) !important; margin: 48px 0 20px !important; }
.sclp-sub__body h3 { font-size: 1.2rem !important; margin: 32px 0 12px !important; }
.sclp-sub__body > *:first-child h2:first-child, .sclp-sub__body h2:first-child { margin-top: 0 !important; }
.sclp-sub__body p { margin: 0 0 1em; font-size: 1rem; }
.sclp-sub__body a:not(.wp-block-button__link):not(.wp-element-button) { color: var(--sc-green-ink); text-decoration: underline; text-underline-offset: 3px; }
.sclp-sub__body .has-small-font-size { font-size: 14px !important; }
.sclp-sub__body :where(p, li, h2, h3, h4, label, summary) { font-family: var(--sc-font) !important; }

/* ステータス表（カラムで組まれた表） */
.sclp-sub__body .wp-block-columns { gap: 0 !important; margin: 0 !important; }
.sclp-sub__body .wp-block-column { padding: 14px 20px !important; border-color: var(--sc-line) !important; background: #fff !important; font-size: 15px; line-height: 1.8; }
.sclp-sub__body .wp-block-columns:nth-of-type(odd) .wp-block-column { background: var(--sc-mist) !important; }
.sclp-sub__body .wp-block-columns:first-of-type .wp-block-column { background: var(--sc-navy) !important; color: #fff !important; font-weight: 700; font-size: 14px; }
.sclp-sub__body .wp-block-columns:first-of-type .wp-block-column * { color: #fff !important; }
.sclp-sub__body .wp-block-column :where(p, div, summary, details, li) { margin: 0; font-size: 15px; line-height: 1.75; }
.sclp-sub__body .wp-block-column img { display: inline-block; width: 16px; height: 16px; vertical-align: -2px; margin-right: 6px; }
.sclp-sub__body details > summary { cursor: pointer; color: var(--sc-navy); font-weight: 700; }
.sclp-sub__body details > summary::marker { color: var(--sc-green-ink); }

/* ブログ一覧（クエリーループ） */
.sclp-sub__body .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.sclp-sub__body .wp-block-post { margin: 0 !important; display: grid; gap: 10px; align-content: start; }
.sclp-sub__body .wp-block-post-featured-image { margin: 0 0 6px !important; aspect-ratio: 16 / 10; border-radius: 16px; overflow: hidden; background: var(--sc-mist); }
.sclp-sub__body .wp-block-post-featured-image a, .sclp-sub__body .wp-block-post-featured-image img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; transition: transform .4s; }
.sclp-sub__body .wp-block-post-featured-image a:hover img { transform: scale(1.03); }
.sclp-sub__body .wp-block-post-date { font-size: 13px !important; color: var(--sc-mute) !important; letter-spacing: 0.06em; margin: 0 !important; }
.sclp-sub__body .wp-block-post-title { font-size: 1rem !important; line-height: 1.7 !important; margin: 0 !important; }
.sclp-sub__body .wp-block-post-title a { color: var(--sc-navy) !important; text-decoration: none !important; font-weight: 700; }
.sclp-sub__body .wp-block-post-title a:hover { color: var(--sc-green-ink) !important; }
.sclp-sub__body .wp-block-query-pagination { margin-top: 56px !important; display: flex; justify-content: center !important; align-items: center; gap: 8px; font-size: 15px; }
.sclp-sub__body .wp-block-query-pagination a, .sclp-sub__body .wp-block-query-pagination .page-numbers { color: var(--sc-navy) !important; text-decoration: none !important; font-weight: 600; }
.sclp-sub__body .wp-block-query-pagination-numbers { display: flex; gap: 4px; }
.sclp-sub__body .wp-block-query-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; border-radius: 999px; }
.sclp-sub__body .wp-block-query-pagination .page-numbers.current { background: var(--sc-navy); color: #fff !important; }
.sclp-sub__body .wp-block-query-pagination-previous, .sclp-sub__body .wp-block-query-pagination-next { padding: 8px 16px; border: 1px solid var(--sc-line); border-radius: 999px; }
@media (max-width: 960px) { .sclp-sub__body .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sclp-sub__body .wp-block-post-template { grid-template-columns: 1fr; } }

/* フォーム（Jetpack） */
.sclp-sub__body form :where(label, .grunion-field-label) { color: var(--sc-navy) !important; font-weight: 700 !important; font-size: 14px !important; }
.sclp-sub__body form :where(.grunion-label-required, .required) { color: var(--sc-green-ink) !important; font-weight: 600; font-size: 12px; margin-left: 6px; }
.sclp-sub__body form :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
	width: 100%; border: 1px solid #C9D3DD !important; border-radius: 10px !important; background: #fff !important;
	padding: 12px 14px !important; font: inherit !important; font-size: 16px !important; color: var(--sc-navy) !important; box-shadow: none !important;
}
.sclp-sub__body form :where(input, select, textarea):focus { outline: 3px solid rgba(15, 193, 110, .35) !important; outline-offset: 0; border-color: var(--sc-green) !important; }
.sclp-sub__body form input[type="checkbox"] { accent-color: var(--sc-green); width: 18px; height: 18px; vertical-align: -3px; }
.sclp-sub__body form :where(button[type="submit"], .wp-block-button__link, .wp-element-button) {
	display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 48px !important;
	background: var(--sc-green) !important; color: var(--sc-navy) !important; border: 0 !important; border-radius: 999px !important;
	font: inherit !important; font-weight: 700 !important; font-size: 16px !important; letter-spacing: 0.06em; cursor: pointer; transition: background-color .2s;
}
.sclp-sub__body form :where(button[type="submit"], .wp-block-button__link, .wp-element-button):hover { background: #12D47A !important; }
.sclp-sub__body .contact-form-submission h4 { color: var(--sc-navy); }

/* 個人情報の取り扱い（スクロール枠） */
.sclp-sub__body .wp-block-group.scroll { border: 1px solid var(--sc-line) !important; border-radius: 12px !important; background: var(--sc-mist) !important; padding: 16px 20px !important; }
.sclp-sub__body .wp-block-group.scroll :where(p) { font-size: 13px !important; line-height: 1.8; margin: 0 0 .6em; }
/* 電話番号（国番号＋入力欄） */
.sclp-sub__body .jetpack-field__input-phone-wrapper { display: flex !important; align-items: center; gap: 4px; border: 1px solid #C9D3DD !important; border-radius: 10px !important; background: #fff !important; padding: 0 8px !important; box-shadow: none !important; }
.sclp-sub__body .jetpack-field__input-phone-wrapper:focus-within { outline: 3px solid rgba(15, 193, 110, .35); border-color: var(--sc-green) !important; }
.sclp-sub__body form .jetpack-field__input-phone-wrapper :where(input, select) { border: 0 !important; outline: 0 !important; padding: 12px 6px !important; background: transparent !important; }

/* ==========================================================================
 * ブログ記事（投稿）
 * ========================================================================== */
.sclp-article__wrap { max-width: calc(820px + var(--sc-gutter) * 2); }
.sclp-article__head { padding: clamp(40px, 6vw, 80px) 0 clamp(28px, 4vw, 40px); }
.sclp-article__head :where(p) { font-size: inherit; line-height: inherit; }
.sclp-article__meta { display: flex; align-items: center; gap: 16px; font-size: 13px !important; color: var(--sc-mute); letter-spacing: 0.06em; }
.sclp-article__back { color: var(--sc-green-ink) !important; font-weight: 700; letter-spacing: 0.12em; }
.sclp-article__back:hover { color: var(--sc-navy) !important; }
.sclp-article__title { margin-top: 16px; font-size: clamp(1.6rem, 3vw, 2.25rem) !important; line-height: 1.5 !important; font-weight: 700; color: var(--sc-navy); }
.sclp-article__thumb { margin: 0 0 clamp(32px, 5vw, 56px); aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; background: var(--sc-mist); }
.sclp-article__thumb img { width: 100%; height: 100%; object-fit: cover; }

.sclp-article__body { color: var(--sc-body); font-size: 1.0625rem; line-height: 2; word-break: normal; overflow-wrap: anywhere; }
.sclp-article__body > * { max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
.sclp-article__body :where(p, li, td, th, dd, dt, blockquote, figcaption, h2, h3, h4, h5) { font-family: var(--sc-font) !important; }
.sclp-article__body p { font-size: 1.0625rem; line-height: 2; margin: 0 0 1.4em; }
.sclp-article__body :where(h2, h3, h4) { color: var(--sc-navy); font-weight: 700; line-height: 1.55; letter-spacing: 0.02em; }
.sclp-article__body h2 { font-size: clamp(1.3rem, 2vw, 1.5rem) !important; margin: 2.4em 0 1em !important; padding-left: 16px; border-left: 4px solid var(--sc-green); }
.sclp-article__body h3 { font-size: 1.2rem !important; margin: 2em 0 .8em !important; }
.sclp-article__body h4 { font-size: 1.05rem !important; margin: 1.6em 0 .6em !important; }
.sclp-article__body a:not(.wp-block-button__link):not(.wp-element-button):not(.share-icon):not(.sd-button) { color: var(--sc-green-ink); text-decoration: underline; text-underline-offset: 3px; }
.sclp-article__body :where(ul, ol) { margin: 0 0 1.4em; padding-left: 1.4em; list-style: revert; }
.sclp-article__body li { margin: .3em 0; }
.sclp-article__body strong { color: var(--sc-navy); }
.sclp-article__body :where(figure, .wp-block-image) { margin: 2em 0 !important; }
.sclp-article__body img { border-radius: 12px; height: auto; }
.sclp-article__body figcaption { font-size: 13px; color: var(--sc-mute); text-align: center; margin-top: 8px; }
.sclp-article__body .wp-block-embed__wrapper iframe, .sclp-article__body iframe, .sclp-article__body video { max-width: 100%; border-radius: 12px; }
.sclp-article__body blockquote { margin: 2em 0; padding: 16px 24px; border-left: 4px solid var(--sc-line); background: var(--sc-mist); border-radius: 0 12px 12px 0; }
.sclp-article__body hr, .sclp-article__body .wp-block-separator { border: 0 !important; border-top: 1px solid var(--sc-line) !important; margin: 2.4em 0 !important; opacity: 1; width: 100% !important; max-width: none !important; }
.sclp-article__body table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: 15px; line-height: 1.8; }
.sclp-article__body :where(th, td) { padding: 14px 16px; border-bottom: 1px solid var(--sc-line); text-align: left; vertical-align: top; }
.sclp-article__body th, .sclp-article__body td:first-child { color: var(--sc-navy); font-weight: 700; white-space: nowrap; }
.sclp-article__body thead th { background: var(--sc-mist); }
.sclp-article__body .wp-block-buttons { gap: 12px; margin: 1.6em 0 !important; }
.sclp-article__body :where(.wp-block-button__link, .wp-element-button) {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 32px !important;
	background: var(--sc-green) !important; color: var(--sc-navy) !important; border: 0 !important; border-radius: 999px !important;
	font-family: var(--sc-font) !important; font-weight: 700 !important; font-size: 15px !important; text-decoration: none !important; letter-spacing: 0.04em;
}
.sclp-article__body :where(.wp-block-button__link, .wp-element-button):hover { background: #12D47A !important; }
.sclp-article__body .is-style-outline :where(.wp-block-button__link) { background: transparent !important; border: 1.5px solid var(--sc-navy) !important; }
.sclp-article__body .sharedaddy { margin-top: 3em !important; padding-top: 1.6em; border-top: 1px solid var(--sc-line); }
.sclp-article__body .sharedaddy .sd-title { font-size: 13px !important; color: var(--sc-mute); font-weight: 700; border: 0 !important; margin-bottom: 10px !important; }
.sclp-article__body .sharedaddy .sd-title::before { display: none !important; }

.sclp-article__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: clamp(48px, 6vw, 72px); padding-top: 32px; border-top: 1px solid var(--sc-line); }
.sclp-article__adj { display: grid; gap: 6px; padding: 18px 20px; border: 1px solid var(--sc-line); border-radius: 16px; transition: border-color .2s; }
.sclp-article__adj:hover { border-color: var(--sc-green); }
.sclp-article__adj--next { grid-column: 2; text-align: right; }
.sclp-article__adj-label { font-size: 12px; font-weight: 700; color: var(--sc-green-ink); letter-spacing: 0.1em; }
.sclp-article__adj-title { font-size: 14px; font-weight: 700; color: var(--sc-navy); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sclp-article__all { margin: 40px 0 clamp(72px, 9vw, 112px); text-align: center; }
@media (max-width: 600px) {
	.sclp-article__nav { grid-template-columns: 1fr; }
	.sclp-article__adj--next { grid-column: auto; }
	.sclp-article__body th, .sclp-article__body td:first-child { white-space: normal; }
	.sclp-article__body table { display: block; overflow-x: auto; }
}
/* 本文中の文字サイズ指定（テーマのプリセット）を記事の本文サイズにそろえる */
.sclp-article__body :where(p, li).has-medium-font-size, .sclp-article__body :where(p, li).has-normal-font-size { font-size: 1.0625rem !important; line-height: 2 !important; }
.sclp-article__body :where(p, li).has-small-font-size { font-size: 15px !important; }

/* メディア掲載（日付＋見出しリンク＋外部リンクアイコンの一覧） */
.sclp-sub__body .wp-block-group:has(> h3 + figure) {
	display: grid !important; grid-template-columns: 112px minmax(0, 1fr) 20px; gap: 6px 24px; align-items: baseline;
	padding: 22px 0 !important; margin: 0 !important; border-style: solid !important; border-width: 0 0 1px !important; border-color: var(--sc-line) !important;
}
.sclp-sub__body .wp-block-group:has(> h3 + figure):first-child { border-top-width: 1px !important; }
.sclp-sub__body .wp-block-group:has(> h3 + figure) > p { margin: 0 !important; font-size: 14px !important; color: var(--sc-mute) !important; letter-spacing: 0.04em; }
.sclp-sub__body .wp-block-group:has(> h3 + figure) > h3 { margin: 0 !important; font-size: 1rem !important; line-height: 1.75 !important; text-align: left !important; }
.sclp-sub__body .wp-block-group:has(> h3 + figure) > h3 a { color: var(--sc-navy) !important; text-decoration: none !important; font-weight: 700; }
.sclp-sub__body .wp-block-group:has(> h3 + figure) > h3 a:hover { color: var(--sc-green-ink) !important; text-decoration: underline !important; }
.sclp-sub__body .wp-block-group:has(> h3 + figure) > figure { margin: 0 !important; width: 18px; align-self: center; }
.sclp-sub__body .wp-block-group:has(> h3 + figure) > figure img { width: 18px !important; height: auto; border-radius: 0; }
@media (max-width: 600px) {
	.sclp-sub__body .wp-block-group:has(> h3 + figure) { grid-template-columns: minmax(0, 1fr) 20px; }
	.sclp-sub__body .wp-block-group:has(> h3 + figure) > p { grid-column: 1 / -1; }
}

/* 製品セクションのリード（日本語）は1行で表示 */
@media (min-width: 900px) {
	.sclp--ja .sclp-product .sclp-sechead .sclp-body { max-width: none; white-space: nowrap; }
}

/* フォーム送信後の「戻る」リンク（Jetpack の文言はサイト言語＝日本語になるため、英語ページでは差し替え） */
.sclp--en .sclp-sub__body .go-back-message a { font-size: 0 !important; }
.sclp--en .sclp-sub__body .go-back-message a::before { content: "← Back to the form"; font-size: 14px; }

/* 導入効果：ラベルが2行になっても数値の高さをそろえる（ラベル行・数値行をサブグリッドで共有） */
@supports (grid-template-rows: subgrid) {
	.sclp-kpi { grid-auto-rows: auto; }
	.sclp-kpi__item { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 14px; }
	.sclp-kpi__item dd { align-self: start; }
}
