/* AI BPO WORKS / SaaS-modern design v3 (smartphone-first) / 2026-09-12 (base: v2 SaaS-modern 2026-09-12) */
body.page:has(.ab-site) {
  --ab-ink: #0A154F; --ab-green: #0A154F; --ab-green-2: #005BD8; --ab-green-3: #0A154F;
  --ab-mint: #EFF6FF; --ab-mint-2: #FFFFFF; --ab-paper: #FFFFFF; --ab-surface: #ffffff;
  --ab-muted: #465572; --ab-line: #D7E5F5; --ab-line-2: #D7E5F5; --ab-accent: #005BD8;
  --ab-radius: 16px; --ab-radius-sm: 10px;
  --ab-shadow-sm: 0 1px 2px rgba(10,21,79, .05), 0 2px 8px -2px rgba(10,21,79, .06);
  --ab-shadow-md: 0 10px 28px -10px rgba(10,21,79, .22), 0 2px 6px rgba(10,21,79, .05);
  --ab-shadow-lg: 0 24px 48px -20px rgba(10,21,79, .35);
  --ab-ease: cubic-bezier(.2, .7, .2, 1); --ab-head-h: 108px;
  color: var(--ab-ink); background: var(--ab-paper);
  font-family: "Yu Gothic", Meiryo, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased; font-feature-settings: "palt";
}
html:has(body.page .ab-site) { scroll-behavior: smooth; scroll-padding-top: 88px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.page:has(.ab-site) a, body.page:has(.ab-site) button, body.page:has(.ab-site) summary, body.page:has(.ab-site) label, body.page:has(.ab-site) input[type="submit"] { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
body.page:has(.ab-site) .wrapper { background: var(--ab-paper); }
.ab-site [id], body.page:has(.ab-site) [id^="ab-"] { scroll-margin-top: 92px; }

/* ---------- Header: sticky glass, compact on scroll ---------- */
body.page:has(.ab-site) .headline { position: sticky; top: 0; z-index: 40; border: 0; box-shadow: 0 1px 0 transparent; padding: 0; background: rgba(255,255,255, .82); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%); transition: box-shadow .28s var(--ab-ease), height .28s var(--ab-ease), background .28s var(--ab-ease); view-transition-name: ab-header; }
body.page:has(.ab-site).ab-scrolled .headline { box-shadow: 0 1px 0 var(--ab-line), 0 8px 24px -16px rgba(10,21,79, .25); background: rgba(255, 255, 255, .86); }
body.page:has(.ab-site) .headline .logo_text { margin: 0; padding: 0; background: transparent; height: 42px; overflow: hidden; opacity: 1; transition: height .28s var(--ab-ease), opacity .2s ease; }
body.page:has(.ab-site).ab-scrolled .headline .logo_text { height: 0; opacity: 0; }
body.page:has(.ab-site) .headline .logo_text .row { align-items: center; height: 42px; }
body.page:has(.ab-site) .headline .subttl { color: var(--ab-muted); font-size: 11px; font-weight: 600; line-height: 1.5; margin: 0; letter-spacing: .02em; }
body.page:has(.ab-site) .headline > .container { position: relative; height: 66px; }
body.page:has(.ab-site) .headline > .container .row { height: 100%; align-items: center; }
body.page:has(.ab-site) .headline a.logo { display: inline-flex; align-items: center; gap: 10px; color: var(--ab-green); font-size: 23px; font-weight: 800; line-height: 1.2; letter-spacing: .03em; text-decoration: none; transition: opacity .18s; }
body.page:has(.ab-site) .headline a.logo::before { content: ""; width: 12px; height: 12px; border-radius: 4px; background: linear-gradient(135deg, var(--ab-green-2), var(--ab-accent)); box-shadow: 0 2px 6px -2px rgba(10,21,79, .6); }
body.page:has(.ab-site) .headline a.logo:hover { opacity: .8; }
body.page:has(.ab-site) .navbar { border: 0; padding: 0; background: transparent; view-transition-name: ab-nav; }
body.page:has(.ab-site) .navbar .nav { gap: 4px; align-items: center; }
body.page:has(.ab-site) .navbar .nav > li { border: 0; width: auto; background: transparent; }
body.page:has(.ab-site) .navbar .nav > li > a { display: inline-flex; align-items: center; height: 40px; padding: 0 14px; border-radius: var(--ab-radius-sm); color: var(--ab-ink); font-size: 13.5px; font-weight: 700; background: transparent; border: 0; position: relative; transition: background .18s ease, color .18s ease; }
body.page:has(.ab-site) .navbar .nav > li > a:hover { color: var(--ab-green); background: var(--ab-mint); }
body.page:has(.ab-site) .navbar .nav > li.current-menu-item, body.page:has(.ab-site) .navbar .nav > li.current_page_item { background: transparent; }
body.page:has(.ab-site) .navbar .nav > li.current-menu-item > a { color: var(--ab-green); }
body.page:has(.ab-site) .navbar .nav > li.current-menu-item > a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: 2px; background: var(--ab-accent); }
body.page:has(.ab-site) .navbar .nav > #menu-item-22 { margin-left: 8px; }
body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a { color: #fff; background: var(--ab-green); border-radius: 999px; padding: 0 18px; box-shadow: 0 8px 18px -10px rgba(10,21,79, .7); transition: background .18s ease, transform .18s var(--ab-ease), box-shadow .18s ease; }
body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a:hover { background: var(--ab-green-2); color: #fff; transform: translateY(-1px); box-shadow: 0 12px 22px -10px rgba(10,21,79, .75); }
body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a::after { display: none; }
body.page:has(.ab-site) .searchform_nav { display: none !important; }
body.page:has(.ab-site) .navbar-toggler { min-width: 44px; min-height: 44px; border-radius: 12px; border: 1px solid var(--ab-line); background: var(--ab-surface) !important; display: none; }
body.page:has(.ab-site) .navbar-toggler .icon-bar { background-color: var(--ab-green) !important; }

/* ---------- Page frame ---------- */
body.page:has(.ab-site) .detail.page { margin: 0; padding: 0; }
body.home:has(.ab-site) .detail.page { background: radial-gradient(900px 520px at 85% -8%, rgba(0,91,216, .12), transparent 62%), radial-gradient(700px 420px at -5% 4%, rgba(0,91,216, .09), transparent 60%); }
body.page:has(.ab-site) .detail.page > .container { max-width: 1180px; }
body.page:has(.ab-site) .mainarea { display: flex; flex-direction: column; }
body.page:has(.ab-site) .detail_text { margin: 0; padding: 0; }
body.page:has(.ab-site) .detail_text > .share, body.page:has(.ab-site) .detail_comments { display: none; }
body.page:has(.ab-site) nav[aria-label="breadcrumb"] { order: -1; padding-top: 30px; }
body.page:has(.ab-site) .breadcrumb { background: transparent; box-shadow: none; padding: 0; margin: 0; border: 0 !important; font-size: 12px; color: var(--ab-muted); display: flex; flex-wrap: wrap; gap: 6px; }
body.page:has(.ab-site) .breadcrumb a { color: var(--ab-muted); text-decoration: none; }
body.page:has(.ab-site) .breadcrumb a:hover { color: var(--ab-green); text-decoration: underline; }
body.page:has(.ab-site) .breadcrumb-item + .breadcrumb-item { padding-left: 0; }
body.page:has(.ab-site) .breadcrumb-item + .breadcrumb-item::before { content: "/"; color: var(--ab-line-2); padding: 0 6px 0 0; }
body.page:has(.ab-site) h1.ttl_h1 { color: var(--ab-ink); border: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.35; letter-spacing: -.02em; padding: 14px 0 30px; margin: 0; }
body.page:has(.ab-site) h1.ttl_h1::before, body.page:has(.ab-site) h1.ttl_h1::after { display: none; }
body.home:has(.ab-site) h1.ttl_h1 { display: none; }
body.page:has(.ab-site) .pagetop a { color: var(--ab-green); background: var(--ab-surface); border: 1px solid var(--ab-line); border-radius: 50%; width: 48px; height: 48px; line-height: 46px; right: 20px; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); box-shadow: var(--ab-shadow-md); transition: transform .18s var(--ab-ease), box-shadow .18s ease; }
body.page:has(.ab-site) .pagetop a:hover { transform: translateY(-2px); box-shadow: var(--ab-shadow-lg); }
.ab-cta-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 37; display: none; align-items: center; gap: 10px; padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); border-top: 1px solid var(--ab-line); box-shadow: 0 -10px 28px -18px rgba(10,21,79, .4); transform: translateY(110%); visibility: hidden; transition: transform .28s var(--ab-ease), visibility 0s linear .28s; }
.ab-cta-bar.is-on { transform: none; visibility: visible; transition-delay: 0s; }
.ab-cta-bar a { flex: 1 1 auto; display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 50px; padding: 10px 18px; border-radius: 12px; background: var(--ab-green); color: #fff; font-size: 15px; font-weight: 700; line-height: 1.4; text-decoration: none; box-shadow: 0 10px 22px -12px rgba(10,21,79, .7); }
.ab-cta-bar a::after { content: "\2192"; font-weight: 700; }
.ab-cta-bar a:hover { color: #fff; background: var(--ab-green-2); }
body.page:has(.ab-site).head-open::before { content: ""; position: fixed; inset: 0; z-index: 38; background: rgba(10,21,79, .42); animation: ab-fade-in .22s ease both; }
@keyframes ab-fade-in { from { opacity: 0; } }
@keyframes ab-drawer-in { from { opacity: 0; transform: translateY(-10px); } }
.ab-progress { position: fixed; top: 0; left: 0; width: 100%; height: 3px; z-index: 60; pointer-events: none; background: linear-gradient(90deg, var(--ab-green-2), var(--ab-accent)); transform-origin: 0 50%; transform: scaleX(var(--ab-progress, 0)); }

/* ---------- Footer ---------- */
body.page:has(.ab-site) footer { background: var(--ab-paper); padding: 0; border-top: 1px solid var(--ab-line); }
body.page:has(.ab-site) footer > .container { max-width: 1180px; padding-top: 28px; }
body.page:has(.ab-site) footer .widgets .widget { margin: 0; }
body.page:has(.ab-site) footer .widget .widget_title, body.page:has(.ab-site) footer .widget h3, body.page:has(.ab-site) footer .widget .ttl { display: none; }
body.page:has(.ab-site) footer .widget ul.menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
body.page:has(.ab-site) footer .widget ul.menu li { margin: 0; padding: 0; border: 0; display: block; }
body.page:has(.ab-site) footer .widget ul.menu a { color: var(--ab-muted); font-size: 12px; text-decoration: none; }
body.page:has(.ab-site) footer .widget ul.menu a:hover { color: var(--ab-green); text-decoration: underline; }
body.page:has(.ab-site) footer .foot { background: transparent; border: 0; padding: 20px 0 40px; }
body.page:has(.ab-site) footer .foot .container.com { max-width: 1180px; }
body.page:has(.ab-site) footer .foot a.logo { display: inline-flex; align-items: center; gap: 10px; color: var(--ab-green); font-weight: 800; font-size: 20px; letter-spacing: .03em; text-decoration: none; }
body.page:has(.ab-site) footer .foot a.logo::before { content: ""; width: 11px; height: 11px; border-radius: 4px; background: linear-gradient(135deg, var(--ab-green-2), var(--ab-accent)); }
body.page:has(.ab-site) footer .sns, body.page:has(.ab-site) footer > .sns, body.page:has(.ab-site) .fixed_footer { display: none !important; }
body.page:has(.ab-site) footer .copy { background: var(--ab-ink); color: #AFC6E8; padding: 18px; font-size: 11px; letter-spacing: .02em; }
body.page:has(.ab-site) footer .copy a { color: #fff; text-decoration: none; }

/* ---------- Content base ---------- */
.ab-site { color: var(--ab-ink, #0A154F); font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
.ab-site *, .ab-site *::before, .ab-site *::after { box-sizing: border-box; }
.ab-site h2, .ab-site h3, .ab-site h4 { font-family: inherit; color: var(--ab-ink); font-weight: 800; letter-spacing: -.005em; background: none; border: 0; box-shadow: none; padding: 0; }
.ab-site h2::before, .ab-site h2::after, .ab-site h3::before, .ab-site h3::after { display: none; }
.ab-site p { margin: 0 0 1.2em; }
.ab-site a { color: var(--ab-green); text-underline-offset: 5px; text-decoration-thickness: 1px; transition: color .15s ease; }
.ab-site a:hover { color: var(--ab-green-2); text-decoration-thickness: 2px; }
body.page:has(.ab-site) a:focus-visible, body.page:has(.ab-site) button:focus-visible, body.page:has(.ab-site) summary:focus-visible,
.ab-site input:focus-visible, .ab-site textarea:focus-visible, .ab-site select:focus-visible { outline: 3px solid var(--ab-accent); outline-offset: 3px; border-radius: 6px; }
.ab-site ::selection { background: rgba(0,91,216, .18); }

/* Buttons and links */
.ab-site a.ab-button, .ab-subpage .wp-block-button__link { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 52px; padding: 12px 24px; background: var(--ab-green); color: #fff; font-size: 14px; font-weight: 700; line-height: 1.5; border: 1px solid var(--ab-green); border-radius: 12px; text-decoration: none; box-shadow: 0 10px 22px -12px rgba(10,21,79, .7); transition: background .18s ease, transform .18s var(--ab-ease), box-shadow .18s ease, border-color .18s ease; }
.ab-site a.ab-button::after { content: "\2192"; font-weight: 700; transition: transform .18s var(--ab-ease); }
.ab-site a.ab-button:hover, .ab-subpage .wp-block-button__link:hover { background: var(--ab-green-2); border-color: var(--ab-green-2); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 28px -14px rgba(10,21,79, .8); }
.ab-site a.ab-button:hover::after { transform: translateX(4px); }
.ab-site a.ab-button:active { transform: translateY(0) scale(.99); }
.ab-site a.ab-button--light { background: var(--ab-surface); color: var(--ab-green); border-color: var(--ab-surface); box-shadow: 0 10px 22px -12px rgba(0, 0, 0, .5); }
.ab-site a.ab-button--light:hover { background: var(--ab-mint); border-color: var(--ab-mint); color: var(--ab-green); }
.ab-site a.ab-text-link { position: relative; display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; text-decoration: none; padding-bottom: 2px; background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 100% 1px; }
.ab-site a.ab-text-link::after { content: "\2192"; transition: transform .18s var(--ab-ease); }
.ab-site a.ab-text-link:hover::after { transform: translateX(4px); }
.ab-site a.ab-text-link::before, body.page:has(.ab-site) .breadcrumb a::before, body.page:has(.ab-site) footer .widget ul.menu a::before, .ab-site .ab-work-meta a::before { content: ""; position: absolute; inset: -10px 0; } /* 44px-class hit area, visual unchanged */
body.page:has(.ab-site) .breadcrumb a, body.page:has(.ab-site) footer .widget ul.menu a, .ab-site .ab-work-meta a { position: relative; }
.ab-site .ab-note { color: var(--ab-muted); font-size: 12px; line-height: 1.9; margin: 16px 0 0; }

/* Hero */
.ab-hero { display: grid; grid-template-columns: 1.12fr .88fr; gap: 64px; align-items: center; padding: 72px 0 64px; }
.ab-site .ab-local { color: var(--ab-green); font-size: 12px; font-weight: 700; letter-spacing: .08em; margin: 0 0 22px; display: inline-flex; align-items: center; gap: 10px; padding: 6px 14px 6px 10px; border-radius: 999px; background: var(--ab-surface); border: 1px solid var(--ab-line); box-shadow: var(--ab-shadow-sm); }
.ab-local::before { content: ""; flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--ab-accent); box-shadow: 0 0 0 4px rgba(0,91,216, .15); }
.ab-site .ab-hero h2 { font-size: clamp(36px, 4.1vw, 56px); line-height: 1.42; letter-spacing: -.025em; margin: 0 0 24px; }
.ab-site .ab-lead { font-size: 17px; font-weight: 700; line-height: 1.9; max-width: 35em; color: var(--ab-green); }
.ab-actions { display: flex; flex-wrap: wrap; gap: 18px 26px; align-items: center; margin-top: 28px; }
.ab-workbench { background: linear-gradient(160deg, #005BD8 0%, var(--ab-green) 55%, var(--ab-green-3) 100%); border-radius: 20px; padding: 30px; color: #fff; position: relative; overflow: hidden; box-shadow: var(--ab-shadow-lg); }
.ab-workbench::before { content: ""; position: absolute; width: 320px; height: 320px; right: -120px; top: -140px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 255, 255, .16), transparent); pointer-events: none; }
.ab-site .ab-workbench-title { color: #fff; font-size: 17px; font-weight: 700; line-height: 1.7; margin: 0 0 22px; position: relative; }
.ab-work-row { display: flex; align-items: center; gap: 16px; padding: 18px 20px; background: rgba(255, 255, 255, .97); color: var(--ab-ink); border-radius: 14px; margin-bottom: 10px; position: relative; box-shadow: 0 6px 14px -10px rgba(0, 0, 0, .4); transition: transform .22s var(--ab-ease), box-shadow .22s ease; }
.ab-work-row:hover { transform: translateX(4px); box-shadow: 0 12px 20px -12px rgba(0, 0, 0, .5); }
.ab-step-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; background: var(--ab-mint); color: var(--ab-green); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.ab-site .ab-work-label { font-size: 17px; font-weight: 800; line-height: 1.5; margin: 0 0 4px; display: block; }
.ab-site .ab-work-detail { color: var(--ab-muted); font-size: 12.5px; line-height: 1.7; margin: 0; display: block; }
.ab-site .ab-work-footer { color: #AFC6E8; font-size: 12px; line-height: 1.8; margin: 18px 0 0; position: relative; }
.ab-strip { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 26px; padding: 18px 24px; background: var(--ab-surface); border: 1px solid var(--ab-line); border-radius: 14px; box-shadow: var(--ab-shadow-sm); font-size: 13px; color: var(--ab-muted); }
.ab-strip strong { color: var(--ab-ink); font-size: 13.5px; }

/* Sections */
.ab-section { padding: 88px 0; }
.ab-section + .ab-section { border-top: 1px solid var(--ab-line); }
.ab-site .ab-section-title { font-size: clamp(26px, 3vw, 34px); line-height: 1.55; margin: 0 0 22px; }
.ab-site .ab-section-intro { color: var(--ab-muted); max-width: 62ch; margin: 0 0 36px; }
.ab-split { display: grid; grid-template-columns: .75fr 1.25fr; gap: 64px; }

/* Stats */
.ab-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 36px 0 12px; border: 0; }
.ab-stat { display: flex; flex-direction: column; gap: 6px; padding: 22px 22px 20px 26px; border: 1px solid var(--ab-line); border-radius: var(--ab-radius); background: var(--ab-surface); box-shadow: var(--ab-shadow-sm); position: relative; overflow: hidden; transition: transform .22s var(--ab-ease), box-shadow .22s ease, border-color .22s ease; }
.ab-stat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--ab-green-2), var(--ab-accent)); }
.ab-stat:hover { transform: translateY(-3px); box-shadow: var(--ab-shadow-md); border-color: var(--ab-line-2); }
.ab-site .ab-stat-value { font-size: 38px; font-weight: 800; color: var(--ab-green); line-height: 1.1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ab-site .ab-stat-value small { font-size: 13px; font-weight: 700; margin-left: 4px; color: var(--ab-ink); letter-spacing: 0; }
.ab-site .ab-stat-label { font-size: 14px; font-weight: 700; line-height: 1.6; }
.ab-site .ab-stat-note { font-size: 12px; color: var(--ab-muted); line-height: 1.7; }

/* Problems */
.ab-site .ab-problem-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; list-style: none; margin: 0; padding: 0; }
.ab-site .ab-problem { list-style: none; display: grid; grid-template-columns: 30px 1fr; gap: 6px 12px; align-items: start; margin: 0; padding: 20px 22px; background: var(--ab-surface); border: 1px solid var(--ab-line); border-radius: 14px; font-size: 15px; font-weight: 700; transition: border-color .2s ease, box-shadow .2s ease, transform .2s var(--ab-ease); }
.ab-site .ab-problem:hover { border-color: var(--ab-line-2); box-shadow: var(--ab-shadow-sm); transform: translateY(-2px); }
.ab-symbol { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; background: var(--ab-mint); color: var(--ab-green); text-align: center; line-height: 30px; font-size: 13px; margin-top: 2px; }
.ab-site .ab-problem h3 { margin: 4px 0 0; font-size: 17px; line-height: 1.6; }
.ab-site .ab-problem p { grid-column: 2; font-size: 14px; font-weight: 400; color: var(--ab-muted); margin: 0; }

/* Process */
.ab-process { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ab-process-item { position: relative; overflow: hidden; border: 1px solid var(--ab-line); border-radius: var(--ab-radius); background: var(--ab-surface); padding: 28px 26px 24px; box-shadow: var(--ab-shadow-sm); transition: transform .22s var(--ab-ease), box-shadow .22s ease, border-color .22s ease; }
.ab-process-item::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--ab-green-2), var(--ab-accent)); }
.ab-process-item:hover { transform: translateY(-4px); box-shadow: var(--ab-shadow-md); border-color: var(--ab-line-2); }
.ab-site .ab-number { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 11px; background: var(--ab-green); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .06em; margin: 0 0 18px; }
.ab-site .ab-process-title { font-size: 22px; line-height: 1.5; margin: 0 0 14px; }
.ab-process-item p { font-size: 14px; color: var(--ab-muted); }
.ab-site .ab-process-output { border-top: 1px solid var(--ab-line); color: var(--ab-ink); padding-top: 16px; margin: 22px 0 0; font-size: 12px; font-weight: 700; }
.ab-process + .ab-text-link { margin-top: 32px; }

/* Can-do / works cards */
.ab-cando-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ab-cando { background: var(--ab-surface); border: 1px solid var(--ab-line); border-radius: var(--ab-radius); padding: 26px 24px; box-shadow: var(--ab-shadow-sm); transition: transform .22s var(--ab-ease), box-shadow .22s ease, border-color .22s ease; }
.ab-cando:hover { transform: translateY(-4px); box-shadow: var(--ab-shadow-md); border-color: var(--ab-line-2); }
.ab-site .ab-cando-no { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; background: var(--ab-mint); color: var(--ab-green); font-size: 12px; font-weight: 800; letter-spacing: .06em; margin: 0 0 16px; }
.ab-site .ab-cando h3 { font-size: 18px; line-height: 1.6; margin: 0 0 8px; }
.ab-cando p { font-size: 14px; color: var(--ab-muted); margin: 0; }
.ab-works-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ab-work { position: relative; isolation: isolate; border: 1px solid var(--ab-line); border-radius: var(--ab-radius); padding: 26px 24px; background: var(--ab-surface); display: flex; flex-direction: column; box-shadow: var(--ab-shadow-sm); transition: transform .22s var(--ab-ease), box-shadow .22s ease, border-color .22s ease; }
.ab-work::before { content: "\2197"; position: absolute; top: 20px; right: 20px; width: 30px; height: 30px; border-radius: 9px; border: 1px solid var(--ab-line); color: var(--ab-muted); font-size: 14px; display: flex; align-items: center; justify-content: center; transition: transform .22s var(--ab-ease), color .2s ease, background .2s ease, border-color .2s ease; }
.ab-work:hover { transform: translateY(-4px); box-shadow: var(--ab-shadow-md); border-color: var(--ab-line-2); }
.ab-work:hover::before { color: #fff; background: var(--ab-green); border-color: var(--ab-green); transform: translate(2px, -2px); }
.ab-site .ab-work-tag { display: inline-block; align-self: flex-start; font-size: 11px; font-weight: 700; color: var(--ab-green); background: var(--ab-mint); border-radius: 999px; padding: 4px 12px; margin: 0 0 14px; line-height: 1.6; }
.ab-site .ab-work-tag--ops { color: #005BD8; background: #EFF6FF; }
.ab-site .ab-work-tag--public { color: #2f4f7a; background: #e6eef8; }
.ab-site .ab-work h3 { font-size: 18px; line-height: 1.6; margin: 0 0 10px; padding-right: 36px; }
.ab-site .ab-work h3 a { color: var(--ab-ink); text-decoration: none; }
.ab-site .ab-work h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--ab-radius); }
.ab-site .ab-work:hover h3 a { color: var(--ab-green); }
.ab-work p { font-size: 14px; color: var(--ab-muted); margin: 0 0 10px; }
.ab-site .ab-work-meta { margin: auto 0 0; padding-top: 12px; border-top: 1px solid var(--ab-line); font-size: 12px; color: var(--ab-ink); font-weight: 700; }
.ab-site .ab-work-meta a { position: relative; z-index: 1; }
.ab-works-grid + .ab-text-link, .ab-cando-grid + .ab-text-link { margin-top: 32px; }
.ab-site ul.ab-works-legend { list-style: none; margin: 0 0 34px; padding: 18px 20px; background: var(--ab-surface); border: 1px solid var(--ab-line); border-radius: 14px; box-shadow: var(--ab-shadow-sm); }
.ab-site .ab-works-legend li { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 10px; font-size: 14px; line-height: 1.7; color: var(--ab-ink); }
.ab-site .ab-works-legend li:last-child { margin-bottom: 0; }
.ab-site .ab-works-legend .ab-work-tag { margin: 2px 0 0; flex: 0 0 auto; }

/* Facts / area / FAQ / contact panel */
.ab-site ul.ab-facts { list-style: none; margin: 0; padding: 4px 24px; background: var(--ab-surface); border: 1px solid var(--ab-line); border-radius: var(--ab-radius); box-shadow: var(--ab-shadow-sm); }
.ab-site .ab-facts li { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 18px 0; margin: 0; border-bottom: 1px solid var(--ab-line); font-size: 15px; line-height: 1.8; }
.ab-site .ab-facts li:last-child { border-bottom: 0; }
.ab-site .ab-facts strong { color: var(--ab-green); font-size: 14px; }
.ab-site .ab-facts span { color: var(--ab-ink); }
.ab-area { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 60px; }
.ab-ridge { position: relative; min-height: 240px; background: var(--ab-mint); border-radius: 80px 80px 16px 16px; overflow: hidden; box-shadow: var(--ab-shadow-sm); }
.ab-ridge::before, .ab-ridge::after { content: ""; position: absolute; inset: 25% -1px -1px; background: #AFC6E8; clip-path: polygon(0 54%, 20% 18%, 35% 42%, 57% 0, 76% 44%, 100% 24%, 100% 100%, 0 100%); }
.ab-ridge::after { inset: 52% -1px -1px; background: #005BD8; clip-path: polygon(0 28%, 21% 54%, 46% 15%, 70% 47%, 100% 0, 100% 100%, 0 100%); }
.ab-faq { border: 1px solid var(--ab-line); border-radius: var(--ab-radius); background: var(--ab-surface); box-shadow: var(--ab-shadow-sm); overflow: hidden; interpolate-size: allow-keywords; }
.ab-faq details { border-bottom: 1px solid var(--ab-line); }
.ab-faq details:last-child { border-bottom: 0; }
.ab-faq summary { cursor: pointer; padding: 20px 56px 20px 22px; font-size: 16.5px; font-weight: 700; line-height: 1.7; list-style: none; position: relative; transition: background .18s ease, color .18s ease; }
.ab-faq summary:hover { background: var(--ab-mint-2); color: var(--ab-green); }
.ab-faq summary::-webkit-details-marker { display: none; }
.ab-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; width: 28px; height: 28px; border-radius: 8px; border: 1px solid var(--ab-line); background: var(--ab-surface); display: flex; align-items: center; justify-content: center; transform: translateY(-50%); color: var(--ab-green); font-size: 20px; font-weight: 400; line-height: 1; transition: transform .22s var(--ab-ease), background .18s ease, color .18s ease; }
.ab-faq details[open] summary { color: var(--ab-green); }
.ab-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); background: var(--ab-green); border-color: var(--ab-green); color: #fff; }
.ab-faq details::details-content { height: 0; overflow: clip; transition: height .3s var(--ab-ease), content-visibility .3s allow-discrete; }
.ab-faq details[open]::details-content { height: auto; }
.ab-faq details p { color: var(--ab-muted); font-size: 15px; line-height: 1.9; margin: 0; padding: 0 22px 22px; max-width: 72ch; }
.ab-faq + .ab-text-link { margin-top: 28px; }
.ab-contact-panel { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 35px; background: linear-gradient(150deg, #005BD8 0%, var(--ab-green) 50%, var(--ab-green-3) 100%); color: #fff; padding: 54px 58px; border-radius: 22px; margin: 0 0 80px; box-shadow: var(--ab-shadow-lg); }
.ab-contact-panel::before { content: ""; position: absolute; width: 420px; height: 420px; right: -160px; top: -200px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 255, 255, .14), transparent); pointer-events: none; }
.ab-contact-panel > div { position: relative; }
.ab-site .ab-contact-panel h2 { color: #fff; font-size: clamp(26px, 3vw, 34px); line-height: 1.55; margin: 0 0 18px; }
.ab-site .ab-contact-panel p { color: #AFC6E8; max-width: 58ch; }
.ab-site .ab-contact-panel .ab-note { color: #AFC6E8; }
.ab-site .ab-contact-panel a.ab-text-link { color: #fff; }

/* Subpages */
.ab-subpage { max-width: 920px; margin: 0 auto; padding: 0 0 70px; }
.ab-subpage > p:first-child { color: var(--ab-green); font-size: 13px; letter-spacing: .04em; margin: 0 0 18px; }
.ab-subpage > p:first-child strong { display: inline-flex; align-items: center; gap: 10px; padding: 6px 14px 6px 10px; border-radius: 999px; background: var(--ab-surface); border: 1px solid var(--ab-line); box-shadow: var(--ab-shadow-sm); font-size: 12px; font-weight: 700; }
.ab-subpage > p:first-child strong::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ab-accent); box-shadow: 0 0 0 4px rgba(0,91,216, .15); }
.ab-site.ab-subpage h2 { font-size: clamp(24px, 2.7vw, 30px); line-height: 1.55; margin: 60px 0 20px; padding: 0; border: 0; }
.ab-site.ab-subpage h2.wp-block-heading::before { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--ab-green-2), var(--ab-accent)); margin: 0 0 14px; }
.ab-site.ab-subpage h2:first-child { margin-top: 10px; }
.ab-site.ab-subpage h3 { font-size: 20px; line-height: 1.65; margin: 32px 0 14px; }
.ab-subpage p { line-height: 2; }
.ab-subpage ul, .ab-subpage ol { padding-left: 1.4em; margin: 18px 0 28px; }
.ab-subpage li { margin-bottom: 10px; }
.ab-subpage li::marker { color: var(--ab-green); }
.ab-subpage .wp-block-buttons { margin: 30px 0; }
.ab-subpage h2 + .wp-block-html > p:first-child { margin: -4px 0 12px; }
.ab-subpage .ab-facts + h2, .ab-subpage .wp-block-html + .wp-block-heading { margin-top: 48px; }
.ab-subpage ul.ab-facts { padding-left: 24px; margin: 0 0 8px; }
.ab-subpage .ab-faq { margin: 0 0 30px; }
.ab-site .ab-table-wrap { overflow-x: auto; margin: 0 0 30px; border: 1px solid var(--ab-line); border-radius: 14px; background: var(--ab-surface); box-shadow: var(--ab-shadow-sm); }
.ab-site .ab-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.8; margin: 0; }
.ab-site .ab-table th, .ab-site .ab-table td { border-bottom: 1px solid var(--ab-line); padding: 14px 16px; text-align: left; vertical-align: top; }
.ab-site .ab-table tr:last-child th, .ab-site .ab-table tr:last-child td { border-bottom: 0; }
.ab-site .ab-table thead th { background: var(--ab-mint-2); font-weight: 700; white-space: nowrap; color: var(--ab-green); font-size: 13px; }
.ab-site .ab-summary-table th { width: 30%; background: var(--ab-mint-2); font-weight: 700; color: var(--ab-green); }
.ab-subpage .wpcf7 { margin-top: 32px; padding: 36px; border: 1px solid var(--ab-line); background: var(--ab-surface); border-radius: var(--ab-radius); box-shadow: var(--ab-shadow-sm); }
.ab-subpage .wpcf7 label { display: block; width: 100%; font-size: 14px; font-weight: 700; }
.ab-subpage .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.ab-subpage .wpcf7 select, .ab-subpage .wpcf7 textarea { width: 100%; max-width: 100%; padding: 12px 14px; border: 1px solid var(--ab-line-2); border-radius: var(--ab-radius-sm); background: var(--ab-surface); color: var(--ab-ink); font: inherit; min-height: 48px; margin-top: 8px; transition: border-color .18s ease, box-shadow .18s ease; }
.ab-subpage .wpcf7 input:not([type="submit"]):focus, .ab-subpage .wpcf7 select:focus, .ab-subpage .wpcf7 textarea:focus { outline: 0; border-color: var(--ab-green-2); box-shadow: 0 0 0 4px rgba(0,91,216, .14); }
.ab-subpage .wpcf7 input, .ab-subpage .wpcf7 textarea { font-size: 16px !important; }
.ab-subpage .wpcf7 textarea { min-height: 170px; resize: vertical; }
.ab-subpage .wpcf7 input[type="submit"] { background: var(--ab-green); color: #fff; padding: 14px 30px; border: 1px solid var(--ab-green); border-radius: 12px; min-height: 50px; cursor: pointer; font-weight: 700; box-shadow: 0 10px 22px -12px rgba(10,21,79, .7); transition: background .18s ease, transform .18s var(--ab-ease), box-shadow .18s ease; }
.ab-subpage .wpcf7 input[type="submit"]:hover { background: var(--ab-green-2); transform: translateY(-2px); box-shadow: 0 16px 28px -14px rgba(10,21,79, .8); }
.ab-subpage .wpcf7 input[type="checkbox"], .ab-subpage .wpcf7 input[type="radio"] { accent-color: var(--ab-green); }
.ab-subpage .wpcf7 .wpcf7-not-valid-tip { color: #b23b3b; font-size: 12px; margin-top: 6px; }
.ab-subpage .wpcf7 .wpcf7-response-output { border-radius: var(--ab-radius-sm); padding: 12px 16px; margin: 20px 0 0; }

/* ---------- Motion: reveal on scroll, page transitions ---------- */
html.ab-js .ab-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ab-ease), transform .6s var(--ab-ease); transition-delay: calc(var(--ab-i, 0) * 70ms); will-change: opacity, transform; }
html.ab-js .ab-reveal.is-in { opacity: 1; transform: none; }
@view-transition { navigation: auto; }
@keyframes ab-vt-out { to { opacity: 0; } }
@keyframes ab-vt-in { from { opacity: 0; transform: translateY(8px); } }
::view-transition-old(root) { animation: ab-vt-out .16s ease-in both; }
::view-transition-new(root) { animation: ab-vt-in .26s var(--ab-ease, ease-out) both; }
::view-transition-group(ab-header), ::view-transition-group(ab-nav) { animation-duration: 0s; }

/* ---------- Responsive ---------- */
@media (min-width: 992px) {
  body.page:has(.ab-site) .headline { height: var(--ab-head-h); }
  body.page:has(.ab-site).ab-scrolled { --ab-head-h: 66px; }
  body.page:has(.ab-site) .headline > .container, body.page:has(.ab-site) .headline .logo_text > .container { width: 100%; max-width: 1180px; margin: 0 auto; padding-left: 15px; padding-right: 15px; }
  body.page:has(.ab-site) .headline .row { margin-left: 0; margin-right: 0; }
  body.page:has(.ab-site) .headline .row > [class*="col-"] { padding-left: 0; padding-right: 0; }
  body.page:has(.ab-site) .navbar { position: sticky; top: 42px; z-index: 41; margin-top: -66px; height: 66px; min-height: 0; display: flex; pointer-events: none; transition: top .28s var(--ab-ease); }
  body.page:has(.ab-site).ab-scrolled .navbar { top: 0; }
  body.page:has(.ab-site) .navbar > .container { max-width: 1180px; display: flex; align-items: center; justify-content: flex-end; height: 100%; pointer-events: none; }
  body.page:has(.ab-site) .navbar .nav { width: auto; margin: 0 0 0 auto; padding: 0; justify-content: flex-end; pointer-events: auto; }
  body.page:has(.ab-site) h1.ttl_h1, body.page:has(.ab-site) nav[aria-label="breadcrumb"] { max-width: 920px; width: 100%; margin-left: auto; margin-right: auto; }
}
@media (max-width: 991px) {
  body.page:has(.ab-site) .headline > .container, body.page:has(.ab-site) .headline .logo_text > .container { max-width: none; }
  body.page:has(.ab-site) .navbar { position: sticky; top: 66px; z-index: 39; background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--ab-line); }
  body.page:has(.ab-site) .navbar > .container { max-width: none; }
  body.page:has(.ab-site) .navbar .nav { width: 100%; padding: 6px 0; gap: 2px; flex-wrap: wrap; }
  body.page:has(.ab-site) .navbar .nav > li > a { height: 44px; padding: 0 12px; font-size: 13px; }
  .ab-process { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .ab-process-item { padding: 22px 18px 20px; }
  .ab-site .ab-process-title { font-size: 19px; }
  .ab-hero { gap: 32px; padding: 52px 0; }
  .ab-site .ab-hero h2 { font-size: 38px; }
  .ab-workbench { padding: 24px; }
  .ab-work-row { padding: 16px; gap: 10px; }
  .ab-split { grid-template-columns: 1fr; gap: 20px; }
  .ab-section { padding: 64px 0; }
  .ab-area { gap: 30px; }
  .ab-contact-panel { padding: 40px; }
  .ab-stats { grid-template-columns: 1fr 1fr; }
  .ab-cando-grid, .ab-works-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  body.page:has(.ab-site) .headline .logo_text { height: 34px; }
  body.page:has(.ab-site) .headline .logo_text .row { height: 34px; }
  body.page:has(.ab-site) .headline .subttl { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  body.page:has(.ab-site) .headline > .container { height: 60px; }
  body.page:has(.ab-site) .headline a.logo { font-size: 20px; }
  body.page:has(.ab-site) .headline .navbar-toggler { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); margin: 0; z-index: 2; }
  body.page:has(.ab-site) .navbar { position: fixed; top: var(--ab-head-px, var(--ab-head-h, 94px)); left: 0; right: 0; bottom: auto; max-height: calc(100dvh - var(--ab-head-px, var(--ab-head-h, 94px))); z-index: 39; display: none; background: var(--ab-paper); border: 0; border-radius: 0 0 20px 20px; padding: 8px 18px calc(22px + env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; box-shadow: 0 24px 40px -20px rgba(10,21,79, .45); }
  body.page:has(.ab-site).head-open .navbar { display: block; animation: ab-drawer-in .24s var(--ab-ease) both; }
  body.page:has(.ab-site).head-open .ab-cta-bar { display: none; }
  body.page:has(.ab-site).head-open .pagetop a { visibility: hidden; }
  body.page:has(.ab-site) .navbar > .container { padding: 0; }
  body.page:has(.ab-site) .navbar .nav { display: block; width: 100%; padding: 0; }
  body.page:has(.ab-site) .navbar .nav > li { display: block; width: 100%; margin: 0; }
  body.page:has(.ab-site) .navbar .nav > li > a { display: flex; justify-content: space-between; align-items: center; height: auto; min-height: 56px; padding: 14px 6px; font-size: 16px; border-radius: 0; border-bottom: 1px solid var(--ab-line) !important; }
  body.page:has(.ab-site) .navbar .nav > li > a::after { content: "\2192"; position: static; width: auto; height: auto; background: none; color: var(--ab-line-2); font-size: 16px; }
  body.page:has(.ab-site) .navbar .nav > li.current-menu-item > a::after { color: var(--ab-accent); }
  body.page:has(.ab-site) .navbar .nav > #menu-item-22 { margin: 18px 0 0; }
  body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a { display: flex; justify-content: center; min-height: 54px; padding: 14px 20px; border-radius: 14px; border: 0 !important; }
  body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a::after { display: inline; color: #fff; }
  body.page:has(.ab-site) .navbar-toggler:not(.headline .navbar-toggler) { position: absolute; top: -3rem; right: .5rem; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; }
  body.page:has(.ab-site) .detail.page > .container { padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
  html:has(body.page .ab-site) { scroll-padding-top: 76px; }
  .ab-site [id], body.page:has(.ab-site) [id^="ab-"] { scroll-margin-top: 78px; }
  body.page:has(.ab-site) .breadcrumb { gap: 8px; }
  body.page:has(.ab-site) .breadcrumb a { display: inline-block; padding: 4px 0; }
  body.page:has(.ab-site) nav[aria-label="breadcrumb"] { padding-top: 22px; }
  body.page:has(.ab-site) h1.ttl_h1 { padding: 10px 0 24px; }
  body.page:has(.ab-site) .pagetop a { width: 44px; height: 44px; line-height: 42px; right: 14px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); transition: transform .18s var(--ab-ease), box-shadow .18s ease, bottom .28s var(--ab-ease); }
  body.page:has(.ab-site).ab-cta-on .pagetop a { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  .ab-cta-bar { display: flex; }
  body.page:has(.ab-site) footer .widget ul.menu { gap: 0 18px; }
  body.page:has(.ab-site) footer .widget ul.menu a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
  body.page:has(.ab-site) footer .copy { padding: 16px 18px calc(16px + env(safe-area-inset-bottom, 0px)); }
  .ab-site { font-size: 15px; line-height: 1.85; }
  body.page:has(.ab-site) { --ab-radius: 14px; }
  .ab-hero { grid-template-columns: 1fr; gap: 30px; padding: 34px 0 40px; }
  .ab-site .ab-local { font-size: 11px; margin-bottom: 18px; }
  .ab-site .ab-hero h2 { font-size: clamp(30px, 8.1vw, 44px); line-height: 1.42; }
  .ab-site .ab-lead { font-size: 15.5px; }
  .ab-actions { gap: 18px; }
  .ab-site a.ab-button, .ab-subpage .wp-block-button__link { min-height: 54px; padding: 14px 21px; width: 100%; }
  .ab-subpage .wp-block-buttons, .ab-subpage .wp-block-button { width: 100%; }
  .ab-actions { flex-direction: column; align-items: stretch; gap: 14px; }
  .ab-actions a.ab-text-link { align-self: center; min-height: 44px; }
  .ab-workbench { padding: 24px 20px; border-radius: 18px; }
  .ab-site .ab-workbench-title { font-size: 16px; margin-bottom: 18px; }
  .ab-work-row { padding: 16px; }
  .ab-strip { gap: 8px 18px; justify-content: flex-start; font-size: 12px; padding: 16px 18px; }
  .ab-strip strong { width: 100%; }
  .ab-section { padding: 52px 0; }
  .ab-site .ab-section-title { font-size: 26px; }
  .ab-site .ab-problem-list { grid-template-columns: 1fr; gap: 10px; }
  .ab-site .ab-problem { padding: 16px 18px; }
  .ab-process { grid-template-columns: 1fr; gap: 14px; }
  .ab-process-item { padding: 24px 20px 20px; }
  .ab-site .ab-process-title { font-size: 21px; }
  .ab-area { grid-template-columns: 1fr; gap: 22px; }
  .ab-ridge { min-height: 170px; border-radius: 55px 55px 12px 12px; }
  .ab-contact-panel { flex-direction: column; align-items: flex-start; padding: 32px 22px; margin-bottom: 48px; border-radius: 18px; }
  .ab-contact-panel > div { width: 100%; }
  .ab-site .ab-contact-panel h2 { font-size: 25px; }
  .ab-stats { grid-template-columns: 1fr 1fr; gap: 12px; padding: 28px 0 8px; }
  .ab-stat { padding: 18px 16px 16px 20px; }
  .ab-site .ab-stat-value { font-size: 30px; }
  .ab-cando-grid, .ab-works-grid { grid-template-columns: 1fr; gap: 14px; }
  .ab-cando, .ab-work { padding: 22px 20px; }
  .ab-site .ab-facts li { grid-template-columns: 1fr; gap: 4px; }
  .ab-site ul.ab-facts { padding: 4px 18px; }
  .ab-faq summary { font-size: 15.5px; min-height: 60px; padding: 16px 56px 16px 18px; display: flex; align-items: center; }
  .ab-faq summary::after { width: 32px; height: 32px; right: 14px; }
  .ab-faq details p { padding: 0 18px 20px; }
  .ab-site .ab-table-wrap { overflow: visible; }
  .ab-site .ab-table { font-size: 14px; }
  .ab-site .ab-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .ab-site .ab-table tbody, .ab-site .ab-table tr, .ab-site .ab-table th, .ab-site .ab-table td { display: block; width: auto; }
  .ab-site .ab-table tr { padding: 14px 16px 12px; border-bottom: 1px solid var(--ab-line); }
  .ab-site .ab-table tr:last-child { border-bottom: 0; }
  .ab-site .ab-table th, .ab-site .ab-table td { border: 0; padding: 2px 0 8px; }
  .ab-site .ab-table td:last-child { padding-bottom: 0; }
  .ab-site .ab-table td[data-label]::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 700; letter-spacing: .04em; color: var(--ab-green); margin: 0 0 2px; }
  .ab-site .ab-table tbody tr > td:first-child { font-weight: 700; color: var(--ab-ink); font-size: 15px; }
  .ab-site .ab-table tbody tr > td:first-child[data-label]::before { display: none; }
  .ab-site .ab-summary-table th { width: auto; background: transparent; font-size: 12px; letter-spacing: .04em; padding: 0 0 2px; }
  .ab-site .ab-summary-table td { font-size: 15px; }
  .ab-subpage { padding-bottom: 45px; }
  .ab-site.ab-subpage h2 { margin-top: 44px; font-size: 24px; }
  .ab-subpage .wpcf7 { padding: 22px 18px; }
  .ab-subpage .wpcf7 label { font-size: 15px; }
  .ab-subpage .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .ab-subpage .wpcf7 select, .ab-subpage .wpcf7 textarea { min-height: 50px; padding: 13px 14px; border-radius: 12px; }
  .ab-subpage .wpcf7 textarea { min-height: 150px; }
  .ab-subpage .wpcf7 input[type="submit"] { width: 100%; min-height: 56px; font-size: 16px; }
  .ab-subpage ul, .ab-subpage ol { padding-left: 1.3em; margin: 14px 0 24px; }
  .ab-subpage li { margin-bottom: 8px; }
  .ab-site.ab-subpage h3 { font-size: 18px; margin: 26px 0 12px; }
  html.ab-js .ab-reveal { transform: translateY(10px); transition-duration: .4s; transition-delay: calc(var(--ab-i, 0) * 40ms); }
  .ab-site .ab-stat-value { font-size: 28px; }
  .ab-site .ab-cando h3, .ab-site .ab-work h3 { font-size: 17px; }
  .ab-site .ab-section-intro { margin-bottom: 26px; }
}
@media (hover: none) {
  .ab-stat:hover, .ab-process-item:hover, .ab-cando:hover, .ab-work:hover, .ab-site .ab-problem:hover, .ab-work-row:hover, body.page:has(.ab-site) .pagetop a:hover { transform: none; box-shadow: var(--ab-shadow-sm); border-color: var(--ab-line); }
  .ab-site a.ab-button:hover, .ab-subpage .wp-block-button__link:hover, .ab-subpage .wpcf7 input[type="submit"]:hover, body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a:hover { transform: none; box-shadow: 0 10px 22px -12px rgba(10,21,79, .7); }
  .ab-work:hover::before { color: var(--ab-muted); background: transparent; border-color: var(--ab-line); transform: none; }
  .ab-site .ab-work:hover h3 a { color: var(--ab-ink); }
  .ab-faq summary:hover { background: transparent; color: inherit; }
  .ab-faq details[open] summary:hover { color: var(--ab-green); }
  body.page:has(.ab-site) .navbar .nav > li > a:hover { background: transparent; }
  .ab-site a.ab-text-link:hover::after, .ab-site a.ab-button:hover::after { transform: none; }
  .ab-site a.ab-button:active, .ab-subpage .wp-block-button__link:active, .ab-subpage .wpcf7 input[type="submit"]:active, .ab-cta-bar a:active, body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a:active { transform: scale(.97); opacity: .92; transition-duration: .06s; }
  .ab-stat:active, .ab-process-item:active, .ab-cando:active, .ab-work:active, .ab-site .ab-problem:active, .ab-work-row:active { transform: scale(.985); transition-duration: .08s; }
  .ab-faq summary:active, body.page:has(.ab-site) .navbar .nav > li > a:active { background: var(--ab-mint-2); }
  body.page:has(.ab-site) .pagetop a:active { transform: scale(.94); }
  body.page:has(.ab-site) .headline .navbar-toggler:active { transform: translateY(-50%) scale(.94); }
}
@media (max-width: 359px) {
  body.page:has(.ab-site) .headline a.logo { font-size: 18px; }
  body.page:has(.ab-site) .detail.page > .container { padding-left: 16px; padding-right: 16px; }
  .ab-site .ab-hero h2 { font-size: 27px; }
  .ab-stats { grid-template-columns: 1fr; }
  .ab-cta-bar a { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(body.page .ab-site) { scroll-behavior: auto; }
  body.page:has(.ab-site) *, body.page:has(.ab-site) *::before, body.page:has(.ab-site) *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  html.ab-js .ab-reveal { opacity: 1; transform: none; }
  .ab-cta-bar { transition: none; }
  @view-transition { navigation: none; }
}


/* Generated conceptual imagery / 2026-09-13 / additive to v3 */
.ab-site .ab-hero-visual { margin:0; min-width:0; border-radius:20px; overflow:hidden; background:var(--ab-surface); border:1px solid var(--ab-line); box-shadow:var(--ab-shadow-md); }
.ab-site .ab-generated-image { display:block; width:100%; max-width:100%; height:auto; object-fit:contain; }
.ab-site .ab-hero-visual > img { aspect-ratio:4/3; }
.ab-site .ab-hero-visual figcaption { padding:19px 20px 16px; background:var(--ab-green); color:white; }
.ab-site .ab-hero-visual figcaption > strong { display:block; font-size:16px; line-height:1.7; margin:0 0 12px; }
.ab-site .ab-image-steps { display:flex; flex-wrap:wrap; align-items:center; gap:6px 9px; font-size:12px; line-height:1.8; font-weight:700; }
.ab-site .ab-image-steps span { white-space:nowrap; }
.ab-site .ab-image-steps b { font-weight:400; color:#AFC6E8; }
.ab-site .ab-hero-visual small { display:block; margin-top:10px; color:#AFC6E8; font-size:10px; }
.ab-site .ab-work-figure { margin:0 0 18px; }
.ab-site .ab-work-figure img { aspect-ratio:8/5; border-radius:10px; background:var(--ab-paper); }
.ab-site .ab-work-figure figcaption { margin:5px 0 0; font-size:10px; line-height:1.6; color:var(--ab-muted); text-align:right; }
.ab-site .ab-work:has(.ab-work-figure)::before { display:none; }
.ab-site .ab-work:has(.ab-work-figure) h3 { padding-right:0; }
.ab-site .ab-work-detail-image { width:100%; max-width:720px; margin:12px 0 26px; }
.ab-site .ab-work-detail-image img { aspect-ratio:8/5; border:1px solid var(--ab-line); border-radius:16px; background:var(--ab-paper); }
.ab-site .ab-work-detail-image figcaption { font-size:12px; color:var(--ab-muted); margin:8px 0 0; line-height:1.7; }
@media(max-width:767px) { .ab-site .ab-hero-visual { border-radius:16px; } .ab-site .ab-hero-visual figcaption { padding:17px 16px 14px; } .ab-site .ab-work-detail-image { margin:12px 0 22px; } }
@media(max-width:359px) { .ab-site .ab-image-steps { font-size:11px; gap:4px 6px; } }

/* FIELD FIRST corporate content fit — 2026-09-13 */
.ab-site .ff-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ab-site .ff-stance { border-top: 1px solid var(--ab-line); border-bottom: 1px solid var(--ab-line); }
.ab-site #ab-hero-title { font-size: clamp(28px,3.6vw,48px); line-height: 1.45; overflow-wrap: anywhere; }
body.page:has(.ab-site) .headline a.logo { font-size: 19px; letter-spacing: 0; }
body.page:has(.ab-site) footer .foot a.logo { flex-wrap: wrap; overflow-wrap: anywhere; }
@media (max-width:767px) {
 .ab-site .ff-service-grid { grid-template-columns: 1fr; }
 body.page:has(.ab-site) .headline a.logo { font-size: clamp(13px,3.6vw,17px); gap: 6px; max-width: calc(100vw - 92px); }
 body.page:has(.ab-site) .headline a.logo::before { flex: 0 0 8px; width:8px; height:8px; }
 body.page:has(.ab-site) footer .foot a.logo { font-size: 16px; }
}

/* Field First / homepage experience / 2026-09-14 */
body.home:has(.ff-home) .detail.page { background: #FFFFFF; }
.ab-site.ff-home { --ff-ink:#0A154F; --ff-muted:#536481; --ff-line:#D7E5F5; --ff-gold:#9E89FC; padding-top:26px; }
.ff-home *, .ff-home *::before, .ff-home *::after { box-sizing:border-box; }
.ff-home [hidden] { display:none!important; }
.ff-home h1,.ff-home h2,.ff-home h3 { color:var(--ff-ink); border:0; background:none; padding:0; letter-spacing:-.035em; }
.ff-home h1::before,.ff-home h1::after,.ff-home h2::before,.ff-home h2::after,.ff-home h3::before,.ff-home h3::after { display:none; }
.ff-home p { margin:0; line-height:1.85; }
.ff-home a { text-decoration:none; }
.ff-home a:focus-visible,.ff-home button:focus-visible,.ff-home summary:focus-visible { outline:3px solid #005BD8; outline-offset:5px; }
.ff-home .ff-sr,.ff-skip:not(:focus) { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.ff-skip:focus { position:fixed;top:8px;left:8px;z-index:100000;display:block;padding:12px 18px;background:#fff;color:#0A154F;border:2px solid #005BD8;border-radius:6px;font-weight:700;text-decoration:none;outline:3px solid #005BD8;outline-offset:2px; }
#ab-main:focus { outline:none; }
.ff-home .ff-eyebrow { font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.16em;color:var(--ff-muted);margin-bottom:10px; }
.ff-eyebrow span { margin-left:18px;letter-spacing:.08em;font-weight:500; }
.ff-intro { display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 26px; }
.ff-home .ff-intro h1 { font-size:clamp(26px,3vw,34px);line-height:1.4;margin:0; }
.ff-intro>p { font-size:12px;color:var(--ff-muted);text-align:right; }
.ff-carousel { border:1px solid var(--ff-line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 14px 40px -30px #163f3860; }
.ff-slide { display:grid;grid-template-columns:1.1fr 1fr;min-height:425px;background:#EFF6FF; }
.ff-slide--learning { background:#edf0f5; }
.ff-slide--tools { background:#EFF6FF; }
.ff-slide-copy { padding:42px 16px 38px 40px;align-self:center; }
.ff-home .ff-kicker { font:650 11px/1.5 system-ui,sans-serif;letter-spacing:.13em;margin-bottom:22px;color:var(--ff-muted); }
.ff-home .ff-slide h2 { font-size:clamp(28px,3.3vw,43px);font-weight:800;line-height:1.5;margin:0 0 20px; }
.ff-slide h2 em { font-style:normal;box-shadow:inset 0 -.18em #e9c767aa; }
.ff-slide-copy>p:not(.ff-kicker) { font-size:14px;color:#34435F; }
.ff-slide-actions { display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px; }
.ff-home .ff-primary,.ff-home .ff-secondary { display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:700;line-height:1.6; }
.ff-home .ff-primary { color:#fff;background:var(--ff-ink);border:1px solid var(--ff-ink);box-shadow:none; }
.ff-home .ff-primary:hover { color:#fff;background:#0A154F; }
.ab-site.ff-home a.ab-button.ff-primary { min-height:48px;width:auto;padding:12px 20px;border-radius:8px;box-shadow:none;background:var(--ff-ink); }
.ab-site.ff-home a.ab-button::after { display:none; }
.ff-home .ff-secondary { color:var(--ff-ink);border:1px solid #D7E5F5;background:#ffffff80; }
.ff-home .ff-secondary:hover { background:white; }
.ff-slide-copy small { display:block;font-size:11px;color:var(--ff-muted);margin-top:12px; }
.ff-home .ff-slide-image { display:flex;flex-direction:column;justify-content:center;padding:30px;margin:0;min-width:0; }
.ff-slide-image img { display:block;width:100%;height:300px;object-fit:contain;border-radius:16px;mix-blend-mode:multiply; }
.ff-slide-image figcaption { display:flex;justify-content:center;gap:8px;font-size:11px;color:var(--ff-muted);margin:14px 0 0; }
.ff-slide-image figcaption span { padding:5px 8px;border:1px solid #D7E5F5;border-radius:4px; }
.ff-carousel-controls { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;background:#fff; }
.ff-home button { font:inherit;cursor:pointer; }
.ff-slide-pickers { display:flex;gap:6px; }
.ff-slide-pickers button { min-height:44px;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:var(--ff-muted);font-size:12px;font-weight:600; }
.ff-slide-pickers button span { margin-left:8px; }
.ff-slide-pickers button[aria-current] { color:var(--ff-ink);background:#EFF6FF;box-shadow:inset 0 -2px var(--ff-ink); }
.ff-prev-next { display:flex;gap:8px; }
.ff-prev-next button { border:1px solid var(--ff-line);background:white;color:var(--ff-ink);border-radius:50%;width:44px;height:44px;font-size:20px; }
.ff-prev-next button:hover { background:#EFF6FF; }
.ff-shortcuts { display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--ff-line);margin:8px 0 0; }
.ff-shortcuts a { display:flex;gap:10px;align-items:center;min-height:64px;padding:12px 18px;color:var(--ff-ink);font-size:13px;font-weight:700; }
.ff-shortcuts a+a { border-left:1px solid var(--ff-line); }
.ff-shortcuts a:hover { background:#EFF6FF; }
.ff-shortcuts span { font:12px system-ui;color:var(--ff-muted); }
.ff-shortcuts b { margin-left:auto; }
.ff-section { padding:64px 0; }
.ff-section-head { display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px; }
.ff-home .ff-section h2,.ff-home .ff-about h2 { font-size:clamp(24px,2.8vw,34px);line-height:1.5;margin:0; }
.ff-section-head p:not(.ff-eyebrow) { color:var(--ff-muted);font-size:14px;margin-top:12px; }
.ff-home .ff-link { display:inline-flex;align-items:center;gap:8px;color:var(--ff-ink);font-size:13px;font-weight:700;min-height:44px; }
.ff-home a.ff-link:hover { text-decoration:underline;text-underline-offset:5px; }
.ff-service-cards { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px; }
.ff-card { display:block;min-width:0;color:var(--ff-ink);border:1px solid var(--ff-line);border-radius:14px;background:white;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.ff-home .ff-card:hover,.ff-home .ff-card:focus-visible { color:var(--ff-ink);border-color:#7087A8;box-shadow:0 12px 24px -15px #163f384d; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .ff-card:hover { transform:translateY(-5px); } .ff-card:hover .ff-arrow { transform:translate(2px,-2px); } }
.ff-arrow { display:inline-block;transition:transform .22s ease; }
.ff-service-card { padding:24px 20px; }
.ff-card-top { display:flex;align-items:center;justify-content:space-between;margin-bottom:28px; }
.ff-number { font:600 12px system-ui;padding:8px 10px;background:#EFF6FF;border-radius:5px; }
.ff-home .ff-card-purpose { font-size:11px;color:var(--ff-muted);margin-bottom:8px; }
.ff-home .ff-card h3 { font-size:18px;line-height:1.65;font-weight:700;margin:0 0 12px; }
.ff-home .ff-card p:not(.ff-card-purpose) { color:var(--ff-muted);font-size:13px; }
.ff-home .ff-fine { font-size:12px;color:var(--ff-muted);margin-top:16px; }
.ff-tool-section { padding:32px;border-radius:18px;background:#EFF6FF; }
.ff-tool-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.ff-tool-card { display:flex;gap:20px;align-items:center;padding:24px; }
.ff-tool-icon { display:flex;align-items:center;justify-content:center;flex:0 0 56px;height:56px;background:var(--ff-ink);color:#fff;border-radius:12px;font-size:32px;font-family:system-ui; }
.ff-tool-icon--gold { background:#9E89FC;color:var(--ff-ink); }
.ff-tool-card small { color:var(--ff-muted);font-weight:400;font-size:10px; }
.ff-home .ff-tool-card h3 { margin-bottom:4px; }
.ff-label { display:inline-block;padding:4px 9px;border:1px solid #D7E5F5;border-radius:4px;color:var(--ff-muted);font-size:11px;line-height:1.6;white-space:nowrap; }
.ff-filters { display:flex;gap:8px;margin:0 0 24px; }
.ff-filters button { min-height:44px;padding:10px 18px;border:1px solid var(--ff-line);border-radius:7px;background:#fff;color:var(--ff-ink);font-size:13px; }
.ff-filters button[aria-pressed=true] { background:var(--ff-ink);border-color:var(--ff-ink);color:#fff; }
.ff-works-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.ff-work-card { overflow:hidden; }
.ff-work-card figure { margin:0;position:relative;border-bottom:1px solid var(--ff-line); }
.ff-work-card img { width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;display:block; }
.ff-work-card figcaption { position:absolute;bottom:5px;right:7px;padding:2px 6px;background:#ffffffe6;color:var(--ff-muted);font-size:9px;border-radius:3px; }
.ff-work-copy { padding:20px; }
.ff-home .ff-work-copy h3 { font-size:16px;margin-top:14px; }
.ff-partner { display:grid;grid-template-columns:1fr 1.35fr;gap:60px;border-top:1px solid var(--ff-line); }
.ff-home .ff-partner h2 { font-size:40px; }
.ff-partner>div>p:not(.ff-eyebrow) { color:var(--ff-muted);font-size:14px;margin:18px 0; }
.ff-home .ff-steps { list-style:none;padding:0;margin:0; }
.ff-steps li { display:flex;gap:24px;padding:22px 0;border-bottom:1px solid var(--ff-line); }
.ff-steps li:first-child { padding-top:0; }
.ff-steps li>span { font:500 14px system-ui;color:var(--ff-muted);padding-top:6px; }
.ff-home .ff-steps h3 { font-size:19px;margin:0 0 8px; }
.ff-steps p { font-size:13px;color:var(--ff-muted); }
.ff-about { display:flex;gap:32px;align-items:center;justify-content:space-between;padding:32px;border-radius:16px;background:#EFF6FF; }
.ff-about p:not(.ff-eyebrow) { font-size:13px;color:var(--ff-muted);margin-top:16px; }
.ff-home #ab-faq { padding:64px 0; }
.ff-home .ff-contact { border-radius:18px;padding:36px;margin:0 0 48px; }
.ff-home .ff-contact h2 { font-size:clamp(24px,3vw,34px);color:#fff; }
.ff-home .ff-contact .ff-eyebrow { color:#9E89FC; }
@media(prefers-reduced-motion:no-preference) { .ff-slide:not([hidden]) .ff-slide-copy { animation:ff-enter .3s ease-out both; } @keyframes ff-enter { from { opacity:.3;transform:translateY(7px); } to {opacity:1;transform:none;} } }
@media(max-width:1023px) { .ff-service-cards,.ff-works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ff-slide-copy { padding:30px 12px 30px 28px; } .ff-slide-image { padding:16px!important; } .ff-slide-image img { height:260px; } .ff-tool-card { padding:20px;gap:14px; } .ff-tool-icon { flex-basis:44px;height:44px; } .ff-slide { min-height:410px; } }
@media(max-width:767px) {
 .ab-site.ff-home { padding-top:18px; }
 .ff-intro { margin-bottom:20px; } .ff-intro>p { display:none; } .ff-eyebrow span { margin-left:10px; }
 .ff-carousel { border-radius:16px; } .ff-slide { grid-template-columns:1fr;min-height:0; }
 .ff-slide-copy { padding:25px 22px 0; } .ff-home .ff-kicker { font-size:9px;margin-bottom:14px; }
 .ff-home .ff-slide h2 { font-size:clamp(25px,6.7vw,38px);line-height:1.45;margin-bottom:14px; }
 .ff-slide-copy>p:not(.ff-kicker) { font-size:13px; } .ff-slide-copy>p br { display:none; }
 .ff-slide-actions { gap:10px;margin-top:20px; } .ff-home .ff-slide-actions a { font-size:12px;padding:10px 12px;gap:8px; }
 .ff-home .ff-slide-image { padding:14px 22px 18px!important; } .ff-slide-image img { height:170px; }
 .ff-slide-image figcaption { margin-top:4px;font-size:10px; } .ff-slide-image figcaption span { padding:3px 6px; }
 .ff-carousel-controls { padding:8px 10px; } .ff-slide-pickers { gap:2px; } .ff-slide-pickers button { padding:8px;font-size:11px; }
 .ff-slide-pickers button span { display:none; } .ff-prev-next { gap:6px; }
 .ff-shortcuts a { flex-wrap:wrap;gap:4px;padding:12px 7px;font-size:11px;min-height:60px; } .ff-shortcuts span { display:none; }
 .ff-section { padding:44px 0; } .ff-section-head { align-items:start;flex-direction:column;gap:8px;margin-bottom:20px; }
 .ff-section-head>.ff-label { display:none; } .ff-section-head p:not(.ff-eyebrow) { font-size:13px; }
 .ff-service-cards { gap:10px; } .ff-service-card { padding:18px 14px; } .ff-card-top { margin-bottom:18px; }
 .ff-home .ff-service-card h3 { font-size:16px; } .ff-home .ff-card p:not(.ff-card-purpose) { font-size:12px; }
 .ff-home .ff-card-purpose { font-size:10px; } .ff-tool-section { padding:24px 18px; }
 .ff-tool-grid { grid-template-columns:1fr; } .ff-tool-card { padding:18px; } .ff-home .ff-tool-card h3 { font-size:16px; }
 .ff-works-grid { gap:12px; } .ff-work-copy { padding:14px; } .ff-home .ff-work-copy h3 { font-size:14px;line-height:1.7; }
 .ff-filters { gap:6px; } .ff-filters button { padding:9px 14px;font-size:12px; }
 .ff-partner { grid-template-columns:1fr;gap:28px; } .ff-home .ff-partner h2 { font-size:32px; }
 .ff-about { padding:24px;flex-direction:column;align-items:start;gap:20px; } .ff-home .ff-about h2 { font-size:23px; }
 .ff-home #ab-faq { padding:44px 0; } .ff-home .ff-contact { padding:28px 22px;margin-bottom:28px; }
}
@media(max-width:359px) { .ff-service-cards,.ff-works-grid { grid-template-columns:1fr; } .ff-slide-copy { padding-left:16px;padding-right:16px; } .ff-slide-actions { gap:8px; } .ff-home .ff-slide-actions a { font-size:11px;padding:10px; } }
@media(prefers-reduced-motion:reduce) { .ff-home *, .ff-home *::before, .ff-home *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
.ff-home[data-ff-ready] .ff-slide { min-height:var(--ff-slide-height,0px); }

/* Rightward autoplay: transforms are applied to the complete slide via Web Animations. */
.ff-home .ff-slides { position:relative;overflow:hidden; }
.ff-home .ff-slide-copy { animation:none!important; }
.ff-home .ff-rotation { display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid var(--ff-line);border-radius:7px;background:#fff;color:var(--ff-ink);font-size:12px; }
.ff-home .ff-rotation:hover:not(:disabled) { background:#EFF6FF; }
.ff-home .ff-rotation:disabled { color:#536481;background:#FFFFFF;cursor:default; }
.ff-home .ff-slide-pickers { flex:1; }
@media(max-width:767px) { .ff-home .ff-rotation-text { display:none; } .ff-home .ff-carousel-controls { gap:6px; } .ff-home .ff-rotation { padding:8px; } }

/* FIELD FIRST / Local Engineering Partner / plan implementation */
body.page:has(.ff-corporate) { --ab-ink:#0A154F;--ab-green:#0A154F;--ab-green-2:#005BD8;--ab-paper:#FFFFFF;--ab-muted:#465572;--ab-radius:10px;background:#FFFFFF; }
body.home:has(.ff-corporate) .detail.page { background:#FFFFFF; }
body.page:has(.ff-corporate) .detail.page>.container { max-width:1280px; }
.ab-site.ff-corporate { --ff-ink:#0A154F;--ff-muted:#465572;--ff-line:#D7E5F5;--ff-gold:#005BD8;color:#0A154F; }
.ff-corporate h2 { font-size:clamp(28px,3vw,40px);line-height:1.45;letter-spacing:-.03em; }
.ff-corporate p,.ff-corporate dd { font-size:16px;line-height:1.85; }
.ff-corporate .ff-eyebrow { font-size:12px;line-height:1.5;color:#465572;letter-spacing:.14em;margin-bottom:14px; }
.ff-corporate .ff-section { padding:88px 0; }
.ff-corporate .ff-section h2 { font-size:clamp(28px,3vw,40px);margin:0 0 20px; }
.ff-corporate .ff-section-head { align-items:center; }
.ff-corporate .ff-section-head p { font-size:16px; }
.ff-corporate .ff-intro h1 { font-size:clamp(30px,3.4vw,44px); }
.ff-corporate .ff-carousel { border-radius:14px;box-shadow:none; }
.ff-corporate .ff-slide { grid-template-columns:1.15fr 1fr;background:#EFF6FF; }
.ff-corporate .ff-slide-copy { padding:44px 16px 44px 36px; }
.ff-corporate .ff-slide h2 { font-size:clamp(30px,3.25vw,44px);line-height:1.55;margin-bottom:20px; }
.ff-corporate .ff-slide h2 em { box-shadow:none;color:#0A154F; }
.ff-corporate .ff-slide-copy>p:not(.ff-kicker) { font-size:16px; }
.ff-corporate .ff-slide-copy small { font-size:13px; }
.ff-corporate .ff-slide-image { padding:24px; }
.ff-corporate .ff-photo img { object-fit:cover;width:100%;height:360px;mix-blend-mode:normal;border-radius:8px; }
.ff-corporate .ff-photo figcaption { font-size:12px; }
.ff-corporate .ff-slide-actions { gap:10px; }
.ab-site.ff-corporate a.ab-button.ff-primary { font-size:14px;padding:14px 16px;gap:8px; }
.ff-corporate .ff-slide-actions .ff-secondary { font-size:14px;padding:12px; }
.ff-service-visual,.ff-tools-visual { gap:16px; }
.ff-service-visual>div,.ff-tools-visual>a { padding:24px;background:#FFFFFF;border-left:3px solid #005BD8;display:grid;grid-template-columns:36px 1fr;gap:6px 12px;color:#0A154F; }
.ff-service-visual>div span,.ff-tools-visual>a>span { grid-row:span 2;font-size:14px; }
.ff-service-visual strong,.ff-tools-visual strong { font-size:23px; }
.ff-service-visual small,.ff-tools-visual small { font-size:14px;color:#465572; }
.ff-visual-label { font:600 12px system-ui;letter-spacing:.18em; }
.ff-corporate .ff-link { min-height:44px;display:inline-flex;align-items:center;gap:8px;font-size:15px;color:#0A154F;font-weight:700; }
.ff-corporate a:focus-visible,.ff-footer-links a:focus-visible { outline:3px solid #005BD8;outline-offset:4px; }
.ff-value>div { display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:32px; }
.ff-value article { border-top:1px solid #005BD8;padding-top:20px; }
.ff-value article>span { font:500 14px system-ui;color:#465572; }
.ff-corporate .ff-value h3 { font-size:24px;margin:14px 0 6px; }
.ff-corporate .ff-problems { padding:48px;background:#EFF6FF; }
.ff-problems ul { display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;padding:0;margin:24px 0 0;list-style:none; }
.ff-problems li { padding:16px 20px;border:1px solid #D7E5F5;border-radius:6px;background:#ffffff90;font-size:16px; }
.ff-problems li::before { content:'—';margin-right:10px;color:#005BD8; }
.ff-corporate .ff-service-cards { grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.ff-corporate .ff-service-card { padding:28px; }
.ff-corporate .ff-card-purpose { font-size:14px;margin-top:24px; }
.ff-corporate .ff-card h3 { font-size:23px;line-height:1.5;margin:12px 0; }
.ff-corporate .ff-card p:not(.ff-card-purpose) { font-size:16px; }
.ff-service-bottom { display:flex;justify-content:space-between;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid #D7E5F5;font-size:13px; }
.ff-corporate .ff-supplement { margin-top:24px;padding-top:20px;border-top:1px solid #D7E5F5;font-size:15px; }
.ff-corporate .ff-method { padding:54px 36px;background:#0A154F;color:#FFFFFF; }
.ff-corporate .ff-method h2,.ff-corporate .ff-method h3,.ff-corporate .ff-method .ff-link { color:#FFFFFF; }
.ff-corporate .ff-method .ff-eyebrow { color:#9E89FC; }
.ff-method ol { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;gap:24px;padding:0;margin:36px 0 16px; }
.ff-method li { border-top:1px solid #7087A8;padding-top:16px; }
.ff-step-no { display:block;font:500 38px/1.3 system-ui;color:#9E89FC; }
.ff-method small { display:block;font:600 11px/1.5 system-ui;letter-spacing:.08em;color:#9E89FC;margin:12px 0; }
.ff-corporate .ff-method h3 { font-size:21px;line-height:1.5;margin:0 0 12px; }
.ff-corporate .ff-method p { font-size:14px;color:#D7E5F5; }
.ff-corporate .ff-works-grid { grid-template-columns:1fr 1fr;gap:24px; }
.ff-flow-diagram { padding:24px;background:#EFF6FF;display:grid;gap:16px; }
.ff-flow-diagram>div { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.ff-flow-diagram small { display:block;width:100%;font:600 11px/1.5 system-ui;color:#465572;letter-spacing:.08em; }
.ff-flow-diagram small span { font-family:inherit;letter-spacing:0;font-size:11px; }
.ff-flow-diagram>div>span { padding:8px 10px;background:white;border:1px solid #D7E5F5;font-size:13px; }
.ff-flow-diagram>div:last-child>span { background:#0A154F;color:#fff;border-color:#0A154F; }
.ff-flow-diagram b { font-weight:400;color:#465572; }
.ff-corporate .ff-work-copy { padding:24px; }
.ff-corporate .ff-work-copy h3 { font-size:24px; }
.ff-corporate .ff-about { display:grid;grid-template-columns:1fr;align-items:center;gap:48px;padding:56px 44px;border-radius:0;background:#EFF6FF; }
.ff-person-name { font-size:28px!important;font-weight:700;margin-bottom:24px!important; }
.ff-person-name span { display:block;font:500 12px/1.6 system-ui,sans-serif;letter-spacing:.05em;color:#465572;margin-top:6px; }
.ff-person-mark { border-left:1px solid #D7E5F5;padding-left:48px;color:#0A154F; }
.ff-person-mark strong { display:block;font:650 58px/1.08 system-ui;letter-spacing:-.04em; }
.ff-person-mark>span { display:block;font:500 12px system-ui;letter-spacing:.12em;margin-top:22px; }
.ff-numbers dl { display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:32px 0 0; }
.ff-numbers dl>div { border-top:1px solid #D7E5F5;padding-top:20px; }
.ff-numbers dt { font-size:15px;font-weight:500; }
.ff-numbers dd { font:500 58px/1.5 system-ui;margin:6px 0;color:#0A154F; }
.ff-numbers dd span { font:500 16px system-ui;margin-left:6px; }
.ff-numbers small { font-size:13px;color:#465572; }
.ff-corporate .ff-local { background:#EFF6FF;padding:48px; }
.ff-local>div { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px; }
.ff-region { border:1px solid #D7E5F5;padding:28px; }
.ff-region>div { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center; }
.ff-region span { padding:10px 4px;background:#fff;font-size:18px; }
.ff-region strong { display:block;margin-top:16px;padding-top:16px;border-top:1px solid #D7E5F5;text-align:center;font-size:18px; }
.ff-corporate .ff-local>p { font-size:14px;color:#465572;margin-top:20px; }
.ff-corporate .ff-tool-card h3 { font-size:21px; }
.ff-corporate .ff-tool-icon { font-size:18px; }
.ff-faq-category { display:inline-block;min-width:88px;margin-right:12px;font-size:12px;color:#465572; }
.ff-corporate .ab-faq summary { font-size:17px;line-height:1.7;padding:20px 44px 20px 18px; }
.ff-corporate .ab-faq details p { font-size:16px; }
.ab-site.ff-corporate .ff-contact { display:block;background:#0A154F;text-align:center;padding:56px 28px;border-radius:0;box-shadow:none;margin:0 0 70px; }
.ff-corporate .ff-contact h2 { color:#fff;font-size:clamp(30px,3.5vw,44px);margin:0 0 20px; }
.ff-corporate .ff-contact p { color:#D7E5F5;font-size:16px; }
.ff-corporate .ff-contact .ff-eyebrow { color:#9E89FC; }
.ab-site.ff-corporate .ff-contact .ab-button { margin-top:28px;background:#FFFFFF;color:#0A154F;border:0;box-shadow:none; }
.ff-inner .ff-page-lead { max-width:720px;font-size:20px;line-height:1.8; }
.ff-inner .ff-section { padding:56px 0;border-bottom:1px solid #D7E5F5; }
.ff-inner .ff-method { padding:36px 28px;margin-top:40px; }
.ff-inner .ff-contact { margin-top:56px; }
.ff-service-detail { display:grid;grid-template-columns:1fr 1.2fr;gap:48px; }
.ff-corporate dl { margin-bottom:0; }
.ff-service-detail dl>div,.ff-case-detail dl>div { display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #D7E5F5; }
.ff-service-detail dt,.ff-case-detail dt { font-size:15px; }
.ff-service-detail dd,.ff-case-detail dd { margin:0;font-size:16px; }
.ff-production-list,.ff-contact-facts { display:flex;flex-wrap:wrap;gap:12px;margin:24px 0; }
.ff-production-list>span,.ff-contact-facts>span { padding:12px 16px;border:1px solid #D7E5F5;background:#fff;font-size:15px; }
.ff-case-index { display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px; }
.ff-case-detail .ff-flow-diagram { margin:28px 0; }
.ff-case-detail .ab-button { margin-top:24px; }
.ff-case-detail dl>div:last-child { border:0; }
.ff-timeline { list-style:none;margin:24px 0;padding:0;border-left:2px solid #005BD8; }
.ff-timeline li { margin:0 0 28px;padding-left:24px; }
.ff-profile-intro { padding:24px 0; }
.ff-inner .ab-summary-table td,.ff-inner .ab-summary-table th { font-size:15px; }
.ff-footer-links { max-width:1280px;margin:0 auto;padding:50px 24px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px;color:#0A154F;text-align:left;font-family:"Yu Gothic",Meiryo,system-ui,sans-serif; }
.ff-footer-links strong { font:650 12px/1.5 system-ui;letter-spacing:.06em; }
.ff-footer-links p { margin-top:14px;font-size:13px;line-height:1.9; }
.ff-footer-links a { display:flex;align-items:center;min-height:44px;color:#0A154F;font-size:13px;text-decoration:none; }
.ff-footer-links a:hover { text-decoration:underline; }
.ff-rotation>span { pointer-events:none; }
.ff-corporate .wpcf7 select { width:100%;min-height:48px;padding:12px 14px;border:1px solid #D7E5F5;border-radius:8px;background:#fff;color:#0A154F;font-family:inherit;font-size:16px;line-height:1.5; }
@media(max-width:1023px) { .ff-corporate .ff-slide { grid-template-columns:1fr 1fr; } .ff-corporate .ff-slide h2 { font-size:30px; } .ff-corporate .ff-slide-copy { padding:30px 14px 30px 24px; } .ff-corporate .ff-service-card { padding:22px; } .ff-corporate .ff-card h3 { font-size:21px; } .ff-method ol { grid-template-columns:repeat(3,minmax(0,1fr)); } .ff-service-detail { gap:30px; } .ff-footer-links { grid-template-columns:1fr 1fr; } }
@media(max-width:767px) {
 .ff-corporate .ff-section { padding:64px 0; } .ff-corporate p,.ff-corporate dd { font-size:16px; } .ff-corporate .ff-section h2 { font-size:29px; }
 .ff-corporate .ff-intro h1 { font-size:30px; } .ff-corporate .ff-intro .ff-eyebrow { font-size:11px; }
 .ff-corporate .ff-slide { display:grid;grid-template-columns:1fr;padding:24px 20px; } .ff-corporate .ff-slide-copy { display:contents; }
 .ff-corporate .ff-slide-copy .ff-kicker { display:none; } .ff-corporate .ff-slide-copy h2 { order:1; }
 .ff-corporate .ff-slide-image { order:2;padding:0!important;margin-bottom:20px; }
 .ff-corporate .ff-slide-copy>p:not(.ff-kicker) { order:3; } .ff-corporate .ff-slide-actions { order:4; } .ff-corporate .ff-slide-copy>small { order:5; }
 .ff-corporate .ff-slide h2 { font-size:clamp(27px,6.8vw,36px);line-height:1.55; } .ff-corporate .ff-slide-copy>p:not(.ff-kicker) { font-size:15px; }
 .ff-corporate .ff-photo img { height:220px; }
 .ff-corporate .ff-slide-actions { gap:10px; } .ab-site.ff-corporate a.ab-button.ff-primary { width:100%;font-size:14px;min-height:48px; }
 .ff-corporate .ff-slide-actions .ff-secondary { padding:0;border:0;min-height:44px;font-size:14px; }
 .ff-corporate .ff-photo figcaption { font-size:11px; }
 .ff-service-visual>div,.ff-tools-visual>a { padding:16px;gap:4px 8px; } .ff-service-visual strong,.ff-tools-visual strong { font-size:21px; }
 .ff-value>div { grid-template-columns:1fr;gap:24px; } .ff-value article { display:grid;grid-template-columns:32px 1fr;gap:8px; } .ff-corporate .ff-value h3 { margin:0;font-size:23px; } .ff-value p { grid-column:2; }
 .ff-corporate .ff-problems,.ff-corporate .ff-local { padding:28px 20px; } .ff-problems ul { grid-template-columns:1fr;gap:12px; } .ff-problems li { padding:14px;font-size:15px; }
 .ff-corporate .ff-service-cards,.ff-corporate .ff-works-grid { grid-template-columns:1fr;gap:18px; } .ff-corporate .ff-service-card { padding:24px; } .ff-corporate .ff-card h3 { font-size:24px; } .ff-corporate .ff-card-purpose { margin-top:20px; }
 .ff-corporate .ff-method { padding:36px 22px; } .ff-method ol { grid-template-columns:1fr 1fr;gap:26px 20px; } .ff-corporate .ff-method h3 { font-size:20px; } .ff-corporate .ff-method p { font-size:14px; }
 .ff-corporate .ff-about { grid-template-columns:1fr;padding:36px 24px;gap:28px; } .ff-person-mark { display:none; }
 .ff-numbers dl { grid-template-columns:1fr;gap:24px; } .ff-numbers dl>div { display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:8px; } .ff-numbers dd { font-size:48px;grid-column:2;grid-row:1/span 2;margin:0; } .ff-numbers dd span { font-size:13px; } .ff-numbers small { font-size:12px; } .ff-numbers dt { font-size:13px; }
 .ff-local>div { grid-template-columns:1fr;gap:16px; } .ff-region { padding:18px; } .ff-region span { font-size:16px; }
 .ff-corporate .ff-tool-card h3 { font-size:21px; } .ff-corporate .ff-tool-card { padding:20px; } .ff-corporate .ff-tool-icon { flex-basis:40px; }
 .ff-faq-category { display:block;min-width:0;font-size:11px;margin-bottom:4px; } .ff-corporate .ab-faq summary { font-size:16px; }
 .ff-corporate .ff-contact { padding:36px 20px; } .ff-corporate .ff-contact h2 { font-size:30px; }
 .ff-service-detail { grid-template-columns:1fr;gap:24px; } .ff-service-detail dl>div,.ff-case-detail dl>div { grid-template-columns:1fr;gap:8px; }
 .ff-inner .ff-page-lead { font-size:18px; } .ff-inner .ff-section { padding:40px 0; } .ff-inner .ff-method { padding:28px 20px; }
 .ff-flow-diagram { padding:20px 14px; } .ff-flow-diagram>div { gap:5px; } .ff-flow-diagram>div>span { padding:8px;font-size:12px; }
 .ff-footer-links { padding:36px 20px;gap:24px 16px; } .ff-footer-links>div:first-child { grid-column:1/-1; } .ff-footer-links a { font-size:12px; }
}

/* FIELD TOOLS portal / 2026-09-16 */
.ff-tools-portal { --ff-tools-soft:#EFF6FF; --ff-tools-line:#D7E5F5; }
.ff-tools-hero { padding:20px 0 46px;border-bottom:1px solid var(--ff-tools-line); }
.ff-tools-hero-grid { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:56px;align-items:end; }
.ff-tools-portal .ff-tools-hero h2 { max-width:720px;font-size:clamp(32px,4vw,48px);line-height:1.4;margin:10px 0 16px; }
.ff-tools-trust { display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;border:1px solid var(--ff-tools-line);background:#fff; }
.ff-tools-trust>div { padding:18px 16px;border-right:1px solid var(--ff-tools-line); }.ff-tools-trust>div:last-child{border-right:0}
.ff-tools-trust dt { font:600 10px/1.5 system-ui;letter-spacing:.1em;color:#536481; }.ff-tools-trust dd{margin:6px 0 0;font-size:14px;font-weight:700;color:#0A154F}
.ff-tools-workspace { margin:34px 0 8px;padding:26px;border:1px solid var(--ff-tools-line);background:#fff; }
.ff-tools-search label { display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:#0A154F; }
.ff-search-field { position:relative; }.ff-search-field input{width:100%;min-height:50px;padding:10px 92px 10px 16px;border:1px solid #D7E5F5;border-radius:6px;background:#ffffff;color:#0A154F;font-size:16px}
.ff-search-field input:focus { border-color:#005BD8;box-shadow:0 0 0 3px rgba(0,91,216,.12);outline:0 }
.ff-search-field kbd { position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:4px 7px;border:1px solid #D7E5F5;border-bottom-width:2px;border-radius:4px;background:#fff;color:#536481;font:500 11px/1 system-ui; }
.ff-tools-controls { display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:18px; }
.ff-tool-filters { display:flex;gap:8px;flex-wrap:wrap; }.ff-tool-filters button,.ff-favorites-filter,.ff-clear-history{min-height:40px;padding:8px 14px;border:1px solid #D7E5F5;background:#fff;color:#0A154F;border-radius:5px;font-size:13px;font-weight:700}
.ff-tool-filters button[aria-pressed=true],.ff-favorites-filter[aria-pressed=true]{background:#0A154F;border-color:#0A154F;color:#fff}
.ff-tool-result-status { margin:14px 0 0!important;color:#536481;font-size:12px!important; }
.ff-recent-tools { padding:38px 0 14px;border-bottom:1px solid var(--ff-tools-line); }.ff-recent-tools .ff-section-head{margin-bottom:16px}
.ff-clear-history { min-height:36px;padding:7px 12px;font-size:12px }.ff-recent-list{display:flex;gap:10px;flex-wrap:wrap}
.ff-recent-item { display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:9px 13px;border:1px solid #D7E5F5;background:#fff;color:#0A154F;text-decoration:none;font-size:13px;font-weight:700 }.ff-recent-item small{color:#536481;font-weight:400}
.ff-tool-grid--portal { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.ff-tool-card--portal { display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:start;padding:26px;transform:none!important; }
.ff-tool-card-head { display:grid;gap:12px;justify-items:center }.ff-tool-card--portal .ff-tool-icon{width:56px;flex-basis:56px}
.ff-save-tool { min-width:56px;min-height:34px;padding:6px 8px;border:1px solid #D7E5F5;border-radius:4px;background:#fff;color:#465572;font-size:11px;font-weight:700 }
.ff-save-tool[aria-pressed=true] { background:#EFF6FF;border-color:#7087A8;color:#0A154F }.ff-save-tool[aria-pressed=true]::before{content:'✓ ';font-weight:800}
.ff-tool-type { margin:0 0 4px!important;font:600 10px/1.5 system-ui!important;letter-spacing:.1em;color:#536481!important }
.ff-tools-portal .ff-tool-copy h3 { margin:0 0 8px;font-size:22px;line-height:1.5 }.ff-tools-portal .ff-tool-copy>p:not(.ff-tool-type){min-height:3.6em;margin:0 0 18px;color:#465572;font-size:14px}
.ff-tool-open { display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:14px;font-weight:700;color:#0A154F }.ff-tool-open small{font-size:10px;color:#536481;font-weight:400}
.ff-tools-empty { padding:40px 24px;text-align:center;border:1px dashed #D7E5F5;background:#ffffff }.ff-tools-empty strong{display:block;margin-bottom:6px;font-size:17px}
.ff-tools-policy { display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:start }.ff-tools-policy>div:last-child{padding:24px;border-left:3px solid #005BD8;background:#EFF6FF}.ff-tools-policy h3{font-size:19px;margin:0 0 10px}
.ff-tools-toast { position:fixed;right:24px;bottom:28px;z-index:70;max-width:min(360px,calc(100vw - 32px));padding:12px 16px;border:1px solid #D7E5F5;background:#0A154F;color:#fff;box-shadow:0 12px 30px -16px rgba(10,21,79,.55);font-size:13px;font-weight:700 }
.ff-tools-toast[hidden]{display:none}
@media(max-width:900px){.ff-tools-hero-grid{grid-template-columns:1fr;gap:24px}.ff-tool-grid--portal{grid-template-columns:1fr}.ff-tools-policy{grid-template-columns:1fr;gap:28px}}
@media(max-width:767px){.ff-tools-hero{padding:10px 0 32px}.ff-tools-trust{grid-template-columns:1fr}.ff-tools-trust>div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-right:0;border-bottom:1px solid var(--ff-tools-line)}.ff-tools-trust>div:last-child{border-bottom:0}.ff-tools-trust dd{margin:0}.ff-tools-workspace{margin-top:22px;padding:18px 14px}.ff-search-field kbd{display:none}.ff-search-field input{padding-right:14px}.ff-tools-controls{align-items:stretch;flex-direction:column}.ff-tool-filters{display:grid;grid-template-columns:repeat(3,1fr)}.ff-tool-filters button,.ff-favorites-filter{padding:8px 6px;font-size:12px}.ff-tool-card--portal{grid-template-columns:48px 1fr;gap:14px;padding:20px 16px}.ff-tool-card-head{gap:10px}.ff-tool-card--portal .ff-tool-icon{width:44px;height:44px;flex-basis:44px}.ff-save-tool{min-width:44px;padding:5px 4px}.ff-tools-portal .ff-tool-copy h3{font-size:20px}.ff-tools-policy>div:last-child{padding:20px}.ff-tools-toast{left:16px;right:16px;bottom:86px;max-width:none}}

.ff-tools-portal [hidden] { display:none !important; }

/* FIELD FIRST / UIUX SaaS refinement / 2026-09-16 */
html:has(body.page .ab-site) { view-transition-name: root; }
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: ff-page-out .16s ease both; }
::view-transition-new(root) { animation: ff-page-in .24s cubic-bezier(.2,.7,.2,1) both; }
@keyframes ff-page-out { to { opacity:.35; transform:translateY(-3px); } }
@keyframes ff-page-in { from { opacity:.35; transform:translateY(5px); } }

.ff-shortcuts--purpose { margin-top:14px; border:1px solid var(--ff-line); border-radius:12px; overflow:hidden; background:#fff; }
.ff-shortcuts--purpose a { text-decoration:none; transition:background .18s ease,color .18s ease; }
.ff-shortcuts--purpose a:hover { background:#EFF6FF; color:#0A154F; }
.ff-shortcuts--purpose strong { font-size:14px; }
.ff-shortcuts--purpose b { transition:transform .18s ease; }
.ff-shortcuts--purpose a:hover b { transform:translateX(4px); }

.ff-page-nav { position:sticky; top:72px; z-index:25; display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; margin:18px 0 28px; padding:8px; border:1px solid #D7E5F5; border-radius:10px; background:rgba(255,255,255,.92); backdrop-filter:blur(12px) saturate(150%); box-shadow:0 8px 24px -20px rgba(10,21,79,.35); }
.ff-page-nav::-webkit-scrollbar { display:none; }
.ff-page-nav a { flex:0 0 auto; display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:7px; color:#465572; font-size:12px; font-weight:700; text-decoration:none; white-space:nowrap; }
.ff-page-nav a:hover { color:#0A154F; background:#EFF6FF; }
.ff-page-nav a[aria-current="location"] { color:#fff; background:#0A154F; }

.ff-route-feedback { position:fixed; inset:0 0 auto 0; z-index:90; height:3px; pointer-events:none; overflow:hidden; opacity:0; transition:opacity .12s ease; }
.ff-route-feedback::before { content:""; display:block; width:36%; height:100%; background:linear-gradient(90deg,#005BD8,#005BD8); transform:translateX(-120%); }
html.ff-navigating .ff-route-feedback { opacity:1; }
html.ff-navigating .ff-route-feedback::before { animation:ff-route 1s ease-in-out infinite; }
@keyframes ff-route { to { transform:translateX(380%); } }

.ff-card,.ff-tool-card,.ff-service-card,.ff-work-card { will-change:transform; }
@media(max-width:767px){ .ff-page-nav{top:68px;margin:14px -4px 22px;padding:6px}.ff-page-nav a{min-height:44px;padding:8px 11px;font-size:11px}.ff-shortcuts--purpose{grid-template-columns:1fr}.ff-shortcuts--purpose a+a{border-left:0;border-top:1px solid var(--ff-line)} }
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.ff-route-feedback{display:none}}

.ff-tools-hero-grid > *, .ff-page-nav { min-width:0; }
.ff-page-nav { max-width:100%; }

/* FIELD FIRST / SaaS usability pass 2 / 2026-09-16 */
/* interaction tokens: one focus ring, two elevation levels, one radius for cards */
.ab-site.ff-corporate { --ff-focus:#005BD8; --ff-shadow-1:0 1px 2px rgba(10,21,79,.05),0 10px 24px -20px rgba(10,21,79,.35); --ff-shadow-2:0 2px 4px rgba(10,21,79,.06),0 20px 40px -22px rgba(10,21,79,.45); }
.ff-corporate .ff-card { border-radius:12px; box-shadow:var(--ff-shadow-1); }
.ff-corporate .ff-card:hover,.ff-corporate .ff-card:focus-visible { box-shadow:var(--ff-shadow-2); }
.ff-corporate :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible { outline:3px solid var(--ff-focus); outline-offset:3px; border-radius:4px; }
.ff-corporate .ff-card:focus-visible,.ff-corporate .ff-tool-card:focus-visible { outline-offset:4px; border-radius:12px; }
.ff-corporate .ff-service-card:hover .ff-number,.ff-corporate .ff-work-card:hover .ff-label { background:#0A154F; color:#fff; border-color:#0A154F; transition:background .18s ease,color .18s ease; }
.ff-corporate .ff-page-nav a { transition:background .18s ease,color .18s ease; }

/* reveal: the FIELD FIRST sections use the base contract (.ab-reveal) with a shorter, calmer motion */
html.ab-js .ff-corporate .ab-reveal { transform:translateY(12px); transition-duration:.5s; transition-delay:calc(var(--ab-i,0) * 60ms); }
html.ab-js .ff-corporate .ab-reveal.is-in { transform:none; }
html.ab-js .ff-inner > .ff-section.ab-reveal { transform:translateY(8px); }
/* sticky page nav must stay above revealed content */
.ff-page-nav { z-index:30; }

/* carousel: the active picker shows the 3 second autoplay progress; hidden when paused or reduced motion */
.ff-home .ff-slide-pickers button { position:relative; overflow:hidden; }
.ff-home .ff-slide-pickers button[aria-current] { box-shadow:inset 0 -2px #D7E5F5; }
.ff-home .ff-slide-pickers button[aria-current]::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--ff-ink); transform:scaleX(0); transform-origin:left center; }
.ff-home .ff-carousel[data-autoplay="running"] .ff-slide-pickers button[aria-current]::after { animation:ff-autoplay 3s linear both; }
@keyframes ff-autoplay { to { transform:scaleX(1); } }

/* works filter: same document view transition (crossfade of the grid only) */
::view-transition-old(ff-works-grid) { animation:ff-page-out .14s ease both; }
::view-transition-new(ff-works-grid) { animation:ff-page-in .22s cubic-bezier(.2,.7,.2,1) both; }

/* contact form: state feedback */
.ff-corporate .wpcf7 .wpcf7-not-valid { border-color:#b23b3b; box-shadow:0 0 0 3px rgba(178,59,59,.12); }
.ff-corporate .wpcf7 .wpcf7-form-control:not([type="submit"]):user-invalid { border-color:#b23b3b; box-shadow:0 0 0 3px rgba(178,59,59,.12); }
.ff-corporate .wpcf7 .wpcf7-form-control:not([type="submit"]):focus { border-color:#005BD8; box-shadow:0 0 0 3px rgba(0,91,216,.14); }
.ff-corporate .wpcf7 .wpcf7-form-control:not([type="submit"]):focus-visible { outline:3px solid var(--ff-focus); outline-offset:2px; }
.ff-corporate .wpcf7 .wpcf7-form-control:not([type="submit"]):focus:not(:focus-visible) { outline:0; }
.ff-corporate .wpcf7 textarea { min-height:180px; resize:vertical; }
.ff-corporate .wpcf7 input[type="submit"] { transition:background .18s ease,opacity .18s ease; }
.ff-corporate .wpcf7 form.ff-busy input[type="submit"],.ff-corporate .wpcf7 input[type="submit"][aria-busy="true"] { opacity:.65; cursor:progress; }
.ff-corporate .wpcf7 .wpcf7-spinner { margin:0 0 0 12px; }
.ff-corporate .wpcf7 form.sent .wpcf7-response-output { border:1px solid #0A154F; background:#EFF6FF; color:#0A154F; font-weight:700; }
.ff-corporate .wpcf7 form.invalid .wpcf7-response-output,.ff-corporate .wpcf7 form.failed .wpcf7-response-output,.ff-corporate .wpcf7 form.aborted .wpcf7-response-output { border:1px solid #b23b3b; background:#fbeeee; color:#7a2626; }
.ff-corporate .wpcf7 .wpcf7-response-output:focus { outline:3px solid var(--ff-focus); outline-offset:3px; }

/* resume link under the purpose shortcuts (only rendered when this browser visited a sub page) */
.ff-resume { display:flex; align-items:center; gap:12px; margin:10px 0 0; font-size:13px; color:#465572; }
.ff-resume span { font:600 11px/1.5 system-ui,sans-serif; letter-spacing:.12em; }
.ff-resume a { display:inline-flex; align-items:center; min-height:44px; color:#0A154F; font-weight:700; text-decoration:none; }
.ff-resume a:hover { text-decoration:underline; text-underline-offset:5px; }

/* note: the content-visibility "auto" optimisation was tried for the home page and dropped (off-screen sections stayed unpainted in full-page captures) */

@media(max-width:767px){ .ff-resume { margin-top:8px; font-size:12px; } }
@media(prefers-reduced-motion:reduce){ .ff-home .ff-slide-pickers button[aria-current]::after { display:none; } ::view-transition-old(ff-works-grid),::view-transition-new(ff-works-grid) { animation:none!important; } }
@media print { .ff-page-nav,.ff-route-feedback,.ab-cta-bar,.ab-progress { display:none!important; } html.ab-js .ab-reveal { opacity:1!important; transform:none!important; } }

/* FIELD FIRST / design pass 3 / 2026-09-16 - sub page density, page index, heading rhythm */

/* B2: the reference pages were 920px wide inside a 1280px frame. 1040px carries the two column
   rows (dt/dd, split sections) without pushing the body text past a comfortable measure. */
.ab-site.ab-subpage.ff-inner { max-width:1040px; }

/* A5: the page index is sticky under the sticky header, so an anchor jump needs both heights
   (header 72 + index 56 + 8 breathing room) or the heading lands underneath them. */
html:has(.ff-inner) { scroll-padding-top:136px; }
.ff-inner [id], body.page:has(.ff-inner) .ff-inner [id] { scroll-margin-top:136px; }  /* must outrank the [id^="ab-"] rule near the top of this file */

/* A2: headings were breaking mid word in the narrow service column ("...内製化支/援"). */
.ff-corporate h2,.ff-corporate h3,.ff-inner .ff-page-lead { text-wrap:balance; overflow-wrap:normal; line-break:strict; }
.ff-inner .ff-service-detail h2 { font-size:clamp(24px,2.1vw,31px);line-height:1.5; }
.ff-inner .ff-case-detail h2 { font-size:clamp(25px,2.3vw,33px); }

/* B1: tighter vertical rhythm - the sub pages read as a reference, not as a landing page. */
.ff-inner .ff-section { padding:44px 0; }
.ff-inner .ff-section h2 { margin:0 0 14px; }
.ff-inner .ff-section>.ff-eyebrow { margin-bottom:10px; }
.ff-inner .ff-section:first-of-type { padding-top:8px; }
.ff-inner .ff-section:last-of-type { border-bottom:0; }
.ff-inner .ff-contact { margin-top:40px; }
.ff-inner .ff-page-lead { margin-bottom:0; }

/* B1: reference sections put the heading in a left rail so the body starts at a single, steady left edge. */
.ff-inner .ff-section--split { display:grid;grid-template-columns:minmax(200px,268px) minmax(0,1fr);gap:16px 48px;align-items:start; }
.ff-inner .ff-section--split>.ff-eyebrow { grid-column:1;grid-row:1;margin:0 0 6px; }
.ff-inner .ff-section--split>h2 { grid-column:1;grid-row:1;position:sticky;top:140px;margin:0;font-size:clamp(21px,1.6vw,25px);line-height:1.55; }
.ff-inner .ff-section--split:has(>.ff-eyebrow)>h2 { grid-row:2; }  /* row 1 belongs to the eyebrow only when the section has one */
.ff-inner .ff-section--split>:not(h2):not(.ff-eyebrow) { grid-column:2;grid-row:auto; }
.ff-inner .ff-section--split>p:last-child { margin-bottom:0; }

/* A1: the index labels are short now, so it fits without scrolling; the scroller stays as a fallback. */
.ff-inner .ff-page-nav { gap:4px;margin:16px 0 8px; }
.ff-inner .ff-page-nav a { font-size:12.5px;padding:8px 13px; }

/* B3: the three service blocks get a visible order and their deliverables read as chips, not as prose. */
.ff-inner .ff-service-detail>div>.ff-number { display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;margin-bottom:14px;padding:0;border-radius:10px;background:#0A154F;color:#FFFFFF;font:600 17px/1 system-ui;letter-spacing:.02em; }
.ff-inner .ff-service-detail>div>p:not(.ff-eyebrow) { color:#465572;font-size:14px;letter-spacing:.06em;margin:0 0 6px; }
.ff-chips { display:flex;flex-wrap:wrap;gap:8px; }
.ff-chips span { padding:6px 12px;border:1px solid #D7E5F5;border-radius:999px;background:#EFF6FF;color:#34435F;font-size:14px;line-height:1.7; }
.ff-inner .ff-service-detail dl>div:last-child { border-bottom:0; }

/* B4: the Before/After diagram was the smallest type on the page while carrying the point of the case. */
.ff-inner .ff-flow-diagram>div>span { padding:9px 12px;font-size:14px; }
.ff-inner .ff-flow-diagram small { font-size:12px; }
.ff-inner .ff-flow-diagram>div:last-child>span { font-weight:700; }
.ff-case-link { display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:8px;color:#0A154F;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid #D7E5F5; }
.ff-case-link:hover { color:#005BD8;border-bottom-color:#005BD8; }

/* profile: the timeline and the company table carry the page, so they get the wider column. */
.ff-inner .ff-profile-intro { padding:8px 0 4px; }
.ff-inner .ff-timeline li { margin-bottom:20px; }

@media(max-width:1023px){
  .ff-inner .ff-section--split { grid-template-columns:1fr;gap:12px; }
  .ff-inner .ff-section--split>h2 { position:static; }
  .ff-inner .ff-section--split>.ff-eyebrow,
  .ff-inner .ff-section--split>h2,
  .ff-inner .ff-section--split>:not(h2) { grid-column:1;grid-row:auto; }
  .ff-pair { grid-template-columns:1fr;gap:0; }
  .ff-pair>.ff-section { padding:56px 0; }
  .ff-pair .ff-value>div { grid-template-columns:repeat(3,1fr);gap:24px; }
  .ff-pair .ff-value article { display:block; }
  .ff-pair .ff-problems ul { grid-template-columns:1fr 1fr;gap:14px 24px; }
  .ff-pair .ff-numbers dl { grid-template-columns:repeat(3,1fr);gap:28px; }
  .ff-pair .ff-numbers dl>div { display:block; }
  .ff-corporate.ff-home .ff-pair .ff-numbers dd { font-size:48px;margin:6px 0; }
}
@media(max-width:767px){
  .ff-inner .ff-section { padding:32px 0; }
  .ff-inner .ff-page-nav { margin:14px -4px 8px; }
  .ff-inner .ff-flow-diagram>div>span { font-size:13px;padding:8px 10px; }
  .ff-chips span { font-size:13px; }
  html:has(.ff-inner) { scroll-padding-top:132px; }
  .ff-inner [id], body.page:has(.ff-inner) .ff-inner [id] { scroll-margin-top:132px; }
}

/* B5: the three purpose shortcuts now say what is behind them instead of only where they go. */
.ff-shortcuts--purpose a { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:14px 18px;min-height:74px; }
.ff-shortcuts--purpose a>span { grid-row:1/span 2;font:600 12px/1 system-ui;color:#465572; }
.ff-shortcuts--purpose a>strong { grid-column:2;align-self:end; }
.ff-shortcuts--purpose a>small { grid-column:2;align-self:start;color:#465572;font-size:12px;line-height:1.6; }
.ff-shortcuts--purpose a>b { grid-column:3;grid-row:1/span 2; }

/* B5: the home page ran to 6,400px at 1920. The section rhythm carried most of it. */
.ff-corporate.ff-home .ff-section { padding:64px 0; }
.ff-corporate.ff-home .ff-problems { padding:40px; }  /* the home rule above would otherwise strip the panel's own padding */
.ff-corporate.ff-home .ff-section-head { margin-bottom:22px; }
.ff-corporate.ff-home .ff-numbers dl { margin-top:24px; }
.ff-corporate.ff-home .ff-numbers dd { font-size:52px;line-height:1.3; }
.ff-corporate.ff-home .ff-local { padding:40px; }
.ff-corporate.ff-home .ff-about { padding:44px 40px;gap:36px; }
.ff-corporate.ff-home .ff-problems { padding:40px; }
.ff-corporate.ff-home #ab-faq { padding:56px 0; }

/* B5: two short blocks that belong together now share a row instead of stacking two full-height bands. */
.ff-pair { display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:stretch; }
.ff-pair>.ff-section { padding:56px 0; }
.ff-pair>.ff-problems,.ff-pair>.ff-local { align-self:center;padding:36px; }
.ff-pair .ff-value>div { grid-template-columns:1fr;gap:14px;margin-top:22px; }
.ff-pair .ff-value article { display:grid;grid-template-columns:34px 1fr;gap:6px;border-top:1px solid #005BD8;padding-top:12px; }
.ff-corporate .ff-pair .ff-value h3 { margin:0;font-size:20px; }
.ff-pair .ff-problems ul { grid-template-columns:1fr;gap:10px;margin-top:18px; }
.ff-pair .ff-problems li { padding:12px 16px;font-size:15px; }
.ff-pair .ff-numbers dl { grid-template-columns:1fr;gap:18px;margin-top:20px; }
.ff-pair .ff-numbers dl>div { display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding-top:14px; }
.ff-corporate.ff-home .ff-pair .ff-numbers dd { grid-column:2;grid-row:1/span 2;margin:0;font-size:44px; }
.ff-pair .ff-numbers small { grid-column:1; }
.ff-pair .ff-local>div { grid-template-columns:1fr;gap:18px; }

/* C1: guidance under the contact form, inside the CF7 body */
.ff-corporate .wpcf7 .ff-form-hint { margin:4px 0 18px;padding:14px 16px;border-left:3px solid #005BD8;background:#EFF6FF;color:#465572;font-size:13.5px;line-height:1.85; }

/* A4: the theme footer widget repeated the privacy policy link that .ff-footer-links already carries */
body.page:has(.ff-footer-links) footer .widget ul.menu li#menu-item-55 { display:none; }

@media(max-width:767px){
  .ff-corporate.ff-home .ff-section { padding:52px 0; }
  .ff-pair { grid-template-columns:1fr;gap:0; }
  .ff-pair>.ff-section { padding:52px 0; }
  .ff-corporate.ff-home .ff-local,.ff-corporate.ff-home .ff-problems { padding:26px 20px; }
  .ff-shortcuts--purpose a { min-height:68px;padding:12px 16px; }
  .ff-shortcuts--purpose a>small { font-size:11.5px; }
}

/* The section-rhythm rules above are written with `padding:NNpx 0`, which also wipes the side padding of the
   sections that are panels in their own right (METHOD, 課題, エリア, 代表). Restate those here, last. */
.ff-corporate.ff-home .ff-method { padding:48px 36px; }
.ff-inner .ff-method { padding:36px 28px; }
@media(max-width:767px){
  .ff-corporate.ff-home .ff-method { padding:32px 20px; }
  .ff-inner .ff-method { padding:28px 20px; }
}

/* FIELD FIRST / design pass 3.1 / 2026-09-16 */
/* B7 + B4: each case now shows the image on the left and, on the right, the before/after flow with one
   figure describing how the built system is put together. The figure restates a fact already on the page
   (sheet count, functions, output formats, uptime) - it is never a customer outcome, which the lead
   paragraph also says out loud. */
.ff-inner .ff-case-visual { display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:28px;align-items:start;margin:26px 0 4px; }
.ff-inner .ff-case-visual .ab-work-detail-image { margin:0;max-width:none; }
.ff-inner .ff-case-visual .ab-work-detail-image img { border-radius:14px; }
.ff-inner .ff-case-facts { display:grid;align-content:start; }
.ff-inner .ff-case-detail .ff-case-visual .ff-flow-diagram { margin:0; }
.ff-case-metric { display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:baseline;gap:0 8px;margin:16px 0 0;padding:14px 18px;border-left:3px solid #005BD8;background:#EFF6FF; }
.ff-case-metric .ff-case-metric-label { font:600 11px/1 system-ui;letter-spacing:.1em;color:#005BD8;align-self:center; }
.ff-corporate .ff-case-metric b { font:500 34px/1 system-ui;color:#0A154F;font-feature-settings:"tnum"; }
.ff-case-metric>span:not(.ff-case-metric-label) { font-size:13.5px;color:#465572;font-weight:700; }
.ff-case-metric small { grid-column:1/-1;margin-top:6px;font-size:12.5px;line-height:1.75;color:#465572; }

/* B5: the tools list and the FAQ are both short. Side by side they cost one row instead of two bands. */
.ff-pair--tools { align-items:stretch; }
.ff-corporate.ff-home .ff-pair--tools .ff-tool-grid { grid-template-columns:1fr 1fr;gap:12px; }
.ff-corporate.ff-home .ff-pair--tools .ff-tool-card { padding:18px 16px;gap:14px; }
.ff-corporate.ff-home .ff-pair--tools #ab-faq { padding:64px 0; }
.ff-corporate.ff-home .ff-pair--tools .ab-faq summary { padding:17px 52px 17px 20px;font-size:15.5px; }

@media(max-width:1023px){
  .ff-inner .ff-case-visual { grid-template-columns:1fr;gap:20px; }
  .ff-inner .ff-case-visual .ab-work-detail-image { max-width:640px; }
  .ff-pair--tools { grid-template-columns:1fr;gap:0; }
  .ff-corporate.ff-home .ff-pair--tools .ff-tool-card { padding:20px;gap:14px; }
}
@media(max-width:767px){
  .ff-case-metric { padding:12px 14px; }
  .ff-corporate .ff-case-metric b { font-size:30px; }
  .ff-corporate.ff-home .ff-pair--tools .ff-tool-grid { grid-template-columns:1fr; }
}

/* =====================================================================
   FIELD FIRST / design pass 4 / 2026-09-17
   artifact "FIELD FIRST corporate redesign" のビジュアルを取り込む。
   色は上流で一括置換済み（gold 系は emerald 系へ退役）。本ブロックは
   タイポ・コンテナ幅・ヘッダー・ナビ・ヒーローの見た目のみを合わせる。
   本文コピー・数値は一切変更しない。
   ===================================================================== */

/* --- typography: 15px / 1.9 / Hiragino-Noto stack ------------------- */
body.page:has(.ab-site) {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", -apple-system, "Segoe UI", "Yu Gothic", Meiryo, system-ui, sans-serif;
  font-size: 15px; line-height: 1.9; letter-spacing: .005em;
  background: #ffffff;
}
body.page:has(.ab-site) .wrapper { background: #ffffff; }
/* prose links only: a[class] は .ff-primary / .ff-link / .ff-card 等が自前の色を持つため触らない
 * （body.page:has(.ab-site) a は .ff-home .ff-primary より特異度が高く、ボタン文字色を潰す） */
body.page:has(.ab-site) a:not([class]) { color: #005BD8; }
body.page:has(.ab-site) a:not([class]):hover { color: #0A154F; }
body.page:has(.ab-site) ::selection { background: #005BD8; color: #0A154F; }

/* --- reading progress: 2px solid emerald ---------------------------- */
.ab-progress { height: 2px; background: #005BD8; transition: transform .32s cubic-bezier(.2,.7,.2,1); }

/* --- header: white glass + hairline --------------------------------- */
body.page:has(.ab-site) .headline {
  background: rgba(255,255,255,.88);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid #D7E5F5;
}
body.page:has(.ab-site).ab-scrolled .headline {
  background: rgba(255,255,255,.94);
  box-shadow: 0 1px 0 #D7E5F5, 0 8px 24px -18px rgba(10,21,79,.25);
}
body.page:has(.ab-site) .headline a.logo {
  gap: 10px; color: #0A154F; font-size: 15.5px; font-weight: 600; letter-spacing: .01em;
}
body.page:has(.ab-site) .headline a.logo::before {
  width: 22px; height: 22px; border-radius: 7px; flex: 0 0 22px;
  background: #0A154F radial-gradient(circle at 50% 50%, #005BD8 0 3.5px, transparent 3.5px);
  box-shadow: none;
}

/* --- nav: pill states ----------------------------------------------- */
body.page:has(.ab-site) .navbar .nav > li > a {
  height: 36px; padding: 0 13px; border-radius: 8px;
  color: #34435F; font-size: 13.5px; font-weight: 500;
}
body.page:has(.ab-site) .navbar .nav > li > a:hover { color: #0A154F; background: #EFF6FF; }
body.page:has(.ab-site) .navbar .nav > li.current-menu-item > a,
body.page:has(.ab-site) .navbar .nav > li.current_page_item > a {
  color: #005BD8; background: #EFF6FF; font-weight: 600;
}
body.page:has(.ab-site) .navbar .nav > li.current-menu-item > a::after,
body.page:has(.ab-site) .navbar .nav > li.current_page_item > a::after { display: none; }
body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a,
body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a {
  color: #fff; background: #0A154F; border-radius: 9px; padding: 0 20px;
  font-size: 13.5px; font-weight: 600; box-shadow: none;
}
body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a:hover {
  background: #0A154F; color: #fff; transform: none; box-shadow: none;
}

/* --- 1280px frame ---------------------------------------------------- */
body.page:has(.ab-site) .detail.page > .container,
body.page:has(.ab-site) footer > .container,
body.page:has(.ab-site) footer .foot .container.com { max-width: 1280px; }
@media (min-width: 992px) {
  body.page:has(.ab-site) .headline > .container,
  body.page:has(.ab-site) .headline .logo_text > .container,
  body.page:has(.ab-site) .navbar > .container { max-width: 1280px; }
}

/* --- home hero: full-bleed dark canvas ------------------------------ */
body.page:has(.ff-corporate) { overflow-x: hidden; }
.ab-site.ff-corporate.ff-home { padding-top: 0; }
.ff-corporate.ff-home .ff-intro {
  display: block;
  margin: 0 calc(50% - 50vw) 40px;
  padding: 74px max(24px, calc(50vw - 640px)) 82px;
  background-color: #0A154F;
  background-image:
    radial-gradient(900px 420px at 78% 12%, rgba(0,91,216,.16), transparent 70%),
    linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px);
  background-size: auto, 72px 72px, 72px 72px;
}
.ff-corporate.ff-home .ff-intro > div { max-width: 1280px; margin: 0 auto; }
.ff-corporate.ff-home .ff-intro .ff-eyebrow {
  display: inline-flex; align-items: center;
  margin: 0 0 22px; padding: 7px 15px;
  border: 1px solid rgba(0,91,216,.4); border-radius: 999px;
  background: rgba(0,91,216,.09); color: #9E89FC;
  font: 600 12px/1.5 system-ui, sans-serif; letter-spacing: .12em;
}
.ff-corporate.ff-home .ff-intro .ff-eyebrow span { margin-left: 12px; font-weight: 500; letter-spacing: .1em; }
.ff-corporate.ff-home .ff-intro h1 {
  color: #ffffff; font-weight: 600; letter-spacing: -.02em;
  font-size: clamp(32px, 4.4vw, 54px); line-height: 1.34; margin: 0;
}
@media (max-width: 767px) {
  .ff-corporate.ff-home .ff-intro { padding: 52px 20px 58px; margin-bottom: 28px; }
  .ff-corporate.ff-home .ff-intro h1 { font-size: 30px; }
}

/* --- FAQ page (新規 /faq/) ------------------------------------------ */
.ff-faq-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
.ff-faq-filters button {
  min-height: 40px; padding: 8px 15px; border: 1px solid #D7E5F5; border-radius: 999px;
  background: #ffffff; color: #34435F; font-size: 13px; cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.ff-faq-filters button:hover { background: #EFF6FF; }
.ff-faq-filters button[aria-pressed="true"] { background: #0A154F; border-color: #0A154F; color: #ffffff; font-weight: 600; }
.ff-faq-list { display: grid; gap: 10px; }
.ff-faq-list > details { border: 1px solid #D7E5F5; border-radius: 12px; background: #ffffff; overflow: hidden; }
.ff-faq-list > details[open] { border-color: #D7E5F5; box-shadow: 0 10px 28px -22px rgba(10,21,79,.35); }
.ff-faq-list > details > summary {
  display: flex; align-items: flex-start; gap: 12px; position: relative;
  padding: 18px 54px 18px 20px; cursor: pointer; list-style: none;
  color: #0A154F; font-size: 15.5px; font-weight: 600; line-height: 1.7;
}
.ff-faq-list > details > summary::-webkit-details-marker { display: none; }
.ff-faq-list > details > summary::after {
  content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px; display: flex; align-items: center; justify-content: center;
  border-radius: 8px; background: #EFF6FF; color: #005BD8; font: 400 18px/1 system-ui, sans-serif;
}
.ff-faq-list > details[open] > summary::after { content: "\2212"; }
.ff-faq-cat {
  flex: 0 0 auto; margin-top: 3px; padding: 3px 10px; border-radius: 999px;
  background: #EFF6FF; color: #465572; font-size: 11.5px; font-weight: 600; letter-spacing: .04em;
}
.ff-faq-list > details > div { padding: 0 20px 20px 20px; color: #465572; font-size: 14.5px; line-height: 1.95; }
.ff-faq-list > details > div p { margin: 0; max-width: 72ch; }
.ff-faq-list > details[hidden] { display: none; }

/* --- News placeholder (新規 /news/) --------------------------------- */
.ff-news-empty {
  border: 1px dashed #D7E5F5; border-radius: 16px; background: #FFFFFF;
  padding: 56px 28px; text-align: center; color: #465572;
}
.ff-news-empty strong { display: block; color: #0A154F; font-size: 18px; font-weight: 600; margin-bottom: 10px; }
.ff-news-empty p { margin: 0 auto; max-width: 56ch; font-size: 14.5px; line-height: 1.95; }
.ff-news-empty .ab-button { margin-top: 24px; }
.ff-faq-status { margin: 0 0 16px; color: #536481; font-size: 12.5px; letter-spacing: .04em; }

/* ==================================================================
   FIELD FIRST / content alignment pass 5 / 2026-09-22
   4 service menus (one row on desktop, 2x2 on tablet, stacked on phone)
   and the 5-step method grid. Tokens, header, hero and every other
   pass-4 rule are untouched.
   ================================================================== */
.ff-corporate .ff-service-cards { grid-template-columns:repeat(4,minmax(0,1fr));gap:18px; }
.ff-corporate .ff-service-card { padding:26px 22px; }
.ff-corporate .ff-card h3 { font-size:21px; }
.ff-method ol { grid-template-columns:repeat(6,minmax(0,1fr)); }
.ff-corporate .ff-method h3 { font-size:20px; }
.ff-service-detail .ff-fine { margin-top:20px;font-size:14px;color:#465572; }
.ff-service-detail .ff-fine .ff-link { margin-left:8px;font-size:14px;min-height:0; }
@media(max-width:1023px) {
  .ff-corporate .ff-service-cards { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
  .ff-method ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:767px) {
  .ff-corporate .ff-service-cards { grid-template-columns:1fr;gap:18px; }
  .ff-corporate .ff-card h3 { font-size:22px; }
  .ff-method ol { grid-template-columns:1fr 1fr; }
  .ff-corporate .ff-method h3 { font-size:19px; }
}

/* FIELD FIRST / approved blue brand v03 / 2026-09-22 */
body.page:has(.ab-site){background:#fff;color:#0A154F;--ab-head-h:80px}
.ab-site{font-size:16px;line-height:1.8;color:#0A154F;--ab-ink:#0A154F;--ab-green:#0A154F;--ab-green-2:#005BD8;--ab-mint:#EFF6FF;--ab-paper:#fff;--ab-line:#D7E5F5}
.headline .logo_text{display:none!important}
.headline a.logo{display:flex!important;align-items:center;gap:10px;font-size:20px!important;padding:0!important;line-height:1.3!important;white-space:nowrap}
.headline a.logo:before,.headline a.logo:after{content:none!important}
.headline a.logo img.ff-brand-mark{display:block!important;width:64px!important;height:44px!important;object-fit:contain}
.ff-brand-name{font-size:20px;font-weight:700;color:#0A154F}.ff-brand-name small{display:block;font-size:10px;letter-spacing:.23em;margin-top:5px}
.ff-footer-mark{display:block;width:80px;height:54px;object-fit:contain;margin-bottom:12px}
.ab-site a:focus-visible,.ab-site button:focus-visible,.headline a:focus-visible,.headline button:focus-visible{outline:3px solid #005BD8;outline-offset:4px}
.ab-site button,.ab-site summary,.ff-link,.headline .menu-item>a{min-height:44px}
body.page:has(.ab-site) .navbar .nav a,.ab-site button,.ab-site summary,.ab-site [data-tool-open]{min-height:44px!important}
body.page:has(.ab-site) .navbar .nav a{display:flex;align-items:center}
.ff-link{display:inline-flex;align-items:center}
.ff-home .ff-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;background:#0A154F;color:#fff;padding:52px 40px;margin:0 0 12px;border-radius:0}
.ff-home .ff-hero h1{font-size:clamp(29px,3.1vw,45px);line-height:1.55;letter-spacing:-.025em;color:#fff;margin:12px 0 22px;font-weight:800;overflow-wrap:anywhere}
.ff-hero .ff-eyebrow,.ff-hero .ff-eyebrow span{color:#BFCFFF}
.ff-hero-copy>p{color:#E1EAFE;margin:0 0 16px}.ff-hero-copy .ff-hero-lead{font-size:20px;font-weight:700;line-height:1.65;color:#fff}
.ff-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0 10px}
.ff-home .ff-hero-actions .ff-primary{background:#fff;color:#0A154F;border:1px solid #fff;min-height:52px;padding:13px 16px;font-size:16px;line-height:1.5;border-radius:6px;white-space:normal}
.ff-home .ff-hero-actions .ff-secondary{display:inline-flex;align-items:center;min-height:44px;color:#fff;padding:8px 0;border-bottom:1px solid #93ADD7}
.ff-hero-copy>small{font-size:14px;color:#D7E5F5}
.ff-home .ff-hero .ff-carousel{width:100%;min-width:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.ff-home .ff-hero .ff-slides{height:340px;min-height:0;border-radius:8px;overflow:hidden;position:relative;background:#EFF6FF}
.ff-home .ff-hero .ff-slide{display:block!important;width:100%;height:340px;min-height:0!important;padding:0!important;margin:0!important;grid-template-columns:none!important;background:#EFF6FF;color:#0A154F;border:0;border-radius:0}
.ff-home .ff-hero .ff-slide[hidden]{display:none!important}
.ff-home .ff-hero .ff-slide-image{width:100%;height:340px;min-height:0;margin:0;border:0;border-radius:0}
.ff-home .ff-hero .ff-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.ff-home .ff-hero .ff-photo{position:relative}.ff-home .ff-hero .ff-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:6px 12px;background:#0A154Fcc;color:#fff;font-size:11px}
.ff-home .ff-hero .ff-service-visual{display:flex;flex-direction:column;justify-content:center;padding:30px;gap:14px;background:#EFF6FF}
.ff-home .ff-hero .ff-service-visual>div{padding:16px;background:#fff;border:1px solid #D7E5F5;border-radius:6px;display:flex;align-items:center;gap:20px}
.ff-home .ff-hero .ff-service-visual strong{font-size:20px;color:#0A154F}.ff-home .ff-hero .ff-service-visual span{color:#005BD8}
.ff-home .ff-hero .ff-tools-visual{display:grid;grid-template-columns:1fr 1fr;padding:24px;gap:14px;background:#EFF6FF}
.ff-home .ff-hero .ff-tools-visual a{background:#fff;color:#0A154F;border:1px solid #D7E5F5;border-radius:6px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0}
.ff-home .ff-hero .ff-tools-visual strong{font-size:22px}.ff-home .ff-hero .ff-tools-visual span{color:#005BD8}
.ff-home .ff-hero .ff-carousel-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 0 0;min-height:58px;background:transparent;border:0}
.ff-home .ff-hero .ff-carousel-controls[hidden]{display:none}
.ff-home .ff-hero .ff-carousel-controls button{color:#fff;background:transparent;border:1px solid #607299;border-radius:4px;min-width:44px;min-height:44px;font-size:13px;padding:7px 9px}
.ff-home .ff-hero .ff-carousel-controls button[aria-current=true]{background:#fff;color:#0A154F;border-color:#fff}
.ff-hero .ff-slide-pickers,.ff-hero .ff-prev-next{display:flex;gap:5px}.ff-hero .ff-slide-pickers span{display:none}
.ff-home .ff-hero .ff-rotation{width:96px;flex:0 0 96px;justify-content:center}
@media(min-width:992px){body.page:has(.ab-site) .navbar{top:0!important}}
body.page:has(.ab-site) footer .foot a.logo:before{width:32px;height:24px;border-radius:0;background:url('/wp-content/themes/liquid-corporate-child/assets/brand/logo-256.webp') center/contain no-repeat}
.ff-home>.ff-section,.ff-home>.ff-pair{padding-top:48px;padding-bottom:48px;margin-top:0;margin-bottom:0}
.ff-home .ff-section h2{font-size:28px;line-height:1.5;margin-bottom:20px}
.ff-home .ff-method{background:#EFF6FF;color:#0A154F;padding:36px!important;border-radius:8px}
.ff-home .ff-method h2,.ff-home .ff-method h3,.ff-home .ff-method .ff-link,.ff-home .ff-method .ff-eyebrow{color:#0A154F}
.ff-home .ff-method ol{margin:20px 0}.ff-home .ff-method li{border-color:#D7E5F5}.ff-home .ff-method .ff-step-no{color:#005BD8}.ff-home .ff-method small{color:#536481}
.ff-home .ff-service-card{min-height:180px;padding:24px}.ff-home .ff-work-card .ff-flow-diagram{min-height:140px;height:140px}.ff-home .ff-work-copy{padding:20px}
.ff-representative-intro{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:48px;max-width:880px;margin:0 auto 30px}
.ff-portrait{margin:0;background:linear-gradient(140deg,#EFF6FF,#D7E5F5);border-radius:8px;overflow:hidden;aspect-ratio:5/6}
.ff-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.ff-representative .ff-person-name{font-size:24px;font-weight:700;margin:0 0 4px}.ff-representative .ff-proof{gap:32px}
.ff-home .ff-proof .ff-section{padding:22px 0;margin:0;border-top:1px solid #D7E5F5}.ff-home .ff-proof h2{font-size:22px;margin-bottom:15px}
.ff-home .ff-numbers dl{gap:20px}.ff-home .ff-numbers dd{font-size:40px}.ff-home .ff-local .ff-region{margin:12px 0}
.ff-home .ff-contact{background:#fff!important;color:#0A154F;border-top:1px solid #D7E5F5;border-bottom:1px solid #D7E5F5;padding:48px 20px!important;margin:0}
.ff-home .ff-contact h2,.ff-home .ff-contact p{color:#0A154F}.ff-home .ff-contact .ab-button{background:#005BD8;color:#fff}
.ff-profile-with-photo{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start}.ff-profile-with-photo .ff-portrait{width:100%}
.ff-mail-intro{padding:26px;background:#EFF6FF;border:1px solid #D7E5F5;border-radius:8px;margin:18px 0 30px}.ff-mail-intro .ab-button{background:#005BD8;color:#fff}.ff-copy-email{padding:8px 14px;border:1px solid #005BD8;border-radius:4px;background:#fff;color:#005BD8}.ff-mail-intro a{overflow-wrap:anywhere}.ff-mail-preparation{margin-bottom:28px}
@media(max-width:1023px){
 .ff-inner .ff-section--split{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:12px}
 .ff-inner .ff-section--split>*,.ff-inner .ff-section--split>:not(h2):not(.ff-eyebrow){grid-column:1!important;grid-row:auto!important;min-width:0;max-width:100%;position:static!important}
 .ff-home .ff-hero{grid-template-columns:1fr;padding:32px;gap:28px}.ff-home .ff-hero h1{font-size:38px}.ff-home .ff-hero .ff-carousel{max-width:640px}
 .ff-profile-with-photo{grid-template-columns:1fr 230px}
}
@media(max-width:767px){
 .headline a.logo{gap:7px}.headline a.logo img.ff-brand-mark{width:45px!important;height:34px!important}.ff-brand-name{font-size:16px}.ff-brand-name small{font-size:9px}
 .ff-home .ff-hero{padding:25px 20px 22px;margin:0 -4px 0;gap:24px}.ff-home .ff-hero h1{font-size:28px;line-height:1.6;letter-spacing:-.03em;margin:10px 0 17px}.ff-hero-copy .ff-hero-lead{font-size:18px}.ff-hero-copy>p{font-size:16px}.ff-hero-actions{margin-top:20px;gap:8px;align-items:flex-start;flex-direction:column}.ff-home .ff-hero-actions .ff-primary{font-size:15px;padding:12px;display:flex;width:100%;justify-content:space-between}.ff-desktop-break{display:none}
 .ff-home .ff-hero .ff-slides,.ff-home .ff-hero .ff-slide,.ff-home .ff-hero .ff-slide-image{height:240px}.ff-home .ff-hero .ff-service-visual{padding:16px;gap:8px}.ff-home .ff-hero .ff-service-visual>div{padding:10px}.ff-home .ff-hero .ff-service-visual strong{font-size:17px}.ff-home .ff-hero .ff-tools-visual{padding:14px;gap:10px}.ff-home .ff-hero .ff-tools-visual a{padding:15px}.ff-home .ff-hero .ff-tools-visual strong{font-size:18px}
 .ff-home .ff-hero .ff-rotation{width:44px;flex-basis:44px}
 .ff-home>.ff-section,.ff-home>.ff-pair{padding-top:30px;padding-bottom:30px}.ff-home .ff-section h2{font-size:24px;margin-bottom:16px}.ff-home .ff-pair{gap:24px}.ff-home .ff-pair>.ff-section{padding:0;margin:0}.ff-home .ff-value article{padding:12px 0}.ff-home .ff-service-card{padding:19px;min-height:130px}.ff-home .ff-service-cards{gap:12px}.ff-home .ff-method{padding:25px 20px!important}.ff-home .ff-method ol{gap:0}.ff-home .ff-method li{padding:12px 0!important;min-height:0}.ff-home .ff-work-card .ff-flow-diagram{height:110px;min-height:110px}.ff-home .ff-work-copy{padding:16px}
 .ff-representative-intro{grid-template-columns:100px 1fr;gap:20px;align-items:start;margin:0 0 24px}.ff-representative-intro .ff-portrait{margin-top:8px}.ff-home .ff-representative-intro h2{font-size:23px}.ff-representative-intro p{margin-bottom:10px}.ff-home .ff-proof .ff-section{padding-top:20px}.ff-home .ff-numbers dd{font-size:34px}.ff-home .ff-numbers dl{gap:12px}
 .ff-profile-with-photo{display:flex;flex-direction:column-reverse;gap:24px}.ff-profile-with-photo .ff-portrait{width:180px}.ff-mail-intro{padding:20px}.ff-home .ff-contact{padding:32px 12px!important}
}
@media(prefers-reduced-motion:reduce){.ab-site *{scroll-behavior:auto!important}}
@media(max-width:359px){
 .ab-site.ff-home.ff-corporate .ff-work-card .ff-flow-diagram{height:58px!important;min-height:58px!important;padding-top:8px;padding-bottom:8px}
}
/* Override the former pass-4 structural selectors at their actual specificity. */
.ab-site.ff-home.ff-corporate .ff-section h2{margin:0 0 18px;font-size:28px;line-height:1.5}
.ab-site.ff-home.ff-corporate .ff-section h3{margin:8px 0;font-size:20px;line-height:1.6}
.ab-site.ff-home.ff-corporate .ff-card-purpose{margin:10px 0 4px}
.ab-site.ff-home.ff-corporate .ff-pair--tools>.ff-section{padding:0!important}
.ab-site.ff-home.ff-corporate{padding-top:0;background:#fff}
.ab-site.ff-home.ff-corporate .ff-hero-actions .ab-button.ff-primary{background:#fff!important;color:#0A154F!important}
.ab-site.ff-home.ff-corporate .ff-hero-actions .ff-secondary{background:transparent;border:0;border-bottom:1px solid #93ADD7;border-radius:0;padding:8px 0;color:#fff}
.ab-site.ff-home.ff-corporate>.ff-section{padding:24px 0}
.ab-site.ff-home.ff-corporate>.ff-pair{padding:32px 0}
.ab-site.ff-home.ff-corporate .ff-pair>.ff-section{padding:0}
.ab-site.ff-home.ff-corporate .ff-service-card{min-height:160px;padding:22px}
.ab-site.ff-home.ff-corporate .ff-work-copy{padding:18px}
.ab-site.ff-home.ff-corporate .ff-contact{margin-bottom:0}
.ab-site.ff-home.ff-corporate .ff-contact a.ab-button{background:#005BD8!important;color:#fff!important;min-height:52px;font-size:16px;padding:14px 20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
.ab-site.ff-home.ff-corporate .ff-proof .ff-section{padding:20px 0}
@media(max-width:767px){
 .ab-site.ff-home.ff-corporate .ff-section h2{font-size:24px;margin-bottom:16px}
 .ab-site.ff-home.ff-corporate .ff-section h3{font-size:18px;margin:6px 0}
 .ab-site.ff-home.ff-corporate .ff-section-head{gap:8px;margin-bottom:16px}
 .ab-site.ff-home.ff-corporate .ff-service-card{display:grid;grid-template-columns:32px 1fr;gap:0 12px}
 .ab-site.ff-home.ff-corporate .ff-service-card .ff-number{grid-row:1/3;align-self:start;margin:0;padding:8px}
 .ab-site.ff-home.ff-corporate .ff-service-card .ff-card-purpose{margin:0;font-size:13px}
 .ab-site.ff-home.ff-corporate .ff-service-card h3{font-size:18px;margin:4px 0}
 .ab-site.ff-home.ff-corporate .ff-region{min-height:0;padding:14px;margin:12px 0}
 .ab-site.ff-home.ff-corporate .ff-region>div{gap:8px}
 .ab-site.ff-home.ff-corporate .ff-tool-card{padding:14px;min-height:88px;align-items:center}
 .ab-site.ff-home.ff-corporate .ff-representative-intro h2{font-size:23px}
 .ab-site.ff-home.ff-corporate>.ff-section{padding:20px 0}
 .ab-site.ff-home.ff-corporate>.ff-pair{padding:20px 0}
 .ab-site.ff-home.ff-corporate .ff-service-card{min-height:0;padding:18px}
 .ab-site.ff-home.ff-corporate .ff-service-cards{gap:12px}
 .ab-site.ff-home.ff-corporate .ff-service-card .ff-number{margin-bottom:8px}
 .ab-site.ff-home.ff-corporate .ff-method ol{display:flex;flex-direction:column;gap:0;margin:18px 0}
 .ab-site.ff-home.ff-corporate .ff-method li{display:grid;grid-template-columns:34px 1fr;gap:0 12px;align-items:center;padding:12px 0!important;border-bottom:1px solid #D7E5F5}
 .ab-site.ff-home.ff-corporate .ff-method .ff-step-no{grid-row:1/3;margin:0;font-size:23px}
 .ab-site.ff-home.ff-corporate .ff-method small{margin:0;font-size:10px}
 .ab-site.ff-home.ff-corporate .ff-method h3{margin:0;font-size:16px;line-height:1.6}
 .ab-site.ff-home.ff-corporate .ff-work-copy{padding:14px}
 .ab-site.ff-home.ff-corporate .ff-work-card .ff-flow-diagram{height:90px;min-height:90px}
 .ab-site.ff-home.ff-corporate .ff-works-grid{gap:16px}
 .ab-site.ff-home.ff-corporate .ff-pair .ff-numbers dd{font-size:34px}
 .ab-site.ff-home.ff-corporate .ff-numbers dl{margin-top:12px;gap:8px}
 .ab-site.ff-home.ff-corporate .ff-numbers dl>div{padding-top:8px}
 .ab-site.ff-home.ff-corporate .ff-value>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .ab-site.ff-home.ff-corporate .ff-value article{display:block;padding:12px 0}.ab-site.ff-home.ff-corporate .ff-value h3{font-size:16px;margin-top:8px}
}

/* FIELD FIRST / P0 refinement 2026-09-25: hero H1 line units (no particle-only lines at 320-430px) */
.ff-home .ff-hero h1 .ff-hero-line{display:inline-block;word-break:keep-all;overflow-wrap:normal}
@media (max-width:767px){
 .ab-site.ff-home.ff-corporate .ff-hero h1{font-size:clamp(24px,7.4vw,28px)}
}

/* FIELD FIRST / v05 TOP candidate 2026-09-25 (local, not deployed). Appends to Additional CSS after the P0 block. Tokens: #0A154F navy, #005BD8 blue, #EFF6FF, #D7E5F5, #465572 muted. */
/* 2. experience band */
.ab-site.ff-home.ff-corporate .ff-trust-rail{display:grid;grid-template-columns:minmax(220px,1.1fr) repeat(3,minmax(0,1fr));margin:28px 0 12px;border:1px solid #D7E5F5;border-radius:14px;background:#fff;overflow:hidden}
.ff-trust-rail__intro{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:16px 24px;background:#EFF6FF}
.ff-trust-rail__intro .ff-eyebrow{margin:0}
.ff-trust-rail__intro strong{font-size:18px;line-height:1.5;color:#0A154F}
.ff-trust-rail__intro .ff-link{font-size:13px;margin-top:4px}
.ff-trust-rail dl{display:contents;margin:0}
.ff-trust-rail dl>div{display:flex;flex-direction:column;justify-content:center;padding:14px 20px;border-left:1px solid #D7E5F5;min-width:0}
.ff-trust-rail dt{order:2;font-size:12px;line-height:1.5;color:#465572;font-weight:500}
.ff-trust-rail dd{margin:0 0 4px;color:#0A154F;font:800 clamp(28px,2.6vw,38px)/1.1 system-ui;letter-spacing:-.03em}
.ff-trust-rail dd span{font-size:13px;font-weight:600;margin-left:4px;letter-spacing:0}
.ff-trust-rail .ff-trust-note{grid-column:1/-1;display:block;padding:10px 24px;border-top:1px solid #D7E5F5;font-size:12px;line-height:1.6;color:#465572}
/* 3. services 2x2: problem -> name -> examples -> detail */
.ab-site.ff-home.ff-corporate .ff-service-cards--v05{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-service-card{display:flex;flex-direction:column;gap:6px;padding:20px 22px 18px}
.ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-card-problem{order:-1;margin:0 0 8px;padding:8px 12px;border-radius:8px;background:#EFF6FF;color:#0A154F;font-size:14px;font-weight:600;line-height:1.6}
.ff-service-cards--v05 .ff-card-problem::before{content:'困りごと';display:block;font:600 11px/1.5 system-ui;letter-spacing:.08em;color:#005BD8}
.ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-number{margin:0 0 2px;padding:0;grid-row:auto}
.ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-card-purpose{margin:0;font-size:12px}
.ab-site.ff-home.ff-corporate .ff-service-cards--v05 h3{margin:0;font-size:19px;line-height:1.4}
.ff-services-v05 .ff-section-head{margin-bottom:22px}
@media (min-width:1024px){.ab-site.ff-home.ff-corporate .ff-service-cards--v05{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-service-card{padding:18px 16px 16px}.ab-site.ff-home.ff-corporate .ff-service-cards--v05 h3{font-size:16px}.ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-card-problem{font-size:13px}}
@media (min-width:1200px){.ab-site.ff-home.ff-corporate .ff-service-cards--v05 h3{font-size:17px}}
.ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-card-examples{margin:0;font-size:13px;line-height:1.7;color:#465572}
.ff-service-cards--v05 .ff-card-examples::before{content:'例：';color:#005BD8}
.ff-service-cards--v05 .ff-card-more{margin-top:auto;padding-top:8px;color:#005BD8;font-size:13px;font-weight:600}
/* 4. cases: status label, image (placeholder until real screens), use, link */
.ab-site.ff-home.ff-corporate .ff-works-grid--v05{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ff-works-grid--v05 .ff-work-card{display:flex;flex-direction:column}
.ff-works-grid--v05 .ff-work-copy{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;flex:1}
.ff-works-grid--v05 .ff-work-copy h3{margin:0;font-size:15px;line-height:1.45}
.ff-works-grid--v05 .ff-work-copy p{margin:0;font-size:12px;line-height:1.6;color:#465572}
.ff-works-grid--v05 .ff-work-copy p strong{display:block;font-size:13px;color:#0A154F}
.ff-works-grid--v05 .ff-card-more{margin-top:auto;padding-top:6px;color:#005BD8;font-size:13px;font-weight:600}
/* 5. representative: stance (former 3 values) + region */
.ab-site.ff-home.ff-corporate .ff-proof--v05{margin-top:28px}
.ff-proof--v05 .ff-stance h2,.ff-proof--v05 .ff-local h2{font-size:22px;line-height:1.4}
.ff-proof--v05 .ff-stance ol{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.ff-proof--v05 .ff-stance li{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;border-top:1px solid #005BD8;padding-top:10px}
.ff-proof--v05 .ff-stance li span{font:500 14px system-ui;color:#465572}
.ff-proof--v05 .ff-stance h3{margin:0;font-size:16px;line-height:1.4}
.ff-proof--v05 .ff-stance p{grid-column:2;margin:0;font-size:14px;line-height:1.7;color:#465572}
/* 8. final CTA: what the first 30 minutes covers */
.ff-contact--v05 .ff-contact-topics{list-style:none;counter-reset:ff-topic;display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:0;margin:10px auto 18px}
.ff-home .ff-contact--v05 .ff-contact-topics li{counter-increment:ff-topic;padding:8px 14px;border:1px solid #D7E5F5;border-radius:999px;background:#EFF6FF;color:#0A154F;font-size:14px;line-height:1.5}
.ff-contact--v05 .ff-contact-topics li::before{content:counter(ff-topic,decimal-leading-zero);margin-right:8px;font:600 11px system-ui;letter-spacing:.08em;color:#005BD8}
.ff-home.ff-corporate .ff-contact--v05 p.ff-fine{margin:10px 0 0;font-size:13px;color:#465572}
@media (max-width:1023px){
 .ab-site.ff-home.ff-corporate .ff-trust-rail{grid-template-columns:repeat(3,1fr)}
 .ff-trust-rail__intro{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 20px}
 .ff-trust-rail dl>div:first-child{border-left:0}
 .ab-site.ff-home.ff-corporate .ff-works-grid--v05{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
 .ab-site.ff-home.ff-corporate .ff-trust-rail{margin:16px 0 0;border-radius:12px}
 .ff-trust-rail__intro{display:flex;flex-direction:row;align-items:center;gap:8px 12px;padding:10px 14px}
 .ff-trust-rail__intro .ff-eyebrow{display:none}
 .ff-trust-rail__intro strong{font-size:15px}
 .ff-trust-rail__intro .ff-link{margin:0 0 0 auto;font-size:12px}
 .ff-trust-rail dl>div{padding:12px 10px}
 .ff-trust-rail dd{font-size:clamp(22px,7vw,28px)}
 .ff-trust-rail dt,.ff-trust-rail dd span{font-size:10px}
 .ff-trust-rail .ff-trust-note{padding:8px 14px;font-size:11px}
 .ab-site.ff-home.ff-corporate .ff-service-cards--v05{grid-template-columns:1fr;gap:12px}
 .ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-service-card{padding:14px 14px 12px;gap:4px}
 .ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-card-problem{margin:0 0 6px;padding:6px 10px;font-size:13px}
 .ab-site.ff-home.ff-corporate .ff-service-cards--v05 h3{font-size:17px}
 .ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-card-examples{font-size:12px;line-height:1.6}
 .ff-service-cards--v05 .ff-card-more{padding-top:4px;font-size:12px}
 .ff-services-v05 .ff-section-head{margin-bottom:16px}
 .ab-site.ff-home.ff-corporate .ff-proof--v05{margin-top:20px;gap:18px}
 .ff-proof--v05 .ff-stance h2,.ff-proof--v05 .ff-local h2{font-size:20px}
 .ff-proof--v05 .ff-stance p{font-size:13px;line-height:1.6}
 .ab-site.ff-home.ff-corporate .ff-works-grid--v05{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ff-works-grid--v05 .ff-work-card figcaption{font-size:8px;bottom:4px;right:4px}
 .ff-works-grid--v05 .ff-work-copy{padding:10px 10px 10px;gap:4px}
 .ff-works-grid--v05 .ff-work-copy h3{font-size:13px;line-height:1.45}
 .ff-works-grid--v05 .ff-work-copy p{font-size:11px;line-height:1.5}
 .ff-works-grid--v05 .ff-work-copy p strong{font-size:12px}
 .ff-works-grid--v05 .ff-work-desc,.ff-works-grid--v05 .ff-card-more{display:none}
 .ff-works-grid--v05 .ff-label{font-size:10px;padding:3px 7px}
 #ab-works .ff-section-head{margin-bottom:14px}
 .ff-service-cards--v05 .ff-card-more{display:none}
 .ff-proof--v05 .ff-stance li{grid-template-columns:24px auto 1fr;align-items:baseline;gap:0 8px;padding-top:8px}
 .ff-proof--v05 .ff-stance h3{font-size:14px}
 .ff-proof--v05 .ff-stance p{grid-column:3}
 .ff-proof--v05 .ff-stance ol{margin-top:12px;gap:8px}
 .ff-contact--v05 .ff-contact-topics{gap:6px;margin:10px auto 18px}
 .ff-contact--v05 .ff-contact-topics li{padding:6px 10px;font-size:12px}
 .ff-contact--v05 .ff-contact-topics li::before{margin-right:5px}
 .ff-corporate .ff-contact--v05 p.ff-fine{margin-top:10px;font-size:12px}
}
@media (max-width:360px){
 .ab-site.ff-home.ff-corporate .ff-section{padding:36px 0}
 .ab-site.ff-home.ff-corporate .ff-pair>.ff-section{padding:0}
 .ab-site.ff-home.ff-corporate .ff-section-head{margin-bottom:14px}
 .ff-trust-rail .ff-trust-note{display:none}
 .ff-service-cards--v05 .ff-card-problem::before{display:none}
 .ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-card-problem{font-size:12px;padding:5px 8px}
 .ff-contact--v05 .ff-contact-topics li{font-size:11px;padding:5px 8px}
 .ff-contact--v05 .ff-contact-topics{gap:5px}
 .ab-site.ff-home.ff-corporate .ff-proof--v05{margin-top:12px}
 .ff-home .ff-representative-intro{margin-bottom:16px}
 .ff-proof--v05 .ff-stance ol{gap:6px}
 .ff-proof--v05 .ff-stance li{grid-template-columns:22px auto 1fr;gap:0 6px;padding-top:6px}
 .ff-proof--v05 .ff-stance h3{font-size:13px}
 .ff-proof--v05 .ff-stance p{font-size:12px;line-height:1.5}
 .ff-contact--v05 .ff-contact-topics{display:block;text-align:center;margin:8px auto 14px;font-size:12px;color:#0A154F}
 .ff-home .ff-contact--v05 .ff-contact-topics li{display:inline;padding:0;border:0;background:none;font-size:12px}
 .ff-contact--v05 .ff-contact-topics li::before{margin-right:3px}
 .ff-contact--v05 .ff-contact-topics li+li::before{content:'／ ' counter(ff-topic,decimal-leading-zero);color:#005BD8}
 .ab-site.ff-home.ff-corporate .ff-contact--v05{padding:28px 0}
 .ab-site.ff-home.ff-corporate .ff-service-cards--v05{gap:10px}
 .ab-site.ff-home.ff-corporate .ff-service-cards--v05 .ff-service-card{padding:12px 12px 10px}
 .ff-works-grid--v05 .ff-work-copy{padding:8px}
 #ab-works .ff-section-head p:not(.ff-eyebrow){display:none}
 .ff-trust-rail dl>div{padding:10px 8px}
}

/* =====================================================================
   FIELD FIRST / v06 TOP / 2026-09-25
   TOP（post 9）の v06 構成専用。ルート .ab-site.ff-corporate.ff6-home 配下のみに効く。
   動的表現はすべて transform / opacity。prefers-reduced-motion で停止。
   トークン: 紺 #0A154F / 青 #005BD8 / 空 #8FB8FF / 淡 #EFF6FF / 線 #D7E5F5 / 補足 #465572
   ===================================================================== */
.ff6-home{--n950:#060D33;--navy:#0A154F;--blue:#005BD8;--sky:#8FB8FF;--ice:#EFF6FF;--mist:#F6F9FE;--line:#D7E5F5;--ink:#0A154F;--muted:#465572;--on-dark:#E4ECFB;--on-dark-2:#AFC3E8;--ok:#5EE1A6;
  --fjp:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",system-ui,sans-serif;--fmono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--gut:clamp(16px,4vw,40px);--sh1:0 1px 2px rgba(10,21,79,.05),0 12px 28px -22px rgba(10,21,79,.35);--sh2:0 2px 4px rgba(10,21,79,.06),0 28px 48px -26px rgba(10,21,79,.45);
  color:var(--ink);font-size:16px;line-height:1.85;padding:0}
.ff-corporate h1,.ff-corporate h2,.ff-corporate h3,body.page:has(.ff-corporate) h1.ttl_h1{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",system-ui,sans-serif}
.ff-corporate .ff-eyebrow,.ff-corporate .ff-number,.ff-corporate .ff-step-no,.ff-corporate .ff-numbers dd,.ff-corporate .ff-trust-rail dd{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ff6-home *,.ff6-home *::before,.ff6-home *::after{box-sizing:border-box}
.ff6-home [hidden]{display:none!important}
.ff6-home h1,.ff6-home h2,.ff6-home h3{margin:0;padding:0;border:0;background:none;box-shadow:none;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--ink);text-wrap:balance}
.ab-site.ff6-home h1::before,.ab-site.ff6-home h1::after,.ab-site.ff6-home h2::before,.ab-site.ff6-home h2::after,.ab-site.ff6-home h3::before,.ab-site.ff6-home h3::after{display:none;content:none}
.ff6-home p,.ff6-home dd{margin:0;font-size:16px;line-height:1.85}
.ff6-home ul,.ff6-home ol{margin:0;padding:0;list-style:none}
.ff6-home a{color:inherit;text-decoration:none}
.ff6-home a:hover{color:inherit}
.ff6-home button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;min-height:0!important}
.ff6-home :is(a,button,summary):focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:6px}
.ff6-home img{max-width:100%;height:auto;display:block}
.ff6-skip:not(:focus),.ff6-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ff6-skip:focus{display:block;padding:14px;background:#fff;color:var(--ink)}
.ff6-bleed{margin-inline:calc(50% - 50vw)}
.ff6-wrap{max-width:1280px;margin-inline:auto;padding-inline:max(15px,var(--gut))}
.ff6-home .ff6-eyebrow{font-family:var(--fmono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:0 0 14px;line-height:1.5}
.ff6-home .ff6-eyebrow.ff6-on-dark{color:var(--sky)}
.ff6-dim{opacity:.7}
.ff6-mono{font-family:var(--fmono)}
.ff6-sec{padding-block:clamp(48px,6vw,80px)}
.ff6-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(22px,3vw,32px)}
.ff6-sec-head--tight{margin-bottom:0}
.ff6-home .ff6-sec-head h2,.ff6-home .ff6-method h2,.ff6-home .ff6-cta h2{font-size:clamp(26px,3.1vw,40px);line-height:1.35}
.ff6-home .ff6-lede{color:var(--muted);margin-top:12px;max-width:52ch;font-size:16px}
.ff6-home .ff6-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;font-size:14px;color:var(--navy);position:relative}
.ff6-home .ff6-link::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .35s var(--ease)}
.ff6-home .ff6-link:hover::after{transform:scaleX(1)}
.ff6-home .ff6-link:hover{color:var(--navy)}
.ff6-home .ff6-link-light,.ff6-home .ff6-link-light:hover{color:#fff}
.ff6-ar{transition:transform .3s var(--ease)}
.ff6-link:hover .ff6-ar{transform:translateX(4px)}
.ff6-home .ff6-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 24px;border-radius:999px;font-weight:700;font-size:15px;line-height:1.4;transition:transform .35s var(--ease-out),box-shadow .3s,background .2s;will-change:transform}
.ff6-btn .ff6-ar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font-family:var(--fmono);font-size:14px}
.ff6-btn:hover .ff6-ar{transform:translateX(3px)}
.ff6-home .ff6-btn-white,.ff6-home .ff6-btn-white:hover{background:#fff;color:var(--navy);box-shadow:0 14px 30px -18px rgba(0,0,0,.6)}
.ff6-btn-white .ff6-ar{background:var(--navy);color:#fff}
.ff6-home .ff6-btn-blue,.ff6-home .ff6-btn-blue:hover{background:var(--blue);color:#fff;box-shadow:0 14px 30px -18px rgba(0,91,216,.8)}
.ff6-btn-blue .ff6-ar{background:rgba(255,255,255,.18);color:#fff}
.ff6-home .ff6-btn-ghost{min-height:48px;padding:0 18px;border:1px solid rgba(255,255,255,.35);color:#fff}
.ff6-home .ff6-btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff}

/* reveal（画面内の要素は JS が即時表示、1.6 秒で全表示） */
html.ff6-js .ff6-rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0)*80ms)}
html.ff6-js .ff6-rv.ff6-in{opacity:1;transform:none}

/* 1. hero */
.ff6-hero{position:relative;isolation:isolate;background:var(--navy);color:#fff;overflow:hidden}
.ff6-hero::before{content:"";position:absolute;inset:-30%;z-index:-2;background:radial-gradient(38% 46% at 72% 24%,rgba(0,91,216,.75),transparent 62%),radial-gradient(30% 40% at 18% 78%,rgba(143,184,255,.30),transparent 62%),radial-gradient(26% 36% at 88% 88%,rgba(47,123,255,.42),transparent 60%);filter:blur(46px);animation:ff6-aurora 24s ease-in-out infinite alternate;will-change:transform}
.ff6-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ff6-hero-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(70% 80% at 50% 40%,#000 30%,transparent 100%);mask-image:radial-gradient(70% 80% at 50% 40%,#000 30%,transparent 100%)}
@keyframes ff6-aurora{0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}50%{transform:translate3d(-4%,3%,0) rotate(5deg) scale(1.06)}100%{transform:translate3d(3%,-4%,0) rotate(-4deg) scale(1.02)}}
.ff6-hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,64px);align-items:center;padding-block:clamp(48px,6vw,88px) clamp(48px,6vw,80px)}
.ff6-home .ff6-hero-eyebrow{color:var(--sky);display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.ff6-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);font-family:var(--fjp);font-weight:500;font-size:12px;letter-spacing:.02em;text-transform:none;color:var(--on-dark)}
.ff6-pill i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(94,225,166,.6);animation:ff6-pulse 2.4s ease-out infinite}
@keyframes ff6-pulse{70%{box-shadow:0 0 0 9px rgba(94,225,166,0)}100%{box-shadow:0 0 0 0 rgba(94,225,166,0)}}
.ff6-home .ff6-hero h1{font-family:var(--fjp);font-size:clamp(32px,3.5vw,50px);font-weight:900;line-height:1.28;letter-spacing:-.03em;margin:6px 0 22px;color:#fff;white-space:nowrap;overflow-wrap:normal}
.ff6-hero h1 .ff6-ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ff6-hero h1 .ff6-ln>span{display:inline-block;transform:translateY(112%);animation:ff6-rise 1s var(--ease-out) forwards;animation-delay:calc(var(--i)*.12s + .1s)}
.ff6-hero h1 em{font-style:normal;color:var(--sky)}
@keyframes ff6-rise{to{transform:none}}
.ff6-home .ff6-hero-lead{font-size:clamp(17px,1.5vw,21px);font-weight:700;line-height:1.6;color:#fff;margin-bottom:14px}
.ff6-home .ff6-hero-text{color:var(--on-dark);max-width:44ch}
.ff6-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin:28px 0 14px}
.ff6-home .ff6-hero-fine{font-size:13.5px;color:var(--on-dark-2)}
.ff6-fade{animation:ff6-fadeUp .9s var(--ease-out) both;animation-delay:var(--dl,.4s)}
@keyframes ff6-fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* 制作デモの動く図（サンプル値） */
.ff6-home .ff6-bench{position:relative;margin:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);animation:ff6-fadeUp 1s var(--ease-out) both;animation-delay:.5s}
.ff6-bench-bar{display:flex;align-items:center;gap:10px;padding:2px 6px 12px;font-family:var(--fmono);font-size:11px;letter-spacing:.06em;color:var(--on-dark-2)}
.ff6-dots{display:inline-flex;gap:5px}.ff6-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.28)}
.ff6-bench-body{display:grid;grid-template-columns:1fr;gap:12px;background:#fff;color:var(--ink);border-radius:12px;padding:14px}
.ff6-stage{position:relative;display:grid;gap:8px;align-content:start;min-width:0}
.ff6-stage-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,.9fr);gap:10px;align-items:center}
.ff6-badge{justify-self:start;font-family:var(--fmono);font-size:10.5px;letter-spacing:.1em;color:var(--blue);padding:3px 8px;border-radius:999px;background:var(--ice);white-space:nowrap}
.ff6-sheet{border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:11.5px;font-feature-settings:"tnum";white-space:nowrap}
.ff6-sheet .ff6-r{display:grid;grid-template-columns:1.5fr .6fr 1fr 1fr;gap:6px;padding:6px 10px;border-top:1px solid var(--line)}
.ff6-sheet .ff6-r:first-child{border-top:0;background:var(--ice);color:var(--muted);font-family:var(--fmono);font-size:9.5px;letter-spacing:.06em}
.ff6-sheet .ff6-r span:not(:first-child){text-align:right}
.ff6-sheet .ff6-total{background:var(--mist);font-weight:700}
.ff6-sheet .ff6-calc{color:var(--blue);font-weight:700;opacity:0;transform:translateY(4px);transition:opacity .45s var(--ease),transform .45s var(--ease);transition-delay:calc(var(--k)*.22s)}
.ff6-bench[data-step="1"] .ff6-calc,.ff6-bench[data-step="2"] .ff6-calc,.ff6-bench[data-step="3"] .ff6-calc{opacity:1;transform:none}
html:not(.ff6-js) .ff6-sheet .ff6-calc{opacity:1;transform:none} /* no-JS: show the sample values instead of an empty column (2026-09-25 staging check) */
.ff6-arrow{font-family:var(--fmono);color:var(--line);font-size:18px;transition:color .3s;text-align:center}
.ff6-bench[data-step="2"] .ff6-arrow,.ff6-bench[data-step="3"] .ff6-arrow{color:var(--blue)}
.ff6-cog{display:grid;place-items:center;height:56px;border-radius:12px;background:var(--navy);color:#fff;font-weight:700;font-size:13px;position:relative;overflow:hidden}
.ff6-cog::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-100%)}
.ff6-bench[data-step="2"] .ff6-cog::after{animation:ff6-shine 1.1s var(--ease) 2}
@keyframes ff6-shine{to{transform:translateX(100%)}}
.ff6-bar{height:6px;border-radius:999px;background:var(--ice);overflow:hidden}
.ff6-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--sky));transition:width 1.6s var(--ease)}
.ff6-bench[data-step="2"] .ff6-bar i,.ff6-bench[data-step="3"] .ff6-bar i{width:100%}
.ff6-doc{border:1px solid var(--line);border-radius:10px;padding:12px 12px 10px;background:#fff;box-shadow:var(--sh1);opacity:.35;transform:translateY(8px) scale(.97);transition:opacity .5s var(--ease),transform .6s var(--ease-out)}
.ff6-bench[data-step="3"] .ff6-doc{opacity:1;transform:none}
.ff6-doc b{display:block;font-size:13px}
.ff6-doc small{display:block;font-family:var(--fmono);font-size:10px;color:var(--muted);letter-spacing:.06em;margin:2px 0 8px}
.ff6-doc em{display:block;font-style:normal;font-family:var(--fmono);font-weight:600;font-size:16px;color:var(--navy);border-top:1px solid var(--line);padding-top:8px}
.ff6-lines{display:grid;gap:4px;margin-bottom:8px}.ff6-lines i{display:block;height:4px;border-radius:2px;background:var(--line)}.ff6-lines i:nth-child(2){width:70%}
.ff6-bench-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 6px 2px;font-size:11.5px;color:var(--on-dark-2);margin:0}
.ff6-bench-foot span{padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
.ff6-bench-foot .ff6-note{margin-left:auto;border:0;padding:0;font-size:11.5px}
.ff6-bench-step{position:absolute;right:16px;top:14px;display:flex;gap:5px}
.ff6-bench-step i{width:16px;height:3px;border-radius:2px;background:rgba(255,255,255,.25);transition:background .3s}
.ff6-bench[data-step="1"] .ff6-bench-step i:nth-child(1),.ff6-bench[data-step="2"] .ff6-bench-step i:nth-child(-n+2),.ff6-bench[data-step="3"] .ff6-bench-step i{background:var(--sky)}

/* 2. ticker */
.ff6-ticker{background:var(--n950);color:var(--on-dark);border-top:1px solid rgba(255,255,255,.08);overflow:hidden;padding-block:14px;position:relative}
.ff6-ticker::before,.ff6-ticker::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--n950),transparent)}
.ff6-ticker::before{left:0}.ff6-ticker::after{right:0;transform:scaleX(-1)}
.ff6-track{display:flex;width:max-content;animation:ff6-marquee 46s linear infinite}
@media (hover:hover){.ff6-ticker:hover .ff6-track{animation-play-state:paused}}
.ff6-ticker.is-paused .ff6-track{animation-play-state:paused}
/* F-25 (2026-10-08): 一時停止 / 再開ボタン。44px のタップ領域・右端の gradient (z-index 1) より手前 */
.ff6-ticker-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:999px;color:var(--on-dark);cursor:pointer;-webkit-appearance:none;appearance:none}
.ff6-ticker-toggle:hover{background:rgba(255,255,255,.18)}
.ff6-ticker-toggle:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.ff6-ticker-toggle svg{fill:currentColor;display:block}
.ff6-ticker-toggle .ff6-tt-play{display:none}
.ff6-ticker.is-paused .ff6-ticker-toggle .ff6-tt-pause{display:none}
.ff6-ticker.is-paused .ff6-ticker-toggle .ff6-tt-play{display:block}
.ff6-ticker .ff6-track{padding-right:60px}
.ff6-track ul{display:flex;flex:0 0 auto}
.ff6-track li{display:inline-flex;align-items:center;gap:14px;padding:0 22px;font-size:13.5px;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.ff6-track li b{font-family:var(--fmono);font-weight:500;font-size:10.5px;letter-spacing:.14em;color:var(--sky)}
.ff6-track li::after{content:"";width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.3);margin-left:22px}
@keyframes ff6-marquee{to{transform:translateX(-50%)}}

/* 3. trust */
.ff6-trust-grid{display:grid;grid-template-columns:minmax(220px,.9fr) repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.ff6-trust-intro{padding:28px 28px 24px;background:var(--ice);display:flex;flex-direction:column;justify-content:center;gap:6px}
.ff6-home .ff6-trust-intro h2{font-size:22px}
.ff6-trust-intro .ff6-link{margin-top:6px;font-size:13px}
.ff6-stats{display:contents;margin:0}
.ff6-stats>div{padding:26px 24px 22px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;position:relative}
.ff6-home .ff6-stats dt{order:2;font-size:13px;color:var(--muted);font-weight:500;line-height:1.5}
.ff6-home .ff6-stats dd{margin:0 0 6px;font-family:var(--fmono);font-weight:600;font-size:clamp(40px,4.4vw,58px);line-height:1;letter-spacing:-.04em;color:var(--navy)}
.ff6-home .ff6-stats dd span{font-family:var(--fjp);font-size:13px;font-weight:700;letter-spacing:0;margin-left:6px;color:var(--ink)}
.ff6-stats>div::after{content:"";position:absolute;left:24px;bottom:0;height:3px;width:40px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease) .3s}
.ff6-trust-grid.ff6-in .ff6-stats>div::after,html:not(.ff6-js) .ff6-stats>div::after{transform:scaleX(1)}
.ff6-home .ff6-trust-note{grid-column:1/-1;padding:12px 24px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted);line-height:1.7}

/* 4. services（行 ⇄ パネル） */
.ff6-svc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:start}
.ff6-svc-list{display:grid;border-top:1px solid var(--line)}
.ff6-home .ff6-svc-row{display:grid;grid-template-columns:52px minmax(0,1fr) 40px;gap:8px 16px;align-items:center;padding:16px 8px 16px 4px;border-bottom:1px solid var(--line);position:relative;transition:padding .35s var(--ease);color:var(--ink)}
.ff6-svc-row::before{content:"";position:absolute;inset:0 -12px;border-radius:14px;background:var(--ice);opacity:0;transform:scale(.98);transition:opacity .3s,transform .35s var(--ease);z-index:-1}
.ff6-svc-row.ff6-on::before,.ff6-svc-row:hover::before,.ff6-svc-row:focus-visible::before{opacity:1;transform:none}
.ff6-svc-row.ff6-on{padding-left:12px}
.ff6-svc-no{font-family:var(--fmono);font-size:13px;color:var(--muted);align-self:start;padding-top:6px;transition:color .3s}
.ff6-svc-row.ff6-on .ff6-svc-no{color:var(--blue)}
.ff6-svc-main{display:grid;gap:4px;min-width:0}
.ff6-svc-problem{font-size:14px;font-weight:500;color:var(--muted)}
.ff6-svc-problem::before{content:"困りごと";font-family:var(--fmono);font-size:10px;letter-spacing:.12em;color:var(--blue);margin-right:10px}
.ff6-svc-name{font-family:var(--fjp);font-size:clamp(18px,1.7vw,22px);font-weight:700;letter-spacing:-.02em;line-height:1.4}
.ff6-svc-ex{font-size:14px;color:var(--muted);display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.ff6-svc-ex>span{overflow:hidden;display:block}
.ff6-svc-row.ff6-on .ff6-svc-ex{grid-template-rows:1fr}
.ff6-svc-row.ff6-on .ff6-svc-ex>span{padding-top:4px}
.ff6-svc-arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--fmono);font-size:14px;color:var(--muted);transition:background .3s,color .3s,border-color .3s,transform .35s var(--ease)}
.ff6-svc-row.ff6-on .ff6-svc-arrow,.ff6-svc-row:hover .ff6-svc-arrow{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateX(3px)}
.ff6-svc-panel{position:sticky;top:calc(var(--ab-head-h,80px) + 24px);aspect-ratio:5/4;max-width:100%;border-radius:20px;background:var(--navy);overflow:hidden;isolation:isolate;color:#fff}
.ff6-svc-panel::before{content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(45% 50% at 70% 30%,rgba(0,91,216,.8),transparent 65%),radial-gradient(35% 40% at 20% 85%,rgba(143,184,255,.35),transparent 60%);filter:blur(30px);animation:ff6-aurora 20s ease-in-out infinite alternate}
.ff6-home .ff6-svc-fig{position:absolute;inset:0;margin:0;display:grid;grid-template-rows:1fr auto;padding:28px;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .45s var(--ease),transform .55s var(--ease-out);pointer-events:none}
.ff6-svc-fig.ff6-on{opacity:1;transform:none;pointer-events:auto}
.ff6-svc-fig svg{width:min(100%,300px);height:auto;margin:auto;overflow:visible}
.ff6-svc-fig figcaption{display:grid;gap:4px}
.ff6-svc-fig figcaption b{font-family:var(--fjp);font-size:20px;color:#fff}
.ff6-svc-fig figcaption span{font-size:13px;color:var(--on-dark-2)}
.ff6-svc-fig .ff6-k{font-family:var(--fmono);font-size:11px;letter-spacing:.14em;color:var(--sky)}
.ff6-svc-fig .ff6-dr{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease) .15s}
.ff6-svc-fig.ff6-on .ff6-dr{stroke-dashoffset:0}

/* 5. cases */
.ff6-cases{background:var(--mist);border-block:1px solid var(--line)}
.ff6-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.ff6-home .ff6-filters button{min-height:44px!important;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.ff6-home .ff6-filters button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.ff6-case-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ff6-home .ff6-case>a{display:flex;flex-direction:column;height:100%;position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--ink);transition:transform .5s var(--ease-out),box-shadow .4s,border-color .3s}
.ff6-home .ff6-case>a:hover{transform:translateY(-6px);box-shadow:var(--sh2);border-color:#B7CDEB;color:var(--ink)}
.ff6-case figure{margin:0;position:relative;overflow:hidden;aspect-ratio:8/5;background:var(--ice)}
.ff6-case figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.ff6-case>a:hover figure img{transform:scale(1.05)}
.ff6-st{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.92);font-size:11px;font-weight:700;color:var(--navy);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ff6-st.ff6-ops{background:rgba(10,21,79,.9);color:#fff}
.ff6-case figcaption{position:absolute;right:8px;bottom:8px;font-size:11.5px;line-height:1.5;color:var(--ink);background:rgba(255,255,255,.94);padding:3px 8px;border-radius:6px}
.ff6-case-body{display:grid;gap:6px;padding:16px 16px 18px;flex:1;align-content:start}
.ff6-home .ff6-case-body h3{font-size:16px;line-height:1.45}
.ff6-nm{font-family:var(--fmono);font-size:11.5px;letter-spacing:.04em;color:var(--blue)}
.ff6-home .ff6-case-body p{font-size:13.5px;color:var(--muted);line-height:1.7}
.ff6-fact{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--muted)}
.ff6-fact b{font-family:var(--fmono);font-size:15px;color:var(--navy)}
.ff6-fact b small{font-family:var(--fjp);font-size:11px;margin-left:2px}
.ff6-go{position:absolute;right:12px;bottom:12px;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--fmono);font-size:13px;opacity:0;transform:translate(4px,4px);transition:opacity .3s,transform .4s var(--ease)}
.ff6-case>a:hover .ff6-go{opacity:1;transform:none}
.ff6-home .ff6-cases-note{margin-top:18px;font-size:13.5px;color:var(--muted)}

/* 6. person */
.ff6-person-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}
.ff6-home .ff6-portrait{margin:0;position:relative;aspect-ratio:5/6;max-width:380px;border-radius:24px;overflow:hidden;background:linear-gradient(160deg,var(--ice),#DCE8F8)}
.ff6-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;position:relative;z-index:1}
.ff6-ridge{position:absolute;inset:auto 0 0 0;z-index:0;width:100%;height:auto;opacity:.9}
.ff6-ridge path{fill:none;stroke:var(--blue);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--ease)}
.ff6-ridge path:nth-child(2){stroke:var(--sky);transition-delay:.25s}
.ff6-ridge path:nth-child(3){stroke:var(--navy);opacity:.5;transition-delay:.5s}
.ff6-rv.ff6-in .ff6-ridge path,html:not(.ff6-js) .ff6-ridge path{stroke-dashoffset:0}
.ff6-portrait .ff6-tag{position:absolute;left:16px;bottom:16px;z-index:2;background:rgba(10,21,79,.88);color:#fff;padding:8px 12px;border-radius:10px;font-size:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ff6-portrait .ff6-tag b{display:block;font-size:14px}
.ff6-home .ff6-person-body h2{font-size:clamp(28px,3.4vw,44px);font-weight:900;line-height:1.3}
.ff6-home .ff6-name{margin:18px 0 6px;font-size:22px;font-weight:700;line-height:1.4}
.ff6-home .ff6-name small{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-top:2px}
.ff6-home .ff6-txt{color:var(--muted);max-width:50ch;margin-top:14px}
.ff6-stance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 22px}
.ff6-stance li{padding:14px 14px 12px;border:1px solid var(--line);border-radius:12px;background:var(--mist)}
.ff6-stance li b{display:block;font-size:14.5px}
.ff6-stance li span{font-family:var(--fmono);font-size:10.5px;letter-spacing:.14em;color:var(--blue)}
.ff6-home .ff6-stance li p{font-size:13.5px;color:var(--muted);line-height:1.6;margin-top:4px}
.ff6-timeline{display:grid;gap:10px;border-left:2px solid var(--line);padding-left:18px;margin:0 0 22px}
.ff6-timeline li{position:relative;font-size:14px;color:var(--muted);line-height:1.7}
.ff6-timeline li::before{content:"";position:absolute;left:-24px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px #fff}
.ff6-timeline li span{display:block;font-family:var(--fmono);font-size:11.5px;letter-spacing:.06em;color:var(--navy)}
.ff6-region{grid-column:1/-1;margin-top:clamp(22px,3vw,36px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:center;padding:clamp(20px,2.6vw,30px);border-radius:20px;background:var(--ice);border:1px solid var(--line)}
.ff6-home .ff6-region h3{font-size:clamp(20px,2.2vw,26px)}
.ff6-home .ff6-region p{font-size:14px;color:var(--muted);margin-top:8px}
.ff6-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ff6-tags span{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:500}
.ff6-tags span.ff6-on{background:var(--navy);color:#fff;border-color:var(--navy)}
.ff6-map{width:100%;height:auto;max-width:440px;justify-self:end}
.ff6-map .ff6-rt{fill:none;stroke:var(--blue);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease) .2s}
.ff6-rv.ff6-in .ff6-map .ff6-rt,html:not(.ff6-js) .ff6-map .ff6-rt{stroke-dashoffset:0}
.ff6-map .ff6-nd{fill:#fff;stroke:var(--navy);stroke-width:2}
.ff6-map .ff6-hub{fill:var(--blue);stroke:var(--blue)}
.ff6-map .ff6-ring{fill:none;stroke:var(--blue);stroke-width:1.5;opacity:0;transform-origin:center;transform-box:fill-box;animation:ff6-ring 2.6s ease-out infinite}
@keyframes ff6-ring{0%{opacity:.7;transform:scale(.4)}100%{opacity:0;transform:scale(2.6)}}
.ff6-map text{font-family:var(--fjp);font-size:12px;font-weight:700;fill:var(--navy)}
.ff6-map .ff6-sub{font-family:var(--fmono);font-size:9px;font-weight:500;fill:var(--muted);letter-spacing:.1em}

/* 7. method（濃色帯・スクロール連動の線） */
.ff6-method{background:var(--n950);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.ff6-method::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 85% 10%,rgba(0,91,216,.35),transparent 65%)}
.ff6-home .ff6-method h2,.ff6-home .ff6-method h3{color:#fff}
.ff6-home .ff6-method .ff6-lede{color:var(--on-dark-2)}
.ff6-steps{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin:clamp(30px,4vw,48px) 0 26px;padding-top:22px}
.ff6-steps-line{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden;margin:0;padding:0}
.ff6-steps-line i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--blue),var(--sky));transform:scaleX(var(--fill,0));transform-origin:left}
@supports (animation-timeline: view()){.ff6-steps-line i{animation:ff6-fillx linear both;animation-timeline:view();animation-range:entry 30% cover 55%;transform:none}@keyframes ff6-fillx{from{transform:scaleX(0)}to{transform:scaleX(1)}}}
.ff6-step{position:relative;display:grid;gap:8px;align-content:start;padding-right:8px}
.ff6-step::before{content:"";position:absolute;left:0;top:-26px;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);transition:background .4s,box-shadow .4s}
.ff6-step.ff6-lit::before,html:not(.ff6-js) .ff6-step::before{background:var(--sky);box-shadow:0 0 0 5px rgba(143,184,255,.2)}
.ff6-step .ff6-no{font-family:var(--fmono);font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1;color:var(--sky);opacity:.55;transition:opacity .4s}
.ff6-step.ff6-lit .ff6-no,html:not(.ff6-js) .ff6-step .ff6-no{opacity:1}
.ff6-tagk{font-family:var(--fmono);font-size:10.5px;letter-spacing:.16em;color:var(--on-dark-2)}
.ff6-home .ff6-step h3{font-size:19px}
.ff6-home .ff6-step p{font-size:14px;color:var(--on-dark-2);line-height:1.7}

/* 8. tools + faq */
.ff6-duo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px)}
.ff6-home .ff6-duo h2{font-size:clamp(24px,2.6vw,32px)}
.ff6-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.ff6-home .ff6-tool{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);transition:transform .4s var(--ease-out),box-shadow .3s,border-color .3s}
.ff6-home .ff6-tool:hover{transform:translateY(-3px);box-shadow:var(--sh1);border-color:#B7CDEB;color:var(--ink)}
.ff6-tool i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--navy);color:#fff;font-family:var(--fmono);font-size:13px;font-style:normal}
.ff6-tool b{display:block;font-size:15px}.ff6-tool small{display:block;font-size:12.5px;color:var(--muted)}
.ff6-faq{margin-top:22px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.ff6-faq details{border-top:1px solid var(--line)}.ff6-faq details:first-child{border-top:0}
.ff6-home .ff6-faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr 30px;gap:14px;align-items:center;padding:18px;font-weight:700;font-size:15.5px;line-height:1.6;min-height:0!important}
.ff6-faq summary::-webkit-details-marker{display:none}
.ff6-faq summary .ff6-cat{font-family:var(--fmono);font-size:10.5px;letter-spacing:.12em;color:var(--blue);min-width:60px}
.ff6-faq summary .ff6-ic{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--fmono);font-weight:400;color:var(--blue);transition:transform .35s var(--ease),background .3s,color .3s}
.ff6-faq details[open] summary .ff6-ic{transform:rotate(45deg);background:var(--navy);border-color:var(--navy);color:#fff}
.ff6-faq summary:hover{background:var(--mist)}
.ff6-home .ff6-ans{padding:0 18px 18px 92px;color:var(--muted);font-size:15px;line-height:1.9}
.ff6-faq details::details-content{height:0;overflow:clip;transition:height .35s var(--ease),content-visibility .35s allow-discrete}
.ff6-faq details[open]::details-content{height:auto}

/* 9. cta */
.ff6-cta{background:var(--navy);color:#fff;position:relative;isolation:isolate;overflow:hidden;text-align:center}
.ff6-cta::before{content:"";position:absolute;inset:-30%;z-index:-1;background:radial-gradient(40% 45% at 30% 30%,rgba(0,91,216,.7),transparent 62%),radial-gradient(30% 40% at 80% 80%,rgba(143,184,255,.3),transparent 60%);filter:blur(46px);animation:ff6-aurora 26s ease-in-out infinite alternate}
.ff6-home .ff6-cta h2{font-size:clamp(28px,3.6vw,46px);font-weight:900;color:#fff}
.ff6-home .ff6-cta .ff6-lede{color:var(--on-dark-2);margin-inline:auto}
.ff6-topics{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0 28px;counter-reset:t}
.ff6-topics li{counter-increment:t;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);font-size:14px;color:var(--on-dark)}
.ff6-topics li::before{content:counter(t,decimal-leading-zero);font-family:var(--fmono);font-size:11px;letter-spacing:.1em;color:var(--sky);margin-right:8px}
.ff6-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px}
.ff6-home .ff6-cta-fine{margin-top:16px;font-size:13.5px;color:var(--on-dark-2)}
.ff6-cta-fine code{font-family:var(--fmono);font-size:13px;color:#fff;background:none;padding:0;-webkit-user-select:all;user-select:all}
.ff6-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#060D33;color:#fff;padding:10px 16px;border-radius:10px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1);z-index:70;box-shadow:0 2px 4px rgba(10,21,79,.06),0 28px 48px -26px rgba(10,21,79,.45)}
.ff6-toast.ff6-show{opacity:1;transform:translate(-50%,0)}
/* footer: .ff-footer-links がロゴ＋社名を持つため、テーマ側 .foot のロゴ行を非表示（コピーライトは維持） */
body.page:has(.ff-footer-links) footer .foot{display:none}
body.page:has(.ff6-home).ab-cta-on .ff6-toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}

/* responsive */
@media (max-width:1023px){
  .ff6-hero-in{grid-template-columns:1fr;padding-block:40px 48px}
  .ff6-home .ff6-hero h1{white-space:normal}
  .ff6-home .ff6-bench{max-width:560px}
  .ff6-trust-grid{grid-template-columns:repeat(3,1fr)}
  .ff6-trust-intro{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 20px}
  .ff6-stats>div:first-of-type{border-left:0}
  .ff6-svc{grid-template-columns:1fr}
  .ff6-svc-panel{display:none}
  .ff6-svc-ex,.ff6-svc-row.ff6-on .ff6-svc-ex{grid-template-rows:1fr}
  .ff6-svc-ex>span{padding-top:4px}
  .ff6-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ff6-person-grid{grid-template-columns:1fr}
  .ff6-home .ff6-portrait{max-width:360px}
  .ff6-region{grid-template-columns:1fr}
  .ff6-map{justify-self:start}
  .ff6-steps{gap:14px}
  .ff6-duo-grid{grid-template-columns:1fr}
}
@media (max-width:767px){
  .ff6-sec{padding-block:40px}
  .ff6-sec-head{flex-direction:column;align-items:flex-start;gap:10px}
  .ff6-home .ff6-hero h1{font-size:clamp(28px,8.2vw,38px)}
  .ff6-hero-actions{flex-direction:column;align-items:stretch}
  .ff6-hero-actions .ff6-btn{width:100%}
  .ff6-hero-actions .ff6-link{align-self:center}
  .ff6-home .ff6-bench{padding:10px}
  .ff6-bench-body{padding:12px;gap:10px}
  .ff6-stage-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}
  .ff6-sheet{font-size:11px}
  .ff6-bench-foot .ff6-note{margin-left:0;width:100%}
  .ff6-stats>div{padding:16px 12px}
  .ff6-home .ff6-stats dd{font-size:clamp(26px,8vw,34px)}
  .ff6-home .ff6-stats dd span,.ff6-home .ff6-stats dt{font-size:11px}
  .ff6-home .ff6-trust-note{padding:10px 14px;font-size:11.5px}
  .ff6-home .ff6-svc-row{grid-template-columns:36px 1fr 32px;padding:14px 4px}
  .ff6-svc-arrow{width:32px;height:32px}
  .ff6-svc-ex,.ff6-svc-row.ff6-on .ff6-svc-ex{grid-template-rows:1fr}
  .ff6-svc-ex>span{padding-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ff6-case-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px var(--gut) 16px;margin-inline:calc(var(--gut) * -1);scrollbar-width:none}
  .ff6-case-grid::-webkit-scrollbar{display:none}
  .ff6-case{flex:0 0 78%;scroll-snap-align:start}
  .ff6-home .ff6-case>a:hover{transform:none}
  .ff6-home .ff6-portrait{max-width:260px;border-radius:18px}
  .ff6-person-grid{gap:20px}
  .ff6-stance{grid-template-columns:1fr;gap:8px;margin:16px 0 14px}
  .ff6-stance li{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:baseline}
  .ff6-home .ff6-stance li p{grid-column:2}
  .ff6-timeline{display:none}
  .ff6-region{gap:14px;padding:18px}
  .ff6-map{display:none}
  .ff6-steps{grid-template-columns:1fr;gap:0;padding-top:0;padding-left:26px;margin-top:26px}
  .ff6-steps-line{left:6px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .ff6-steps-line i{width:100%;height:100%;transform:scaleY(var(--fill,0));transform-origin:top}
  @supports (animation-timeline: view()){.ff6-steps-line i{animation-name:ff6-filly;animation-range:entry 20% cover 70%}@keyframes ff6-filly{from{transform:scaleY(0)}to{transform:scaleY(1)}}}
  .ff6-step{grid-template-columns:auto 1fr;gap:4px 14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .ff6-step::before{left:-24px;top:22px}
  .ff6-step .ff6-no{grid-row:1/4;font-size:24px}
  .ff6-home .ff6-step p{font-size:12.5px;line-height:1.6}
  .ff6-tools{grid-template-columns:1fr 1fr;gap:8px}
  .ff6-home .ff6-tool{grid-template-columns:1fr;gap:8px;padding:12px}
  .ff6-tool i{width:36px;height:36px;font-size:11px}
  .ff6-tool small{display:none}
  .ff6-home .ff6-faq summary{grid-template-columns:1fr 30px;padding:12px 14px;font-size:14.5px}
  .ff6-faq summary .ff6-cat{grid-column:1/-1;min-width:0}
  .ff6-home .ff6-ans{padding:0 14px 14px}
  .ff6-topics{gap:6px}.ff6-topics li{font-size:12.5px;padding:7px 12px}
  .ff6-cta-actions{flex-direction:column}
  .ff6-cta-actions .ff6-btn{width:100%}
}
@media (hover:none){
  .ff6-home .ff6-case>a:hover{transform:none;box-shadow:none}
  .ff6-home .ff6-tool:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .ff6-home *,.ff6-home *::before,.ff6-home *::after{animation:none!important;transition:none!important}
  html.ff6-js .ff6-rv{opacity:1;transform:none}
  .ff6-hero h1 .ff6-ln>span{transform:none}
  .ff6-fade,.ff6-home .ff6-bench{opacity:1;transform:none}
  .ff6-track{animation:none;flex-wrap:wrap;width:auto}
  .ff6-track ul[aria-hidden]{display:none}
  .ff6-ticker .ff6-track{padding-right:0}
  .ff6-ticker-toggle{display:none}
  .ff6-track ul{flex-wrap:wrap;gap:6px 0}
  .ff6-ridge path,.ff6-map .ff6-rt,.ff6-svc-fig .ff6-dr{stroke-dashoffset:0}
  .ff6-steps-line i{transform:none}
  .ff6-step::before{background:var(--sky)}
  .ff6-step .ff6-no{opacity:1}
  .ff6-stats>div::after{transform:none}
}

/* =====================================================================
   FIELD FIRST / v06 sub pages / 2026-09-25
   下層 9 ページを TOP v06 のトーンに揃える（HTML は無変更・CSS のみ）。
   CTA 帯のオーロラ、ピル型ボタン、青い mono アイブロウ、角丸、リンクの下線描画。
   ===================================================================== */
body.page:has(.ff-inner) h1.ttl_h1{font-weight:900;letter-spacing:-.03em;line-height:1.3}
.ff-inner .ff-eyebrow,.ff-corporate .ff-inner .ff-eyebrow{color:#005BD8;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.ff-inner .ff-page-lead{font-weight:500}
.ff-inner .ff-link{position:relative}
.ff-inner .ff-link::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.ff-inner .ff-link:hover{text-decoration:none}
.ff-inner .ff-link:hover::after{transform:scaleX(1)}
.ff-inner .ff-chips span,.ff-inner .ff-production-list>span,.ff-inner .ff-contact-facts>span{border-radius:999px}
.ff-inner .ff-flow-diagram{border-radius:14px}
.ff-inner .ff-flow-diagram>div>span{border-radius:8px}
.ff-inner .ff-portrait{border-radius:24px}
.ff-inner .ff-method{border-radius:20px;position:relative;isolation:isolate;overflow:hidden;background:#060D33}
.ff-inner .ff-method::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 85% 10%,rgba(0,91,216,.35),transparent 65%)}
.ff-inner .ff-method .ff-eyebrow,.ff-inner .ff-method .ff-step-no,.ff-inner .ff-method small{color:#8FB8FF}
.ff-inner .ff-method li{border-top-color:rgba(255,255,255,.18)}
.ff-inner .ff-tool-icon{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}
.ff-inner .ff-tools-trust dt,.ff-inner .ff-tool-type,.ff-inner .ff-case-metric .ff-case-metric-label,.ff-inner .ff-faq-category,.ff-inner .ff-faq-cat{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em}
/* CTA 帯: TOP v06 と同じオーロラ・ピル型ボタン */
.ab-site.ff-corporate.ff-inner .ff-contact{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;padding:clamp(40px,5vw,64px) 28px}
.ab-site.ff-corporate.ff-inner .ff-contact::before{content:"";position:absolute;inset:-12%;z-index:-1;width:auto;height:auto;right:auto;top:auto;border-radius:0;background:radial-gradient(28% 40% at 12% 18%,rgba(0,91,216,.55),transparent 65%),radial-gradient(22% 34% at 90% 88%,rgba(143,184,255,.22),transparent 62%);filter:blur(40px);animation:ff6-aurora 26s ease-in-out infinite alternate}
.ff-corporate.ff-inner .ff-contact .ff-eyebrow{color:#8FB8FF}
.ff-corporate.ff-inner .ff-contact h2{font-weight:900;letter-spacing:-.03em}
.ff-corporate.ff-inner .ff-contact p{color:#AFC3E8;max-width:52ch;margin-inline:auto}
.ab-site.ff-corporate.ff-inner .ff-contact .ab-button{min-height:54px;padding:0 26px;border-radius:999px;font-size:15px;font-weight:700;box-shadow:0 14px 30px -18px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.ab-site.ff-corporate.ff-inner .ff-contact .ab-button:hover{background:#fff;color:#0A154F;transform:translateY(-2px)}
.ab-site.ff-corporate.ff-inner .ff-contact .ab-button::after{content:"\2192";display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#0A154F;color:#fff;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:14px;margin-left:4px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.ab-site.ff-corporate.ff-inner .ff-contact .ab-button:hover::after{transform:translateX(3px)}
/* 問い合わせ: メールアドレスのコピーと相談テンプレートのコピーをピル型に統一 */
.ff-inner .ff-mail-intro{border-radius:16px}
.ff-inner .ff-mail-intro .ab-button{border-radius:999px;min-height:52px;padding:0 24px}
.ff-inner .ff-copy-email,.ff-inner .ff-copy-template{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #005BD8;border-radius:999px;background:#fff;color:#005BD8;font-size:14px;font-weight:600;margin:4px 8px 4px 0;transition:background .2s,color .2s}
.ff-inner .ff-copy-email:hover,.ff-inner .ff-copy-template:hover{background:#005BD8;color:#fff}
.ff-inner .ff-copy-template[hidden]{display:none}
@media (max-width:767px){
  .ab-site.ff-corporate.ff-inner .ff-contact{padding:36px 20px;border-radius:16px}
  .ff-inner .ff-copy-email,.ff-inner .ff-copy-template{width:100%;justify-content:center;margin:6px 0 0}
}
@media (prefers-reduced-motion:reduce){
  .ab-site.ff-corporate.ff-inner .ff-contact::before{animation:none}
  .ff-inner .ff-link::after,.ab-site.ff-corporate.ff-inner .ff-contact .ab-button{transition:none}
}

/* =====================================================================
   FIELD FIRST / v06 compact variant / 2026-09-25
   ルートに .ff6-compact を足すと、SP（767px 以下）で提案書 §5 の削減案が効く:
   5 ステップは番号＋見出しのみ、FAQ は 2 問、ツールは 2 件（経歴タイムラインは既定で SP 非表示）。
   公開判断で高さ上限を守る場合に使う。PC の表示は変えない。
   ===================================================================== */
@media (max-width:767px){
  .ff6-home.ff6-compact .ff6-step p,.ff6-home.ff6-compact .ff6-tagk{display:none}
  .ff6-home.ff6-compact .ff6-step{padding:8px 0}
  .ff6-home.ff6-compact .ff6-step .ff6-no{grid-row:1/2}
  .ff6-home.ff6-compact .ff6-faq details:nth-of-type(n+3){display:none}
  .ff6-home.ff6-compact .ff6-tool:nth-of-type(n+3){display:none}
  .ff6-home.ff6-compact .ff6-stance{display:none}
  .ff6-home.ff6-compact .ff6-hero-text{display:none}
  .ff6-home.ff6-compact .ff6-sec{padding-block:32px}
}








/* =====================================================================
   FIELD FIRST / v07 hero / 2026-09-25
   v06 ヒーローに 写真コラージュ（現場 → 確認 → 送付）と「触れるデモ」を追加。
   写真は子テーマ assets/hero/ の WebP（AI 生成の仮画像・差替可）。
   動きは transform / opacity / clip-path のみ。prefers-reduced-motion で全停止（v06 の共通ルールが効く）。
   JS 無効時: ± ボタン・再計算ボタンを隠し、静的な見本として成立させる。
   ===================================================================== */
.ff7-hero{background:var(--n950)}
.ff7-bg{position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none}
.ff7-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;opacity:.42;transform:scale(1.04);animation:ff7-drift 28s ease-in-out infinite alternate;will-change:transform}
.ff7-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,13,51,.96) 0%,rgba(10,21,79,.86) 42%,rgba(10,21,79,.55) 68%,rgba(0,91,216,.35) 100%)}
@keyframes ff7-drift{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.1) translate3d(-1.5%,1%,0)}}
.ff7-hero::before{opacity:.75}
.ff7-hero .ff6-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,56px);align-items:center;padding-block:clamp(44px,5.5vw,76px) clamp(44px,5.5vw,72px)}
.ff7-hero .ff6-hero-eyebrow{margin-bottom:10px}
.ff7-hero .ff6-hero-pill{display:inline-flex;margin:0 0 4px}
.ff7-hero .ff6-hero-pill i{animation:ff6-pulse 2.4s ease-out infinite}
.ff6-home .ff7-hero h1{font-size:clamp(30px,3.3vw,46px);line-height:1.22;margin:8px 0 18px}
.ff7-hero h1 em{letter-spacing:-.02em}
.ff6-home .ff7-hero .ff6-hero-lead{font-size:clamp(17px,1.5vw,22px);margin-bottom:10px}
.ff6-home .ff7-hero .ff6-hero-text{max-width:46ch;font-size:15px;line-height:1.8}
.ff7-hero .ff6-hero-actions{margin:22px 0 12px}
.ff7-hero .ff6-hero-fine{margin:0}

/* right column: collage behind, bench in front */
.ff7-visual{position:relative;min-width:0;padding-right:clamp(0px,9vw,120px)}
.ff7-collage{position:absolute;top:-6%;right:calc(-1*var(--gut));bottom:-6%;width:clamp(180px,26vw,320px);display:grid;grid-template-rows:repeat(3,1fr);gap:0;z-index:0;pointer-events:none}
.ff7-shot{position:relative;margin:0;overflow:hidden;clip-path:polygon(0 12%,100% 0,100% 100%,0 88%);opacity:0;transform:translate3d(28px,0,0);animation:ff7-wipe .9s var(--ease-out) forwards;animation-delay:calc(.55s + var(--i)*.16s)}
.ff7-shot+.ff7-shot{margin-top:-10%}
.ff7-shot img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);animation:ff7-kb 22s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-7s)}
.ff7-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,13,51,.05),rgba(6,13,51,.55));mix-blend-mode:multiply}
.ff7-shot figcaption{position:absolute;top:18%;right:12px;padding:6px 16px;border-radius:8px;background:rgba(10,21,79,.78);color:#fff;font-family:var(--fjp);font-weight:700;font-size:14px;letter-spacing:.06em;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease-out);opacity:0;animation:ff7-pop .5s var(--ease-out) forwards;animation-delay:calc(1.3s + var(--i)*.3s)}
.ff7-shot-2 figcaption{top:22%}.ff7-shot-3 figcaption{top:26%}
.ff6-home[data-ff7-step="1"] .ff7-shot-1 figcaption,.ff6-home[data-ff7-step="2"] .ff7-shot-2 figcaption,.ff6-home[data-ff7-step="3"] .ff7-shot-3 figcaption{background:var(--blue);box-shadow:0 0 0 4px rgba(143,184,255,.25),0 10px 24px -12px rgba(0,91,216,.9);transform:translateX(-4px)}
@keyframes ff7-wipe{to{opacity:1;transform:none}}
@keyframes ff7-pop{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ff7-kb{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-2%,-2%,0)}}
.ff6-home .ff7-bench{position:relative;z-index:1;background:rgba(10,21,79,.72);border-color:rgba(255,255,255,.2);box-shadow:0 50px 90px -40px rgba(0,0,0,.75),0 0 0 1px rgba(0,0,0,.15)}
.ff7-bench .ff6-bench-body{gap:14px}
.ff7-bench .ff6-sheet{font-size:12px}
.ff7-bench .ff6-sheet .ff6-r{grid-template-columns:1.3fr 1fr .9fr .9fr;align-items:center;padding:7px 10px}
.ff7-bench .ff6-sheet .ff6-r:first-child{padding:6px 10px}
.ff7-qty{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}
.ff7-qty output{min-width:2.4em;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.ff6-home .ff7-qty button{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--navy);font-family:var(--fmono);font-size:13px;line-height:1;transition:background .2s,transform .2s var(--ease-out),border-color .2s}
.ff6-home .ff7-qty button:hover{background:var(--ice);border-color:var(--sky)}
.ff6-home .ff7-qty button:active{transform:scale(.9)}
.ff6-home .ff7-qty button:disabled{opacity:.35;cursor:not-allowed}
.ff7-sheet .ff6-r.ff7-warn output{color:#C62828}
.ff7-sheet .ff6-calc.ff7-tick{animation:ff7-tick .45s var(--ease-out)}
@keyframes ff7-tick{0%{transform:translateY(-6px);opacity:.2}100%{transform:none;opacity:1}}
.ff7-sheet .ff6-calc.ff7-stale{color:var(--muted);opacity:.55!important;text-decoration:line-through dotted}
.ff6-home .ff7-run{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border-radius:12px;background:var(--navy);color:#fff;font-weight:700;font-size:14px;position:relative;overflow:hidden;transition:transform .3s var(--ease-out),box-shadow .3s}
.ff6-home .ff7-run:hover{transform:translateY(-1px);box-shadow:0 12px 24px -14px rgba(10,21,79,.8)}
.ff6-home .ff7-run:active{transform:scale(.98)}
.ff7-run svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .7s var(--ease)}
.ff7-run.ff7-spin svg{transform:rotate(360deg)}
.ff7-run::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-100%)}
.ff6-bench[data-step="2"] .ff7-run::after,.ff7-run.ff7-spin::after{animation:ff6-shine 1.1s var(--ease) 2}
.ff7-bench .ff6-stage-row{grid-template-columns:minmax(0,1.1fr) auto minmax(0,.9fr);align-items:start}
.ff7-bench .ff6-stage-row .ff6-stage{gap:10px}
.ff7-bench .ff6-arrow{align-self:center;margin-top:24px}
.ff7-checks{display:grid;gap:6px;margin-top:2px}
.ff7-checks label{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;min-height:28px}
.ff7-checks input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border-radius:6px;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;transition:background .2s,border-color .2s,transform .2s var(--ease-out);cursor:pointer}
.ff7-checks input::before{content:"";width:12px;height:7px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) scale(0) translate(1px,-1px);transition:transform .25s var(--ease-out)}
.ff7-checks input:checked{background:var(--blue);border-color:var(--blue)}
.ff7-checks input:checked::before{transform:rotate(-45deg) scale(1) translate(1px,-1px)}
.ff7-checks input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.ff7-bench .ff6-doc{min-height:150px}
.ff7-bench .ff6-doc b{font-size:15px}
.ff7-bench .ff6-doc em{font-size:22px;transition:color .3s}
.ff7-bench .ff6-doc.ff7-flash{animation:ff7-flash .8s var(--ease)}
@keyframes ff7-flash{0%{box-shadow:0 0 0 0 rgba(0,91,216,.55)}100%{box-shadow:0 0 0 14px rgba(0,91,216,0)}}
.ff6-home .ff7-hint{min-height:1.4em;margin:0;font-size:11.5px;line-height:1.4;color:var(--muted)}
.ff7-bench .ff6-bench-foot{padding-top:10px}
.ff7-bench .ff6-bench-foot .ff6-note{display:inline-flex;align-items:center;gap:6px;margin-left:auto}
.ff7-bench .ff6-note svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
html:not(.ff6-js) .ff7-qty button,html:not(.ff6-js) .ff7-run{display:none}
html:not(.ff6-js) .ff7-checks{pointer-events:none}
html:not(.ff6-js) .ff7-shot,html:not(.ff6-js) .ff7-shot figcaption{opacity:1;transform:none;animation:none}
html:not(.ff6-js) .ff7-bench .ff6-doc{opacity:1;transform:none}

/* responsive */
@media (max-width:1279px){
  .ff7-collage{width:clamp(160px,22vw,260px)}
  .ff7-visual{padding-right:clamp(0px,7vw,90px)}
}
@media (max-width:1023px){
  .ff7-hero .ff6-hero-in{grid-template-columns:1fr;gap:24px}
  .ff6-home .ff7-hero h1{white-space:normal}
  .ff7-visual{padding-right:0;display:grid;gap:14px;max-width:560px}
  .ff7-collage{position:static;width:auto;grid-template-rows:none;grid-template-columns:repeat(3,1fr);gap:8px;height:104px;transform:none}
  .ff7-shot{clip-path:polygon(0 0,100% 0,90% 100%,0 100%);border-radius:10px}
  .ff7-shot+.ff7-shot{margin:0}
  .ff7-shot figcaption{top:auto;bottom:10px;right:auto;left:10px;padding:4px 10px;font-size:12px}
  .ff7-shot-2 figcaption,.ff7-shot-3 figcaption{top:auto}
  .ff6-home .ff7-bench{max-width:none}
}
@media (max-width:767px){
  .ff7-collage{height:84px;gap:6px}
  .ff6-home .ff7-hero h1{font-size:clamp(26px,7.4vw,40px);line-height:1.24}
  .ff7-bench .ff6-stage-row{grid-template-columns:1fr;gap:12px}
  .ff7-bench .ff6-arrow{display:none}
  .ff7-bench .ff6-doc{min-height:0}
  .ff7-bench .ff6-sheet .ff6-r{grid-template-columns:1.2fr 1.1fr .9fr .9fr;gap:4px;padding:7px 8px}
  .ff6-home .ff7-qty button{width:26px;height:26px}
  .ff6-home.ff6-compact .ff7-hero .ff6-hero-text{display:none}
  .ff6-home.ff6-compact .ff7-collage{grid-template-columns:1fr;height:72px}
  .ff6-home.ff6-compact .ff7-shot-2,.ff6-home.ff6-compact .ff7-shot-3{display:none}
  .ff6-home.ff6-compact .ff7-shot{clip-path:none}
}
@media (prefers-reduced-motion:reduce){
  .ff7-bg img,.ff7-shot img{animation:none;transform:none}
  .ff7-shot,.ff7-shot figcaption{opacity:1;transform:none;animation:none}
  .ff7-run svg{transition:none}
}
/* ---- v07.1 hero photo (2026-09-26) / v07.2 HQ + larger / v07.4 mock collage visual + lead on 2 lines (2026-09-26): right column = the right side of YAMA's mock (sunrise mountains + PC / security / desk panels, 1181×749 card; Real-ESRGAN x4 → 1760/880 srcset), landscape 1.577:1, bleeds into the right gutter on PC. Lead paragraph = 2 inline-block lines. ---- */
.ff7-hero .ff6-hero-in{grid-template-columns:minmax(536px,.95fr) minmax(0,1.3fr);gap:clamp(28px,3vw,44px)}   /* copy column >= 536px: H1 line 2 (46px) needs ~528px, lead line 2 (15px) 450px */
.ff6-home .ff7-hero .ff6-hero-text{max-width:none}
.ff6-home .ff7-hero .ff6-hero-text .ff7-ln{display:inline-block}
.ff7-visual-photo{padding-right:0;display:grid;justify-items:start;margin-right:calc(-1 * max(24px,(100vw - 1200px) / 2 - 24px))}
.ff7-photo{position:relative;margin:0;width:min(100%,880px);aspect-ratio:1181/749;max-height:min(620px,calc(100vh - 200px));min-height:0;border-radius:20px;overflow:hidden;background:var(--n950);box-shadow:0 50px 90px -40px rgba(0,0,0,.75),0 0 0 1px rgba(0,0,0,.15);opacity:0;transform:translate3d(28px,0,0);animation:ff7-wipe .9s var(--ease-out) forwards;animation-delay:.55s}
.ff7-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1);animation:ff7-kb4 30s ease-in-out infinite alternate}
@keyframes ff7-kb4{from{transform:scale(1)}to{transform:scale(1.045)}}
.ff7-photo::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);pointer-events:none}
html:not(.ff6-js) .ff7-photo{opacity:1;transform:none;animation:none}
@media (max-width:1279px){.ff7-hero .ff6-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ff6-home .ff7-hero .ff6-hero-text{font-size:14px}.ff7-photo{width:100%;max-height:min(560px,calc(100vh - 160px))}}
@media (max-width:1023px){.ff7-hero .ff6-hero-in{grid-template-columns:1fr}.ff6-home .ff7-hero .ff6-hero-text{font-size:15px}.ff7-visual-photo{max-width:600px;margin-right:0}.ff7-photo{width:100%;max-height:none;border-radius:16px}}
@media (max-width:767px){.ff7-photo{border-radius:14px}}
@media (prefers-reduced-motion:reduce){.ff7-photo{opacity:1;transform:none;animation:none}.ff7-photo img{animation:none;transform:none}}
/* ---- v07.3 hero copy + CTA (2026-09-26): H1 2 lines, chips removed, primary CTA emphasised (pulse ring + shimmer + arrow nudge). ---- */
.ff7-hero .ff6-hero-actions{margin:26px 0 12px;gap:14px 26px}
.ff6-home .ff7-hero .ff6-cta-primary{position:relative;isolation:isolate;overflow:hidden;min-height:62px;padding:0 30px 0 28px;gap:14px;font-size:16.5px;letter-spacing:.01em;background:linear-gradient(135deg,#fff 0%,#e9f1ff 100%);color:var(--navy);box-shadow:0 0 0 0 rgba(143,184,255,.7),0 22px 44px -18px rgba(0,0,0,.65);animation:ff7-cta-ring 2.8s ease-out 1.4s infinite}
.ff6-home .ff7-hero .ff6-cta-primary:hover{background:#fff;box-shadow:0 0 0 6px rgba(143,184,255,.35),0 26px 48px -18px rgba(0,0,0,.7)}
.ff7-hero .ff6-cta-primary::after{content:"";position:absolute;top:-10%;bottom:-10%;left:-40%;width:34%;z-index:-1;background:linear-gradient(105deg,rgba(0,91,216,0) 0%,rgba(0,91,216,.17) 50%,rgba(0,91,216,0) 100%);transform:translateX(0) skewX(-18deg);animation:ff7-cta-shine 3.8s ease-in-out 1.8s infinite;pointer-events:none}
.ff7-hero .ff6-cta-primary .ff6-ar{width:30px;height:30px;font-size:15px;background:var(--blue);color:#fff;animation:ff7-ar-nudge 1.6s ease-in-out 1.6s infinite}
.ff7-hero .ff6-link-light{opacity:.88}
@keyframes ff7-cta-ring{0%{box-shadow:0 0 0 0 rgba(143,184,255,.7),0 22px 44px -18px rgba(0,0,0,.65)}60%,100%{box-shadow:0 0 0 18px rgba(143,184,255,0),0 22px 44px -18px rgba(0,0,0,.65)}}
@keyframes ff7-cta-shine{0%,30%{transform:translateX(0) skewX(-18deg)}70%,100%{transform:translateX(470%) skewX(-18deg)}}
@keyframes ff7-ar-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
@media (max-width:767px){.ff6-home .ff7-hero .ff6-cta-primary{min-height:58px;font-size:16px;padding:0 22px}}
@media (prefers-reduced-motion:reduce){.ff6-home .ff7-hero .ff6-cta-primary,.ff7-hero .ff6-cta-primary::after,.ff7-hero .ff6-cta-primary .ff6-ar{animation:none}.ff7-hero .ff6-cta-primary::after{display:none}}

/* ---- v07 content additions (2026-09-26): self-built works strip (#ab-works) + profile axes / timeline / note (#ab-profile) ---- */
.ff6-home .ff7-port{margin-top:clamp(28px,4vw,44px);padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--line)}
.ff6-home .ff7-port-head{display:grid;gap:6px;margin-bottom:18px;max-width:720px}
.ff6-home .ff7-port-head h3{font-size:clamp(18px,2vw,22px);line-height:1.4;margin:0}
.ff6-home .ff7-port-head .ff6-lede{margin:0}
.ff6-home .ff7-port-grid{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ff6-home .ff7-port-grid li{display:grid;gap:6px;align-content:start;padding:16px 16px 14px;background:#fff;border:1px solid var(--line);border-radius:14px}
.ff6-home .ff7-port-grid b{font-size:15px;line-height:1.5;color:var(--ink)}
.ff6-home .ff7-port-grid p{margin:0;font-size:13px;line-height:1.7;color:var(--muted)}
.ff6-home .ff7-port-grid small{margin-top:auto;padding-top:8px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.ff6-home .ff7-axes{list-style:none;margin:22px 0 22px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ff6-home .ff7-axes li{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;gap:2px}
.ff6-home .ff7-axes span{font-family:var(--fmono);font-size:10.5px;letter-spacing:.14em;color:var(--blue)}
.ff6-home .ff7-axes b{font-size:14px;line-height:1.5}
.ff6-home .ff7-axes small{font-size:12px;color:var(--muted);line-height:1.6}
.ff6-home .ff7-person-note{margin:18px 0 22px;font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:1023px){.ff6-home .ff7-port-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ff6-home .ff7-port-grid{grid-template-columns:1fr}.ff6-home .ff7-axes{grid-template-columns:1fr}}

/* =====================================================================
   FIELD FIRST / v08 method6 + trust + consult / 2026-09-26
   6-step METHOD (DESIGN added; the 5→6 column grids are edited in place above: .ff6-steps / .ff-method ol),
   TOP security strip (#ff8-security), /service/ engagement ladder (#ff-engage), /profile/ policy list (.ff8-policy),
   /contact/ consult builder (.ff-consult — inputs + buttons only, no form element; hidden without JS).
   ===================================================================== */
.ff-sr,.ff-corporate .ff-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (max-width:1023px){.ff6-home .ff6-step h3{font-size:16px}.ff6-step .ff6-no{font-size:26px}.ff6-home .ff6-step p{font-size:13px}}
/* ---- TOP: SECURITY / AI DATA POLICY strip ---- */
.ff6-home .ff8-trust{background:var(--ice);border-top:1px solid var(--line);padding-block:clamp(36px,4.5vw,60px)}
.ff6-home .ff8-trust .ff6-sec-head{margin-bottom:clamp(18px,2.5vw,26px)}
.ff8-trust-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ff8-trust-grid li{display:grid;gap:6px;align-content:start;padding:16px 16px 14px;background:#fff;border:1px solid var(--line);border-radius:14px}
.ff8-trust-grid li span{font-family:var(--fmono);font-size:11px;letter-spacing:.14em;color:var(--blue)}
.ff8-trust-grid li b{font-size:15px;line-height:1.5;color:var(--navy)}
.ff6-home .ff8-trust-grid li p{margin:0;font-size:13.5px;line-height:1.7;color:var(--muted)}
@media (max-width:1023px){.ff8-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.ff8-trust-grid{gap:8px}.ff8-trust-grid li{padding:12px}.ff8-trust-grid li b{font-size:14px}.ff6-home .ff8-trust-grid li p{display:none}.ff6-home .ff8-trust h2 br{display:none}}
/* ---- /service/: engagement ladder + cost + examples ---- */
.ff8-ladder{list-style:none;margin:20px 0 8px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ff8-ladder li{position:relative;padding:18px 16px 16px;border:1px solid #D7E5F5;border-radius:14px;background:#fff}
.ff8-ladder li+li::before{content:"→";position:absolute;left:-15px;top:20px;width:14px;font:500 14px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#8FB8FF;text-align:center}
.ff8-ladder small{display:block;font:600 11px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;color:#005BD8;margin:0 0 8px}
.ff-inner .ff8-ladder h3{font-size:17px;line-height:1.5;margin:0 0 8px}
.ff-inner .ff8-ladder p{font-size:14px;line-height:1.75;color:#465572;margin:0}
.ff-inner .ff8-sub{font-size:17px;line-height:1.5;margin:28px 0 10px;padding-top:18px;border-top:1px solid #D7E5F5}
.ff8-bridge{margin:4px 0 0}.ff8-bridge .ff-link{font-size:inherit;margin:0;gap:4px}
.ff8-list{margin:0;padding-left:1.2em}.ff8-list li{margin:6px 0;font-size:15.5px;line-height:1.8}
.ff8-examples{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ff8-examples li{padding:8px 14px;border:1px solid #D7E5F5;border-radius:999px;background:#EFF6FF;color:#34435F;font-size:14px;line-height:1.6}
@media (max-width:1023px){.ff8-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.ff8-ladder li:nth-child(3)::before{display:none}}
@media (max-width:767px){.ff8-ladder{grid-template-columns:1fr;gap:10px}.ff8-ladder li+li::before{display:none}.ff8-examples li{font-size:13px}}
/* ---- /profile/: policy list ---- */
.ff8-policy{margin:18px 0 0;padding:0}
.ff8-policy>div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:16px 0;border-top:1px solid #D7E5F5}
.ff8-policy>div:last-child{border-bottom:1px solid #D7E5F5}
.ff8-policy dt{font-size:15px;font-weight:700;color:#0A154F;line-height:1.7}
.ff8-policy dd{margin:0;font-size:15.5px;line-height:1.85;color:#34435F}
@media (max-width:767px){.ff8-policy>div{grid-template-columns:1fr;gap:4px;padding:14px 0}}
/* ---- /contact/: consult builder ---- */
.ff-inner .ff-consult{padding:26px;background:#fff;border:1px solid #D7E5F5;border-radius:16px;margin:30px 0}
.ff-inner .ff-consult[hidden]{display:none}
.ff-inner .ff-consult>h2{margin:0 0 8px}
.ff-inner .ff-consult>p{font-size:15px;color:#465572;margin:0 0 8px}
.ff-consult-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ff-consult-steps>li{display:grid;grid-template-columns:44px 1fr;gap:8px 14px;padding:18px 0;border-top:1px solid #D7E5F5}
.ff-consult-no{grid-row:1/4;font:500 20px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#4F70AE;transition:color .3s}
.ff-consult-steps>li.is-done .ff-consult-no{color:#005BD8;font-weight:700}
.ff-inner .ff-consult-steps h3{font-size:16px;line-height:1.5;margin:0}
.ff-consult-steps>li>*:not(.ff-consult-no){grid-column:2}
.ff-consult-choices{display:flex;flex-wrap:wrap;gap:8px}
.ff-consult-choices label{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border:1px solid #D7E5F5;border-radius:999px;background:#F6F9FE;font-size:14px;line-height:1.5;color:#0A154F;cursor:pointer}
.ff-consult-choices label:has(input:checked){background:#0A154F;color:#fff;border-color:#0A154F}
.ff-consult-choices label:has(input:focus-visible){outline:2px solid #005BD8;outline-offset:2px}
.ff-consult-choices input{margin:0;accent-color:#005BD8}
.ff-consult textarea,.ff-consult input[type="text"],.ff-consult input[type="email"]{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #6B86B8;border-radius:10px;font:inherit;font-size:15px;line-height:1.6;color:#0A154F;background:#fff}
.ff-consult textarea:focus,.ff-consult input[type="text"]:focus,.ff-consult input[type="email"]:focus{outline:2px solid #005BD8;outline-offset:1px}
.ff-consult-you{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 0 4px;border-top:1px solid #D7E5F5}
.ff-consult-you label{display:grid;gap:6px;font-size:13px;color:#465572}
.ff-consult-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.ff-inner .ff-consult-open{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:0;border-radius:999px;background:#005BD8;color:#fff;font:inherit;font-size:14px;font-weight:700;line-height:1.4;cursor:pointer}
.ff-inner .ff-consult-open:hover{background:#0A154F;color:#fff}
.ff-inner .ff-consult-open:focus-visible{outline:2px solid #005BD8;outline-offset:3px}
.ff-inner .ff-consult .ff-copy-template{margin:0}
.ff-inner .ff-consult .ff-fine{margin-top:12px}
.ff-inner .ff-consult [data-ff8-status]:empty{margin:0;min-height:0}
.ff-inner .ff-consult [data-ff8-status]:not(:empty){color:#0A154F;font-weight:600}
.ff-consult textarea[aria-invalid="true"]{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}
.ff-req,.ff-opt{display:inline-block;vertical-align:middle;margin-left:8px;padding:2px 8px;border-radius:4px;font-size:12px;line-height:1.4;font-weight:700;font-family:inherit}
.ff-req{background:#0A154F;color:#fff}
.ff-opt{border:1px solid #D7E5F5;color:#4F70AE;background:#fff;font-weight:600}
.ff-inner .ff-reassure{list-style:none;margin:12px 0 14px;padding:0;display:grid;gap:6px}
.ff-inner .ff-reassure li{position:relative;padding-left:18px;font-size:15px;line-height:1.7;color:#0A154F}
.ff-inner .ff-reassure li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:8px;border-radius:50%;background:#005BD8}
.ff-inner .ff-after-send{margin:0 0 28px;padding:24px 0 0;border-top:1px solid #D7E5F5}
.ff-inner .ff-after-steps{list-style:none;counter-reset:ffas;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ff-inner .ff-after-steps li{counter-increment:ffas;padding:14px 16px;border:1px solid #D7E5F5;border-radius:12px;background:#F6F9FE}
.ff-inner .ff-after-steps li::before{content:"0" counter(ffas);display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:600;color:#005BD8;margin-bottom:6px}
.ff-inner .ff-after-steps strong{display:block;font-size:15px;line-height:1.5;color:#0A154F;margin-bottom:6px}
.ff-inner .ff-after-steps p{margin:0;font-size:14px;line-height:1.75;color:#465572}
@media (max-width:1023px){.ff-inner .ff-after-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.ff-inner .ff-after-steps{grid-template-columns:1fr;gap:10px}}
@media (max-width:767px){.ff-inner .ff-consult{padding:18px}.ff-consult-steps>li{grid-template-columns:32px 1fr;gap:6px 10px}.ff-consult-no{font-size:16px}.ff-consult-you{grid-template-columns:1fr}.ff-consult-actions{flex-direction:column;align-items:stretch}.ff-inner .ff-consult-open{width:100%}.ff-inner .ff-consult .ff-copy-template{width:100%;justify-content:center}}

/* FIELD FIRST / v10: five priorities, existing blue-and-white identity. */
/* The former classless CTA matched body.page:has(.ab-site) a:not([class]). */
.ab-cta-bar a.ff-contact-cta,
.ab-cta-bar a.ff-contact-cta:visited,
.ab-cta-bar a.ff-contact-cta:hover,
.ab-cta-bar a.ff-contact-cta:focus {color:#fff;background:#0A154F}
.ab-cta-bar a.ff-contact-cta:focus-visible {outline:3px solid #005BD8;outline-offset:3px}
body.page:has(.ab-site) .ff-page-nav a[aria-current="location"] {color:#fff;background:#0A154F}
.ff10-home .ff6-bleed {margin-inline:calc(50% - var(--ff-view-width,100%)/2)}
.ff10-home .ff6-sec {padding-block:48px}
.ff10-home .ff6-sec-head {margin-bottom:24px}
.ff10-home .ff6-svc-name {text-wrap:balance}
.ff10-home .ff7-visual-photo {margin-right:0;min-width:0}
.ff10-home .ff7-photo-wide {max-width:100%}
.ff10-home .ff6-hero-in {grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ff10-home .ff6-hero-copy {min-width:0}
.ff10-home .ff6-hero-text .ff7-ln {white-space:normal}
.ff10-home .ff6-person-grid {grid-template-columns:220px minmax(0,1fr);gap:24px 40px;align-items:start}
.ff10-home .ff6-portrait {max-width:220px;aspect-ratio:5/6}
.ff10-home .ff6-person-body {padding-top:12px}
.ff10-home .ff6-person-body .ff6-txt {max-width:44em}
.ff10-region {grid-column:2;font-size:14px;border-top:1px solid #D7E5F5;padding-top:16px}
.ff10-home .ff10-region h3 {font-size:18px;margin:0 0 8px}
.ff10-home .ff10-region p {margin:0;color:#465572}
.ff10-experience {padding:0 0 32px}
.ff10-home .ff6-trust-grid {grid-template-columns:minmax(180px,1fr) repeat(2,minmax(0,1fr))}
.ff10-home .ff6-trust-intro {padding:20px}
.ff10-home .ff6-trust-intro h3 {font-size:20px;margin:0}
.ff10-home .ff6-stats dd {font-size:36px}
.ff10-home .ff6-stats>div {padding:20px}
.ff10-home .ff6-trust-note {font-size:12px}
.ff10-home .ff6-case-grid {gap:16px}
.ff10-home .ff6-case figure img.ff10-case-real {object-fit:contain;background:#fff;padding:8px}
.ff10-home .ff6-case figure {height:180px}
.ff10-home .ff6-case-body {padding:18px}
.ff10-home .ff6-case-body h3 {font-size:20px}
.ff10-home .ff6-case-body p {font-size:14px}
.ff10-next {margin:24px 0 8px}
.ff10-home .ff6-method {background:#EFF6FF;color:#0A154F}
.ff10-home .ff6-method::before {display:none}
.ff10-home .ff6-method h2,.ff10-home .ff6-method h3 {color:#0A154F}
.ff10-home .ff6-method .ff6-lede,.ff10-home .ff6-method .ff6-step p {color:#465572}
.ff10-home .ff6-method .ff6-link {color:#005BD8}
.ff10-home .ff6-method .ff6-step {border-color:#D7E5F5}
.ff10-home .ff6-method .ff6-no {color:#005BD8}
.ff10-home .ff6-method .ff6-tagk {color:#465572}
.ff10-home .ff6-method .ff6-on-dark {color:#005BD8}
/* Essential content is readable immediately; keep only the hero's existing motion. */
html.ff6-js .ff10-home .ff6-rv {opacity:1;transform:none;transition:none}
.ff10-home .ff6-steps {gap:12px}
.ff10-home .ff8-trust {padding-block:32px}
.ff10-home .ff8-policy-points p {display:none}
.ff10-home .ff6-cta {padding-block:48px}
.ff-inner .ff10-real {background:#fff}
.ff-inner .ff10-real img {width:100%;height:320px;max-height:none;object-fit:contain;background:#fff}
.ff-inner .ff10-real figcaption {font-size:12px;line-height:1.7;padding:12px;text-align:left}
.ff10-evidence-link {display:block}
.ff10-evidence-link:focus-visible {outline:3px solid #005BD8;outline-offset:3px}
.ff10-evidence-more {margin:24px 0;border:1px solid #D7E5F5;border-radius:8px;padding:16px;background:#F6F9FE}
.ff10-evidence-more summary {cursor:pointer;font-weight:700;color:#005BD8}
.ff10-evidence-more figure {margin:16px 0 0}
.ff10-evidence-more img {width:100%;max-width:650px;height:auto;display:block;margin:auto}
.ff10-evidence-more figcaption {font-size:13px;line-height:1.7;margin-top:12px}
.ff10-projects .ff7-port-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0;padding:0;list-style:none}
.ff10-projects .ff7-port-grid li {padding:20px 0;border-top:1px solid #D7E5F5}
.ff10-projects .ff7-port-grid b {display:block;font-size:19px;margin:8px 0}
.ff10-projects .ff7-port-grid p {font-size:15px;line-height:1.8}
.ff10-projects .ff7-port-grid small {color:#465572;font-size:13px}
.ff10-projects .ff6-nm {color:#005BD8;font-size:12px}
.ff10-news-list article {display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;border-top:1px solid #D7E5F5;padding:28px 0}
.ff10-news-list article:last-child {border-bottom:1px solid #D7E5F5}
.ff10-news-list time {color:#465572;font-size:14px;padding-top:3px}
.ff-inner .ff10-news-list h3 {font-size:21px;line-height:1.6;margin:0 0 12px}
.ff10-news-list p {font-size:15px;line-height:1.85}
.ff10-related {margin:20px 0 0}
.ff10-contact-paths {display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.ff10-contact-paths a {padding:12px 18px;border:1px solid #005BD8;border-radius:8px;font-weight:700;color:#005BD8}
.ff10-contact-paths [hidden] {display:none}
.ff-inner:has(.ff10-contact-paths) .ff-page-nav {display:none}
@media(max-width:1023px){
 .ff10-home .ff6-hero-in {grid-template-columns:1fr}
 .ff10-home .ff7-visual-photo {max-width:600px}
 .ff10-home .ff6-trust-intro {grid-column:auto}
 .ff10-home .ff6-stats>div:first-of-type {border-left:1px solid #D7E5F5}
}

@media(max-width:767px){
 .ff10-home .ff6-hero-in {padding-top:40px;padding-bottom:28px;gap:24px}
 .ff10-home .ff7-photo-wide {max-height:210px}
 .ff10-home.ff6-compact .ff7-hero .ff6-hero-text {display:block;font-size:14px}
 .ff10-home .ff6-hero-actions {gap:18px}
 .ff10-home .ff6-case-grid {display:grid;grid-template-columns:1fr 1fr;margin-inline:0;padding:0;overflow:visible;gap:12px}
 .ff10-home .ff6-case {min-width:0;width:auto;flex:none}
 .ff10-home .ff6-case figure {height:130px}
 .ff10-home .ff6-case-body {padding:12px}
 .ff10-home .ff6-case-body h3 {font-size:17px;line-height:1.55}
 .ff10-home .ff6-case-body p {font-size:13px}
 .ff10-home .ff6-case-body .ff6-fact {display:none}
 .ff10-home .ff6-person-grid {grid-template-columns:100px minmax(0,1fr);gap:20px 16px}
 .ff10-home .ff6-portrait {max-width:100px;border-radius:12px}
 .ff10-home .ff6-portrait .ff6-tag {display:none}
 .ff10-home .ff6-person-body {padding:0}
 .ff10-home .ff6-person-body h2 {font-size:23px}
 .ff10-home .ff6-person-body .ff6-name {font-size:18px}
 .ff10-home .ff6-person-body .ff6-txt {font-size:14px;line-height:1.85}
 .ff10-region {grid-column:1/-1}
 .ff10-home .ff6-trust-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .ff10-home .ff6-trust-intro {grid-column:1/-1;padding:16px}
 .ff10-home .ff6-stats>div {padding:16px}
 .ff10-home .ff6-stats>div:first-of-type {border-left:0}
 .ff10-home .ff6-trust-note {font-size:12px}
 .ff10-home .ff6-stats dt {font-size:12px}
 .ff10-home .ff6-stats dd {font-size:32px}
 .ff10-projects .ff7-port-grid {grid-template-columns:1fr;gap:8px}
 .ff10-news-list article {grid-template-columns:1fr;gap:8px;padding:24px 0}
 .ff10-contact-paths {flex-direction:column;gap:8px;margin:12px 0 16px}
 .ff10-contact-paths a[href="#ff10-direct"] {display:none}
 .ff10-contact-paths a {min-height:44px;display:flex;align-items:center;padding:10px 14px}
 .ff10-contact-paths:not(:has(a[data-ff10-builder-link]:not([hidden]))) {display:none}
 .ff-inner .ff10-real img {height:300px}
}

/* 2026-10-04 review: unobstructed portrait and readable profile / consultation. */
.ff10-cta-phrase {display:inline-block}
.ff10-profile-summary>span {display:block}
.ff10-home .ff6-portrait {aspect-ratio:auto}
.ff10-home .ff6-portrait img {height:auto;object-fit:contain}
.ff10-home .ff6-portrait .ff6-tag {display:none}
.ff10-home .ff6-person-body h2,
.ff10-home .ff6-cta h2 {font-weight:700;letter-spacing:.04em;line-height:1.6}
.ff10-home .ff6-person-body .ff6-name {margin-top:24px;line-height:1.7;letter-spacing:.04em}
.ff10-home .ff6-person-body .ff6-name small {margin-top:6px;line-height:1.8;letter-spacing:.03em}
.ff10-home .ff6-person-body .ff6-txt {max-width:40em;margin-top:22px;letter-spacing:.035em;line-height:2.05}
.ff10-home .ff6-person-body .ff6-link {margin-top:16px;letter-spacing:.04em}
.ff10-home .ff6-cta {padding-block:64px}
.ff10-home .ff6-cta .ff6-lede {margin-top:24px;letter-spacing:.035em;line-height:1.9}
.ff10-home .ff6-cta .ff6-topics {margin:24px 0 32px;gap:12px 16px}
.ff10-home .ff6-cta .ff6-topics li {padding:12px 20px;letter-spacing:.03em;line-height:1.8}
.ff10-home .ff6-cta-actions {gap:20px 24px}
.ff10-home .ff6-cta-actions .ff6-btn {min-height:56px!important;padding:14px 24px;letter-spacing:.035em;line-height:1.7}
.ff10-home .ff6-cta .ff6-cta-fine {max-width:54em;margin:28px auto 0;letter-spacing:.035em;line-height:2;color:#E4ECFB;text-wrap:pretty}
@media(max-width:767px){
 .ff10-home .ff6-person-grid {grid-template-columns:1fr;gap:24px}
 .ff10-home .ff6-portrait {width:144px;max-width:144px}
 .ff10-home .ff6-person-body h2 {font-size:26px}
 .ff10-home .ff6-person-body .ff6-txt {font-size:15px;line-height:2}
 .ff10-home.ff6-compact .ff6-cta {padding-block:48px}
 .ff10-home .ff6-cta h2 {font-size:26px;letter-spacing:.025em}
 .ff10-home .ff6-cta .ff6-topics {flex-direction:column;align-items:stretch;gap:12px;margin:24px 0 32px}
 .ff10-home .ff6-cta .ff6-topics li {font-size:14px;text-align:left;padding:12px 18px}
 .ff10-home .ff6-cta-actions {gap:16px}
 .ff10-home .ff6-cta-actions .ff6-btn {font-size:14px;padding:14px 16px}
 .ff10-home .ff6-cta .ff6-cta-fine {font-size:13px;text-align:left}
}


/* =====================================================================
   FIELD FIRST / v10.2 representative section / 2026-10-05
   v08.1 の構成（本文・姿勢3点・実務の軸・エリア地図）を数値なしで復元。写真を大きく戻し、名札は本文側のみ。
   v10.3 (2026-10-05): 写真の position:sticky を外し本文と一緒にスクロールさせる（固定表示で本文が読みにくいため）。
   ===================================================================== */
.ff10-home .ff6-person-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:start}
.ff10-home .ff6-portrait{max-width:380px;aspect-ratio:5/6;position:relative}
.ff10-home .ff6-portrait .ff6-tag{display:none}
.ff10-home .ff6-person-body{padding-top:4px}
.ff10-home .ff6-person-body .ff10-profile-summary{margin-top:18px;font-size:17px;font-weight:700;line-height:1.8;color:var(--ink)}
.ff10-home .ff6-person-body .ff12-why{margin-top:12px;max-width:40em;font-size:15px;line-height:1.95}
.ff10-home.ff6-compact .ff6-stance{display:grid}
.ff10-home .ff6-stance{margin:24px 0 14px}
.ff10-home .ff7-axes{margin:0 0 24px}
.ff10-home .ff6-region{margin-top:clamp(24px,3vw,40px)}
.ff10-home .ff6-region .ff6-eyebrow{margin-bottom:6px}
@media(max-width:1023px){
 .ff10-home .ff6-person-grid{grid-template-columns:1fr}
 .ff10-home .ff6-portrait{position:relative;max-width:320px}
}
@media(max-width:767px){
 .ff10-home .ff6-person-grid{grid-template-columns:1fr;gap:24px}
 .ff10-home .ff6-portrait{width:160px;max-width:160px;aspect-ratio:5/6;border-radius:14px}
 .ff10-home .ff6-person-body .ff10-profile-summary{font-size:16px}
 .ff10-home .ff6-person-body .ff12-why{font-size:14px;line-height:1.9}
 .ff10-home .ff6-stance{margin:18px 0 12px}
 .ff10-home .ff7-axes{margin:0 0 18px}
}
/* FIELD FIRST / v10.4 person section brush-up / 2026-10-05 */
.ff10-home .ff14-person{position:relative;background:radial-gradient(rgba(10,21,79,.09) 1px,transparent 1.4px) 0 0/22px 22px,linear-gradient(180deg,#F6F9FE 0,#F1F6FD 50%,#EFF6FF 100%) #F3F7FD}
.ff10-home .ff14-person .ff6-person-grid{row-gap:clamp(24px,3.5vw,48px)}
.ff10-home .ff14-person .ff14-area{margin-top:0}
.ff10-home .ff14-cap{margin:22px 0 0;display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);line-height:1.6;text-wrap:pretty}
.ff10-home .ff14-cap .ff6-mono{flex:none;font-size:10.5px;font-weight:500;letter-spacing:.14em;color:var(--blue);padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:#fff}
.ff10-home .ff14-cards{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-items:start}
.ff10-home .ff14-stance{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);margin:12px 0 0;transition:grid-template-columns .38s var(--ease)}
.ff10-home .ff14-axes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:12px 0 24px}
.ff10-home .ff14-cards li{margin:0;padding:0;min-width:0}
.ff10-home .ff14-card{margin:0;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--sh1);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.ff10-home .ff14-card[open]{border-color:rgba(0,91,216,.45);box-shadow:0 1px 2px rgba(10,21,79,.05),0 18px 34px -24px rgba(0,91,216,.5)}
.ff10-home .ff14-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 14px 14px 16px;min-height:44px;border-radius:14px;color:var(--ink);-webkit-tap-highlight-color:transparent}
.ff10-home .ff14-card summary::-webkit-details-marker{display:none}
.ff10-home .ff14-card summary::marker{content:""}
.ff10-home .ff14-card[open] summary{border-radius:14px 14px 0 0}
.ff10-home .ff14-cards .ff14-card summary:focus-visible{border-radius:14px;outline-offset:3px}
.ff10-home .ff14-cards .ff14-card[open] summary:focus-visible{border-radius:14px 14px 0 0}
.ff10-home .ff14-axes summary{grid-template-columns:64px minmax(0,1fr) auto}
.ff10-home .ff14-no{display:block;font-family:var(--fmono);font-size:24px;font-weight:500;line-height:1;color:var(--blue);text-shadow:0 0 8px rgba(0,91,216,.35),0 0 20px rgba(143,184,255,.6);transform-origin:left center}
.ff10-home .ff14-k{display:block;align-self:start;padding-top:4px;min-width:0;font-family:var(--fmono);font-size:10.5px;font-weight:500;letter-spacing:.14em;color:var(--blue)}
.ff10-home .ff14-sum{display:grid;gap:3px;min-width:0}
.ff10-home .ff14-sum b{font-size:15px;font-weight:700;line-height:1.5}
.ff10-home .ff14-lead{font-size:13px;color:var(--muted);line-height:1.7;text-wrap:pretty}
.ff10-home .ff14-ic{position:relative;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--mist);align-self:center;transition:background .25s var(--ease),border-color .25s var(--ease)}
.ff10-home .ff14-ic::before,.ff10-home .ff14-ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:1px;background:var(--navy);transform:translate(-50%,-50%);transition:transform .3s var(--ease),background .25s var(--ease)}
.ff10-home .ff14-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.ff10-home .ff14-card[open] .ff14-ic{background:var(--blue);border-color:var(--blue)}
.ff10-home .ff14-card[open] .ff14-ic::before,.ff10-home .ff14-card[open] .ff14-ic::after{background:#fff}
.ff10-home .ff14-card[open] .ff14-ic::after{transform:translate(-50%,-50%) rotate(180deg)}
.ff10-home .ff14-body{padding:0 16px 16px}
.ff10-home .ff14-body p{margin:0;padding-top:12px;border-top:1px dashed var(--line);font-size:14px;line-height:1.9;color:var(--muted);text-wrap:pretty}
.ff10-home .ff14-card[open] .ff14-body p{animation:ff14-fade .45s var(--ease-out) both}
@keyframes ff14-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.ff10-home .ff14-card::details-content{block-size:0;overflow:clip;transition:block-size .38s var(--ease),content-visibility .38s allow-discrete}
.ff10-home .ff14-card[open]::details-content{block-size:auto}
@supports (interpolate-size:allow-keywords){.ff10-home .ff14-card{interpolate-size:allow-keywords}}
@media(hover:hover){.ff10-home .ff14-card:hover{border-color:rgba(0,91,216,.45)} .ff10-home .ff14-card summary:hover{background:rgba(0,91,216,.05)} .ff10-home .ff14-card summary:hover .ff14-ic{border-color:var(--blue)}}
.ff10-home .ff14-person .ff6-link{margin-top:2px}
@media(min-width:768px){
 .ff10-home .ff14-stance summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"no ic" "sum sum";row-gap:10px;align-items:start}
 .ff10-home .ff14-stance .ff14-no{grid-area:no;font-size:26px;align-self:center}
 .ff10-home .ff14-stance .ff14-ic{grid-area:ic;align-self:center}
 .ff10-home .ff14-stance .ff14-sum{grid-area:sum}
 .ff10-home .ff14-stance:has(li:nth-child(1) .ff14-card[open]){grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}
 .ff10-home .ff14-stance:has(li:nth-child(2) .ff14-card[open]){grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr)}
 .ff10-home .ff14-stance:has(li:nth-child(3) .ff14-card[open]){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr)}
 .ff10-home .ff14-card .ff14-lead{min-height:44.2px;transition:min-height .38s var(--ease)}
 .ff10-home .ff14-card[open] .ff14-lead{min-height:0}
}
@media(min-width:1024px) and (max-width:1279px){
 .ff10-home .ff14-axes summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k ic" "sum sum";row-gap:6px}
 .ff10-home .ff14-axes .ff14-k{grid-area:k;padding-top:0;align-self:center}
 .ff10-home .ff14-axes .ff14-ic{grid-area:ic}
 .ff10-home .ff14-axes .ff14-sum{grid-area:sum}
}
@supports (animation-timeline:view()){
 .ff10-home .ff14-stance .ff14-no{animation:ff14-glow linear both;animation-timeline:view();animation-range:cover 8% cover 36%}
 .ff10-home .ff14-stance li:nth-child(2) .ff14-no{animation-range:cover 12% cover 40%}
 .ff10-home .ff14-stance li:nth-child(3) .ff14-no{animation-range:cover 16% cover 44%}
}
@keyframes ff14-glow{from{opacity:1;color:#4F70AE;text-shadow:0 0 8px rgba(0,91,216,0),0 0 20px rgba(143,184,255,0);transform:scale(.88)}to{opacity:1;color:#005BD8;text-shadow:0 0 8px rgba(0,91,216,.35),0 0 20px rgba(143,184,255,.6);transform:none}}
.ff10-home .ff6-method .ff6-step .ff6-no{opacity:1;color:#4F70AE;transform-origin:left bottom;transition:color .4s var(--ease),text-shadow .4s var(--ease)}
.ff10-home .ff6-method .ff6-step.ff6-lit .ff6-no,html:not(.ff6-js) .ff10-home .ff6-method .ff6-step .ff6-no{color:#005BD8;text-shadow:0 0 10px rgba(0,91,216,.4),0 0 24px rgba(143,184,255,.65)}
.ff10-home .ff6-method .ff6-step.ff6-lit .ff6-no{animation:ff14-ignite .9s var(--ease-out) both}
@keyframes ff14-ignite{0%{transform:scale(1)}35%{transform:translateY(-2px) scale(1.14)}100%{transform:none}}
.ff10-home .ff6-method .ff6-step.ff6-lit::before{background:var(--blue);box-shadow:0 0 0 5px rgba(0,91,216,.14),0 0 14px rgba(0,91,216,.6)}
.ff10-home .ff14-area{position:relative;overflow:hidden;background:linear-gradient(135deg,#0A154F 0%,#060D33 100%);border-color:rgba(143,184,255,.22);color:var(--on-dark);box-shadow:0 28px 56px -36px rgba(6,13,51,.65)}
.ff10-home .ff14-area::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 90% at 32% 50%,rgba(0,91,216,.38),rgba(0,91,216,0) 70%);pointer-events:none}
.ff10-home .ff14-area>*{position:relative}
.ff10-home .ff14-area .ff6-eyebrow{color:var(--sky)}
.ff10-home .ff14-area h3{color:#fff;text-wrap:balance}
.ff10-home .ff14-area p{color:var(--on-dark-2);text-wrap:pretty}
.ff10-home .ff14-area .ff6-tags span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:var(--on-dark)}
.ff10-home .ff14-area .ff6-tags span.ff6-on{background:rgba(143,184,255,.14);border-color:rgba(143,184,255,.4);color:#fff}
.ff10-home .ff14-area .ff6-tags span.ff14-hub{position:relative;background:var(--blue);border-color:var(--sky);color:#fff;font-weight:700;box-shadow:0 0 0 3px rgba(143,184,255,.22),0 0 16px rgba(0,91,216,.9)}
.ff10-home .ff14-area .ff6-tags span.ff14-hub::after{content:"";position:absolute;inset:-4px;border-radius:999px;box-shadow:0 0 18px 4px rgba(143,184,255,.6);opacity:.5;animation:ff14-breathe 2.6s ease-in-out infinite;pointer-events:none}
@keyframes ff14-breathe{0%,100%{opacity:.2}50%{opacity:1}}
.ff10-home .ff14-mapwrap{position:relative;width:100%;max-width:440px;justify-self:end}
.ff10-home .ff14-mapwrap .ff6-map{display:block;width:100%;max-width:none}
.ff10-home .ff14-area .ff6-map .ff6-rt{stroke:var(--sky)}
.ff10-home .ff14-area .ff6-map path:not(.ff6-rt){stroke:rgba(143,184,255,.22)}
.ff10-home .ff14-area .ff6-map .ff6-nd{fill:#0A154F;stroke:var(--sky);stroke-width:2}
.ff10-home .ff14-area .ff6-map .ff6-hub{fill:#fff;stroke:var(--sky);stroke-width:3}
.ff10-home .ff14-area .ff6-map text{fill:#fff}
.ff10-home .ff14-area .ff6-map .ff14-hubtxt{font-size:13px;font-weight:900}
.ff10-home .ff14-area .ff6-map .ff6-sub{fill:var(--on-dark-2)}
.ff10-home .ff14-pulse{position:absolute;left:30.77%;top:50%;width:3.85%;aspect-ratio:1;margin:-1.925% 0 0 -1.925%;border-radius:50%;border:1.5px solid var(--sky);opacity:.45;transform:scale(1.8);pointer-events:none;animation:ff14-pulse 2.6s ease-out infinite}
.ff10-home .ff14-pulse2{animation-delay:1.3s}
@keyframes ff14-pulse{0%{opacity:.85;transform:scale(.5)}100%{opacity:0;transform:scale(3.4)}}
@media(max-width:1023px){
 .ff10-home .ff14-mapwrap{max-width:400px;justify-self:start}
}
@media(max-width:767px){
 .ff10-home .ff14-cap{margin-top:16px;font-size:12px}
 .ff10-home .ff14-stance,.ff10-home .ff14-axes{grid-template-columns:minmax(0,1fr);gap:10px}
 .ff10-home .ff14-stance{margin:10px 0 0}
 .ff10-home .ff14-axes{margin:10px 0 18px}
 .ff10-home .ff14-card summary{padding:12px 12px 12px 14px;gap:10px}
 .ff10-home .ff14-no{font-size:20px}
 .ff10-home .ff6-method .ff6-step.ff6-lit .ff6-no{text-shadow:0 0 6px rgba(0,91,216,.35),0 0 14px rgba(143,184,255,.55)}
 .ff10-home .ff14-body{padding:0 14px 14px}
 .ff10-home .ff14-area{grid-template-columns:1fr}
 .ff10-home .ff14-mapwrap{display:none}
 .ff10-home .ff14-area .ff6-tags span.ff14-hub::after{animation:none;opacity:.6}
}
@media (forced-colors:active){
 .ff10-home .ff14-ic::before,.ff10-home .ff14-ic::after{forced-color-adjust:none;background:CanvasText}
 .ff10-home .ff14-card[open] .ff14-ic{forced-color-adjust:none;background:Highlight;border-color:Highlight}
 .ff10-home .ff14-card[open] .ff14-ic::before,.ff10-home .ff14-card[open] .ff14-ic::after{background:HighlightText}
}
@media (prefers-reduced-motion:reduce){
 .ff10-home .ff14-pulse{opacity:.45;transform:scale(1.8)}
 .ff10-home .ff14-area .ff6-tags span.ff14-hub::after{opacity:.5}
 .ff10-home .ff14-stance .ff14-no,.ff10-home .ff6-method .ff6-step .ff6-no{opacity:1;color:#005BD8}
 .ff10-home .ff14-card::details-content{transition:none}
 .ff10-home .ff14-stance{transition:none}
 .ff10-home .ff14-card .ff14-lead{transition:none}
}
/* FIELD FIRST / v10.5 security section fix / 2026-10-05 */
.ff10-home .ff15-sec{padding-block:clamp(40px,4.5vw,56px);background:radial-gradient(60% 70% at 88% 0%,rgba(0,91,216,.10),rgba(0,91,216,0) 70%),radial-gradient(rgba(10,21,79,.07) 1px,transparent 1.4px) 0 0/22px 22px,linear-gradient(180deg,#EFF6FF 0,#F3F7FD 60%,#F6F9FE 100%) #EFF6FF}
.ff10-home .ff15-sec .ff6-sec-head{align-items:flex-end;gap:20px 32px;margin-bottom:clamp(20px,2.6vw,28px)}
.ff10-home .ff15-sec .ff6-sec-head>div{flex:1 1 auto;min-width:0}
.ff10-home .ff15-sec .ff6-sec-head h2{text-wrap:balance}
.ff10-home .ff15-sec .ff6-lede{max-width:none;text-wrap:pretty}
.ff10-home .ff15-ph{display:inline-block}
.ff10-home .ff15-sec .ff15-link{flex:none;align-self:flex-end;gap:10px;min-height:44px;margin-bottom:-6px;padding:0 8px 0 18px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:var(--sh1);font-size:13.5px;letter-spacing:.04em;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.ff10-home .ff15-sec .ff15-link:focus-visible{border-radius:999px}
.ff10-home .ff15-sec .ff15-link::after{display:none}
.ff10-home .ff15-sec .ff15-link .ff6-ar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;transition:transform .3s var(--ease),background .25s var(--ease)}
.ff10-home .ff15-sec .ff15-link:hover .ff6-ar{transform:translateX(2px)}
.ff10-home .ff15-grid{gap:14px}
.ff10-home .ff15-grid li{position:relative;isolation:isolate;gap:8px;padding:18px 18px 16px 20px;box-shadow:var(--sh1);transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
.ff10-home .ff15-grid li::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--sky),var(--blue))}
.ff10-home .ff15-grid li::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(80% 60% at 0% 0%,rgba(0,91,216,.08),rgba(0,91,216,0) 70%);opacity:0;transition:opacity .3s var(--ease);pointer-events:none}
.ff10-home .ff15-no{display:flex;align-items:center;gap:10px;font-family:var(--fmono);font-size:22px;font-weight:500;line-height:1;letter-spacing:0;color:var(--blue);text-shadow:0 0 8px rgba(0,91,216,.35),0 0 20px rgba(143,184,255,.6);transform-origin:left center}
.ff10-home .ff15-no::after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,rgba(0,91,216,.45),rgba(0,91,216,0))}
.ff10-home .ff15-grid li b{margin-top:2px;font-size:15.5px;font-weight:700;line-height:1.5;color:var(--navy);text-wrap:balance}
.ff10-home .ff15-sec .ff15-grid li p{margin:0;font-size:13.5px;line-height:1.75;color:var(--muted);text-wrap:pretty}
@supports (animation-timeline:view()){
 .ff10-home .ff15-no{animation:ff15-glow linear both;animation-timeline:view();animation-range:cover 8% cover 36%}
 .ff10-home .ff15-grid li:nth-child(2) .ff15-no{animation-range:cover 12% cover 40%}
 .ff10-home .ff15-grid li:nth-child(3) .ff15-no{animation-range:cover 16% cover 44%}
 .ff10-home .ff15-grid li:nth-child(4) .ff15-no{animation-range:cover 20% cover 48%}
}
@keyframes ff15-glow{from{opacity:1;color:#4F70AE;text-shadow:0 0 8px rgba(0,91,216,0),0 0 20px rgba(143,184,255,0);transform:scale(.88)}to{opacity:1;color:#005BD8;text-shadow:0 0 8px rgba(0,91,216,.35),0 0 20px rgba(143,184,255,.6);transform:none}}
@media(hover:hover){
 .ff10-home .ff15-grid li:hover{transform:translateY(-4px);border-color:rgba(0,91,216,.45);box-shadow:0 1px 2px rgba(10,21,79,.05),0 22px 40px -26px rgba(0,91,216,.55)}
 .ff10-home .ff15-grid li:hover::after{opacity:1}
 .ff10-home .ff15-sec .ff15-link:hover{border-color:rgba(0,91,216,.45);box-shadow:0 1px 2px rgba(10,21,79,.05),0 14px 26px -18px rgba(0,91,216,.5)}
 .ff10-home .ff15-sec .ff15-link:hover .ff6-ar{background:var(--blue)}
}
@media(min-width:1024px) and (max-width:1279px){
 .ff10-home .ff15-grid li{padding:16px 16px 14px 18px}
 .ff10-home .ff15-grid li b{font-size:14.5px}
 .ff10-home .ff15-sec .ff15-grid li p{font-size:13px}
}
@media(max-width:767px){
 .ff10-home .ff15-sec .ff6-sec-head{gap:14px;align-items:flex-start}
 .ff10-home .ff15-sec .ff15-link{align-self:flex-start;min-height:40px;margin-bottom:0;font-size:13px}
 .ff10-home .ff15-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .ff10-home .ff15-grid li{grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:3px;align-items:start;padding:12px 14px 12px 16px}
 .ff10-home .ff15-grid li::before{top:12px;bottom:12px}
 .ff10-home .ff15-grid li .ff15-no{grid-row:1/span 2;padding-top:2px;font-size:18px}
 .ff10-home .ff15-grid li .ff15-no::after{display:none}
 .ff10-home .ff15-grid li b{margin-top:0;font-size:14.5px}
 .ff10-home .ff15-sec .ff15-grid li p{display:block;font-size:12.5px;line-height:1.65}
}
@media (forced-colors:active){
 .ff10-home .ff15-grid li::before,.ff10-home .ff15-no::after{forced-color-adjust:none;background:CanvasText}
 .ff10-home .ff15-grid li::after{display:none}
}
@media (prefers-reduced-motion:reduce){
 .ff10-home .ff15-no{animation:none;opacity:1;color:#005BD8;transform:none}
 .ff10-home .ff15-grid li,.ff10-home .ff15-grid li::after,.ff10-home .ff15-sec .ff15-link,.ff10-home .ff15-sec .ff15-link .ff6-ar{transition:none}
 .ff10-home .ff15-grid li:hover{transform:none}
}
/* FIELD FIRST / v10.6 header readability / 2026-10-06
   Larger, clearer global navigation and brand lockup. CSS only (post 43); markup, JS and wording unchanged.
   Also fixes two inherited flaws: the desktop nav sat 14px below the logo centre (nav row was 66px inside an 80px header),
   and at 992-1099px the nav overlapped the brand name. Rollback: delete this block. */
/* --- brand lockup --- */
body.page:has(.ab-site) .headline a.logo{gap:12px}
body.page:has(.ab-site) .headline .ff-brand-name{font-size:22px;font-weight:700;letter-spacing:.02em;line-height:1.2;color:#0A154F}
body.page:has(.ab-site) .headline .ff-brand-name small{display:block;font-size:11px;font-weight:600;letter-spacing:.24em;margin-top:4px;color:#4F70AE}
/* --- nav links (desktop default, >=1280) --- */
body.page:has(.ab-site) .navbar .nav{gap:6px}
body.page:has(.ab-site) .navbar .nav > li > a{height:44px;padding:0 15px;border-radius:10px;color:#1C2A4E;font-size:15.5px;font-weight:600;letter-spacing:.02em;line-height:1;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
body.page:has(.ab-site) .navbar .nav > li > a:hover{color:#0A154F;background:#EFF6FF}
body.page:has(.ab-site) .navbar .nav > li.current-menu-item > a,
body.page:has(.ab-site) .navbar .nav > li.current_page_item > a{color:#005BD8;background:#EFF6FF;font-weight:700;box-shadow:inset 0 0 0 1px #D7E5F5}
body.page:has(.ab-site) .navbar .nav > #menu-item-22{margin-left:10px}
body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a,
body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a{color:#fff;background:#0A154F;border-radius:11px;padding:0 22px;font-size:15.5px;font-weight:700;letter-spacing:.03em;box-shadow:0 8px 18px -12px rgba(10,21,79,.7)}
body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a:hover,
body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a:hover{background:#005BD8;color:#fff;box-shadow:0 10px 22px -12px rgba(0,91,216,.7)}
/* --- desktop: nav row = header height, so logo and links share one centre line (80px, 66px when scrolled) --- */
@media (min-width:992px){
 body.page:has(.ab-site) .headline > .container{height:var(--ab-head-h,80px);transition:height .28s var(--ab-ease)}
 body.page:has(.ab-site) .navbar{top:0;margin-top:calc(-1 * var(--ab-head-h,80px));height:var(--ab-head-h,80px);transition:height .28s var(--ab-ease),margin-top .28s var(--ab-ease)}
}
/* --- 1200-1279: slightly tighter --- */
@media (min-width:1200px) and (max-width:1279px){
 body.page:has(.ab-site) .navbar .nav{gap:4px}
 body.page:has(.ab-site) .navbar .nav > li > a{font-size:15px;padding:0 11px}
 body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a,
 body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a{font-size:15px;padding:0 18px}
 body.page:has(.ab-site) .headline .ff-brand-name{font-size:21px}
}
/* --- 1100-1199 --- */
@media (min-width:1100px) and (max-width:1199px){
 body.page:has(.ab-site) .navbar .nav{gap:3px}
 body.page:has(.ab-site) .navbar .nav > li > a{font-size:14.5px;padding:0 10px;letter-spacing:.01em}
 body.page:has(.ab-site) .navbar .nav > #menu-item-22{margin-left:6px}
 body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a,
 body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a{font-size:14.5px;padding:0 16px}
 body.page:has(.ab-site) .headline .ff-brand-name{font-size:21px}
}
/* --- 768-1099: compact row (992-1099 beside the logo, 768-991 on its own row) --- */
@media (min-width:768px) and (max-width:1099px){
 body.page:has(.ab-site) .navbar .nav{gap:1px}
 body.page:has(.ab-site) .navbar .nav > li > a{font-size:14px;padding:0 8px;letter-spacing:.01em}
 body.page:has(.ab-site) .navbar .nav > #menu-item-22{margin-left:4px}
 body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a,
 body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a{font-size:14px;padding:0 12px}
 body.page:has(.ab-site) .headline .ff-brand-name{font-size:20px}
 body.page:has(.ab-site) .headline .ff-brand-name small{font-size:10px}
}
@media (min-width:768px) and (max-width:991px){
 body.page:has(.ab-site) .navbar .nav{padding:8px 0;gap:4px;justify-content:flex-start}
}
/* --- phone drawer: bigger tap targets and text --- */
@media (max-width:767px){
 body.page:has(.ab-site) .headline .ff-brand-name{font-size:17px;letter-spacing:.01em}
 body.page:has(.ab-site) .headline .ff-brand-name small{font-size:9px;letter-spacing:.2em;margin-top:3px}
 body.page:has(.ab-site) .navbar .nav > li > a{display:flex;justify-content:space-between;align-items:center;height:auto;min-height:54px!important;padding:14px 12px;font-size:16px;font-weight:600;border-radius:0;letter-spacing:.01em}
 body.page:has(.ab-site) .navbar .nav > li > a::after{content:"\2192";display:inline;position:static;width:auto;height:auto;background:none;color:#93ADD7;font-size:16px}
 body.page:has(.ab-site) .navbar .nav > li.current-menu-item > a::after,
 body.page:has(.ab-site) .navbar .nav > li.current_page_item > a::after{content:"\2192";display:inline;position:static;left:auto;right:auto;bottom:auto;width:auto;height:auto;background:none;color:#005BD8}
 body.page:has(.ab-site) .navbar .nav > li.current-menu-item > a,
 body.page:has(.ab-site) .navbar .nav > li.current_page_item > a{box-shadow:none}
 body.page:has(.ab-site) .navbar .nav > #menu-item-22{margin:18px 0 0}
 body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a,
 body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a{justify-content:center;gap:8px;min-height:56px!important;padding:14px 20px;border-radius:14px;font-size:16px}
 body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a::after,
 body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a::after{display:inline;color:#fff}
}
@media (hover:none){
 body.page:has(.ab-site) .navbar .nav > #menu-item-22 > a:hover,
 body.page:has(.ab-site) .navbar .nav > li.current-menu-item#menu-item-22 > a:hover{background:#0A154F;box-shadow:0 8px 18px -12px rgba(10,21,79,.7)}
}
@media (prefers-reduced-motion:reduce){
 body.page:has(.ab-site) .headline > .container,body.page:has(.ab-site) .navbar,body.page:has(.ab-site) .navbar .nav > li > a{transition:none}
}
/* FIELD FIRST / v10.7 footer readability / 2026-10-06
   Bigger, clearer footer: column headings, page links, brand tagline and copyright bar. CSS only (post 43); markup, JS and wording unchanged.
   Also removes the empty 28px band the theme footer kept above the copyright bar (its only widget is already hidden on every page).
   Rollback: delete this block. */
/* --- layout --- */
body.page:has(.ab-site) .ff-footer-links{padding:64px 24px 56px;gap:40px 36px;grid-template-columns:1.35fr 1fr 1fr 1fr;border-top:1px solid #D7E5F5}
body.page:has(.ab-site) .ff-footer-links>div{min-width:0}
/* --- column headings --- */
body.page:has(.ab-site) .ff-footer-links strong{display:block;font:700 13.5px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.14em;color:#4F70AE;margin-bottom:10px}
/* --- page links --- */
body.page:has(.ab-site) .ff-footer-links a{min-height:46px;color:#1C2A4E;font-size:15.5px;font-weight:500;line-height:1.4;letter-spacing:.01em;text-decoration:none;transition:color .15s ease}
body.page:has(.ab-site) .ff-footer-links a:hover{color:#005BD8;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
/* --- brand column --- */
body.page:has(.ab-site) .ff-footer-links .ff-footer-mark{width:88px;height:60px;margin-bottom:14px}
body.page:has(.ab-site) .ff-footer-links>div:first-child strong{font-size:15px;letter-spacing:.2em;color:#0A154F;margin-bottom:0}
body.page:has(.ab-site) .ff-footer-links p{margin-top:12px;font-size:15px;line-height:1.9;color:#465572}
body.page:has(.ab-site) .ff-footer-links p::first-line{font-weight:700;color:#0A154F}
/* --- theme footer: drop the empty band, keep the copyright bar --- */
body.page:has(.ff-footer-links) footer{border-top:0}
body.page:has(.ff-footer-links) footer>.container{display:none}
body.page:has(.ab-site) footer .copy{font-size:12.5px;line-height:1.6;letter-spacing:.04em;padding:20px 18px}
body.page:has(.ab-site) footer .copy a{font-weight:600}
body.page:has(.ab-site) footer .copy a:hover{text-decoration:underline;text-underline-offset:4px}
@media (min-width:768px) and (max-width:1023px){
body.page:has(.ab-site) .ff-footer-links{padding:52px 24px 44px;gap:36px 32px;grid-template-columns:1fr 1fr}
body.page:has(.ab-site) .ff-footer-links a{font-size:15px}
}
@media (max-width:767px){
body.page:has(.ab-site) .ff-footer-links{padding:44px 20px 36px;gap:30px 20px;grid-template-columns:1fr 1fr}
body.page:has(.ab-site) .ff-footer-links>div:first-child{grid-column:1/-1}
body.page:has(.ab-site) .ff-footer-links strong{font-size:13px;margin-bottom:6px}
body.page:has(.ab-site) .ff-footer-links>div:first-child strong{font-size:14.5px}
body.page:has(.ab-site) .ff-footer-links a{min-height:48px;font-size:15.5px}
body.page:has(.ab-site) .ff-footer-links p{font-size:14.5px}
body.page:has(.ab-site) footer .copy{font-size:12px;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px))}
}
@media (hover:none){
body.page:has(.ab-site) .ff-footer-links a:hover{color:#1C2A4E;text-decoration:none}
}
@media (prefers-reduced-motion:reduce){
body.page:has(.ab-site) .ff-footer-links a{transition:none}
}
/* FIELD FIRST / 2026-10-07 site improvement F-27 / F-37
   F-27: hero eyebrow の .ff6-dim を暗背景で読める濃さに（opacity 1 + --on-dark-2）。暗背景（hero / 最終 CTA）上の focus-visible は白 3px。
   F-37: 証拠 PNG の figcaption 内「拡大して見る」リンク。Rollback: delete this block. */
.ff6-hero-eyebrow .ff6-dim{opacity:1;color:var(--on-dark-2)}
.ff6-home .ff7-hero :is(a,button):focus-visible,.ff6-home .ff6-cta :is(a,button):focus-visible{outline:3px solid #fff;outline-offset:2px}
.ff-inner .ff10-evidence-zoom{display:inline-block;margin-left:.4em;color:#005BD8;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}


/* 2026-10-08 live browser review: inline validation, index hint and readable wrapping. */
.ff-word{display:inline-block;max-width:100%}
.ff-inner .ff-consult .ff-consult-error{margin:0;font-size:14px;line-height:1.7;color:#B3261E;font-weight:600}
.ff-consult-error[hidden]{display:none}
.ff-inner .ff-ui-nav{position:sticky;top:72px;z-index:25;min-width:0;margin:16px 0 8px;background:rgba(255,255,255,.96);border-radius:10px}
.ff-inner .ff-ui-nav .ff-page-nav{position:static;z-index:auto;margin:0}
.ff-inner .ff-nav-hint{margin:0;padding:4px 8px;font-size:12px;line-height:1.5;color:#465572;text-align:right}
.ff-nav-hint[hidden]{display:none}
@media(max-width:767px){.ff-inner .ff-ui-nav{top:68px;margin:14px -4px 8px}}
@media(min-width:768px) and (max-width:1023px){
 .ff10-home .ff6-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;padding-top:0}
 .ff10-home .ff6-steps-line{display:none}
 .ff10-home .ff6-method .ff6-step{padding:18px 8px 0 0;border-top:2px solid #D7E5F5}
 .ff10-home .ff6-method .ff6-step::before{top:-5px}
 .ff10-home .ff6-method .ff6-step p{font-size:14px}
}
