@charset "UTF-8";
:root {
  --color-white: #ffffff;
  --color-gray-50: #fafafa;
  --color-gray-100: #f4f4f5;
  --color-gray-200: #e4e4e7;
  --color-gray-300: #d4d4d8;
  --color-gray-400: #a1a1aa;
  --color-gray-500: #71717a;
  --color-gray-600: #52525b;
  --color-gray-700: #3f3f46;
  --color-gray-800: #27272a;
  --color-gray-900: #18181b;
  --color-black: #000000;
  --color-primary: #1a66a8;
  --color-primary-hover: color-mix(in oklab, var(--color-primary) 85%, #000);
  --color-primary-active: color-mix(in oklab, var(--color-primary) 70%, #000);
  --color-primary-subtle: var(--color-gray-100);
  --color-primary-muted: var(--color-gray-200);
  --color-primary-contrast: #ffffff;
  --color-accent: #c0392b;
  --color-ink-900: #1a1a1a;
  --color-ink-700: #4a4a4a;
  --color-ink-500: #7a7a7a;
  --color-bg: var(--color-gray-50);
  --color-bg-muted: var(--color-gray-100);
  --bg-noise-alpha: 0.02;
  --color-bg-section-alt: var(--color-gray-100);
  --color-dark-bg: #0b1220;
  --color-border: #e0e4ea;
  --color-success: #2e7d32;
  --color-warning: #e67e22;
  --color-error: #c62828;
  --color-brand-economy-bg: var(--color-gray-100);
  --color-brand-economy-bg-deep: var(--color-gray-200);
  --color-brand-economy-text: #004f8e;
  --color-brand-economy-text-sub: #003b6b;
  --color-brand-ryuma-bg: #0b1220;
  --color-brand-ryuma-text: #ffffff;
  --color-brand-ryuma-text-sub: #cbd5e0;
  --color-brand-ryuma-accent: #d4a868;
  --color-brand-neo-bg: #fef9f2;
  --color-brand-neo-bg-deep: #f5e8d0;
  --color-brand-neo-text: #b87333;
  --color-brand-neo-text-sub: #7a4a1f;
  --color-brand-neo-accent: #d4a868;
  --color-accent-warning: #f29c12;
  --color-footer-bg: var(--color-dark-bg);
  --color-footer-text: color-mix(in oklab, #fff 88%, var(--color-footer-bg));
  --color-footer-muted: color-mix(in oklab, #fff 55%, var(--color-footer-bg));
  --color-footer-link: color-mix(in oklab, var(--color-primary-subtle) 70%, #fff);
  --font-sans: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Barlow Semi Condensed", "Noto Sans JP", sans-serif;
  --fs-xs: clamp(0.75rem, 0.72rem + 0.12vw, 0.8125rem);
  --fs-sm: clamp(0.875rem, 0.84rem + 0.15vw, 0.9375rem);
  --fs-base: 1rem;
  --fs-lg: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --fs-content-title: clamp(1rem, 0.94rem + 0.3vw, 1.125rem);
  --fs-h3: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);
  --fs-h2: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
  --fs-h1: clamp(2rem, 1.4rem + 3vw, 3.5rem);
  --fs-display: clamp(2.5rem, 1.6rem + 4.5vw, 5rem);
  --lh-tight: 1.25;
  --lh-base: 1.75;
  --tracking-tight: -0.01em;
  --tracking-wide: 0.04em;
  --sp-2xs: clamp(0.25rem, 0.23rem + 0.1vw, 0.375rem);
  --sp-xs: clamp(0.5rem, 0.46rem + 0.2vw, 0.75rem);
  --sp-sm: clamp(0.75rem, 0.7rem + 0.25vw, 1rem);
  --sp-md: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
  --sp-lg: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
  --sp-xl: clamp(2rem, 1.6rem + 2vw, 4rem);
  --sp-2xl: clamp(4rem, 2rem + 8vw, 10rem);
  --sp-3xl: clamp(6rem, 3rem + 12vw, 15rem);
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.06);
  --shadow-md: 0 4px 12px rgb(0 0 0 / 0.08);
  --shadow-lg: 0 12px 32px rgb(0 0 0 / 0.10);
  --shadow-ring: 0 0 0 3px color-mix(in oklab, var(--color-primary) 30%, transparent);
  --shadow-card: 0 4px 16px rgba(0, 0, 0, 0.08);
  --shadow-card-hover: 0 10px 32px rgba(0, 0, 0, 0.14);
  --max-width-text: 42rem;
  --max-width-wide: 56rem;
  --button-width-min-wide: 15rem;
  --container-max: min(100% - 2rem, 96rem);
  --container-text: min(100% - 2rem, 42rem);
  --container-form: min(100%, 45rem);
  --container-narrow: min(100% - 2rem, 50rem);
  --container-medium: min(100% - 2rem, 65rem);
  --container-wide: var(--container-medium);
  --container-xwide: min(100% - 2rem, 100rem);
  --contact-info-cards-icon-size: 3rem;
  --header-utility-height: 2.5rem;
  --header-primary-min-height: 3rem;
  --header-primary-min-height-sp: 3.5rem;
  --header-utility-height-compact: 1.75rem;
  --header-primary-min-height-compact: 2.25rem;
  --header-height: 3.5rem;
  --header-total-height: calc(var(--header-utility-height) + var(--header-primary-min-height));
  --mega-panel-offset-top: var(--header-total-height);
  --z-sticky-header: 200;
  --z-mega-scrim: 205;
  --z-mega-panel: 210;
  --z-menu-overlay: 300;
  --shadow-header: 0 1px 0 0 var(--color-border);
  --footer-padding-block: var(--sp-2xl);
  --footer-legal-padding-block: var(--sp-4);
  --cta-band-padding-block: var(--section-py);
  --cta-band-bg: var(--color-bg-muted);
  --lh-normal: 1.6;
  --bp-tablet: 48em;
  --color-surface-white: var(--color-bg);
  --color-surface-black: #000000;
  --color-footer-bg-deep: var(--color-dark-bg);
  --color-footer-ink: #f4f4f5;
  --color-footer-ink-muted: #a1a1aa;
  --color-footer-border: color-mix(in oklab, var(--color-footer-ink) 14%, transparent);
  --color-focus-ring: color-mix(in oklab, var(--color-primary) 40%, transparent);
  --color-focus-ring-inverse: color-mix(in oklab, var(--color-footer-ink) 60%, transparent);
  --font-weight-regular: 400;
  --font-weight-bold: 700;
}

:root {
  --motion-duration-tap: 150ms;
  --motion-duration-fast: 120ms;
  --motion-duration-mega: 180ms;
  --motion-duration-base: 200ms;
  --motion-duration-drawer: 240ms;
  --motion-duration-slow: 320ms;
  --motion-duration-lg: 600ms;
  --motion-duration-slower: 800ms;
  --motion-duration-2xl: 1200ms;
  --motion-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --motion-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --motion-ease-in: cubic-bezier(0.55, 0, 1, 0.45);
  --motion-ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
  --motion-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --motion-offset-sm: 4px;
  --motion-offset-md: 8px;
  --motion-reveal-y: 24px;
  --motion-reveal-x: 40px;
}

:root {
  --color-primary: #004F8E;
  --color-primary-hover: #003A69;
  --color-primary-subtle: var(--color-gray-100);
  --color-primary-contrast: #EBEBEB;
  --color-accent: #0C3560;
  --color-accent-subtle: var(--color-gray-200);
  --color-ink-900: #2C2C2C;
  --color-ink-700: #52525b;
  --color-ink-500: #71717a;
  --color-bg: var(--color-gray-50);
  --color-bg-muted: var(--color-gray-100);
  --color-bg-section-alt: var(--color-gray-100);
  --color-border: #d7dbe0;
  --color-border-divider: #d7dbe0;
  --color-dark-strip: #1A1A1B;
  --color-dark-strip-ink: #EBEBEB;
  --color-front-about-bg-start: var(--color-bg);
  --color-front-about-bg-end: var(--color-bg-section-alt);
  --color-focus-ring: color-mix(in oklab, var(--color-primary) 45%, transparent);
  --color-border-focus: var(--color-primary);
  --color-brand: var(--color-primary);
  --color-brand-hover: var(--color-primary-hover);
  --color-brand-subtle: var(--color-primary-subtle);
  --radius-sm: 2px;
  --radius-md: 2px;
  --radius-lg: 0;
  --radius-pill: 0;
  --shadow-sm: 0 2px 0 rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 0 rgba(0, 0, 0, 0.12), 0 8px 20px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 8px 0 rgba(0, 0, 0, 0.15), 0 12px 30px rgba(0, 0, 0, 0.08);
  --shadow-industrial-sm: 0 2px 0 rgba(0, 0, 0, 0.08);
  --shadow-industrial-md: 0 4px 0 rgba(0, 0, 0, 0.12), 0 8px 20px rgba(0, 0, 0, 0.06);
  --shadow-industrial-lg: 0 8px 0 rgba(0, 0, 0, 0.15), 0 12px 30px rgba(0, 0, 0, 0.08);
  --fs-content-title: clamp(1rem, 0.92rem + 0.35vw, 1.1875rem);
  --fs-h3: clamp(1.25rem, 1.09rem + 0.69vw, 1.75rem);
  --fs-h2: clamp(1.75rem, 1.51rem + 1.03vw, 2.5rem);
  --fs-h1: clamp(2.25rem, 1.85rem + 1.72vw, 3.5rem);
  --fs-display: clamp(3rem, 2.35rem + 2.76vw, 5rem);
  --fs-hero: clamp(3.5rem, 2.53rem + 4.13vw, 6.5rem);
  --tracking-hero: -0.02em;
  --tracking-tight: -0.01em;
  --tracking-wide: 0.04em;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--color-ink-900);
  overflow-wrap: break-word;
  background: var(--color-bg);
}

img,
video,
canvas,
embed {
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
}

code {
  font-size: 0.9em;
  padding: 0.1em 0.35em;
  border-radius: var(--radius-sm);
  background: color-mix(in oklab, var(--color-ink-900) 8%, var(--color-bg));
}

.l-container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: clamp(var(--sp-4), 0.5rem + 1.5vw, var(--sp-6));
}
@media (min-width: 48em) {
  .l-container {
    padding-inline: clamp(2.25rem, 1rem + 2.25vw, var(--sp-7));
  }
}
@media (min-width: 75em) {
  .l-container {
    padding-inline: clamp(var(--sp-7), 1.25rem + 2vw, var(--sp-8));
  }
}

.l-container--text {
  max-width: var(--container-text);
}
.l-container--narrow {
  max-width: var(--container-narrow);
}
.l-container--medium {
  max-width: var(--container-medium);
}
.l-container--wide {
  max-width: var(--container-max);
}
.l-container--xwide {
  max-width: var(--container-xwide);
}
.l-container--full {
  max-width: 100%;
  padding-inline: 0;
}

:root {
  --header-info-strip-max: 1.75rem;
  --header-total-height: calc(
    var(--header-info-strip-max) + var(--header-utility-height) + var(--header-primary-min-height)
  );
}

.l-header {
  --scroll-t: clamp(0, calc(var(--scroll, 0) / 60), 1);
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: var(--z-sticky-header);
  padding: 0;
  background: var(--color-bg);
  font-family: var(--font-sans);
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), padding var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), padding var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out), padding var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out), padding var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
}
.l-header.is-scrolled {
  background: color-mix(in oklab, var(--color-bg) 42%, transparent);
  backdrop-filter: blur(14px) saturate(165%);
  -webkit-box-shadow: var(--shadow-sm);
          box-shadow: var(--shadow-sm);
}
body.is-drawer-open .l-header.is-scrolled {
  backdrop-filter: none;
  background: color-mix(in oklab, var(--color-bg) 72%, transparent);
}
.l-header.is-compact .c-utility-bar, .l-header.is-compact .c-utility-bar__inner {
  min-height: var(--header-utility-height-compact);
  -webkit-transition: min-height var(--motion-duration-base) var(--motion-ease-out);
  transition: min-height var(--motion-duration-base) var(--motion-ease-out);
}
.l-header.is-compact .c-utility-bar {
  font-size: var(--fs-xs);
  -webkit-transition: min-height var(--motion-duration-base) var(--motion-ease-out), font-size var(--motion-duration-base) var(--motion-ease-out);
  transition: min-height var(--motion-duration-base) var(--motion-ease-out), font-size var(--motion-duration-base) var(--motion-ease-out);
}
.l-header.is-compact .l-header__primary-inner {
  min-height: var(--header-primary-min-height-compact);
  -webkit-transition: min-height var(--motion-duration-base) var(--motion-ease-out);
  transition: min-height var(--motion-duration-base) var(--motion-ease-out);
}
@media (prefers-reduced-motion: reduce) {
  .l-header {
    -webkit-transition: none;
    transition: none;
  }
  .l-header.is-compact .c-utility-bar, .l-header.is-compact .c-utility-bar__inner, .l-header.is-compact .l-header__primary-inner {
    -webkit-transition: none;
    transition: none;
  }
}

.l-header.is-hidden {
  -webkit-transform: none;
          transform: none;
}

@media (max-width: 47.9375em) {
  :root {
    --header-total-height: calc(var(--header-info-strip-max) + var(--header-primary-min-height-sp));
  }
  .l-header .c-utility-bar {
    display: none;
  }
  .l-header__primary {
    padding-block: 0;
  }
  .l-header__primary-inner,
  .l-header.is-compact .l-header__primary-inner {
    min-height: var(--header-primary-min-height-sp);
  }
}
.l-header__primary-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-3);
  min-height: var(--header-primary-min-height);
}
@media (min-width: 48em) {
  .l-header__primary-inner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    padding-block: calc(var(--sp-2) - var(--scroll-t) * 0.25rem);
    -webkit-transition: padding-block var(--motion-duration-base) var(--motion-ease-out);
    transition: padding-block var(--motion-duration-base) var(--motion-ease-out);
  }
}
@media (prefers-reduced-motion: reduce) {
  .l-header__primary-inner {
    -webkit-transition: none;
    transition: none;
  }
}

@media (min-width: 48em) {
  .l-header .c-logo__mark {
    -webkit-transform: scale(calc(1 - var(--scroll-t) * 0.06));
            transform: scale(calc(1 - var(--scroll-t) * 0.06));
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
    transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
    transition: transform var(--motion-duration-base) var(--motion-ease-out);
    transition: transform var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  }
}
@media (min-width: 48em) and (prefers-reduced-motion: reduce) {
  .l-header .c-logo__mark {
    -webkit-transition: none;
    transition: none;
  }
}
.l-header__intro {
  padding-block: var(--sp-xl);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg-muted);
}

.l-footer {
  padding: 0;
}

.l-footer__meta {
  padding-block: var(--sp-5);
  background: var(--color-bg-muted);
}

:root {
  --section-py: clamp(5rem, 2rem + 8vw, 9rem);
  --section-py-lg: clamp(7rem, 3rem + 14vw, 14rem);
}

:where(.l-section) {
  padding-block: var(--section-py);
}

.l-section--lg {
  padding-block: var(--section-py-lg);
}
.l-section--flush-y {
  padding-block: 0;
}
.l-section--muted {
  background: var(--color-bg-section-alt);
}
.l-section--alt {
  background: var(--color-bg-section-alt);
}
.l-section--dark {
  background: var(--color-dark-bg);
  color: var(--color-footer-ink);
}

.l-bento {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}
.l-bento > * {
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.l-bento__item--lg {
  grid-column: span 8;
}
.l-bento__item--md {
  grid-column: span 6;
}
.l-bento__item--sm {
  grid-column: span 4;
}
.l-bento__item--xs {
  grid-column: span 3;
}
@media (max-width: 768px) {
  :is(.l-bento) > * {
    grid-column: 1/-1;
  }
}

.is-wireframe {
  --color-primary: var(--color-gray-900);
  --color-primary-hover: var(--color-gray-800);
  --color-primary-active: var(--color-gray-700);
  --color-primary-subtle: var(--color-gray-100);
  --color-primary-muted: var(--color-gray-200);
  --color-primary-contrast: var(--color-white);
  --color-accent: var(--color-gray-700);
  --color-accent-subtle: var(--color-gray-200);
  --color-focus-ring: color-mix(in oklab, var(--color-gray-900) 40%, transparent);
  --color-bg: var(--color-white);
  --color-bg-muted: var(--color-gray-100);
  --color-border: var(--color-gray-200);
  --color-border-divider: var(--color-gray-200);
  --color-ink-900: var(--color-gray-900);
  --color-dark-strip: var(--color-gray-900);
  --color-dark-strip-ink: var(--color-white);
  --color-border-focus: var(--color-gray-900);
  --color-brand: var(--color-gray-900);
  --color-brand-hover: var(--color-gray-800);
  --color-brand-subtle: var(--color-gray-100);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.06);
  --shadow-md: 0 4px 12px rgb(0 0 0 / 0.08);
  --shadow-lg: 0 12px 32px rgb(0 0 0 / 0.10);
}

html {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html {
    overflow-x: hidden;
  }
}
html.is-intro-pending,
html.is-intro-pending body {
  overflow: hidden;
}

.l-header.js-header {
  -webkit-transition: opacity 800ms var(--motion-ease-out, ease-out);
  transition: opacity 800ms var(--motion-ease-out, ease-out);
}

html.is-intro-pending .l-header.js-header {
  opacity: 0;
  pointer-events: none;
}

html.is-page-loaded .l-header.js-header,
html.is-content-revealed .l-header.js-header {
  opacity: 1;
  pointer-events: auto;
}

body {
  position: relative;
  background-color: var(--color-bg, var(--color-gray-50));
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  background-repeat: repeat;
}
@media print {
  body::before {
    display: none;
  }
}

.l-main,
.l-footer {
  position: relative;
  z-index: 1;
  min-width: 0;
  overflow-x: clip;
}

.l-attachment-shell {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
}
@media (min-width: 48em) {
  .l-attachment-shell {
    grid-template-columns: 170px 1fr;
    gap: var(--sp-xl);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}

.l-main--boss-pin {
  position: relative;
  isolation: isolate;
  background-color: var(--color-dark-bg);
  color: color-mix(in oklab, #fff 92%, var(--color-dark-bg));
}
.l-main--boss-pin::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  background-repeat: repeat;
}
@media print {
  .l-main--boss-pin::before {
    display: none;
  }
}
.l-main--boss-pin > * {
  position: relative;
  z-index: 1;
}
.l-main--boss-pin .b-sub-hero__curtain {
  background: var(--color-dark-bg);
}
.l-main--boss-pin .b-sub-hero__kicker,
.l-main--boss-pin .b-sub-hero__title {
  color: color-mix(in oklab, #fff 98%, var(--color-dark-bg));
}
.l-main--boss-pin .b-sub-hero__lead {
  color: color-mix(in oklab, #fff 78%, var(--color-dark-bg));
}
.l-main--boss-pin .c-breadcrumb__item,
.l-main--boss-pin .c-breadcrumb__item--current {
  color: color-mix(in oklab, #fff 62%, var(--color-dark-bg));
}
.l-main--boss-pin .c-breadcrumb__sep {
  color: color-mix(in oklab, #fff 38%, var(--color-dark-bg));
}
.l-main--boss-pin .c-breadcrumb__link {
  color: color-mix(in oklab, #fff 82%, var(--color-dark-bg));
}
.l-main--boss-pin .c-breadcrumb__link:hover {
  color: #fff;
}
.l-main--boss-pin .b-boss-scope__title,
.l-main--boss-pin .b-boss-dimensions__title,
.l-main--boss-pin .b-boss-material__title,
.l-main--boss-pin .b-boss-flow__title,
.l-main--boss-pin .b-boss-download__title {
  color: color-mix(in oklab, #fff 98%, var(--color-dark-bg));
}
.l-main--boss-pin .b-boss-scope__lead,
.l-main--boss-pin .b-boss-dimensions__lead,
.l-main--boss-pin .b-boss-material__lead,
.l-main--boss-pin .b-boss-flow__lead,
.l-main--boss-pin .b-boss-download__lead {
  color: color-mix(in oklab, #fff 76%, var(--color-dark-bg));
}
.l-main--boss-pin .b-boss-scope__lead strong,
.l-main--boss-pin .b-boss-dimensions__lead strong,
.l-main--boss-pin .b-boss-material__lead strong,
.l-main--boss-pin .b-boss-flow__lead strong,
.l-main--boss-pin .b-boss-download__lead strong {
  color: color-mix(in oklab, #fff 92%, var(--color-dark-bg));
}
.l-main--boss-pin .b-boss-download {
  background: color-mix(in oklab, #fff 6%, var(--color-dark-bg));
  border-block: 1px solid color-mix(in oklab, #fff 10%, transparent);
}
.l-main--boss-pin .b-boss-scope {
  position: relative;
  isolation: isolate;
}
.l-main--boss-pin .b-boss-scope::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.14;
  background: repeating-radial-gradient(circle at 50% 45%, transparent 0, transparent 22px, color-mix(in oklab, #fff 10%, transparent) 23px, color-mix(in oklab, #fff 10%, transparent) 24px);
  background-size: 128px 128px;
}
@media print {
  .l-main--boss-pin .b-boss-scope::before {
    display: none;
  }
}
.l-main--boss-pin .b-boss-scope .b-boss-scope__head,
.l-main--boss-pin .b-boss-scope .b-boss-scope__grid {
  position: relative;
  z-index: 1;
}
.l-main--boss-pin .c-boss-spec-panel {
  background: color-mix(in oklab, #fff 6%, var(--color-dark-bg));
  border-color: color-mix(in oklab, #fff 12%, transparent);
}
.l-main--boss-pin .c-boss-spec-panel .c-boss-spec-panel__tag {
  color: var(--color-dark-bg);
  background: color-mix(in oklab, #fff 88%, var(--color-dark-bg));
  border: 1px solid color-mix(in oklab, #fff 40%, transparent);
}
.l-main--boss-pin .c-boss-spec-panel .c-boss-spec-panel__title {
  color: color-mix(in oklab, #fff 96%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-spec-panel .c-boss-spec-panel__text {
  color: color-mix(in oklab, #fff 74%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-spec-panel .c-boss-spec-panel__text strong {
  color: color-mix(in oklab, #fff 90%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-spec-panel .c-boss-spec-panel__figure {
  background: color-mix(in oklab, #fff 4%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-spec-panel .c-boss-spec-panel__footnote {
  color: color-mix(in oklab, #fff 58%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-spec-panel .c-boss-spec-panel__legend-item {
  color: color-mix(in oklab, #fff 74%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-spec-panel .c-boss-spec-panel__legend-letter {
  border-color: color-mix(in oklab, #fff 28%, transparent);
  background: color-mix(in oklab, #fff 8%, var(--color-dark-bg));
  color: color-mix(in oklab, #fff 90%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-table {
  background: color-mix(in oklab, #fff 5%, var(--color-dark-bg));
  color: color-mix(in oklab, #fff 88%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-table thead th {
  background: color-mix(in oklab, #fff 12%, var(--color-dark-bg));
  color: color-mix(in oklab, #fff 96%, var(--color-dark-bg));
  border-bottom-color: color-mix(in oklab, #fff 14%, transparent);
}
.l-main--boss-pin .c-boss-table tbody th,
.l-main--boss-pin .c-boss-table tbody td {
  color: color-mix(in oklab, #fff 74%, var(--color-dark-bg));
  border-bottom-color: color-mix(in oklab, #fff 10%, transparent);
}
.l-main--boss-pin .c-boss-table tbody th {
  color: color-mix(in oklab, #fff 88%, var(--color-dark-bg));
}
@media (max-width: 47.9375em) {
  .l-main--boss-pin .c-boss-table--stack-sp tr {
    border-bottom-color: color-mix(in oklab, #fff 12%, transparent);
  }
}
@media (max-width: 47.9375em) {
  .l-main--boss-pin .c-boss-table--stack-sp th {
    color: color-mix(in oklab, #fff 82%, var(--color-dark-bg));
  }
}
@media (max-width: 47.9375em) {
  .l-main--boss-pin .c-boss-table--stack-sp td[data-label]::before {
    color: color-mix(in oklab, #fff 88%, var(--color-dark-bg));
  }
}
.l-main--boss-pin .b-boss-flow .c-used-flow-item {
  background: color-mix(in oklab, #fff 6%, var(--color-dark-bg));
  border-left-color: color-mix(in oklab, #fff 42%, var(--color-dark-bg));
}
.l-main--boss-pin .b-boss-flow .c-used-flow-item__step {
  color: color-mix(in oklab, #fff 72%, var(--color-dark-bg));
}
.l-main--boss-pin .b-boss-flow .c-used-flow-item__title {
  color: color-mix(in oklab, #fff 94%, var(--color-dark-bg));
}
.l-main--boss-pin .b-boss-flow .c-used-flow-item__text {
  color: color-mix(in oklab, #fff 72%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-download-card {
  background: color-mix(in oklab, #fff 8%, transparent);
  border-color: color-mix(in oklab, #fff 18%, transparent);
  color: color-mix(in oklab, #fff 96%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-download-card .c-boss-download-card__label {
  color: inherit;
}
.l-main--boss-pin .c-boss-download-card .c-boss-download-card__meta {
  color: color-mix(in oklab, #fff 72%, var(--color-dark-bg));
}
.l-main--boss-pin .c-boss-download-card .c-boss-download-card__thumb {
  background: color-mix(in oklab, #fff 6%, var(--color-dark-bg));
}

.b-text-hero {
  position: relative;
  -webkit-padding-before: calc(var(--header-total-height) + var(--sp-4));
          padding-block-start: calc(var(--header-total-height) + var(--sp-4));
  -webkit-padding-after: 0;
          padding-block-end: 0;
}
.b-text-hero__curtain {
  position: fixed;
  inset: 0;
  background: var(--color-bg-muted, #d4d4d4);
  z-index: calc(var(--z-sticky-header) - 1);
  -webkit-transform-origin: top;
          transform-origin: top;
  will-change: transform, opacity;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.b-text-hero__inner {
  width: min(100%, var(--container-narrow, 50rem));
  margin-inline: auto;
  padding-inline: clamp(var(--sp-4), 0.5rem + 1.5vw, var(--sp-6));
  position: relative;
  z-index: 1;
}
.b-text-hero__breadcrumb {
  -ms-flex-item-align: start;
      align-self: flex-start;
  -webkit-margin-after: var(--sp-md);
          margin-block-end: var(--sp-md);
}
.b-text-hero__heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--sp-md);
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.b-text-hero__accent {
  inline-size: 4px;
  background: var(--color-primary);
  border-radius: 2px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  -webkit-transform-origin: top;
          transform-origin: top;
}
.b-text-hero__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
}
.b-text-hero__kicker {
  margin: 0;
  font-family: var(--font-display, "Inter", sans-serif);
  font-size: clamp(28px, 4vw, 56px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--color-ink-900);
}
.b-text-hero__title {
  margin: 0;
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 700;
  color: var(--color-ink-900);
}
.b-text-hero__lead {
  margin: var(--sp-lg) 0 0;
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.6;
  color: var(--color-ink-700);
}
@media (max-width: 47.9375em) {
  .b-text-hero {
    -webkit-padding-before: calc(var(--header-total-height) + var(--sp-3));
            padding-block-start: calc(var(--header-total-height) + var(--sp-3));
  }
}
.b-text-hero[data-page-intro] .b-text-hero__accent,
.b-text-hero[data-page-intro] .b-text-hero__breadcrumb,
.b-text-hero[data-page-intro] .b-text-hero__title,
.b-text-hero[data-page-intro] .b-text-hero__lead {
  opacity: 0;
}
.b-text-hero[data-page-intro] .b-text-hero__kicker {
  opacity: 0;
  will-change: transform, opacity;
}
.b-text-hero[data-page-intro] .b-text-hero__accent {
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  will-change: transform;
}
.b-text-hero[data-page-intro] .b-text-hero__lead {
  -webkit-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  will-change: transform, opacity;
}
html.is-content-revealed .b-text-hero[data-page-intro] .b-text-hero__accent,
html.is-content-revealed .b-text-hero[data-page-intro] .b-text-hero__breadcrumb,
html.is-content-revealed .b-text-hero[data-page-intro] .b-text-hero__title,
html.is-content-revealed .b-text-hero[data-page-intro] .b-text-hero__lead,
html.is-content-revealed .b-text-hero[data-page-intro] .b-text-hero__kicker {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  will-change: auto;
}
@media (prefers-reduced-motion: reduce) {
  .b-text-hero[data-page-intro] .b-text-hero__accent,
  .b-text-hero[data-page-intro] .b-text-hero__breadcrumb,
  .b-text-hero[data-page-intro] .b-text-hero__title,
  .b-text-hero[data-page-intro] .b-text-hero__lead,
  .b-text-hero[data-page-intro] .b-text-hero__kicker {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .b-text-hero .b-text-hero__curtain {
    display: none;
  }
}

.b-sub-hero {
  position: relative;
  -webkit-padding-before: calc(var(--header-total-height) + var(--sp-4));
          padding-block-start: calc(var(--header-total-height) + var(--sp-4));
  -webkit-padding-after: clamp(64px, 10vh, 110px);
          padding-block-end: clamp(64px, 10vh, 110px);
  padding-inline: var(--sp-xl);
}
.b-sub-hero__curtain {
  position: fixed;
  inset: 0;
  background: var(--color-bg-muted, #d4d4d4);
  z-index: calc(var(--z-sticky-header) - 1);
  -webkit-transform-origin: top;
          transform-origin: top;
  will-change: transform, opacity;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.b-sub-hero__inner {
  width: min(100%, 1280px);
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
.b-sub-hero__breadcrumb {
  -webkit-margin-after: var(--sp-xl);
          margin-block-end: var(--sp-xl);
}
.b-sub-hero__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(16px, 2.5vw, 28px);
  text-align: center;
}
.b-sub-hero__kicker {
  margin: 0;
  font-family: var(--font-display, "Inter", sans-serif);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-ink-900);
}
.b-sub-hero__title {
  margin: 0;
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.02em;
  color: var(--color-ink-900);
  max-inline-size: 1040px;
}
.b-sub-hero__lead {
  margin: 0;
  font-size: clamp(14px, 1.5vw, 16px);
  line-height: 1.5;
  color: var(--color-ink-700);
  max-inline-size: 960px;
}
.b-sub-hero__divider {
  inline-size: 100%;
  block-size: 1px;
  background: var(--color-gray-200);
  border: 0;
  margin-block: var(--sp-xl) 0;
}
.b-sub-hero__slot {
  -webkit-margin-before: var(--sp-xl);
          margin-block-start: var(--sp-xl);
}
.b-sub-hero__cover {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
}
.b-sub-hero__cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(color-mix(in oklab, var(--color-ink-900) 22%, transparent)), to(color-mix(in oklab, var(--color-ink-900) 55%, transparent)));
  background: linear-gradient(180deg, color-mix(in oklab, var(--color-ink-900) 22%, transparent) 0%, color-mix(in oklab, var(--color-ink-900) 55%, transparent) 100%);
}
.b-sub-hero--with-cover {
  overflow: clip;
  color: var(--color-primary-contrast);
}
.b-sub-hero--with-cover .b-sub-hero__kicker,
.b-sub-hero--with-cover .b-sub-hero__title {
  color: var(--color-primary-contrast);
}
.b-sub-hero--with-cover .b-sub-hero__lead {
  color: color-mix(in oklab, var(--color-primary-contrast) 90%, transparent);
}
.b-sub-hero--with-cover .c-breadcrumb__link {
  color: color-mix(in oklab, var(--color-primary-contrast) 88%, transparent);
}
.b-sub-hero--with-cover .c-breadcrumb__item--current span {
  color: var(--color-primary-contrast);
}
.b-sub-hero--with-cover .c-breadcrumb__sep {
  color: color-mix(in oklab, var(--color-primary-contrast) 50%, transparent);
}
.b-sub-hero--with-cover.b-sub-hero--minimal {
  -webkit-padding-after: clamp(2.5rem, 1.25rem + 5vw, 5rem);
          padding-block-end: clamp(2.5rem, 1.25rem + 5vw, 5rem);
}
.b-sub-hero--with-cover .b-sub-hero__inner {
  position: relative;
  z-index: 1;
}
.b-sub-hero--with-highlights {
  background: var(--color-gray-50);
}
.b-sub-hero--with-highlights .b-sub-hero__slot .c-sub-hero-highlights {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(24px, 4vw, 54px);
  grid-template-columns: 1fr;
}
@media (min-width: 62em) {
  .b-sub-hero--with-highlights .b-sub-hero__slot .c-sub-hero-highlights {
    grid-template-columns: repeat(3, 1fr);
  }
}
.b-sub-hero--with-highlights .b-sub-hero__slot .c-sub-hero-highlights li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  text-align: start;
}
.b-sub-hero--with-highlights .b-sub-hero__slot .c-sub-hero-highlights li h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #242e45;
}
.b-sub-hero--with-highlights .b-sub-hero__slot .c-sub-hero-highlights li p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #66738c;
}
.b-sub-hero--with-photo .b-sub-hero__slot .c-sub-hero-photo {
  display: grid;
  gap: var(--sp-xl);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr;
}
@media (min-width: 62em) {
  .b-sub-hero--with-photo .b-sub-hero__slot .c-sub-hero-photo {
    grid-template-columns: 1fr 1fr;
  }
}
.b-sub-hero--with-photo .b-sub-hero__slot .c-sub-hero-photo__caption {
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.6;
  color: var(--color-ink-700);
}
.b-sub-hero--with-photo .b-sub-hero__slot .c-sub-hero-photo__media {
  aspect-ratio: 4/3;
  background: var(--color-bg-muted);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.b-sub-hero--with-photo .b-sub-hero__slot .c-sub-hero-photo__media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.b-sub-hero--minimal {
  -webkit-padding-after: 0;
          padding-block-end: 0;
}
.b-sub-hero--minimal .b-sub-hero__divider,
.b-sub-hero--minimal .b-sub-hero__slot {
  display: none;
}
@media (max-width: 47.9375em) {
  .b-sub-hero {
    -webkit-padding-before: calc(var(--header-total-height) + var(--sp-3));
            padding-block-start: calc(var(--header-total-height) + var(--sp-3));
  }
}
.b-sub-hero[data-page-intro] .b-sub-hero__breadcrumb,
.b-sub-hero[data-page-intro] .b-sub-hero__title,
.b-sub-hero[data-page-intro] .b-sub-hero__lead,
.b-sub-hero[data-page-intro] .b-sub-hero__divider,
.b-sub-hero[data-page-intro] .b-sub-hero__slot {
  opacity: 0;
}
.b-sub-hero[data-page-intro] .b-sub-hero__kicker {
  opacity: 0;
  will-change: transform, opacity;
}
.b-sub-hero[data-page-intro] .b-sub-hero__lead {
  -webkit-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  will-change: transform, opacity;
}
.b-sub-hero[data-page-intro] .b-sub-hero__slot {
  -webkit-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  will-change: transform, opacity;
}
html.is-content-revealed .b-sub-hero[data-page-intro] .b-sub-hero__breadcrumb,
html.is-content-revealed .b-sub-hero[data-page-intro] .b-sub-hero__kicker,
html.is-content-revealed .b-sub-hero[data-page-intro] .b-sub-hero__title,
html.is-content-revealed .b-sub-hero[data-page-intro] .b-sub-hero__lead,
html.is-content-revealed .b-sub-hero[data-page-intro] .b-sub-hero__divider,
html.is-content-revealed .b-sub-hero[data-page-intro] .b-sub-hero__slot {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  will-change: auto;
}
@media (prefers-reduced-motion: reduce) {
  .b-sub-hero[data-page-intro] .b-sub-hero__breadcrumb,
  .b-sub-hero[data-page-intro] .b-sub-hero__kicker,
  .b-sub-hero[data-page-intro] .b-sub-hero__title,
  .b-sub-hero[data-page-intro] .b-sub-hero__lead,
  .b-sub-hero[data-page-intro] .b-sub-hero__divider,
  .b-sub-hero[data-page-intro] .b-sub-hero__slot {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .b-sub-hero .b-sub-hero__curtain {
    display: none;
  }
}

.b-legal-body {
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--color-ink-900);
}
.b-legal-body__section + .b-legal-body__section {
  -webkit-margin-before: var(--sp-xl);
          margin-block-start: var(--sp-xl);
}
.b-legal-body__intro {
  -webkit-margin-after: var(--sp-xl);
          margin-block-end: var(--sp-xl);
}
.b-legal-body__heading {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-h3);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.b-legal-body__subheading {
  margin: var(--sp-md) 0 var(--sp-2);
  font-size: var(--fs-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.b-legal-body__text {
  margin: 0 0 var(--sp-3);
}
.b-legal-body__text:last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.b-legal-body__list {
  margin: 0 0 var(--sp-3);
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
}
.b-legal-body__list li {
  -webkit-margin-after: var(--sp-2);
          margin-block-end: var(--sp-2);
  line-height: var(--lh-base);
}
.b-legal-body__list li:last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.b-legal-body__list--nested {
  -webkit-margin-before: var(--sp-2);
          margin-block-start: var(--sp-2);
}
.b-legal-body__table-wrap {
  margin: 0 0 var(--sp-3);
  overflow-x: auto;
}
.b-legal-body__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  table-layout: auto;
  border-block: 1px solid var(--color-ink-900);
}
.b-legal-body__table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.b-legal-body__table th,
.b-legal-body__table td {
  padding: var(--sp-2) var(--sp-3);
  -webkit-border-after: 1px solid var(--color-border);
          border-block-end: 1px solid var(--color-border);
  -webkit-border-end: 1px solid var(--color-border);
          border-inline-end: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
  line-height: var(--lh-base);
}
.b-legal-body__table th:last-child,
.b-legal-body__table td:last-child {
  -webkit-border-end: 0;
          border-inline-end: 0;
}
.b-legal-body__table thead th {
  -webkit-border-after: 1px solid var(--color-ink-900);
          border-block-end: 1px solid var(--color-ink-900);
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
}
.b-legal-body__table tbody th {
  width: 10em;
  -webkit-padding-end: var(--sp-4);
          padding-inline-end: var(--sp-4);
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
  color: var(--color-ink-900);
}
.b-legal-body__table tbody tr:last-child th,
.b-legal-body__table tbody tr:last-child td {
  -webkit-border-after: 0;
          border-block-end: 0;
}
@media (max-width: 47.9375em) {
  .b-legal-body__table tbody th {
    width: auto;
    white-space: normal;
    -webkit-padding-end: var(--sp-3);
            padding-inline-end: var(--sp-3);
  }
}
.b-legal-body__contact {
  -webkit-margin-before: var(--sp-md);
          margin-block-start: var(--sp-md);
  padding: var(--sp-md);
  border: 0.5px solid var(--color-border);
  border-radius: 8px;
  font-style: normal;
}
.b-legal-body__contact-name {
  margin: 0 0 var(--sp-2);
}
.b-legal-body__contact-line {
  margin: 0 0 var(--sp-1);
}
.b-legal-body__contact-line:last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.b-legal-body__link {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.b-legal-body__link:hover {
  text-decoration: none;
}
.b-legal-body__link:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}
.b-legal-body__meta {
  -webkit-margin-before: var(--sp-xl);
          margin-block-start: var(--sp-xl);
  -webkit-padding-before: var(--sp-md);
          padding-block-start: var(--sp-md);
  -webkit-border-before: 1px solid var(--color-border);
          border-block-start: 1px solid var(--color-border);
  font-size: var(--fs-sm);
  color: var(--color-ink-700, var(--color-ink-900));
}
.b-legal-body__meta-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-1) var(--sp-4);
  margin: 0 0 var(--sp-2);
}
.b-legal-body__meta-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: var(--sp-2);
}
.b-legal-body__meta-item dt {
  font-weight: var(--font-weight-bold);
}
.b-legal-body__meta-item dd {
  margin: 0;
}
.b-legal-body__meta-company {
  margin: 0;
}
.b-legal-body sup {
  font-size: 0.6em;
  line-height: 0;
  vertical-align: super;
}

.b-contact-intro {
  padding-block: var(--sp-xl) var(--sp-lg);
}
.b-contact-intro__lead {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}

.b-contact-form {
  padding-block: var(--sp-xl) var(--section-py);
}
.b-contact-form__shell {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: var(--container-form);
  margin-inline: auto;
  padding: 0;
  background: transparent;
  border: 0;
}
.b-contact-form__trust {
  margin: var(--sp-5) 0;
  padding: var(--sp-4) var(--sp-5);
  background: var(--color-bg-muted);
  border-left: 3px solid var(--color-primary);
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--color-ink-700);
}
.b-contact-form__trust-item {
  margin: 0;
}
.b-contact-form__trust-item strong {
  display: inline-block;
  min-width: 6em;
  color: var(--color-ink-900);
  font-weight: 700;
}
.b-contact-form__trust-link {
  color: var(--color-primary);
  text-decoration: underline;
}
.b-contact-form__trust-link:hover {
  opacity: 0.7;
}
.b-contact-form__warning {
  margin: var(--sp-5) 0;
  padding: var(--sp-4) var(--sp-5);
  border: 1px solid var(--color-border);
  background: var(--color-surface-white);
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--color-ink-700);
}
.b-contact-form__warning-title {
  margin: 0 0 var(--sp-2);
  font-weight: 700;
  color: var(--color-ink-900);
}
.b-contact-form__warning-body {
  margin: 0 0 var(--sp-2);
}
.b-contact-form__warning-body p {
  margin: 0 0 var(--sp-2);
}
.b-contact-form__warning-body p:last-child {
  margin-bottom: 0;
}
.b-contact-form__warning-hint {
  margin: var(--sp-3) 0 0;
  padding-top: var(--sp-3);
  border-top: 1px dashed var(--color-border);
  color: var(--color-ink-900);
  font-weight: 700;
}
.b-contact-form__confirm {
  display: grid;
  gap: var(--sp-4);
  margin-bottom: var(--sp-5);
}
.b-contact-form__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--sp-3);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.b-contact-form .wpcf7-form p:has(.wpcf7-acceptance) {
  margin-block: 0;
  line-height: 1.15;
}
.b-contact-form .wpcf7-form p:has(.wpcf7-acceptance) + p:has(.wpcf7-acceptance) {
  -webkit-margin-before: 0.5rem;
          margin-block-start: 0.5rem;
}
.b-contact-form .wpcf7-form p:has(.wpcf7-acceptance) + p:has(button.wpcf7-submit),
.b-contact-form .wpcf7-form p:has(.wpcf7-acceptance) + p:has(input[type=submit].wpcf7-submit) {
  -webkit-margin-before: var(--sp-4);
          margin-block-start: var(--sp-4);
}
.b-contact-form .wpcf7-form .wpcf7-acceptance {
  margin-block: 0;
}
.b-contact-form .wpcf7-form p:has(.wpcf7-acceptance) label {
  line-height: 1.15;
}
.b-contact-form .wpcf7-form .c-file-upload {
  -webkit-margin-after: var(--sp-6);
          margin-block-end: var(--sp-6);
}
.b-contact-form .wpcf7-form p:has(> .wpcf7-form-control-wrap .wpcf7-submit),
.b-contact-form .wpcf7-form p:has(> button.wpcf7-submit),
.b-contact-form .wpcf7-form p:has(button.wpcf7-submit),
.b-contact-form .wpcf7-form p:has(.wpcf7-form-control-wrap .wpcf7-submit) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
  inline-size: 100%;
  max-inline-size: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.b-contact-form .wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-submit) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  inline-size: auto;
  max-inline-size: 100%;
}
.b-contact-form .wpcf7-form button.t-button--primary.wpcf7-submit,
.b-contact-form .wpcf7-form input.t-button--primary.wpcf7-submit {
  inline-size: auto;
  max-inline-size: min(100%, 22rem);
  min-inline-size: 0;
  padding-block: var(--sp-3);
  padding-inline: var(--sp-5);
  font-size: var(--fs-xs);
}
.b-contact-form__back {
  margin: var(--sp-5) 0 0;
  text-align: center;
}
.b-contact-form__back a {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}
.b-contact-form__back a:hover {
  opacity: 0.7;
}
@media (max-width: 560px) {
  .b-contact-form__shell {
    padding: var(--sp-5);
  }
  .b-contact-form__trust-item strong {
    display: block;
    min-width: 0;
  }
  .b-contact-form__actions {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .b-contact-form__actions > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    max-inline-size: 100%;
  }
}

.b-contact-form + .c-contact-info-cards {
  -webkit-margin-before: calc(-1 * var(--section-py) + var(--sp-2));
          margin-block-start: calc(-1 * var(--section-py) + var(--sp-2));
}

.b-news-archive {
  padding-block: var(--sp-xl) var(--section-py);
}
.b-news-archive__layout {
  display: block;
}
@media (min-width: 48em) {
  .b-news-archive__layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: var(--sp-md);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.b-news-archive__main {
  min-width: 0;
}
@media (min-width: 48em) {
  .b-news-archive__main {
    grid-column: 2;
  }
}
@media (max-width: 47.99em) {
  .b-news-archive__side {
    display: none;
  }
}
@media (min-width: 48em) {
  .b-news-archive__side {
    grid-column: 1;
    grid-row: 1;
    align-self: stretch;
  }
}
.b-news-archive__empty {
  padding: var(--sp-xl) 0;
  text-align: center;
  color: var(--color-ink-500);
}

.b-news-section + .b-news-section {
  margin-top: var(--sp-lg);
}

.b-news-section__more {
  margin: var(--sp-lg) 0 0;
  text-align: center;
}

.b-news-section__empty {
  padding: var(--sp-xl) 0;
  color: var(--color-ink-500);
  text-align: center;
  font-size: var(--fs-sm);
}

.b-news-single {
  background: var(--color-surface-white);
  padding-bottom: var(--sp-2xl);
}

.b-news-single__meta {
  max-width: var(--container-narrow);
  margin: 0 auto var(--sp-4);
  padding: 0 var(--sp-4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--color-ink-500);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.b-news-single__date {
  font-weight: 500;
  color: var(--color-ink-900);
}

.b-news-single__meta-dot {
  color: var(--color-border);
}

.b-news-single__cat {
  color: var(--color-primary);
  text-decoration: none;
}
.b-news-single__cat:hover, .b-news-single__cat:focus-visible {
  text-decoration: underline;
}

.b-news-single__pin {
  color: var(--color-error);
  font-weight: 500;
}

.b-news-single__title-row {
  max-width: var(--container-narrow);
  margin: 0 auto var(--sp-xl);
  padding: 0 var(--sp-4);
}

.b-news-single__title {
  font-size: clamp(1.375rem, 1.25rem + 0.8vw, 2rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: var(--tracking-tight);
  color: var(--color-ink-900);
  margin: 0;
  word-break: auto-phrase;
  line-break: strict;
}

.b-news-single__featured {
  max-width: var(--container-narrow);
  margin: 0 auto var(--sp-xl);
  padding: 0 var(--sp-4);
}
.b-news-single__featured img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  display: block;
}

.b-news-single__article {
  max-width: var(--container-narrow);
  margin: 0 auto;
  padding: 0 var(--sp-4);
  font-size: var(--fs-base);
  line-height: 1.85;
  color: var(--color-ink-900);
}
.b-news-single__article h2 {
  font-size: clamp(1.125rem, 1rem + 0.4vw, 1.375rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: var(--tracking-tight);
  margin: var(--sp-xl) 0 var(--sp-3);
  color: var(--color-ink-900);
}
.b-news-single__article h3 {
  font-size: var(--fs-lg);
  font-weight: 700;
  margin: var(--sp-lg) 0 var(--sp-2);
  color: var(--color-ink-900);
}
.b-news-single__article p {
  margin: 0 0 var(--sp-3);
}
.b-news-single__article ul,
.b-news-single__article ol {
  padding-left: 1.5em;
  margin: 0 0 var(--sp-3);
}
.b-news-single__article ul li,
.b-news-single__article ol li {
  margin-bottom: 6px;
  line-height: 1.85;
}
.b-news-single__article a {
  color: var(--color-primary);
}
.b-news-single__article a:hover, .b-news-single__article a:focus-visible {
  text-decoration: underline;
}
.b-news-single__article blockquote {
  border-left: 3px solid var(--color-primary);
  padding-left: var(--sp-3);
  margin: var(--sp-3) 0;
  color: var(--color-ink-700);
  font-style: italic;
}
.b-news-single__article img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin: var(--sp-3) 0;
}

.b-news-single__tags {
  max-width: var(--container-narrow);
  margin: var(--sp-xl) auto 0;
  padding: 0 var(--sp-4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
}

.b-news-single__tag {
  color: var(--color-ink-700);
  text-decoration: none;
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out);
}
.b-news-single__tag::before {
  content: "#";
  opacity: 0.5;
  margin-right: 2px;
}
.b-news-single__tag:hover, .b-news-single__tag:focus-visible {
  color: var(--color-primary);
}

.b-news-single__related {
  max-width: var(--container-narrow);
  margin: var(--sp-3xl) auto 0;
  padding: 0 var(--sp-4);
}

.b-news-single__related-kicker {
  font-family: var(--font-display);
  font-size: var(--fs-sm);
  letter-spacing: 0.08em;
  color: var(--color-ink-500);
  margin: 0 0 var(--sp-1);
  font-weight: 500;
}

.b-news-single__related-title {
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--color-ink-900);
  margin: 0 0 var(--sp-md);
}

.b-news-single__related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
}
@media (max-width: 47.99em) {
  .b-news-single__related-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
}

.b-news-single__related-card {
  text-decoration: none;
  color: inherit;
  display: block;
  -webkit-transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
}
.b-news-single__related-card:hover, .b-news-single__related-card:focus-visible {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  outline: none;
}
.b-news-single__related-card:focus-visible .b-news-single__related-name {
  color: var(--color-primary);
}
@media (prefers-reduced-motion: reduce) {
  .b-news-single__related-card {
    -webkit-transition: none;
    transition: none;
  }
  .b-news-single__related-card:hover, .b-news-single__related-card:focus-visible {
    -webkit-transform: none;
            transform: none;
  }
}

.b-news-single__related-img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  margin-bottom: var(--sp-2);
  display: block;
  background: var(--color-bg-muted);
}

.b-news-single__related-name {
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--color-ink-900);
  margin: 0 0 2px;
}

.b-news-single__related-link {
  font-size: var(--fs-xs);
  color: var(--color-primary);
}

.b-news-single__prev-next {
  max-width: var(--container-narrow);
  margin: var(--sp-3xl) auto 0;
  padding: var(--sp-lg) var(--sp-4);
  border-top: 0.5px solid var(--color-border);
  border-bottom: 0.5px solid var(--color-border);
}

.b-news-single__prev-next-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-xl);
}
@media (max-width: 47.99em) {
  .b-news-single__prev-next-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
}

.b-news-single__pn-item {
  text-decoration: none;
  color: inherit;
  display: block;
}
.b-news-single__pn-item--next {
  text-align: right;
}
.b-news-single__pn-item:hover .b-news-single__pn-title, .b-news-single__pn-item:focus-visible .b-news-single__pn-title {
  color: var(--color-primary);
}

.b-news-single__pn-label {
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
  margin: 0 0 var(--sp-1);
}

.b-news-single__pn-title {
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--color-ink-900);
  margin: 0;
  line-height: 1.5;
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out);
}

.b-news-single__pn-placeholder {
  display: block;
}

.b-news-single__back {
  max-width: var(--container-narrow);
  margin: var(--sp-lg) auto 0;
  padding: 0 var(--sp-4);
  text-align: center;
}

.b-news-single__back-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: var(--color-primary);
  font-size: var(--fs-sm);
  font-weight: 500;
  text-decoration: none;
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out);
}
.b-news-single__back-link:hover, .b-news-single__back-link:focus-visible {
  text-decoration: underline;
}
.b-news-single__back-link svg {
  width: 14px;
  height: 14px;
}

.b-parts-catalog {
  padding-block: var(--sp-2xl);
  background: var(--color-bg);
}
.b-parts-catalog__head {
  margin-bottom: var(--sp-6);
}
.b-parts-catalog__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
.b-parts-catalog__filters-wrap {
  margin-bottom: var(--sp-5);
}
.b-parts-catalog__filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-2);
}
.b-parts-catalog__layout {
  display: grid;
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
  gap: var(--sp-6);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.b-parts-catalog__sidebar {
  position: sticky;
  top: var(--sp-4);
  min-width: 0;
  -ms-flex-item-align: start;
      align-self: start;
}
.b-parts-catalog__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-5);
  min-width: 0;
}
.b-parts-catalog__parts {
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--sp-4);
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.b-parts-catalog__more-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: var(--sp-3);
}
.b-parts-catalog__more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-5);
  background: var(--color-bg);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-pill);
  color: var(--color-primary);
  font-size: var(--fs-base);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease, color 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.b-parts-catalog__more:focus-visible {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  outline: none;
  -webkit-box-shadow: var(--shadow-ring);
          box-shadow: var(--shadow-ring);
}
.b-parts-catalog__more-wrap[hidden], .b-parts-catalog__more[hidden] {
  display: none !important;
}
@media (max-width: 47.9375em) {
  .b-parts-catalog {
    padding-block: var(--sp-xl);
  }
  .b-parts-catalog__layout {
    grid-template-columns: 1fr;
    gap: var(--sp-3);
  }
  .b-parts-catalog__sidebar {
    position: static;
    min-width: 0;
  }
  .b-parts-catalog__filters-wrap {
    position: sticky;
    top: max(env(safe-area-inset-top, 0px), var(--sp-2));
    z-index: 5;
    margin-bottom: var(--sp-3);
    padding: var(--sp-2);
    padding-inline: max(var(--sp-2), env(safe-area-inset-left, 0px)) max(var(--sp-2), env(safe-area-inset-right, 0px));
    overflow-x: auto;
    -ms-scroll-snap-type: x proximity;
        scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    border-radius: var(--radius-md);
    background: var(--color-bg);
    -webkit-box-shadow: var(--shadow-card);
            box-shadow: var(--shadow-card);
  }
  .b-parts-catalog__filters-wrap::-webkit-scrollbar {
    display: none;
  }
  .b-parts-catalog__filters {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: var(--sp-2);
    padding-block: 2px;
  }
  .b-parts-catalog__filters .c-parts-filter {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    white-space: nowrap;
    scroll-snap-align: start;
    min-height: 2.25rem;
    padding-inline: var(--sp-3);
    font-size: var(--fs-sm);
  }
  .b-parts-catalog__content {
    gap: var(--sp-4);
  }
  .b-parts-catalog__parts {
    gap: var(--sp-2);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .b-parts-catalog__more {
    width: 100%;
    max-width: 20rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 2.75rem;
  }
}

.b-attachment-catalog {
  padding-block: var(--sp-2xl);
}
.b-attachment-catalog__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2);
  margin-bottom: var(--sp-6);
}
.b-attachment-catalog__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.b-attachment-catalog__filters {
  display: none;
}
.b-attachment-catalog__main {
  min-inline-size: 0;
}
.b-attachment-catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-6) var(--sp-5);
}
.b-attachment-catalog__empty {
  margin: 0;
  padding-block: var(--sp-xl);
  text-align: center;
  color: var(--color-ink-500);
  font-size: var(--fs-sm);
}
@media (max-width: 61.9375em) {
  .b-attachment-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-5) var(--sp-4);
  }
}
@media (max-width: 47.9375em) {
  .b-attachment-catalog {
    padding-block: var(--sp-xl);
  }
  .b-attachment-catalog__filters {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: var(--sp-2);
    margin-bottom: var(--sp-5);
    overflow-x: auto;
    -ms-scroll-snap-type: x proximity;
        scroll-snap-type: x proximity;
    padding-bottom: var(--sp-2);
    -webkit-overflow-scrolling: touch;
  }
  .b-attachment-catalog__grid {
    grid-template-columns: 1fr;
  }
}

.b-attachment-sidebar {
  display: none;
  position: sticky;
  top: var(--header-total-height, 80px);
}
@media (min-width: 48em) {
  .b-attachment-sidebar {
    display: block;
    -ms-flex-item-align: start;
        align-self: start;
  }
}
.b-attachment-sidebar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-6);
}

.b-member-login {
  padding-block: var(--sp-2xl);
}
.b-member-login .l-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-md);
}
.b-member-login__demo {
  inline-size: 100%;
  max-inline-size: 28rem;
  padding: var(--sp-md) var(--sp-lg);
  background: var(--color-brand-neo-bg);
  border: 0.5px solid color-mix(in oklab, var(--color-accent-warning) 55%, var(--color-border));
  border-radius: var(--radius-md);
}
.b-member-login__demo-title {
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
}
.b-member-login__demo-rows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
}
.b-member-login__demo-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2) var(--sp-md);
}
.b-member-login__demo-label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-inline-size: 6.5rem;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--color-ink-700);
}
.b-member-login__demo-value {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin: 0;
  padding: var(--sp-2) var(--sp-3);
  font-family: ui-monospace, monospace;
  font-size: var(--fs-sm);
  color: var(--color-ink-900);
  background: var(--color-surface-white);
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-sm);
}
.b-member-login__demo-rule {
  margin: var(--sp-md) 0;
  border: none;
  -webkit-border-before: 0.5px solid color-mix(in oklab, var(--color-accent-warning) 45%, var(--color-border));
          border-block-start: 0.5px solid color-mix(in oklab, var(--color-accent-warning) 45%, var(--color-border));
}
.b-member-login__demo-footnote {
  margin: 0;
  font-size: var(--fs-xs);
  line-height: var(--lh-base);
  color: var(--color-ink-600);
}
@media (max-width: 47.9375em) {
  .b-member-login {
    padding-block: var(--sp-xl) var(--sp-xl);
  }
}

.b-member-login__form-card {
  inline-size: 100%;
  max-inline-size: 28rem;
  padding: var(--sp-xl) var(--sp-lg);
  background: var(--color-surface-white);
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-md);
}

.b-member-login__form-title {
  margin: 0 0 var(--sp-lg);
  font-size: var(--fs-lg);
  font-weight: 500;
  text-align: center;
  color: var(--color-ink-900);
}

.b-member-login__notice {
  inline-size: 100%;
  max-inline-size: 28rem;
  padding: var(--sp-md);
  background: var(--color-bg-section-alt);
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  text-align: center;
}

.b-member-login__notice-title {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-base);
  font-weight: 500;
  color: var(--color-ink-900);
}

.b-member-login__notice-body {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}

.c-login-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-5);
}
.c-login-form__alert {
  padding: var(--sp-3) var(--sp-4);
  background: color-mix(in oklab, var(--color-error) 10%, transparent);
  border-left: 3px solid var(--color-error);
  border-radius: var(--radius-sm);
}
.c-login-form__alert-title {
  margin: 0 0 var(--sp-1);
  font-weight: var(--font-weight-bold);
  color: var(--color-error);
}
.c-login-form__alert-text {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
}
.c-login-form__options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-2);
  margin-block: var(--sp-1) var(--sp-2);
  font-size: var(--fs-sm);
}
@media (max-width: 29.9375em) {
  .c-login-form__options {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.c-login-form__remember {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  cursor: pointer;
  color: var(--color-ink-700);
}
.c-login-form__forgot {
  color: var(--color-primary);
  text-decoration: none;
}
.c-login-form__forgot:hover, .c-login-form__forgot:focus-visible {
  text-decoration: underline;
}
.c-login-form__forgot-note {
  margin: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  font-size: var(--fs-xs);
  line-height: 1.45;
  color: var(--color-ink-500);
}

.b-used-section {
  padding-block: var(--sp-2xl);
}
.b-used-section--sell {
  background: var(--color-bg);
}
.b-used-section--buy {
  background: var(--color-bg);
  padding-block: var(--section-py);
  overflow-anchor: none;
}
.b-used-section #used-buy-form {
  scroll-margin-top: calc(var(--header-total-height) + var(--sp-3));
}
.b-used-section--sell .c-used-flow-list {
  -webkit-margin-before: var(--sp-2xl);
          margin-block-start: var(--sp-2xl);
}
.b-used-section--sell .c-used-flow-note {
  -webkit-margin-before: var(--sp-xl);
          margin-block-start: var(--sp-xl);
}
.b-used-section__head {
  -webkit-margin-after: var(--sp-6);
          margin-block-end: var(--sp-6);
  text-align: center;
}
.b-used-section__eyebrow {
  margin: 0 0 var(--sp-2);
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  color: var(--color-primary);
  text-transform: uppercase;
}
.b-used-section__title {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.b-used-section__lead {
  margin: 0 auto;
  max-width: var(--container-text);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}
.b-used-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
  max-width: var(--container-medium);
  margin-inline: auto;
}
.b-used-section__cta-wrap {
  -webkit-margin-before: var(--sp-xl);
          margin-block-start: var(--sp-xl);
  text-align: center;
}
@media (max-width: 47.9375em) {
  .b-used-section {
    padding-block: var(--sp-xl);
  }
  .b-used-section__grid {
    grid-template-columns: 1fr;
  }
}

.b-boss-scope {
  padding-block: var(--sp-2xl);
  position: relative;
  z-index: 1;
}
.b-boss-scope__head {
  margin: 0 auto var(--sp-xl);
  max-width: var(--container-narrow);
  text-align: center;
}
.b-boss-scope__eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto var(--sp-3);
  padding: var(--sp-1) var(--sp-4);
  min-height: 1.75rem;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, #fff 94%, var(--color-dark-bg));
  background: color-mix(in oklab, #fff 8%, transparent);
  border: 1px solid color-mix(in oklab, #fff 28%, transparent);
  border-radius: var(--radius-pill);
}
.b-boss-scope__title {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
}
.b-boss-scope__lead {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  line-break: strict;
  word-break: normal;
}
.b-boss-scope__lead strong {
  font-weight: var(--font-weight-bold);
}
.b-boss-scope__keep {
  white-space: nowrap;
}
.b-boss-scope__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(var(--sp-4), 3vw, var(--sp-8));
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-items: center;
  width: 100%;
  max-width: min(100%, 56rem);
  margin-inline: auto;
}
@media (max-width: 47.9375em) {
  .b-boss-scope {
    padding-block: var(--sp-xl);
  }
  .b-boss-scope__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-6);
  }
}

.b-boss-dimensions {
  padding-block: var(--sp-2xl);
  position: relative;
  z-index: 1;
}
.b-boss-dimensions__head {
  margin: 0 auto var(--sp-lg);
  max-width: min(100%, var(--container-medium));
  text-align: center;
}
@media (min-width: 75em) {
  .b-boss-dimensions__head {
    margin-bottom: var(--sp-xl);
  }
}
.b-boss-dimensions__eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto var(--sp-3);
  padding: var(--sp-1) var(--sp-4);
  min-height: 1.75rem;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, #fff 94%, var(--color-dark-bg));
  background: color-mix(in oklab, #fff 8%, transparent);
  border: 1px solid color-mix(in oklab, #fff 28%, transparent);
  border-radius: var(--radius-pill);
}
.b-boss-dimensions__title {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
}
.b-boss-dimensions__lead {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.b-boss-dimensions__lead strong {
  font-weight: var(--font-weight-bold);
}
.b-boss-dimensions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-5);
  width: 100%;
  margin-inline: auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media (min-width: 75em) {
  .b-boss-dimensions__grid {
    gap: var(--sp-6);
  }
}
@media (max-width: 61.9375em) {
  .b-boss-dimensions__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 47.9375em) {
  .b-boss-dimensions {
    padding-block: var(--sp-xl);
  }
}

.b-boss-download {
  padding-block: var(--sp-2xl);
  position: relative;
  z-index: 1;
}
.b-boss-download__head {
  margin: 0 auto var(--sp-xl);
  max-width: var(--container-narrow);
  text-align: center;
}
.b-boss-download__eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto var(--sp-3);
  padding: var(--sp-1) var(--sp-4);
  min-height: 1.75rem;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, #fff 94%, var(--color-dark-bg));
  background: color-mix(in oklab, #fff 8%, transparent);
  border: 1px solid color-mix(in oklab, #fff 28%, transparent);
  border-radius: var(--radius-pill);
}
.b-boss-download__title {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
}
.b-boss-download__lead {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.b-boss-download__grid {
  display: grid;
  grid-template-columns: minmax(0, 36rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--sp-6);
  max-width: var(--container-medium);
  margin-inline: auto;
}
@media (max-width: 47.9375em) {
  .b-boss-download {
    padding-block: var(--sp-xl);
  }
}

.b-boss-material {
  padding-block: var(--sp-2xl);
  position: relative;
  z-index: 1;
}
.b-boss-material__head {
  margin: 0 auto var(--sp-xl);
  max-width: var(--container-narrow);
  text-align: center;
}
.b-boss-material__eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto var(--sp-3);
  padding: var(--sp-1) var(--sp-4);
  min-height: 1.75rem;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, #fff 94%, var(--color-dark-bg));
  background: color-mix(in oklab, #fff 8%, transparent);
  border: 1px solid color-mix(in oklab, #fff 28%, transparent);
  border-radius: var(--radius-pill);
}
.b-boss-material__title {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
}
.b-boss-material__lead {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.b-boss-material__lead strong {
  font-weight: var(--font-weight-bold);
}
.b-boss-material .c-boss-table-wrap {
  max-width: var(--container-medium);
  margin-inline: auto;
}
@media (max-width: 47.9375em) {
  .b-boss-material {
    padding-block: var(--sp-xl);
  }
}

.b-boss-flow {
  padding-block: var(--sp-2xl);
  position: relative;
  z-index: 1;
}
.b-boss-flow__head {
  margin: 0 auto var(--sp-xl);
  max-width: var(--container-narrow);
  text-align: center;
}
.b-boss-flow__eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto var(--sp-3);
  padding: var(--sp-1) var(--sp-4);
  min-height: 1.75rem;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, #fff 94%, var(--color-dark-bg));
  background: color-mix(in oklab, #fff 8%, transparent);
  border: 1px solid color-mix(in oklab, #fff 28%, transparent);
  border-radius: var(--radius-pill);
}
.b-boss-flow__title {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
}
.b-boss-flow__lead {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.b-boss-flow__lead strong {
  font-weight: var(--font-weight-bold);
}
@media (max-width: 47.9375em) {
  .b-boss-flow {
    padding-block: var(--sp-xl);
  }
}

.b-member-appbar {
  position: sticky;
  top: 0;
  z-index: 50;
  padding: var(--sp-3) 0;
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  font-size: var(--fs-sm);
}
.b-member-appbar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-4);
}
.b-member-appbar__member {
  margin: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.125rem;
}
.b-member-appbar__greeting {
  opacity: 0.85;
}
.b-member-appbar__name {
  font-weight: var(--font-weight-bold);
}
.b-member-appbar__logout {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  color: inherit;
  text-decoration: underline;
  -webkit-transition: opacity var(--motion-duration-base, 200ms) var(--motion-ease, ease);
  transition: opacity var(--motion-duration-base, 200ms) var(--motion-ease, ease);
}
.b-member-appbar__logout:hover, .b-member-appbar__logout:focus-visible {
  opacity: 0.85;
  outline: none;
}
@media (prefers-reduced-motion: reduce) {
  .b-member-appbar__logout {
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375em) {
  .b-member-appbar {
    padding: var(--sp-2) 0;
  }
}

.b-member-logout-dialog {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-ink-900);
}
.b-member-logout-dialog::-ms-backdrop {
  background: rgba(0, 0, 0, 0.5);
}
.b-member-logout-dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}
.b-member-logout-dialog__surface {
  min-width: 280px;
  max-width: min(440px, 100vw - var(--sp-6, 2rem));
  margin: 0;
  padding: var(--sp-6) var(--sp-5);
  background: var(--color-surface-white);
  border-radius: var(--radius-md);
  -webkit-box-shadow: var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, 0.25));
          box-shadow: var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, 0.25));
  display: grid;
  gap: var(--sp-4);
}
.b-member-logout-dialog__title {
  margin: 0;
  font-size: var(--fs-h4, 1.25rem);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.b-member-logout-dialog__lead {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
  line-height: var(--lh-base);
}
.b-member-logout-dialog__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: var(--sp-3);
}
.b-member-logout-dialog__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 44px;
  padding: var(--sp-2) var(--sp-5);
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: background-color var(--motion-duration-base, 200ms) var(--motion-ease, ease), color var(--motion-duration-base, 200ms) var(--motion-ease, ease), border-color var(--motion-duration-base, 200ms) var(--motion-ease, ease);
  transition: background-color var(--motion-duration-base, 200ms) var(--motion-ease, ease), color var(--motion-duration-base, 200ms) var(--motion-ease, ease), border-color var(--motion-duration-base, 200ms) var(--motion-ease, ease);
}
.b-member-logout-dialog__btn:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}
.b-member-logout-dialog__btn--ghost {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 1px solid var(--color-border);
  color: var(--color-ink-700);
}
.b-member-logout-dialog__btn--ghost:hover {
  background: var(--color-bg-muted);
  color: var(--color-ink-900);
}
.b-member-logout-dialog__btn--primary {
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  color: var(--color-primary-contrast);
}
.b-member-logout-dialog__btn--primary:hover {
  background: var(--color-primary-hover);
}
@media (prefers-reduced-motion: reduce) {
  .b-member-logout-dialog__btn {
    -webkit-transition: none;
    transition: none;
  }
}

.b-about-greeting {
  background: transparent;
}
.b-about-greeting__headline {
  margin: var(--sp-xl) 0 0;
  font-size: var(--fs-h2);
  line-height: var(--lh-tight, 1.25);
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: -0.01em;
  max-width: var(--container-narrow, 50rem);
}
.b-about-greeting__body {
  margin-top: var(--sp-xl);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-5);
}
.b-about-greeting__body p {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  font-weight: 500;
  color: var(--color-ink-900);
}
.b-about-greeting__signature {
  margin-top: var(--sp-xl);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 2px;
  color: var(--color-ink-900);
}
.b-about-greeting__signature-company, .b-about-greeting__signature-role {
  margin: 0;
  font-size: var(--fs-xs);
  line-height: 1.5;
  font-weight: 400;
}
.b-about-greeting__signature-name {
  margin: 0;
  font-size: var(--fs-h3);
  line-height: 1.4;
  font-weight: 500;
}
@media (max-width: 47.9375em) {
  .b-about-greeting__headline {
    margin-top: var(--sp-lg);
    font-size: var(--fs-h3);
    line-height: 1.4;
    letter-spacing: -0.01em;
  }
  .b-about-greeting__body {
    margin-top: var(--sp-lg);
  }
  .b-about-greeting__signature {
    margin-top: var(--sp-lg);
  }
}

.b-about-our-work {
  background: transparent;
}
.b-about-our-work__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: var(--sp-lg);
}
.b-about-our-work__body {
  width: 100%;
  max-width: var(--container-narrow, 50rem);
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  padding-top: 0;
}
.b-about-our-work__headline {
  margin: 0;
  font-size: var(--fs-h2);
  line-height: var(--lh-tight, 1.25);
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: -0.01em;
}
.b-about-our-work__copy {
  margin-top: var(--sp-xl);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-4);
}
.b-about-our-work__copy p {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  font-weight: 500;
  color: var(--color-ink-900);
}
.b-about-our-work__image {
  margin: var(--sp-xl) 0 0;
  overflow: hidden;
  background: #d9e1ea;
  border: 1px solid #c6d1dc;
  border-radius: var(--radius-md);
  aspect-ratio: 800/240;
}
.b-about-our-work__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.b-about-our-work__image--placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: var(--sp-3) var(--sp-4);
  color: #4e5d6d;
  font-size: var(--fs-xs);
}
@media (max-width: 960px) {
  .b-about-our-work__body {
    max-width: 100%;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }
  .b-about-our-work__headline {
    font-size: var(--fs-h3);
    line-height: 1.4;
    letter-spacing: -0.01em;
  }
  .b-about-our-work__copy {
    margin-top: var(--sp-lg);
  }
  .b-about-our-work__image {
    margin-top: var(--sp-lg);
  }
}

.b-about-outline {
  background: transparent;
}
.b-about-outline__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: var(--sp-lg);
}
.b-about-outline__inner > .t-section-title {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.b-about-outline__table {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}
@media (max-width: 47.9375em) {
  .b-about-outline__inner {
    gap: var(--sp-lg);
  }
}

.b-product-hero {
  padding-block: var(--sp-2xl);
  background: var(--color-bg-muted);
}
.b-product-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sp-xl);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.b-product-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
}
.b-product-hero__kicker {
  margin: 0;
  font-size: var(--fs-sm, 0.875rem);
  line-height: 1.5;
  color: var(--color-ink-700);
  letter-spacing: 0.04em;
}
.b-product-hero__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  line-height: 1.15;
  font-weight: 700;
  color: var(--color-ink-900);
  letter-spacing: -0.02em;
}
.b-product-hero__lead {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}
.b-product-hero__logo {
  margin-top: var(--sp-3);
  display: block;
  height: auto;
  max-width: 220px;
  width: 100%;
}
.b-product-hero__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-border);
}
.b-product-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 47.9375em) {
  .b-product-hero__inner {
    grid-template-columns: 1fr;
    gap: var(--sp-lg);
  }
  .b-product-hero__media {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .b-product-hero__logo {
    max-width: 180px;
  }
}

.b-product-link-card {
  --card-overlay-from: rgba(30, 58, 95, 0.55);
  --card-overlay-to: rgba(15, 33, 60, 0.7);
  --card-overlay-from-hover: rgba(30, 58, 95, 0.4);
  --card-overlay-to-hover: rgba(15, 33, 60, 0.55);
  --card-arrow-hover-fg: #1e3a5f;
  position: relative;
  display: block;
  aspect-ratio: 16/11;
  min-height: 280px;
  overflow: hidden;
  background: #1e293b;
  text-decoration: none;
  cursor: pointer;
  isolation: isolate;
}
@media (max-width: 47.9375em) {
  .b-product-link-card {
    aspect-ratio: 4/3;
  }
}
.b-product-link-card--chisel {
  --card-overlay-from: rgba(58, 46, 38, 0.55);
  --card-overlay-to: rgba(26, 20, 16, 0.7);
  --card-overlay-from-hover: rgba(58, 46, 38, 0.4);
  --card-overlay-to-hover: rgba(26, 20, 16, 0.55);
  --card-arrow-hover-fg: #3d3028;
}
.b-product-link-card:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 4px;
  z-index: 1;
}
.b-product-link-card__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}
.b-product-link-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--card-overlay-from) 0%, var(--card-overlay-to) 100%);
  -webkit-transition: background 400ms ease-out;
  transition: background 400ms ease-out;
  z-index: 1;
}
.b-product-link-card__body {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-md);
  padding: var(--sp-lg) var(--sp-lg) var(--sp-md);
  z-index: 2;
}
.b-product-link-card__text {
  color: #ffffff;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
.b-product-link-card__en {
  display: block;
  font-size: clamp(28px, 4.2vw, 44px);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.005em;
  margin: 0 0 var(--sp-1);
  color: #ffffff;
  text-wrap: balance;
}
.b-product-link-card__jp {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
}
.b-product-link-card__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #ffffff;
  font-size: 18px;
  -webkit-transition: background-color 400ms cubic-bezier(0.22, 1, 0.36, 1), color 400ms cubic-bezier(0.22, 1, 0.36, 1), border-color 400ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 400ms cubic-bezier(0.22, 1, 0.36, 1), color 400ms cubic-bezier(0.22, 1, 0.36, 1), border-color 400ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 400ms cubic-bezier(0.22, 1, 0.36, 1), color 400ms cubic-bezier(0.22, 1, 0.36, 1), border-color 400ms cubic-bezier(0.22, 1, 0.36, 1), transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 400ms cubic-bezier(0.22, 1, 0.36, 1), color 400ms cubic-bezier(0.22, 1, 0.36, 1), border-color 400ms cubic-bezier(0.22, 1, 0.36, 1), transform 400ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}
.b-product-link-card:hover .b-product-link-card__photo, .b-product-link-card:focus-visible .b-product-link-card__photo {
  -webkit-transform: scale(1.06);
          transform: scale(1.06);
}
.b-product-link-card:hover .b-product-link-card__overlay, .b-product-link-card:focus-visible .b-product-link-card__overlay {
  background: linear-gradient(135deg, var(--card-overlay-from-hover) 0%, var(--card-overlay-to-hover) 100%);
}
.b-product-link-card:hover .b-product-link-card__arrow, .b-product-link-card:focus-visible .b-product-link-card__arrow {
  background: #ffffff;
  color: var(--card-arrow-hover-fg);
  border-color: #ffffff;
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .b-product-link-card__photo, .b-product-link-card__overlay, .b-product-link-card__arrow {
    -webkit-transition: none;
    transition: none;
  }
  .b-product-link-card:hover .b-product-link-card__photo, .b-product-link-card:focus-visible .b-product-link-card__photo {
    -webkit-transform: none;
            transform: none;
  }
  .b-product-link-card:hover .b-product-link-card__arrow, .b-product-link-card:focus-visible .b-product-link-card__arrow {
    -webkit-transform: none;
            transform: none;
  }
}

@-webkit-keyframes brand-hero-cell-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes brand-hero-cell-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes brand-hero-text-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(12px);
            transform: translateY(12px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes brand-hero-text-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(12px);
            transform: translateY(12px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.b-brand-hero {
  position: relative;
  isolation: isolate;
  inline-size: 100%;
  aspect-ratio: 16/9;
  min-block-size: 520px;
  background: var(--color-bg);
  padding: 0;
  max-inline-size: none;
}
.b-brand-hero__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  inline-size: 100%;
  block-size: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 0;
  row-gap: 0;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
  z-index: 1;
}
.b-brand-hero__cell {
  position: relative;
  overflow: hidden;
  background: var(--color-bg);
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
@media (prefers-reduced-motion: no-preference) {
  .b-brand-hero__cell {
    opacity: 0;
    -webkit-animation: brand-hero-cell-in 560ms ease-out forwards;
            animation: brand-hero-cell-in 560ms ease-out forwards;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .b-brand-hero__cell--1 {
    -webkit-animation-delay: 0ms;
            animation-delay: 0ms;
  }
  .b-brand-hero__cell--2 {
    -webkit-animation-delay: 80ms;
            animation-delay: 80ms;
  }
  .b-brand-hero__cell--3 {
    -webkit-animation-delay: 160ms;
            animation-delay: 160ms;
  }
  .b-brand-hero__cell--4 {
    -webkit-animation-delay: 240ms;
            animation-delay: 240ms;
  }
  .b-brand-hero__cell--5 {
    -webkit-animation-delay: 320ms;
            animation-delay: 320ms;
  }
  .b-brand-hero__cell--6 {
    -webkit-animation-delay: 400ms;
            animation-delay: 400ms;
  }
}
.b-brand-hero__img {
  display: block;
  max-width: none;
  width: 100%;
  height: 100%;
  inline-size: 100%;
  block-size: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  -webkit-transform: translateZ(0) scale(1.015);
          transform: translateZ(0) scale(1.015);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
@media (prefers-reduced-motion: reduce) {
  .b-brand-hero__img {
    -webkit-transform: none;
            transform: none;
  }
}
.b-brand-hero__center {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-inline: var(--sp-3);
}
@media (prefers-reduced-motion: no-preference) {
  .b-brand-hero__center {
    opacity: 0;
    -webkit-animation: brand-hero-text-in 720ms 600ms ease-out forwards;
            animation: brand-hero-text-in 720ms 600ms ease-out forwards;
  }
}
.b-brand-hero__title {
  font-family: var(--font-display, var(--font-sans));
  font-size: clamp(40px, 6vw, 84px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.04em;
  color: var(--color-primary);
  margin: 0;
  white-space: nowrap;
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.6);
}
.b-brand-hero__subtitle {
  font-size: clamp(13px, 1.2vw, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--color-ink-900);
  margin: clamp(0.5rem, 1vw, 0.75rem) 0 0;
  text-shadow: 0 0 16px rgba(255, 255, 255, 0.6);
}
@media (max-width: 47.9375em) {
  .b-brand-hero {
    aspect-ratio: auto;
    min-block-size: 0;
    block-size: max(600px, 85vh);
    padding: 0;
  }
  .b-brand-hero__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 0;
    row-gap: 0;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
  .b-brand-hero__title {
    font-size: clamp(28px, 8vw, 44px);
    letter-spacing: 0.03em;
  }
  .b-brand-hero__subtitle {
    font-size: clamp(11px, 3vw, 13px);
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .b-brand-hero__cell,
  .b-brand-hero__center {
    opacity: 1 !important;
    -webkit-animation: none !important;
            animation: none !important;
  }
  .b-brand-hero__cell {
    -webkit-transform: none !important;
            transform: none !important;
  }
  .b-brand-hero__center {
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.b-stats-band {
  background: var(--color-bg);
  -webkit-border-before: 1px solid color-mix(in srgb, var(--color-ink-900) 8%, transparent);
          border-block-start: 1px solid color-mix(in srgb, var(--color-ink-900) 8%, transparent);
  -webkit-border-after: 1px solid color-mix(in srgb, var(--color-ink-900) 8%, transparent);
          border-block-end: 1px solid color-mix(in srgb, var(--color-ink-900) 8%, transparent);
  padding-block: clamp(1rem, 2vw, 1.5rem);
}
.b-stats-band__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(1rem, 3vw, 2rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.b-stats-band__kpis {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
}
.b-stats-band__kpi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  min-width: 0;
}
.b-stats-band__kpi-num {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--color-ink-900);
}
.b-stats-band__kpi-unit {
  font-size: 0.5em;
  color: var(--color-ink-700);
  -webkit-margin-start: 1px;
          margin-inline-start: 1px;
  letter-spacing: 0;
}
.b-stats-band__kpi-label {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: clamp(8px, 0.7vw, 10px);
  color: var(--color-ink-500);
  letter-spacing: 0.18em;
  -webkit-margin-before: var(--sp-1);
          margin-block-start: var(--sp-1);
  text-transform: uppercase;
}
.b-stats-band__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0.875rem, 2vw, 1.25rem);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.b-stats-band__cta-primary {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  padding: clamp(0.5rem, 1.2vw, 0.75rem) clamp(1rem, 2vw, 1.25rem);
  background: var(--color-primary);
  color: var(--color-bg);
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 500;
  text-decoration: none;
  border-radius: var(--radius-sm);
  -webkit-transition: background 200ms var(--motion-ease-out, ease-out), -webkit-transform 200ms var(--motion-ease-out, ease-out);
  transition: background 200ms var(--motion-ease-out, ease-out), -webkit-transform 200ms var(--motion-ease-out, ease-out);
  transition: background 200ms var(--motion-ease-out, ease-out), transform 200ms var(--motion-ease-out, ease-out);
  transition: background 200ms var(--motion-ease-out, ease-out), transform 200ms var(--motion-ease-out, ease-out), -webkit-transform 200ms var(--motion-ease-out, ease-out);
}
.b-stats-band__cta-primary:hover {
  background: color-mix(in srgb, var(--color-primary) 88%, black);
}
.b-stats-band__cta-primary:active {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
.b-stats-band__cta-primary:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}
.b-stats-band__cta-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-transition: -webkit-transform 240ms var(--motion-ease-out, ease-out);
  transition: -webkit-transform 240ms var(--motion-ease-out, ease-out);
  transition: transform 240ms var(--motion-ease-out, ease-out);
  transition: transform 240ms var(--motion-ease-out, ease-out), -webkit-transform 240ms var(--motion-ease-out, ease-out);
}
.b-stats-band__cta-primary:hover .b-stats-band__cta-icon {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
.b-stats-band__link {
  color: var(--color-primary);
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 500;
  text-decoration: none;
  -webkit-padding-after: 2px;
          padding-block-end: 2px;
  -webkit-border-after: 1px solid currentColor;
          border-block-end: 1px solid currentColor;
  -webkit-transition: opacity 180ms var(--motion-ease-out, ease-out);
  transition: opacity 180ms var(--motion-ease-out, ease-out);
}
.b-stats-band__link:hover {
  opacity: 0.7;
}
.b-stats-band__link:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}
@media (max-width: 47.9375em) {
  .b-stats-band {
    padding-block: clamp(0.875rem, 3vw, 1.25rem);
  }
  .b-stats-band__inner {
    grid-template-columns: 1fr;
    gap: clamp(0.75rem, 3vw, 1.25rem);
  }
  .b-stats-band__kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.75rem, 3vw, 1.25rem);
  }
  .b-stats-band__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: var(--sp-3);
  }
  .b-stats-band__cta-primary {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .b-stats-band__link {
    -ms-flex-item-align: center;
        align-self: center;
  }
}

.b-product-statement {
  padding-block: var(--sp-2xl);
}
.b-product-statement__inner {
  max-width: var(--container-narrow);
  margin-inline: auto;
  padding-inline: var(--sp-4);
}
.b-product-statement__text {
  margin: 0;
  text-align: center;
  font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
  line-height: 2;
  font-weight: 500;
  color: var(--color-ink-900);
}
@media (max-width: 47.9375em) {
  .b-product-statement {
    padding-block: var(--sp-xl);
  }
  .b-product-statement__text {
    text-align: left;
    line-height: 1.9;
  }
}

.b-product-features {
  padding-block: var(--sp-2xl);
  background: var(--color-bg-muted);
}
.b-product-features__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2xl);
}
@media (max-width: 47.9375em) {
  .b-product-features__inner {
    gap: var(--sp-xl);
  }
}

.b-product-flow {
  padding-block: var(--sp-2xl);
}
.b-product-flow__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-xl);
}
.b-product-flow__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
  max-width: var(--container-narrow);
}
.b-product-flow__kicker {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-sm, 0.875rem);
  letter-spacing: 0.2em;
  color: var(--color-primary);
}
.b-product-flow__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: 700;
  color: var(--color-ink-900);
  line-height: 1.25;
}
.b-product-flow__lead {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}
.b-product-flow__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sp-xl);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.b-product-flow__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-border);
}
.b-product-flow__media img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.b-product-flow__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-lg);
}
@media (max-width: 47.9375em) {
  .b-product-flow__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-lg);
  }
}

.b-product-solutions {
  padding-block: var(--sp-2xl);
  background: var(--color-bg-muted);
}
.b-product-solutions__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-xl);
}
.b-product-solutions__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
  max-width: var(--container-narrow);
}
.b-product-solutions__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: 700;
  color: var(--color-ink-900);
  line-height: 1.25;
}
.b-product-solutions__lead {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}
.b-product-solutions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: var(--sp-lg);
}

.b-product-gallery {
  padding-block: var(--sp-2xl);
  background: var(--color-bg-muted);
}
.b-product-gallery__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-xl);
}
.b-product-gallery__head {
  text-align: center;
  max-width: var(--container-narrow);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
}
.b-product-gallery__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: 700;
  color: var(--color-ink-900);
  line-height: 1.25;
}
.b-product-gallery__lead {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}
.b-product-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-md);
}
@media (max-width: 47.9375em) {
  .b-product-gallery__grid {
    grid-template-columns: 1fr;
  }
}

.b-product-trademark {
  padding-block: var(--sp-2xl);
  background: var(--color-bg);
}
.b-product-trademark__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-xl);
}
.b-product-trademark__head {
  text-align: center;
  max-width: var(--container-narrow);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
}
.b-product-trademark__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: 700;
  color: var(--color-ink-900);
  line-height: 1.25;
}
.b-product-trademark__lead {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}
.b-product-trademark__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-md);
}
@media (max-width: 47.9375em) {
  .b-product-trademark__grid {
    grid-template-columns: 1fr;
  }
}

.c-product-trademark-item {
  padding: var(--sp-md);
  background: var(--color-bg-muted);
  border-left: 3px solid var(--color-primary);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.c-product-trademark-item__title {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--color-ink-900);
  line-height: 1.4;
}
.c-product-trademark-item__text {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}

.b-tech-flow {
  padding-block: clamp(40px, 7vh, 56px);
  background: var(--color-gray-50);
}
.b-tech-flow__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-md);
}
.b-tech-flow__title {
  margin: 0;
  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 700;
  color: #1a2438;
}
.b-tech-flow__lead {
  margin: 0;
  font-size: clamp(14px, 1.5vw, 16px);
  color: #596680;
  max-inline-size: 550px;
}
.b-tech-flow__timeline {
  list-style: none;
  margin: var(--sp-md) 0 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-md);
}

.c-tech-flow-step {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--sp-md);
  padding: var(--sp-md);
  background: var(--color-surface-white);
  border: 1px solid var(--color-gray-200);
  border-radius: 12px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media (max-width: 47.9375em) {
  .c-tech-flow-step {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }
}
.c-tech-flow-step__index {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: var(--sp-3);
  background: var(--color-gray-100);
  border-radius: 10px;
  min-inline-size: 56px;
}
.c-tech-flow-step__index span {
  font-family: var(--font-display, "Inter", sans-serif);
  font-size: 24px;
  font-weight: 700;
  color: #1f335c;
  line-height: 1;
}
.c-tech-flow-step__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2);
  min-inline-size: 0;
}
.c-tech-flow-step__body h3 {
  margin: 0;
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 700;
  color: #1f293d;
}
.c-tech-flow-step__body p {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  color: #576680;
}
.c-tech-flow-step__media {
  inline-size: 250px;
  block-size: 128px;
  background: var(--color-gray-100);
  border: 1px solid var(--color-gray-300);
  border-radius: 10px;
  overflow: hidden;
}
@media (max-width: 47.9375em) {
  .c-tech-flow-step__media {
    grid-column: 1/-1;
    inline-size: 100%;
    aspect-ratio: 16/9;
    block-size: auto;
  }
}
.c-tech-flow-step__media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.b-tech-serial {
  padding-block: clamp(40px, 7vh, 56px);
  background: var(--color-gray-50);
}
.b-tech-serial__split {
  display: grid;
  gap: var(--sp-md);
  grid-template-columns: 1fr;
}
@media (min-width: 62em) {
  .b-tech-serial__split {
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.b-tech-serial__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-md);
}
.b-tech-serial__title {
  margin: 0;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 700;
  color: #1a2438;
}
.b-tech-serial__lead {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: #52617a;
}
.b-tech-serial__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
}
.b-tech-serial__hero-image {
  block-size: clamp(280px, 50vw, 560px);
  background: var(--color-gray-100);
  border: 1px solid var(--color-gray-300);
  border-radius: 14px;
  overflow: hidden;
  display: grid;
  place-items: center;
  margin: 0;
}
.b-tech-serial__hero-image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.b-tech-serial__hero-image-placeholder {
  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 700;
  color: #596985;
}

.c-tech-serial-point {
  background: var(--color-surface-white);
  border: 1px solid var(--color-gray-200);
  border-radius: 10px;
  padding: var(--sp-md);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.c-tech-serial-point h4 {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  color: #242e45;
}
.c-tech-serial-point p {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #576680;
}

.b-tech-ip {
  padding-block: clamp(40px, 7vh, 56px);
  background: var(--color-gray-50);
}
.b-tech-ip__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18px;
}
.b-tech-ip__title {
  margin: 0;
  font-weight: 700;
  color: #1a2438;
  line-height: 1.25;
  font-size: clamp(22px, 6vw, 32px);
}
@media (min-width: 48em) {
  .b-tech-ip__title {
    font-size: 40px;
    line-height: 1.2;
  }
}
.b-tech-ip__table {
  background: var(--color-surface-white);
  border: 1px solid #dbe3f2;
  border-radius: 12px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  inline-size: 100%;
}
.b-tech-ip__table thead {
  background: #f5f7fc;
}
.b-tech-ip__table th,
.b-tech-ip__table td {
  text-align: start;
  vertical-align: top;
  font-size: 14px;
}
.b-tech-ip__table th {
  padding: 16px 20px;
  font-weight: 700;
  color: #3d4d66;
  -webkit-border-after: 0;
          border-block-end: 0;
}
.b-tech-ip__table th:nth-child(1) {
  inline-size: 23.33%;
}
.b-tech-ip__table th:nth-child(2) {
  inline-size: 23.33%;
}
.b-tech-ip__table th:nth-child(3) {
  inline-size: 53.34%;
}
.b-tech-ip__table tbody tr {
  -webkit-border-before: 1px solid #ebf0f7;
          border-block-start: 1px solid #ebf0f7;
}
.b-tech-ip__table td {
  padding: 20px;
  min-block-size: 72px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #334057;
  -webkit-border-after: 0;
          border-block-end: 0;
}
.b-tech-ip__table td:first-child {
  font-weight: 700;
}
.b-tech-ip__table td:nth-child(3) {
  color: #47546e;
}
@media (max-width: 47.9375em) {
  .b-tech-ip__table {
    table-layout: auto;
  }
  .b-tech-ip__table thead {
    display: none;
  }
  .b-tech-ip__table tbody tr {
    -webkit-border-before: 0;
            border-block-start: 0;
  }
  .b-tech-ip__table tr {
    display: block;
    padding: var(--sp-md);
    -webkit-border-after: 1px solid #ebf0f7;
            border-block-end: 1px solid #ebf0f7;
  }
  .b-tech-ip__table tr:last-child {
    -webkit-border-after: 0;
            border-block-end: 0;
  }
  .b-tech-ip__table td {
    display: block;
    min-block-size: 0;
    padding: 4px 0;
  }
  .b-tech-ip__table td::before {
    content: attr(data-label) ":";
    display: inline-block;
    -webkit-margin-end: var(--sp-2);
            margin-inline-end: var(--sp-2);
    font-weight: 700;
    color: #66738c;
    font-size: 12px;
  }
}

.b-cutter-blade-hero {
  position: relative;
  overflow: hidden;
  padding-inline: 0;
  --cb-hero-below-header: calc(100vh - var(--header-total-height));
  --cb-hero-below-header: calc(100svh - var(--header-total-height));
}
.b-cutter-blade-hero__shell {
  display: grid;
  grid-template-columns: 1fr;
  min-block-size: clamp(12rem, var(--cb-hero-below-header) * 0.18, 17rem);
  -webkit-padding-before: calc(var(--header-total-height) + var(--sp-1));
          padding-block-start: calc(var(--header-total-height) + var(--sp-1));
  -webkit-padding-after: var(--sp-1);
          padding-block-end: var(--sp-1);
}
@media (min-width: 75em) {
  .b-cutter-blade-hero__shell {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-block-size: clamp(13rem, var(--cb-hero-below-header) * 0.2, 19rem);
    -webkit-padding-before: calc(var(--header-total-height) + var(--sp-1));
            padding-block-start: calc(var(--header-total-height) + var(--sp-1));
    -webkit-padding-after: var(--sp-1);
            padding-block-end: var(--sp-1);
  }
}
.b-cutter-blade-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(var(--sp-3), 1.25vh, var(--sp-5));
  min-block-size: 0;
  min-width: 0;
  padding: var(--sp-md) clamp(var(--sp-4), 5vw, 9.75rem);
  background: transparent;
  color: var(--color-ink-900);
  overflow: hidden;
  z-index: 1;
}
@media (min-width: 75em) {
  .b-cutter-blade-hero__copy {
    padding-block: clamp(var(--sp-2), 1.25vh, var(--sp-lg));
  }
}
.b-cutter-blade-hero__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.b-cutter-blade-hero__title-line {
  display: block;
  max-width: 100%;
  font-size: clamp(2.25rem, 5vw + 0.5rem, 6rem);
  text-transform: uppercase;
  color: var(--color-ink-900);
}
.b-cutter-blade-hero__lead {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 1.35vw + 0.65rem, 2.25rem);
  font-weight: 700;
  line-height: 1.08;
  color: var(--color-ink-900);
  max-inline-size: 22ch;
}
.b-cutter-blade-hero__mosaic {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  -ms-flex-line-pack: start;
      align-content: start;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--sp-2) clamp(var(--sp-2), 2vw, var(--sp-md));
  list-style: none;
  background: transparent;
}
@media (min-width: 75em) {
  .b-cutter-blade-hero__mosaic {
    padding-block: var(--sp-2);
  }
}
.b-cutter-blade-hero__mosaic-item {
  margin: 0;
  min-width: 0;
  min-height: 0;
}
.b-cutter-blade-hero__mosaic-figure {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  place-items: center;
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  aspect-ratio: 2/1;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.b-cutter-blade-hero__mosaic-figure img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (prefers-reduced-motion: reduce) {
  .b-cutter-blade-hero__title-line, .b-cutter-blade-hero__lead, .b-cutter-blade-hero__mosaic {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-animation: none;
            animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .b-cutter-blade-hero__title-line, .b-cutter-blade-hero__lead, .b-cutter-blade-hero__mosaic {
    opacity: 0;
    -webkit-transform: translateY(14px);
            transform: translateY(14px);
    -webkit-animation: cutter-blade-hero-entry 780ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
            animation: cutter-blade-hero-entry 780ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
  }
  .b-cutter-blade-hero__title-line:nth-child(2) {
    -webkit-animation-delay: 90ms;
            animation-delay: 90ms;
  }
  .b-cutter-blade-hero__lead {
    -webkit-animation-delay: 220ms;
            animation-delay: 220ms;
  }
  .b-cutter-blade-hero__mosaic {
    -webkit-animation-delay: 300ms;
            animation-delay: 300ms;
  }
}

@-webkit-keyframes cutter-blade-hero-entry {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes cutter-blade-hero-entry {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.b-cutter-blade-lineup {
  background: var(--color-bg);
}
.b-cutter-blade-lineup__wrap {
  width: 100%;
}
.b-cutter-blade-lineup__head {
  padding-block: var(--section-py);
  padding-inline: var(--sp-xl);
  text-align: center;
  background: transparent;
}
.b-cutter-blade-lineup__grid {
  display: grid;
  gap: var(--sp-md);
  grid-template-columns: 1fr;
  padding-block: 0 var(--section-py);
}
@media (min-width: 62em) {
  .b-cutter-blade-lineup__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    justify-items: stretch;
    gap: var(--sp-xl);
  }
}
.b-cutter-blade-lineup__grid > .b-cutter-blade-brand {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.b-cutter-blade-lineup__title {
  margin: 0 0 var(--sp-4);
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.5rem + 2.5vw, 4rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--color-ink-900);
}
.b-cutter-blade-lineup__lead {
  margin: 0 auto;
  max-inline-size: 60ch;
  font-size: clamp(0.9375rem, 0.9rem + 0.3vw, 1.125rem);
  color: var(--color-ink-700);
}

.b-cutter-blade-flow {
  background: var(--color-bg);
  padding-block: var(--section-py);
  padding-inline: var(--sp-xl);
}
.b-cutter-blade-flow__head {
  text-align: center;
  -webkit-margin-after: var(--sp-xl);
          margin-block-end: var(--sp-xl);
}
.b-cutter-blade-flow__kicker {
  margin: 0 0 var(--sp-2);
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--lh-tight);
  text-transform: uppercase;
  color: var(--color-primary);
}
.b-cutter-blade-flow__title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold, 700);
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: var(--color-primary);
}
.b-cutter-blade-flow__lead {
  margin: var(--sp-3) 0 0;
  max-inline-size: 52ch;
  margin-inline: auto;
  font-size: clamp(0.9375rem, 0.9rem + 0.3vw, 1.125rem);
  line-height: 1.7;
  color: var(--color-ink-700);
}
.b-cutter-blade-flow__timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: var(--sp-xl);
}
@media (min-width: 75em) {
  .b-cutter-blade-flow__timeline {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    -moz-column-gap: 2.25rem;
    -webkit-column-gap: 2.25rem;
            column-gap: 2.25rem;
    row-gap: 0;
  }
}

.b-cutter-blade-options {
  background: var(--color-brand-ryuma-bg);
  color: #fff;
  padding-block: clamp(2.5rem, 1.25rem + 2.5vw, 3.75rem);
  padding-inline: clamp(var(--sp-3), 2vw, var(--sp-xl));
}
.b-cutter-blade-options .c-cutter-blade-option-row {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.b-cutter-blade-options .c-cutter-blade-option-row__figure {
  background: transparent;
}
.b-cutter-blade-options .c-cutter-blade-option-row__title {
  color: #fff;
}
.b-cutter-blade-options .c-cutter-blade-option-row__body {
  color: rgba(255, 255, 255, 0.92);
}

.b-cutter-blade-options__panel {
  max-width: 100%;
  padding: clamp(1.75rem, 1.25rem + 2.5vw, 3rem);
  background: transparent;
  border: 0;
  border-radius: 24px;
}

.b-cutter-blade-options__head {
  text-align: center;
  -webkit-margin-after: clamp(2rem, 1.5rem + 1.5vw, 3.5rem);
          margin-block-end: clamp(2rem, 1.5rem + 1.5vw, 3.5rem);
}

.b-cutter-blade-options__kicker {
  margin: 0 0 var(--sp-2);
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--lh-tight);
  text-transform: uppercase;
  color: var(--color-primary);
}

.b-cutter-blade-options__title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-h2);
  font-weight: var(--font-weight-bold, 700);
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: #fff;
}

.b-cutter-blade-options__row {
  display: grid;
  gap: var(--sp-lg);
  grid-template-columns: 1fr;
}
@media (min-width: 75em) {
  .b-cutter-blade-options__row {
    gap: var(--sp-xl);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }
}

.b-cutter-blade-options__intro-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-4);
  min-height: 0;
  margin: 0;
  padding: var(--sp-lg);
  background: transparent;
  border: 0;
  border-radius: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: rgba(255, 255, 255, 0.92);
}
.b-cutter-blade-options__intro-body p {
  margin: 0 0 var(--sp-2);
  font-size: 1.0625rem;
  font-weight: var(--font-weight-bold, 700);
  line-height: 1.75;
  color: inherit;
}
.b-cutter-blade-options__intro-body p:last-child {
  margin-bottom: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .b-cutter-blade-options__intro-body {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    -webkit-transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .b-cutter-blade-options__intro-body.is-revealed {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.b-cutter-blade-options__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-md);
}

.b-cutter-blade-page {
  background-color: var(--color-bg);
}
.b-cutter-blade-page .b-cutter-blade-hero {
  background-color: var(--color-bg);
}
.b-cutter-blade-page .b-tech-serial,
.b-cutter-blade-page .b-tech-ip {
  background: transparent;
}
.b-cutter-blade-page .b-cutter-blade-flow {
  background: transparent;
}

.b-chisel-section {
  padding-block: var(--sp-lg) var(--sp-md);
  background: #f7f7fa;
}
.b-chisel-section__head {
  margin-bottom: var(--sp-3);
  text-align: center;
}
.b-chisel-section__title {
  margin: 0;
  font-size: 1.875rem;
  line-height: 2.4375rem;
  font-weight: var(--font-weight-bold);
  color: #1a1c24;
  letter-spacing: 0.02em;
}
.b-chisel-section__lead {
  margin: 0 0 var(--sp-4);
  font-size: 0.8125rem;
  line-height: 1.615;
  color: #1a1c24;
  text-align: center;
}
.b-chisel-section__text {
  margin: 0 0 var(--sp-5);
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--color-ink-700);
  text-align: center;
}
.b-chisel-section__figure {
  margin: 0 auto;
  max-width: 48rem;
}
.b-chisel-section__figure img {
  display: block;
  width: 100%;
  height: auto;
}
.b-chisel-section__figure--diagram, .b-chisel-section__figure--custom {
  max-width: 39.25rem;
}

.b-product-page--chisel {
  background: #fafafc;
}

.b-chisel-hero {
  -webkit-padding-before: calc(var(--header-total-height) + var(--sp-5));
          padding-block-start: calc(var(--header-total-height) + var(--sp-5));
}
.b-chisel-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  max-width: var(--container-xwide);
  margin-inline: auto;
}
@media (min-width: 48em) {
  .b-chisel-hero__grid {
    grid-template-columns: 1fr 1fr;
  }
}
.b-chisel-hero__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.375rem;
  padding: var(--sp-xl) var(--sp-6) var(--sp-8);
  background: #050d1f;
  color: #d9e3f2;
}
@media (min-width: 48em) {
  .b-chisel-hero__intro {
    padding: clamp(3rem, 5vw, 5rem) clamp(1.75rem, 3vw, 3.5rem) clamp(1.75rem, 2.5vw, 2.5rem);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.b-chisel-hero__brand {
  margin: 0;
  line-height: 0;
}
.b-chisel-hero__logo {
  display: block;
  width: 86%;
  max-width: 36.375rem;
  height: auto;
}
.b-chisel-hero__lead {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.57;
  max-width: 36rem;
}
.b-chisel-hero__visual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #081229;
  min-height: 12rem;
  padding: var(--sp-6);
}
@media (min-width: 48em) {
  .b-chisel-hero__visual {
    min-height: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: clamp(2rem, 4vw, 3.5rem) clamp(1.75rem, 3vw, 3.5rem) clamp(1.75rem, 2.5vw, 2.5rem) clamp(1.5rem, 2.5vw, 3rem);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.b-chisel-hero__figure {
  margin: 0 auto;
  width: 100%;
  max-width: 27.75rem;
}
.b-chisel-hero__figure img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.b-chisel-features {
  padding-block: var(--sp-xl);
  background: #f2f2f5;
}
.b-chisel-features__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-5);
  max-width: 52.5rem;
  margin-inline: auto;
}
.b-chisel-features__title {
  margin: 0;
  font-size: 1.875rem;
  line-height: 2.4375rem;
  font-weight: var(--font-weight-bold);
  color: #1a1c24;
  letter-spacing: 0.02em;
}
.b-chisel-features .c-product-feature {
  gap: 1.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.b-chisel-features .c-product-feature.is-reverse {
  direction: ltr;
}
.b-chisel-features .c-product-feature.is-reverse > * {
  direction: ltr;
}
@media (min-width: 48em) {
  .b-chisel-features .c-product-feature.is-reverse {
    grid-template-columns: 11.25rem minmax(0, 1fr);
  }
  .b-chisel-features .c-product-feature.is-reverse .c-product-feature__media {
    grid-column: 1;
    grid-row: 1;
  }
  .b-chisel-features .c-product-feature.is-reverse .c-product-feature__copy {
    grid-column: 2;
    grid-row: 1;
  }
}
@media (min-width: 48em) {
  .b-chisel-features .c-product-feature:not(.is-reverse) {
    grid-template-columns: minmax(0, 1fr) 11.25rem;
  }
  .b-chisel-features .c-product-feature:not(.is-reverse) .c-product-feature__copy {
    grid-column: 1;
    grid-row: 1;
  }
  .b-chisel-features .c-product-feature:not(.is-reverse) .c-product-feature__media {
    grid-column: 2;
    grid-row: 1;
  }
}
.b-chisel-features .c-product-feature__copy {
  gap: 0.5rem;
  min-width: 0;
}
.b-chisel-features .c-product-feature__number {
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: var(--font-weight-bold);
  color: #004f8f;
}
.b-chisel-features .c-product-feature__title {
  font-size: 1.25rem;
  line-height: 1.5625rem;
  color: #1a1c24;
}
.b-chisel-features .c-product-feature__text {
  font-size: 0.8125rem;
  line-height: 1.615;
  color: #424754;
}
.b-chisel-features .c-product-feature__media {
  border-radius: 0;
  overflow: hidden;
  width: 100%;
  max-width: 11.25rem;
  aspect-ratio: 180/156;
  min-height: 0;
  margin-inline: auto;
}
.b-chisel-features .c-product-feature__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.b-chisel-features .c-product-feature:first-child .c-product-feature__media {
  background: #d6dee8;
}
.b-chisel-features .c-product-feature:first-child .c-product-feature__media img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
@media (max-width: 47.9375em) {
  .b-chisel-features__inner {
    gap: var(--sp-6);
  }
}

.b-chisel-trademark-reg {
  padding-block: var(--sp-xl);
  background: #f2f2f5;
}
.b-chisel-trademark-reg__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-lg);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.b-chisel-trademark-reg__title {
  margin: 0;
  font-size: var(--fs-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
}
.b-chisel-trademark-reg__panel {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  max-width: 52.5rem;
  background: var(--color-surface-white);
  border: 1px solid #d6dee8;
  border-radius: var(--radius-sm);
  text-align: start;
  overflow: hidden;
}
@media (min-width: 48em) {
  .b-chisel-trademark-reg__panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.b-chisel-trademark-reg__col {
  padding: var(--sp-4) var(--sp-3);
  border-bottom: 1px solid #e5ebf2;
}
.b-chisel-trademark-reg__col:last-child {
  border-bottom: 0;
}
@media (min-width: 48em) {
  .b-chisel-trademark-reg__col {
    border-bottom: 0;
    border-right: 1px solid #e5ebf2;
  }
  .b-chisel-trademark-reg__col:last-child {
    border-right: 0;
  }
}
.b-chisel-trademark-reg__label {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-xs);
  line-height: 1.2;
  color: #616978;
}
.b-chisel-trademark-reg__value {
  margin: 0;
  font-size: var(--fs-base);
  line-height: 1.5;
  color: var(--color-ink-900);
}
.b-chisel-trademark-reg__value--multiline p {
  margin: 0 0 var(--sp-2);
}
.b-chisel-trademark-reg__value--multiline p:last-child {
  margin-bottom: 0;
}

.b-chisel-compat {
  padding-block: var(--sp-xl);
  background: var(--color-bg);
}
.b-chisel-compat__head {
  margin-bottom: var(--sp-md);
  text-align: center;
}
.b-chisel-compat__title {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
}
.b-chisel-compat__lead {
  margin: 0 auto;
  max-width: 42rem;
  font-size: var(--fs-sm);
  line-height: 1.65;
  color: var(--color-ink-600);
}
.b-chisel-compat__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-4);
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: var(--sp-5);
  padding: var(--sp-5);
  max-width: var(--container-max);
  margin-inline: auto;
  background: var(--color-surface-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.b-chisel-compat__count {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.55;
  color: var(--color-ink-700);
}
@media (min-width: 48em) {
  .b-chisel-compat__count {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    margin-left: 0;
    text-align: left;
  }
}
.b-chisel-compat__empty {
  text-align: center;
  color: var(--color-ink-600);
  font-size: var(--fs-sm);
}
.b-chisel-compat__table-wrap {
  max-width: var(--container-max);
  margin-inline: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface-white);
}
@media (max-width: 47.9375em) {
  .b-chisel-compat__table-wrap {
    overflow-x: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
}

.c-logo {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
  text-decoration: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-logo__mark {
  display: block;
  width: auto;
  height: auto;
  max-height: clamp(1.75rem, 5vw, 2.75rem);
  max-width: min(18rem, 88vw);
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
.c-logo:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}
.c-logo:hover {
  color: var(--color-primary);
}
.c-logo:hover .c-logo__mark {
  opacity: 0.88;
}
.c-logo--inverse {
  color: var(--color-footer-ink);
}
.c-logo--inverse:hover {
  color: color-mix(in oklab, var(--color-primary) 65%, var(--color-footer-ink));
}
.c-logo--inverse:focus-visible {
  outline-color: var(--color-focus-ring-inverse);
}

.c-social-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-social-icons__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-footer-ink);
  text-decoration: none;
  border-radius: var(--sp-1);
  -webkit-transition: color var(--motion-duration-tap) var(--motion-ease);
  transition: color var(--motion-duration-tap) var(--motion-ease);
}
.c-social-icons__link:hover {
  color: color-mix(in oklab, var(--color-primary) 55%, var(--color-footer-ink));
}
.c-social-icons__link:focus-visible {
  outline: 2px solid var(--color-focus-ring-inverse);
  outline-offset: 2px;
}
.c-social-icons__link svg {
  display: block;
  width: 1.375rem;
  height: 1.375rem;
}

.c-breadcrumb {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  line-height: 19px;
  white-space: nowrap;
}
.c-breadcrumb__item {
  color: var(--color-ink-500);
}
.c-breadcrumb__link {
  color: inherit;
  text-decoration: none;
}
.c-breadcrumb__link:hover {
  text-decoration: underline;
}
.c-breadcrumb__sep {
  color: color-mix(in oklab, var(--color-ink-500) 60%, #fff);
}
.c-breadcrumb__item--current {
  color: var(--color-ink-500);
}

.b-contact-cta-band {
  margin-block: 0;
  padding-block: 0;
  background: var(--color-bg);
  border-top: none;
  border-bottom: none;
}

.b-contact-cta-band__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  inline-size: 100%;
  max-inline-size: none;
  border: none;
  -webkit-border-before: none;
          border-block-start: none;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media (min-width: 48em) {
  .b-contact-cta-band__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.b-contact-cta-band__cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: var(--sp-md);
  padding: var(--sp-xl) var(--sp-lg);
  text-align: start;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 100%;
}
.b-contact-cta-band__cell--contact {
  background: linear-gradient(155deg, color-mix(in oklab, var(--color-primary) 64%, #fff) 0%, var(--color-primary) 50%, var(--color-primary-active) 100%);
  color: var(--color-white);
}
.b-contact-cta-band__cell--member {
  background: linear-gradient(145deg, #2a3038 0%, #0f1116 40%, #1a1f28 100%);
  color: var(--color-white);
}
@media (min-width: 48em) {
  .b-contact-cta-band__cell {
    padding: var(--sp-2xl) var(--sp-xl);
  }
}
@media (min-width: 75em) {
  .b-contact-cta-band__cell {
    padding: clamp(3.5rem, 2.5rem + 3vw, 5.5rem) clamp(2.5rem, 1.5rem + 2.5vw, 4.5rem);
  }
}
.b-contact-cta-band__cell + .b-contact-cta-band__cell {
  border-top: 1px solid color-mix(in oklab, var(--color-white) 20%, transparent);
}
@media (min-width: 48em) {
  .b-contact-cta-band__cell + .b-contact-cta-band__cell {
    border-top: none;
    -webkit-border-start: 1px solid color-mix(in oklab, var(--color-white) 20%, transparent);
            border-inline-start: 1px solid color-mix(in oklab, var(--color-white) 20%, transparent);
  }
}

.b-contact-cta-band__en {
  margin: 0;
  font-family: var(--font-display, system-ui, sans-serif);
  font-size: clamp(1.75rem, 2.4vw + 0.8rem, 2.75rem);
  font-weight: var(--font-weight-bold, 700);
  line-height: 1.08;
  letter-spacing: 0.03em;
}

.b-contact-cta-band__cell--member .b-contact-cta-band__en {
  color: color-mix(in oklab, var(--color-white) 40%, #8892a0);
}

.b-contact-cta-band__cell--contact .b-contact-cta-band__en {
  color: color-mix(in oklab, var(--color-white) 88%, #b8dfff);
}

.b-contact-cta-band__ja {
  margin: 0;
  font-size: var(--fs-h3);
  font-weight: var(--font-weight-bold, 700);
  letter-spacing: 0.04em;
  line-height: var(--lh-tight);
  color: var(--color-white);
}

.b-contact-cta-band__body {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: color-mix(in oklab, var(--color-white) 94%, #000);
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.b-contact-cta-band__action {
  margin-top: var(--sp-md);
}
@media (min-width: 48em) {
  .b-contact-cta-band__action {
    margin-top: var(--sp-lg);
  }
}
.b-contact-cta-band__action {
  font-size: var(--fs-base);
}

.c-info-strip {
  --t: clamp(0, calc(var(--scroll, 0) / 20), 1);
  background: var(--color-primary);
  border-bottom: 1px solid color-mix(in oklab, var(--color-primary-contrast) 18%, var(--color-primary));
  font-size: var(--fs-xs);
  color: var(--color-primary-contrast);
  text-align: center;
  line-height: var(--lh-normal);
  overflow: hidden;
  height: calc((1 - var(--t)) * 1.75rem);
  opacity: calc(1 - var(--t));
  padding-block: calc((1 - var(--t)) * var(--sp-1));
  padding-inline: clamp(var(--sp-4), 0.5rem + 1.5vw, var(--sp-6));
  -webkit-transition: height var(--motion-duration-base) var(--motion-ease-out), opacity var(--motion-duration-base) var(--motion-ease-out), padding-block var(--motion-duration-base) var(--motion-ease-out);
  transition: height var(--motion-duration-base) var(--motion-ease-out), opacity var(--motion-duration-base) var(--motion-ease-out), padding-block var(--motion-duration-base) var(--motion-ease-out);
}
.c-info-strip__inner {
  max-width: var(--container-xwide);
  margin-inline: auto;
}
@media (max-width: 47.9375em) {
  .c-info-strip__full {
    display: none;
  }
}
.c-info-strip__short {
  display: none;
}
@media (max-width: 47.9375em) {
  .c-info-strip__short {
    display: inline;
  }
}
.c-info-strip b {
  color: inherit;
  font-weight: var(--font-weight-bold);
}
@media (prefers-reduced-motion: reduce) {
  .c-info-strip {
    -webkit-transition: none;
    transition: none;
  }
}

.c-utility-bar {
  min-height: var(--header-utility-height);
  -webkit-padding-before: max(var(--sp-1), env(safe-area-inset-top, 0px));
          padding-block-start: max(var(--sp-1), env(safe-area-inset-top, 0px));
  background: transparent;
  font-size: var(--fs-xs);
}

.c-utility-bar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-3);
  min-height: var(--header-utility-height);
}

.c-utility-bar__cluster {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: var(--sp-2);
}

.c-utility-bar__nav {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-utility-bar__tel {
  display: none;
}
@media (min-width: 48em) {
  .c-utility-bar__tel {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
  .c-utility-bar__tel .c-utility-bar__tel-label,
  .c-utility-bar__tel .c-utility-bar__tel-num {
    color: inherit;
    font-size: inherit;
    font-weight: var(--font-weight-bold);
  }
  .c-utility-bar__tel .c-utility-bar__tel-label {
    letter-spacing: 0.06em;
  }
}

.c-utility-bar__tel-line {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: var(--sp-2);
  white-space: nowrap;
}

.c-utility-bar__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: var(--sp-2) var(--sp-3);
  margin: 0;
  padding: var(--sp-2xs) 0;
  list-style: none;
}

.c-utility-bar__list--cta {
  gap: var(--sp-2);
  padding-block: var(--sp-1);
}

.c-global-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  min-width: 0;
}

.c-global-nav__toggle {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--sp-2);
  min-width: 3rem;
  min-height: 3rem;
  padding: var(--sp-2);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
@media (min-width: 48em) {
  .c-global-nav__toggle {
    display: none;
  }
}
.c-global-nav__toggle:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

.c-global-nav__toggle-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.5rem;
  height: 1rem;
}

.c-global-nav__toggle-line {
  display: block;
  height: 3px;
  width: 100%;
  border-radius: 1.5px;
  background: currentColor;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: opacity var(--motion-duration-base) var(--motion-ease), -webkit-transform var(--motion-duration-base) var(--motion-ease);
  transition: opacity var(--motion-duration-base) var(--motion-ease), -webkit-transform var(--motion-duration-base) var(--motion-ease);
  transition: transform var(--motion-duration-base) var(--motion-ease), opacity var(--motion-duration-base) var(--motion-ease);
  transition: transform var(--motion-duration-base) var(--motion-ease), opacity var(--motion-duration-base) var(--motion-ease), -webkit-transform var(--motion-duration-base) var(--motion-ease);
}
@media (prefers-reduced-motion: reduce) {
  .c-global-nav__toggle-line {
    -webkit-transition: none;
    transition: none;
  }
}

.c-global-nav__toggle[aria-expanded=true] .c-global-nav__toggle-line:nth-child(1) {
  -webkit-transform: translateY(calc((1rem - 3px) / 2)) rotate(45deg);
          transform: translateY(calc((1rem - 3px) / 2)) rotate(45deg);
}

.c-global-nav__toggle[aria-expanded=true] .c-global-nav__toggle-line:nth-child(2) {
  opacity: 0;
}

.c-global-nav__toggle[aria-expanded=true] .c-global-nav__toggle-line:nth-child(3) {
  -webkit-transform: translateY(calc((3px - 1rem) / 2)) rotate(-45deg);
          transform: translateY(calc((3px - 1rem) / 2)) rotate(-45deg);
}

.c-global-nav__toggle-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 47.9375em) {
  body.is-drawer-open .c-global-nav__toggle {
    display: none;
  }
}

@media (max-width: 47.9375em) {
  body.is-drawer-open {
    overflow: hidden;
  }
}

@media (min-width: 48em) {
  .c-global-nav__frame {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: static;
    inset: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    overflow: visible;
  }
}
@media (max-width: 47.9375em) {
  .c-global-nav__frame {
    position: fixed;
    inset: 0;
    z-index: var(--z-menu-overlay);
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    visibility: hidden;
    pointer-events: none;
  }
  .c-global-nav__frame.is-open {
    visibility: visible;
    pointer-events: auto;
  }
  .c-global-nav__frame:not(.is-open) * {
    pointer-events: none !important;
  }
}

@media (min-width: 48em) {
  .c-global-nav__scrim {
    display: none;
  }
}
@media (max-width: 47.9375em) {
  .c-global-nav__scrim {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    padding: 0;
    border: none;
    cursor: pointer;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: color-mix(in oklab, var(--color-ink-900) 35%, transparent);
    pointer-events: none;
  }
  .c-global-nav__frame.is-open .c-global-nav__scrim {
    pointer-events: auto;
  }
}

@media (min-width: 48em) {
  .c-global-nav__sheet {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    min-width: 0;
    width: auto;
    height: auto;
    max-height: none;
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}
@media (max-width: 47.9375em) {
  .c-global-nav__sheet {
    position: absolute;
    inset: 0;
    z-index: 1;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    height: 100%;
    max-height: none;
    min-height: 0;
    background: var(--color-bg);
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform var(--motion-duration-drawer) var(--motion-ease);
    transition: -webkit-transform var(--motion-duration-drawer) var(--motion-ease);
    transition: transform var(--motion-duration-drawer) var(--motion-ease);
    transition: transform var(--motion-duration-drawer) var(--motion-ease), -webkit-transform var(--motion-duration-drawer) var(--motion-ease);
    pointer-events: none;
  }
}
@media (max-width: 47.9375em) and (prefers-reduced-motion: reduce) {
  .c-global-nav__sheet {
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375em) {
  .c-global-nav__frame.is-open .c-global-nav__sheet {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    pointer-events: auto;
  }
}

@media (min-width: 48em) {
  .c-global-nav__sheet-head {
    display: none;
  }
}
@media (max-width: 47.9375em) {
  .c-global-nav__sheet-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: var(--sp-3);
    padding: var(--sp-3) var(--sp-4);
    border-bottom: 1px solid var(--color-border);
  }
}

.c-global-nav__dialog-title {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}

@media (min-width: 48em) {
  .c-global-nav__close {
    display: none;
  }
}
@media (max-width: 47.9375em) {
  .c-global-nav__close {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 3rem;
    min-height: 3rem;
    padding: var(--sp-2);
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem);
    line-height: 1;
    color: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
  }
  .c-global-nav__close:focus-visible {
    outline: 2px solid var(--color-focus-ring);
    outline-offset: 2px;
  }
}

@media (max-width: 47.9375em) {
  .c-global-nav__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    min-height: 0;
    height: auto;
    max-height: none;
    margin: 0;
    padding: 0;
    background: var(--color-bg);
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}
@media (min-width: 48em) {
  .c-global-nav__panel {
    display: contents;
  }
}

.c-global-nav__panel-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow: auto;
  padding: var(--sp-4);
}
@media (max-width: 47.9375em) {
  .c-global-nav__panel-body {
    min-height: 0;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    padding-bottom: max(var(--sp-4), env(safe-area-inset-bottom, 0px));
  }
}
@media (min-width: 48em) {
  .c-global-nav__panel-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    overflow: visible;
    padding: 0;
  }
}

.c-global-nav__menu {
  width: 100%;
}
@media (min-width: 48em) {
  .c-global-nav__menu {
    width: auto;
  }
}

.c-global-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 48em) {
  .c-global-nav__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 0 var(--sp-5);
  }
}

@media (min-width: 48em) {
  .c-global-nav__item + .c-global-nav__item::before {
    content: "|";
    position: absolute;
    left: calc(-0.5 * var(--sp-5));
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    color: color-mix(in oklab, var(--color-ink-600) 65%, var(--color-border));
    font-size: var(--fs-sm);
    font-weight: 300;
    line-height: 1;
    pointer-events: none;
  }
}
.c-global-nav__item {
  border-bottom: 1px solid var(--color-border);
}
@media (min-width: 48em) {
  .c-global-nav__item {
    position: relative;
    border-bottom: none;
    -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out);
    transition: background var(--motion-duration-base) var(--motion-ease-out);
  }
  .c-global-nav__item:hover {
    background: color-mix(in oklab, var(--color-primary) 4%, transparent);
  }
}
.c-global-nav__item:last-child {
  border-bottom: none;
}

@media (min-width: 48em) {
  .c-global-nav__item--drawer-flat {
    display: none !important;
  }
}

@media (min-width: 48em) {
  .c-global-nav__item--drawer-util {
    display: none !important;
  }
}

@media (max-width: 47.9375em) {
  .c-global-nav__item--mega-desktop {
    display: none !important;
  }
}

.c-global-nav__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-2);
  width: 100%;
}

.c-global-nav__trigger {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  width: 100%;
  padding: var(--sp-3) 0;
  border: none;
  background: transparent;
  font: inherit;
  font-size: var(--fs-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
  text-align: left;
  cursor: pointer;
}
@media (min-width: 48em) {
  .c-global-nav__trigger {
    width: auto;
    padding: var(--sp-3) var(--sp-3);
    font-size: var(--fs-sm);
    font-weight: var(--font-weight-regular);
  }
}
.c-global-nav__trigger:hover {
  color: var(--color-primary);
}
.c-global-nav__trigger:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

.c-global-nav__chev {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: -webkit-transform var(--motion-duration-tap) var(--motion-ease);
  transition: -webkit-transform var(--motion-duration-tap) var(--motion-ease);
  transition: transform var(--motion-duration-tap) var(--motion-ease);
  transition: transform var(--motion-duration-tap) var(--motion-ease), -webkit-transform var(--motion-duration-tap) var(--motion-ease);
}
.c-global-nav__trigger[aria-expanded=true] .c-global-nav__chev {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.c-global-nav__chev {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 48em) {
  .c-global-nav__chev {
    width: 0.4rem;
    height: 0.4rem;
    -webkit-margin-start: 0.125rem;
            margin-inline-start: 0.125rem;
  }
}

.c-global-nav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  line-height: var(--lh-tight);
  padding: var(--sp-3) 0;
  font-size: var(--fs-base);
  font-weight: var(--font-weight-regular);
  color: var(--color-ink-900);
  text-decoration: none;
}
@media (min-width: 48em) {
  .c-global-nav__link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-block: var(--sp-3);
    padding-inline: var(--sp-4);
    text-align: center;
  }
}
.c-global-nav__link:hover {
  color: var(--color-primary);
}
.c-global-nav__link:hover .c-global-nav__en {
  color: var(--color-ink-700);
}
.c-global-nav__link:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

.c-global-nav__jp {
  display: block;
  font-size: var(--fs-base);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: inherit;
}

.c-global-nav__en {
  display: block;
  margin-top: var(--sp-1);
  font-family: var(--font-mono, ui-monospace, Menlo, monospace);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0.12em;
  color: #94a3b8;
  text-transform: uppercase;
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out);
}

.c-global-nav__caret {
  display: inline-block;
  margin-left: 2px;
  font-size: 0.75em;
  -webkit-transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
}
@media (prefers-reduced-motion: reduce) {
  .c-global-nav__caret {
    -webkit-transition: none;
    transition: none;
  }
}

.c-global-nav__item--has-mega.is-mega-open .c-global-nav__caret {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

@media (min-width: 48em) {
  .c-global-nav__link .c-global-nav__en {
    --en-fade: clamp(0, calc((50 - var(--scroll, 0)) / 50), 1);
    font-size: var(--fs-xs);
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.12em;
    color: #94a3b8;
    opacity: var(--en-fade);
    max-block-size: calc(var(--en-fade) * 0.875rem);
    overflow: hidden;
    -webkit-transition: opacity var(--motion-duration-base) var(--motion-ease-out), max-block-size var(--motion-duration-base) var(--motion-ease-out);
    transition: opacity var(--motion-duration-base) var(--motion-ease-out), max-block-size var(--motion-duration-base) var(--motion-ease-out);
  }
  .c-global-nav__label-stack {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    line-height: var(--lh-tight);
    text-align: center;
  }
  .c-global-nav__label-stack .en {
    --en-fade: clamp(0, calc((50 - var(--scroll, 0)) / 50), 1);
    font-size: var(--fs-xs);
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.06em;
    color: var(--color-ink-600);
    opacity: var(--en-fade);
    max-block-size: calc(var(--en-fade) * 0.875rem);
    overflow: hidden;
    -webkit-transition: opacity var(--motion-duration-base) var(--motion-ease-out), max-block-size var(--motion-duration-base) var(--motion-ease-out);
    transition: opacity var(--motion-duration-base) var(--motion-ease-out), max-block-size var(--motion-duration-base) var(--motion-ease-out);
  }
}
@media (min-width: 48em) and (prefers-reduced-motion: reduce) {
  .c-global-nav__link .c-global-nav__en,
  .c-global-nav__label-stack .en {
    -webkit-transition: none;
    transition: none;
  }
}
.c-global-nav__item.is-active .c-global-nav__trigger,
.c-global-nav__item.is-active .c-global-nav__link {
  color: var(--color-primary);
}
.c-global-nav__item.is-active .c-global-nav__link .c-global-nav__en,
.c-global-nav__item.is-active .c-global-nav__label-stack .en {
  color: color-mix(in oklab, var(--color-primary) 58%, #94a3b8);
}
@media (min-width: 48em) {
  .c-global-nav__item.is-active {
    -webkit-box-shadow: inset 0 -2px 0 var(--color-primary);
            box-shadow: inset 0 -2px 0 var(--color-primary);
  }
}

.c-mega {
  padding-bottom: var(--sp-3);
  display: none;
}
.c-mega.is-open {
  display: block;
}
@media (min-width: 48em) {
  .c-mega {
    position: fixed;
    inset-inline: 0;
    top: var(--mega-panel-offset-top);
    z-index: var(--z-mega-panel);
    width: 100%;
    max-width: none;
    margin: 0;
    padding: var(--sp-5) 0 var(--sp-6);
    border-top: 1px solid var(--color-border);
    background: var(--color-bg);
    -webkit-box-shadow: 0 12px 24px color-mix(in oklab, var(--color-ink-900) 12%, transparent);
            box-shadow: 0 12px 24px color-mix(in oklab, var(--color-ink-900) 12%, transparent);
    display: block;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(calc(-1 * var(--motion-offset-md)));
            transform: translateY(calc(-1 * var(--motion-offset-md)));
    pointer-events: none;
    -webkit-transition: opacity var(--motion-duration-mega) var(--motion-ease), visibility 0s linear var(--motion-duration-mega), -webkit-transform var(--motion-duration-mega) var(--motion-ease);
    transition: opacity var(--motion-duration-mega) var(--motion-ease), visibility 0s linear var(--motion-duration-mega), -webkit-transform var(--motion-duration-mega) var(--motion-ease);
    transition: opacity var(--motion-duration-mega) var(--motion-ease), transform var(--motion-duration-mega) var(--motion-ease), visibility 0s linear var(--motion-duration-mega);
    transition: opacity var(--motion-duration-mega) var(--motion-ease), transform var(--motion-duration-mega) var(--motion-ease), visibility 0s linear var(--motion-duration-mega), -webkit-transform var(--motion-duration-mega) var(--motion-ease);
  }
  .c-mega.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    pointer-events: auto;
    -webkit-transition: opacity var(--motion-duration-mega) var(--motion-ease), visibility 0s linear 0s, -webkit-transform var(--motion-duration-mega) var(--motion-ease);
    transition: opacity var(--motion-duration-mega) var(--motion-ease), visibility 0s linear 0s, -webkit-transform var(--motion-duration-mega) var(--motion-ease);
    transition: opacity var(--motion-duration-mega) var(--motion-ease), transform var(--motion-duration-mega) var(--motion-ease), visibility 0s linear 0s;
    transition: opacity var(--motion-duration-mega) var(--motion-ease), transform var(--motion-duration-mega) var(--motion-ease), visibility 0s linear 0s, -webkit-transform var(--motion-duration-mega) var(--motion-ease);
  }
}
.c-mega[hidden] {
  display: none;
}
@media (max-width: 47.9375em) {
  .c-mega.c-mega--products-desktop-only {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .c-mega.c-mega--products-desktop-only.is-open {
    display: none !important;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 48em) {
  .c-mega {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
            transform: none;
  }
  .c-mega.is-open {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
            transform: none;
  }
}

.c-mega__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--sp-4);
}

.c-mega__cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-5) var(--sp-6);
}

.c-mega__col {
  min-width: min(100%, 12rem);
}

.c-mega__heading {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-700);
}

.c-mega__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-mega__list li {
  margin: 0 0 var(--sp-1);
}
.c-mega__list a {
  color: var(--color-ink-900);
  text-decoration: none;
  font-size: var(--fs-sm);
  line-height: var(--lh-tight);
}
.c-mega__list a:hover,
.c-mega__list a:focus-visible {
  color: var(--color-primary);
}

.c-mega__layout {
  display: grid;
  gap: var(--sp-5);
}
@media (min-width: 48em) {
  .c-mega__layout {
    grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: var(--sp-5) var(--sp-6);
  }
}

.c-mega__intro {
  margin: 0;
  padding: 0;
}
@media (min-width: 48em) {
  .c-mega__intro {
    padding-right: var(--sp-5);
    border-right: 1px solid var(--color-border);
  }
}

.c-mega__title-en {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  color: var(--color-ink-700);
  text-transform: uppercase;
  line-height: var(--lh-tight);
}

.c-mega__title-ja {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}

.c-mega__tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-4) var(--sp-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 48em) {
  .c-mega__tiles {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 48em) {
  .c-mega__tiles--count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 48em) {
  .c-mega__tiles--count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.c-mega__tile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: var(--sp-2);
  margin: 0;
  background: transparent;
  text-decoration: none;
  color: var(--color-ink-900);
}
@media (min-width: 48em) {
  .c-mega__tile {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-mega__tile:hover .c-mega__label {
  color: var(--color-primary);
}
.c-mega__tile:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  border-radius: var(--sp-1);
}

.c-mega__thumb {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  border: 1px solid var(--color-border);
  border-radius: var(--sp-1);
  background: transparent;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}
@media (min-width: 48em) {
  .c-mega__thumb {
    block-size: clamp(96px, 10vw, 140px);
    inline-size: clamp(170.67px, 17.78vw, 248.89px);
    aspect-ratio: 16/9;
  }
}

.c-mega__label {
  display: block;
  inline-size: 100%;
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  text-align: center;
  -webkit-transition: color var(--motion-duration-tap) var(--motion-ease);
  transition: color var(--motion-duration-tap) var(--motion-ease);
}

.c-mega__note {
  margin: var(--sp-4) 0 0;
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
}

.c-mega-scrim {
  display: none;
}
@media (min-width: 48em) {
  .c-mega-scrim {
    display: block;
    position: fixed;
    inset-inline: 0;
    top: var(--mega-panel-offset-top);
    bottom: 0;
    z-index: var(--z-mega-scrim);
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: opacity var(--motion-duration-mega) var(--motion-ease), visibility 0s linear var(--motion-duration-mega);
    transition: opacity var(--motion-duration-mega) var(--motion-ease), visibility 0s linear var(--motion-duration-mega);
  }
  .c-mega-scrim.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transition: opacity var(--motion-duration-mega) var(--motion-ease), visibility 0s linear 0s;
    transition: opacity var(--motion-duration-mega) var(--motion-ease), visibility 0s linear 0s;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 48em) {
  .c-mega-scrim {
    -webkit-transition: none;
    transition: none;
  }
}

@media (min-width: 48em) {
  .c-mega--products {
    padding-block: var(--sp-5) var(--sp-6);
    border-top: 1px solid var(--color-border);
    background: var(--color-white);
    -webkit-box-shadow: 0 12px 12px rgba(26, 26, 26, 0.12);
            box-shadow: 0 12px 12px rgba(26, 26, 26, 0.12);
  }
}
.c-mega--products .c-mega__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: min(100% - 2rem, 80rem);
  margin-inline: auto;
  padding-inline: var(--sp-4);
}
.c-mega--products .c-mega__layout--products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-5);
  width: 100%;
}
@media (min-width: 48em) {
  .c-mega--products .c-mega__layout--products {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2rem;
  }
}
.c-mega--products .c-mega__intro {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
}
@media (min-width: 48em) {
  .c-mega--products .c-mega__intro {
    width: 12.5rem;
    padding-right: var(--sp-6);
    border-right: 1px solid var(--color-border);
  }
}
.c-mega--products .c-mega__intro .c-mega__kicker {
  margin: 0 0 var(--sp-2);
  font-size: 0.875rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  color: var(--color-ink-700);
  text-transform: uppercase;
  line-height: var(--lh-tight);
}
.c-mega--products .c-mega__intro .c-mega__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
  line-height: var(--lh-tight);
}
.c-mega--products .c-mega__tiles {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
  min-width: 0;
}
@media (min-width: 48em) {
  .c-mega--products .c-mega__tiles {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 0.75rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.c-mega--products .c-mega__tile {
  margin: 0;
}
.c-mega--products .c-mega__tile-link {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  width: 100%;
  max-width: 15.3125rem;
  margin-inline: auto;
  text-decoration: none;
  color: var(--color-ink-900);
  -webkit-transition: color var(--motion-duration-tap) var(--motion-ease), border-color var(--motion-duration-tap) var(--motion-ease);
  transition: color var(--motion-duration-tap) var(--motion-ease), border-color var(--motion-duration-tap) var(--motion-ease);
}
.c-mega--products .c-mega__tile-link:hover .c-mega__tile-label, .c-mega--products .c-mega__tile-link:focus-visible .c-mega__tile-label {
  color: var(--color-primary);
}
.c-mega--products .c-mega__tile-link:hover .c-mega__tile-thumb, .c-mega--products .c-mega__tile-link:focus-visible .c-mega__tile-thumb {
  border-color: var(--color-primary);
}
.c-mega--products .c-mega__tile-link:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}
@media (prefers-reduced-motion: reduce) {
  .c-mega--products .c-mega__tile-link {
    -webkit-transition: none;
    transition: none;
  }
}
.c-mega--products .c-mega__tile-thumb {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 11.4375rem;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  background: var(--color-white);
}
.c-mega--products .c-mega__tile-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-mega--products .c-mega__tile-label {
  font-size: 0.875rem;
  font-weight: var(--font-weight-regular, 400);
  line-height: var(--lh-tight);
  text-align: center;
  max-width: 100%;
}

.c-footer {
  padding-block: var(--sp-lg);
  background: var(--color-footer-bg);
  color: var(--color-footer-text);
}

.c-footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-5);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: var(--sp-6);
  margin-bottom: var(--sp-6);
  border-bottom: 1px solid color-mix(in oklab, var(--color-surface-white) 12%, var(--color-footer-bg));
}

.c-company-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-5);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.c-logo--footer {
  font-size: var(--fs-h3);
  color: var(--color-surface-white);
  text-decoration: none;
  -webkit-transition: opacity var(--motion-duration-base) var(--motion-ease);
  transition: opacity var(--motion-duration-base) var(--motion-ease);
}
@media (prefers-reduced-motion: reduce) {
  .c-logo--footer {
    -webkit-transition: none;
    transition: none;
  }
}

.c-logo--footer:hover {
  opacity: 0.9;
}

.c-company-info__label {
  display: block;
  margin-bottom: var(--sp-2);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-footer-muted);
}

.c-company-info__address p {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-sm);
  color: var(--color-footer-muted);
}

.c-footer-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-5) var(--sp-4);
  margin-bottom: var(--sp-6);
}

@media (max-width: 63.99rem) {
  .c-footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 35.99rem) {
  .c-footer-nav {
    grid-template-columns: 1fr;
  }
}
.c-footer-nav__heading {
  margin: 0 0 var(--sp-3);
  padding: 0;
  border: 0;
  color: inherit;
  text-transform: none;
  letter-spacing: normal;
}

.c-footer-nav__heading-en {
  margin: 0;
  font-size: var(--fs-h3);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: var(--lh-tight);
  color: var(--color-footer-ink);
}

.c-footer-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-footer-nav__list a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25em;
  padding: var(--sp-2) 0;
  font-size: var(--fs-sm);
  color: var(--color-footer-link);
  text-decoration: none;
}
.c-footer-nav__list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--sp-2) - 2px);
  height: 1px;
  background: currentColor;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
}
.c-footer-nav__list a:hover::after, .c-footer-nav__list a:focus-visible::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
@media (prefers-reduced-motion: reduce) {
  .c-footer-nav__list a::after {
    -webkit-transition: none;
    transition: none;
  }
}

.c-footer-nav__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
}

.c-footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-4);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: var(--sp-5);
  border-top: 1px solid color-mix(in oklab, var(--color-surface-white) 12%, var(--color-footer-bg));
}

.c-copyright {
  margin: 0;
  font-size: var(--fs-xs);
  color: var(--color-footer-muted);
}

.c-legal-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-legal-links a {
  font-size: var(--fs-xs);
  color: var(--color-footer-muted);
  text-decoration: none;
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease);
  transition: color var(--motion-duration-base) var(--motion-ease);
}
.c-legal-links a:hover, .c-legal-links a:focus-visible {
  color: var(--color-footer-text);
}
@media (prefers-reduced-motion: reduce) {
  .c-legal-links a {
    -webkit-transition: none;
    transition: none;
  }
}

.c-footer-note {
  margin: 0;
  color: var(--color-ink-700);
  font-size: var(--fs-sm);
}

.c-news-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
  color: inherit;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.c-news-card__link:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
.c-news-card__thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--color-bg-muted);
}
.c-news-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-news-card__thumb--placeholder {
  background: linear-gradient(135deg, var(--color-bg-muted), var(--color-border));
}
.c-news-card__body {
  padding: var(--sp-4) 0 0;
}
.c-news-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
  margin: 0 0 var(--sp-2);
}
.c-news-card__category {
  padding: var(--sp-1) var(--sp-2);
  background: var(--color-primary-subtle);
  color: var(--color-primary);
  letter-spacing: 0.02em;
}
.c-news-card__title {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-ink-900);
}

.c-news-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-4);
  padding-bottom: var(--sp-5);
  border-bottom: 1px solid var(--color-border);
}
.c-news-filter__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--sp-2);
}
.c-news-filter__search-input {
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--color-border);
  font-size: var(--fs-sm);
  min-width: 220px;
}
.c-news-filter__search-input:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.c-news-filter__search-submit {
  padding: var(--sp-2) var(--sp-4);
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border: 0;
  font-size: var(--fs-sm);
  cursor: pointer;
}
.c-news-filter__search-submit:hover {
  background: var(--color-primary-hover);
}
.c-news-filter__cats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-2);
}
.c-news-filter__cat {
  padding: var(--sp-1) var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--color-primary-contrast);
  text-decoration: none;
  border: 1px solid var(--color-primary);
  border-radius: 999px;
  background: var(--color-primary);
  font-weight: 500;
  opacity: 0.88;
  -webkit-transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease, -webkit-filter 0.15s ease;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease, -webkit-filter 0.15s ease;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease, filter 0.15s ease;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease, filter 0.15s ease, -webkit-filter 0.15s ease;
}
.c-news-filter__cat:hover {
  opacity: 1;
  -webkit-filter: brightness(1.06);
          filter: brightness(1.06);
}
.c-news-filter__cat.is-active {
  opacity: 1;
  font-weight: 700;
  -webkit-filter: none;
          filter: none;
}
@media (max-width: 560px) {
  .c-news-filter__search-input {
    min-width: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.c-news-pager {
  margin-top: var(--sp-xl);
}
.c-news-pager__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.c-news-pager__item a,
.c-news-pager__item span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--sp-3);
  font-size: var(--fs-sm);
  text-decoration: none;
  border: 1px solid var(--color-border);
  color: var(--color-ink-700);
}
.c-news-pager__item a:hover {
  background: var(--color-bg-muted);
}
.c-news-pager__item .current {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border-color: var(--color-primary);
}

@media (min-width: 48em) {
  .c-news-sidebar {
    position: sticky;
    top: calc(var(--header-total-height) + var(--sp-lg));
  }
}

.c-news-sidebar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  background: var(--color-surface-white);
  border: none;
  border-radius: 8px;
  overflow: hidden;
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
  -webkit-transition: -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: box-shadow var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out);
  transition: box-shadow var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
}
.c-news-sidebar__inner:hover {
  -webkit-box-shadow: var(--shadow-card-hover);
          box-shadow: var(--shadow-card-hover);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .c-news-sidebar__inner:hover {
    -webkit-transform: none;
            transform: none;
  }
}

.c-news-sidebar__block,
.c-news-sidebar__search,
.c-news-sidebar__cta {
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: 0.5px solid var(--color-border);
}

.c-news-sidebar__block {
  padding: var(--sp-4);
}

.c-news-sidebar__search {
  padding: 0;
}

.c-news-sidebar__cta {
  background: transparent;
  padding: var(--sp-4);
}

.c-news-sidebar__inner > *:last-child {
  border-bottom: none;
}

.c-news-sidebar__heading {
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--color-ink-900);
  margin: 0 0 var(--sp-2);
}

.c-news-sidebar__search-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 10px 16px;
  margin: var(--sp-4);
  background: var(--color-surface-white);
  border: 0.5px solid var(--color-border);
  border-radius: 999px;
  -webkit-transition: border-color var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
}
.c-news-sidebar__search-label:focus-within {
  border-color: var(--color-primary);
  -webkit-box-shadow: 0 0 0 1px color-mix(in oklab, var(--color-primary) 40%, transparent);
          box-shadow: 0 0 0 1px color-mix(in oklab, var(--color-primary) 40%, transparent);
}

.c-news-sidebar__search-icon {
  width: 14px;
  height: 14px;
  color: var(--color-ink-500);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-news-sidebar__search-input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  background: transparent;
  font-size: var(--fs-sm);
  outline: none;
  min-width: 0;
  color: var(--color-ink-900);
}
.c-news-sidebar__search-input::-webkit-input-placeholder {
  color: var(--color-ink-500);
}
.c-news-sidebar__search-input::-moz-placeholder {
  color: var(--color-ink-500);
}
.c-news-sidebar__search-input:-ms-input-placeholder {
  color: var(--color-ink-500);
}
.c-news-sidebar__search-input::-ms-input-placeholder {
  color: var(--color-ink-500);
}
.c-news-sidebar__search-input::placeholder {
  color: var(--color-ink-500);
}
.c-news-sidebar__search-input:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

.c-news-sidebar__chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
}

.c-news-sidebar__group {
  margin-top: var(--sp-3);
}
.c-news-sidebar__group:first-of-type {
  margin-top: var(--sp-2);
}

.c-news-sidebar__group-label {
  font-size: calc(var(--fs-xs) * 0.95);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-ink-500);
  margin: 0 0 6px;
  text-transform: uppercase;
}

.c-news-sidebar__chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6px 14px;
  border: 0.5px solid var(--color-border);
  border-radius: 999px;
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
  background: var(--color-surface-white);
  font-weight: 500;
  text-decoration: none;
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out);
}
.c-news-sidebar__chip:hover {
  border-color: var(--color-ink-500);
  color: var(--color-ink-900);
}
.c-news-sidebar__chip.is-active {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: color-mix(in oklab, var(--color-primary) 8%, var(--color-surface-white));
  font-weight: 600;
}
.c-news-sidebar__chip.is-important {
  border-color: color-mix(in oklab, var(--color-error) 50%, var(--color-border));
  color: var(--color-error);
  background: var(--color-surface-white);
}
.c-news-sidebar__chip.is-important.is-active {
  background: color-mix(in oklab, var(--color-error) 12%, var(--color-surface-white));
  color: var(--color-error);
  border-color: var(--color-error);
  font-weight: 600;
}

.c-news-sidebar__cta-title {
  font-size: var(--fs-sm);
  font-weight: 500;
  margin: 0 0 4px;
  color: var(--color-ink-900);
}

.c-news-sidebar__cta-sub {
  font-size: var(--fs-xs);
  color: var(--color-ink-700);
  margin: 0 0 var(--sp-2);
}

@media (min-width: 48em) {
  .c-news-filter-bar,
  .c-news-filter-fab,
  .c-news-filter-sheet {
    display: none !important;
  }
}

.c-news-filter-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-surface-white);
  border-bottom: 0.5px solid var(--color-border);
  font-size: var(--fs-sm);
  position: sticky;
  top: var(--header-utility-height, 48px);
  z-index: 50;
}
.c-news-filter-bar__icon {
  width: 14px;
  height: 14px;
  color: var(--color-primary);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-news-filter-bar__label {
  color: var(--color-ink-700);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-news-filter-fab {
  position: fixed;
  right: var(--sp-3);
  bottom: calc(var(--sp-3) + env(safe-area-inset-bottom, 0px));
  z-index: 100;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2px;
  -webkit-box-shadow: 0 4px 14px rgba(0, 79, 142, 0.4);
          box-shadow: 0 4px 14px rgba(0, 79, 142, 0.4);
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
}
.c-news-filter-fab svg {
  width: 18px;
  height: 18px;
}
.c-news-filter-fab__label {
  font-size: 9px;
  letter-spacing: 0.02em;
}
.c-news-filter-fab:hover, .c-news-filter-fab:focus-visible {
  background: var(--color-primary-hover);
  outline: none;
}
.c-news-filter-fab:focus-visible {
  -webkit-box-shadow: 0 4px 14px rgba(0, 79, 142, 0.4), 0 0 0 3px var(--color-focus-ring, rgba(0, 79, 142, 0.35));
          box-shadow: 0 4px 14px rgba(0, 79, 142, 0.4), 0 0 0 3px var(--color-focus-ring, rgba(0, 79, 142, 0.35));
}
@media (prefers-reduced-motion: reduce) {
  .c-news-filter-fab {
    -webkit-transition: none;
    transition: none;
  }
}

.c-news-filter-sheet {
  position: fixed;
  inset: 0;
  z-index: 200;
}
.c-news-filter-sheet[hidden] {
  display: none;
}
.c-news-filter-sheet__scrim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  border: none;
  cursor: pointer;
  opacity: 1;
  -webkit-transition: opacity var(--motion-duration-drawer) var(--motion-ease-out);
  transition: opacity var(--motion-duration-drawer) var(--motion-ease-out);
}
.c-news-filter-sheet__panel {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  max-height: 85vh;
  overflow-y: auto;
  background: var(--color-surface-white);
  border-radius: 16px 16px 0 0;
  padding: var(--sp-3) var(--sp-3) calc(var(--sp-3) + env(safe-area-inset-bottom, 0px));
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform var(--motion-duration-drawer) var(--motion-ease-out);
  transition: -webkit-transform var(--motion-duration-drawer) var(--motion-ease-out);
  transition: transform var(--motion-duration-drawer) var(--motion-ease-out);
  transition: transform var(--motion-duration-drawer) var(--motion-ease-out), -webkit-transform var(--motion-duration-drawer) var(--motion-ease-out);
  -webkit-box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.12);
          box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.12);
}
.c-news-filter-sheet[aria-hidden=true] .c-news-filter-sheet__panel {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.c-news-filter-sheet[aria-hidden=true] .c-news-filter-sheet__scrim {
  opacity: 0;
}
.c-news-filter-sheet__handle {
  display: block;
  width: 32px;
  height: 4px;
  border-radius: 2px;
  background: var(--color-border);
  margin: 0 auto var(--sp-2);
}
.c-news-filter-sheet__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: var(--sp-3);
  padding-inline: var(--sp-1);
}
.c-news-filter-sheet__title {
  font-size: var(--fs-base);
  font-weight: 500;
  margin: 0;
  color: var(--color-ink-900);
}
.c-news-filter-sheet__close {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: var(--color-ink-700);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 6px;
  -webkit-transition: background var(--motion-duration-tap) var(--motion-ease-out);
  transition: background var(--motion-duration-tap) var(--motion-ease-out);
}
.c-news-filter-sheet__close:hover, .c-news-filter-sheet__close:focus-visible {
  background: var(--color-bg-muted);
  color: var(--color-ink-900);
  outline: none;
}
.c-news-filter-sheet__body .c-news-sidebar {
  position: static;
  top: auto;
}
@media (prefers-reduced-motion: reduce) {
  .c-news-filter-sheet__panel, .c-news-filter-sheet__scrim {
    -webkit-transition: none;
    transition: none;
  }
}

.c-news-chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: var(--fs-xs);
  line-height: 1.35;
  letter-spacing: 0.02em;
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border: 0.5px solid var(--color-primary);
  font-weight: 500;
  white-space: nowrap;
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out), -webkit-filter var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out), -webkit-filter var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out), filter var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out), filter var(--motion-duration-base) var(--motion-ease-out), -webkit-filter var(--motion-duration-base) var(--motion-ease-out);
}
.c-news-chip:hover {
  -webkit-filter: brightness(1.08);
          filter: brightness(1.08);
}
.c-news-chip--sm {
  padding: 2px 8px;
  font-size: calc(var(--fs-xs) * 0.95);
  line-height: 1.35;
}
.c-news-chip--pinned {
  background: var(--color-error);
  color: #fff;
  border-color: var(--color-error);
  font-weight: 500;
}
.c-news-chip--pinned:hover {
  -webkit-filter: brightness(1.05);
          filter: brightness(1.05);
}
@media (prefers-reduced-motion: reduce) {
  .c-news-chip, .c-news-chip--pinned {
    -webkit-transition: none;
    transition: none;
  }
  .c-news-chip:hover, .c-news-chip--pinned:hover {
    -webkit-filter: none;
            filter: none;
  }
}

.c-card-media {
  position: relative;
  background: var(--color-surface-white);
  border: none;
  border-radius: 8px;
  overflow: hidden;
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
  -webkit-transition: -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: box-shadow var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out);
  transition: box-shadow var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
}
.c-card-media:hover {
  -webkit-box-shadow: var(--shadow-card-hover);
          box-shadow: var(--shadow-card-hover);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .c-card-media:hover {
    -webkit-transform: none;
            transform: none;
  }
}

.c-card-media__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: inherit;
  text-decoration: none;
  height: 100%;
}
.c-card-media__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.c-card-media__link:focus-visible {
  outline: none;
  -webkit-box-shadow: 0 0 0 3px var(--color-primary);
          box-shadow: 0 0 0 3px var(--color-primary);
}

.c-card-media__thumb {
  aspect-ratio: 4/3;
  width: 100%;
  margin: 0;
  background: var(--color-surface-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
.c-card-media__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.c-card-media__thumb-placeholder {
  font-size: var(--fs-xs);
  letter-spacing: 0.12em;
  color: var(--color-ink-500);
  font-weight: 500;
}

.c-card-media__body {
  position: relative;
  z-index: 2;
  padding: var(--sp-4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.c-card-media__chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}

.c-card-media__title {
  width: 100%;
  min-width: 0;
  margin: 0;
  font-size: var(--fs-base);
  font-weight: 500;
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}

.c-card-media__title-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: auto-phrase;
  line-break: strict;
}

.c-card-media__excerpt {
  width: 100%;
  min-width: 0;
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}

.c-card-media__excerpt-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-card-media__date {
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
  letter-spacing: 0.04em;
  margin-top: auto;
}

.c-grid-media {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-md);
}
@media (min-width: 48em) {
  .c-grid-media {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-md);
  }
}
@media (min-width: 75em) {
  .c-grid-media {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--sp-lg);
  }
}

.c-list-news {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-list-news__item {
  border-bottom: 0.5px solid var(--color-border);
}
.c-list-news__item:first-child {
  border-top: 0.5px solid var(--color-border);
}

.c-list-news__link {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  -webkit-column-gap: var(--sp-3);
     -moz-column-gap: var(--sp-3);
          column-gap: var(--sp-3);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: var(--sp-5);
  padding-inline: var(--sp-3);
  color: inherit;
  text-decoration: none;
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out);
}
@media (max-width: 47.99em) {
  .c-list-news__link {
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    row-gap: 4px;
  }
}
.c-list-news__link:hover .c-list-news__title, .c-list-news__link:focus-visible .c-list-news__title {
  color: var(--color-primary);
}
.c-list-news__link:hover .c-list-news__arrow, .c-list-news__link:focus-visible .c-list-news__arrow {
  color: var(--color-primary);
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}
.c-list-news__link:focus-visible {
  outline: none;
  -webkit-box-shadow: 0 0 0 2px var(--color-primary);
          box-shadow: 0 0 0 2px var(--color-primary);
  border-radius: 4px;
}

.c-list-news__tags {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  min-height: 1px;
}

.c-list-news__date {
  font-size: var(--fs-sm);
  color: var(--color-ink-500);
  letter-spacing: 0.04em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.c-list-news__title {
  font-size: var(--fs-base);
  font-weight: 700;
  color: var(--color-ink-900);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out);
}
@media (max-width: 47.99em) {
  .c-list-news__title {
    grid-column: 1/-1;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: auto-phrase;
    line-break: strict;
  }
}

.c-list-news__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  color: var(--color-ink-500);
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
}
@media (max-width: 47.99em) {
  .c-list-news__arrow {
    grid-column: 3/4;
    grid-row: 1;
    justify-self: end;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-list-news__arrow {
    -webkit-transition: none;
    transition: none;
  }
  .c-list-news__link:hover .c-list-news__arrow,
  .c-list-news__link:focus-visible .c-list-news__arrow {
    -webkit-transform: none;
            transform: none;
  }
}
.c-pickup {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-md);
}

@media (min-width: 48em) {
  .c-pickup--grid2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-lg);
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.c-pickup--grid2 > .c-card-pickup {
  min-width: 0;
  height: 100%;
}
.c-pickup--grid2 .c-card-pickup--main .c-card-pickup__thumb {
  -ms-flex-item-align: start;
      align-self: flex-start;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  aspect-ratio: 16/9;
}
.c-pickup--grid2 .c-card-pickup--main .c-card-pickup__thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.c-pickup--grid2 .c-card-pickup--main .c-card-pickup__title {
  font-size: var(--fs-sm);
}
.c-pickup--grid2 .c-card-pickup--main .c-card-pickup__body {
  padding: var(--sp-3) var(--sp-4);
  gap: var(--sp-2);
}
.c-pickup--grid2 .c-card-pickup--main .c-card-pickup__excerpt {
  font-size: var(--fs-xs);
  -webkit-line-clamp: 2;
}
@media (min-width: 75em) {
  .c-pickup--grid2 .c-card-pickup--main .c-card-pickup__title {
    font-size: var(--fs-base);
  }
  .c-pickup--grid2 .c-card-pickup--main .c-card-pickup__body {
    padding: var(--sp-3) var(--sp-4);
  }
}

.c-card-pickup {
  position: relative;
  background: var(--color-surface-white);
  border: none;
  border-radius: 8px;
  overflow: hidden;
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
  -webkit-transition: -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: box-shadow var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out);
  transition: box-shadow var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
}
.c-card-pickup:hover {
  -webkit-box-shadow: var(--shadow-card-hover);
          box-shadow: var(--shadow-card-hover);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .c-card-pickup:hover {
    -webkit-transform: none;
            transform: none;
  }
}

.c-card-pickup__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.c-card-pickup__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.c-card-pickup__link:focus-visible {
  outline: none;
  -webkit-box-shadow: 0 0 0 3px var(--color-primary);
          box-shadow: 0 0 0 3px var(--color-primary);
}

.c-card-pickup__thumb {
  width: 100%;
  margin: 0;
  background: var(--color-surface-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
.c-card-pickup__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.c-card-pickup__thumb-placeholder {
  font-size: var(--fs-xs);
  letter-spacing: 0.12em;
  color: var(--color-ink-500);
  font-weight: 500;
}

.c-card-pickup__body {
  position: relative;
  z-index: 2;
  padding: var(--sp-3) var(--sp-4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.c-card-pickup__chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}

.c-card-pickup__title {
  margin: 0;
  font-weight: 600;
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: auto-phrase;
  line-break: strict;
}

.c-card-pickup__excerpt {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-card-pickup__date {
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
  letter-spacing: 0.04em;
  margin-top: auto;
}

.c-card-pickup--main .c-card-pickup__thumb {
  aspect-ratio: 21/9;
}
.c-card-pickup--main .c-card-pickup__title {
  font-size: var(--fs-base);
}
@media (min-width: 48em) {
  .c-card-pickup--main .c-card-pickup__title {
    font-size: var(--fs-lg);
  }
}
@media (min-width: 75em) {
  .c-card-pickup--main .c-card-pickup__thumb {
    aspect-ratio: 16/9;
  }
  .c-card-pickup--main .c-card-pickup__title {
    font-size: var(--fs-h4);
  }
  .c-card-pickup--main .c-card-pickup__body {
    padding: var(--sp-4) var(--sp-5);
    gap: var(--sp-2);
  }
  .c-card-pickup--main .c-card-pickup__excerpt {
    -webkit-line-clamp: 2;
  }
}

.c-card-pickup--sub .c-card-pickup__thumb {
  aspect-ratio: 16/9;
}
.c-card-pickup--sub .c-card-pickup__title {
  font-size: var(--fs-sm);
}

.c-form-field,
.wpcf7-form p {
  display: block;
  -webkit-margin-after: var(--sp-5);
          margin-block-end: var(--sp-5);
}

.c-form-field__label,
.wpcf7-form label {
  display: block;
  -webkit-margin-after: var(--sp-1);
          margin-block-end: var(--sp-1);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-ink-900);
}

.wpcf7-form-control-wrap {
  display: block;
  -webkit-margin-before: var(--sp-1);
          margin-block-start: var(--sp-1);
}

.c-form-field__badge {
  display: inline-block;
  -webkit-margin-start: var(--sp-2);
          margin-inline-start: var(--sp-2);
  padding: 2px var(--sp-2);
  background: var(--color-accent);
  color: var(--color-primary-contrast);
  font-size: var(--fs-xs);
  font-weight: 400;
  line-height: 1.4;
  vertical-align: middle;
  border-radius: 4px;
}

.c-form-field__badge--optional {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border: 0.5px solid var(--color-primary);
  font-weight: 500;
}

.c-form-field__hint {
  margin-block: var(--sp-2) var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-bg-section-alt);
  -webkit-border-start: 3px solid var(--color-border);
          border-inline-start: 3px solid var(--color-border);
  border-radius: 4px;
  color: var(--color-ink-700);
  font-size: var(--fs-xs);
  line-height: 1.6;
}

.c-form-field__hint--files {
  -webkit-margin-before: var(--sp-4);
          margin-block-start: var(--sp-4);
}

.wpcf7-form-control-wrap:has(> input.ssv2-honeypot),
input.ssv2-honeypot {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.c-form-input,
.c-form-select,
.c-form-textarea,
input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file]),
select.wpcf7-form-control,
textarea.wpcf7-form-control {
  width: 100%;
  min-height: 3rem;
  padding: var(--sp-3) var(--sp-3);
  border: 0.5px solid var(--color-border);
  border-radius: 8px;
  font-size: var(--fs-base);
  line-height: 1.5;
  background: var(--color-surface-white);
  color: var(--color-ink-900);
  -webkit-transition: border-color var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
}
.c-form-input::-webkit-input-placeholder, .c-form-select::-webkit-input-placeholder, .c-form-textarea::-webkit-input-placeholder, input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file])::-webkit-input-placeholder, select.wpcf7-form-control::-webkit-input-placeholder, textarea.wpcf7-form-control::-webkit-input-placeholder {
  color: var(--color-ink-500);
}
.c-form-input::-moz-placeholder, .c-form-select::-moz-placeholder, .c-form-textarea::-moz-placeholder, input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file])::-moz-placeholder, select.wpcf7-form-control::-moz-placeholder, textarea.wpcf7-form-control::-moz-placeholder {
  color: var(--color-ink-500);
}
.c-form-input:-ms-input-placeholder, .c-form-select:-ms-input-placeholder, .c-form-textarea:-ms-input-placeholder, input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file]):-ms-input-placeholder, select.wpcf7-form-control:-ms-input-placeholder, textarea.wpcf7-form-control:-ms-input-placeholder {
  color: var(--color-ink-500);
}
.c-form-input::-ms-input-placeholder, .c-form-select::-ms-input-placeholder, .c-form-textarea::-ms-input-placeholder, input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file])::-ms-input-placeholder, select.wpcf7-form-control::-ms-input-placeholder, textarea.wpcf7-form-control::-ms-input-placeholder {
  color: var(--color-ink-500);
}
.c-form-input::placeholder,
.c-form-select::placeholder,
.c-form-textarea::placeholder,
input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file])::placeholder,
select.wpcf7-form-control::placeholder,
textarea.wpcf7-form-control::placeholder {
  color: var(--color-ink-500);
}
.c-form-input:hover,
.c-form-select:hover,
.c-form-textarea:hover,
input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file]):hover,
select.wpcf7-form-control:hover,
textarea.wpcf7-form-control:hover {
  border-color: var(--color-ink-500);
}
.c-form-input:focus, .c-form-input:focus-visible,
.c-form-select:focus,
.c-form-select:focus-visible,
.c-form-textarea:focus,
.c-form-textarea:focus-visible,
input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file]):focus,
input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file]):focus-visible,
select.wpcf7-form-control:focus,
select.wpcf7-form-control:focus-visible,
textarea.wpcf7-form-control:focus,
textarea.wpcf7-form-control:focus-visible {
  outline: none;
  border-color: var(--color-primary);
  -webkit-box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-primary) 20%, transparent);
          box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-primary) 20%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .c-form-input,
  .c-form-select,
  .c-form-textarea,
  input.wpcf7-form-control:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file]),
  select.wpcf7-form-control,
  textarea.wpcf7-form-control {
    -webkit-transition: none;
    transition: none;
  }
}

.c-form-textarea,
.wpcf7-form textarea.wpcf7-form-control {
  min-height: 10rem;
  resize: vertical;
}

.c-form-file,
.wpcf7-form input[type=file].wpcf7-form-control,
input[type=file].c-form-input {
  width: 100%;
  min-height: 3rem;
  padding: var(--sp-2) var(--sp-3);
  border: 0.5px dashed var(--color-border);
  border-radius: 8px;
  background: var(--color-surface-white);
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
  cursor: pointer;
  -webkit-transition: border-color var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
}
.c-form-file::-webkit-file-upload-button, .wpcf7-form input[type=file].wpcf7-form-control::-webkit-file-upload-button, input[type=file].c-form-input::-webkit-file-upload-button {
  -webkit-margin-end: var(--sp-3);
          margin-inline-end: var(--sp-3);
  padding: var(--sp-2) var(--sp-4);
  border: 0.5px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-bg-section-alt);
  color: var(--color-ink-900);
  font-size: var(--fs-sm);
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out);
}
.c-form-file::file-selector-button,
.wpcf7-form input[type=file].wpcf7-form-control::file-selector-button,
input[type=file].c-form-input::file-selector-button {
  -webkit-margin-end: var(--sp-3);
          margin-inline-end: var(--sp-3);
  padding: var(--sp-2) var(--sp-4);
  border: 0.5px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-bg-section-alt);
  color: var(--color-ink-900);
  font-size: var(--fs-sm);
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out);
}
.c-form-file:hover,
.wpcf7-form input[type=file].wpcf7-form-control:hover,
input[type=file].c-form-input:hover {
  border-color: var(--color-ink-500);
}
.c-form-file:hover::-webkit-file-upload-button, .wpcf7-form input[type=file].wpcf7-form-control:hover::-webkit-file-upload-button, input[type=file].c-form-input:hover::-webkit-file-upload-button {
  background: color-mix(in oklab, var(--color-primary) 10%, var(--color-surface-white));
  border-color: var(--color-primary);
}
.c-form-file:hover::file-selector-button,
.wpcf7-form input[type=file].wpcf7-form-control:hover::file-selector-button,
input[type=file].c-form-input:hover::file-selector-button {
  background: color-mix(in oklab, var(--color-primary) 10%, var(--color-surface-white));
  border-color: var(--color-primary);
}
.c-form-file:focus, .c-form-file:focus-visible,
.wpcf7-form input[type=file].wpcf7-form-control:focus,
.wpcf7-form input[type=file].wpcf7-form-control:focus-visible,
input[type=file].c-form-input:focus,
input[type=file].c-form-input:focus-visible {
  outline: none;
  border-color: var(--color-primary);
  -webkit-box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-primary) 20%, transparent);
          box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-primary) 20%, transparent);
}
.c-form-file::-webkit-file-upload-button,
.wpcf7-form input[type=file].wpcf7-form-control::-webkit-file-upload-button,
input[type=file].c-form-input::-webkit-file-upload-button {
  -webkit-margin-end: var(--sp-3);
          margin-inline-end: var(--sp-3);
  padding: var(--sp-2) var(--sp-4);
  border: 0.5px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-bg-section-alt);
  color: var(--color-ink-900);
  font-size: var(--fs-sm);
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
  .c-form-file,
  .wpcf7-form input[type=file].wpcf7-form-control,
  input[type=file].c-form-input {
    -webkit-transition: none;
    transition: none;
  }
  .c-form-file::-webkit-file-upload-button, .wpcf7-form input[type=file].wpcf7-form-control::-webkit-file-upload-button, input[type=file].c-form-input::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  .c-form-file::file-selector-button,
  .wpcf7-form input[type=file].wpcf7-form-control::file-selector-button,
  input[type=file].c-form-input::file-selector-button {
    -webkit-transition: none;
    transition: none;
  }
}

.c-form-field__error,
.wpcf7-not-valid-tip {
  display: block;
  margin-top: var(--sp-1);
  font-size: var(--fs-xs);
  color: var(--color-error);
}

.c-form-field--confirm {
  display: grid;
  grid-template-columns: 9em 1fr;
  gap: var(--sp-1) var(--sp-4);
  padding: var(--sp-3) 0;
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-border);
}
.c-form-field--confirm:last-child {
  border-bottom: 0;
}
.c-form-field--confirm .c-form-field__label {
  margin: 0;
  color: var(--color-ink-700);
  font-weight: 400;
}

.c-form-field__value {
  margin: 0;
  color: var(--color-ink-900);
  font-size: var(--fs-sm);
  line-height: 1.7;
  word-break: break-word;
}
.c-form-field__value--message {
  white-space: pre-wrap;
}

@media (max-width: 560px) {
  .c-form-field--confirm {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}
#contact-form .wpcf7-form p:has(button.wpcf7-submit),
#contact-form .wpcf7-form p:has(input[type=submit].wpcf7-submit),
#contact-form .wpcf7-form p:has(.wpcf7-form-control-wrap .wpcf7-submit) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
  inline-size: 100%;
  max-inline-size: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.c-form-checkbox,
.wpcf7-acceptance {
  display: block;
  border: 0;
  padding: 0;
  min-height: 0;
  background: transparent;
}

.c-form-checkbox label,
.wpcf7-acceptance label,
.wpcf7-acceptance .wpcf7-list-item label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  margin: 0;
  padding: 0;
  font-size: var(--fs-sm);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-ink-700);
  cursor: pointer;
}
.c-form-checkbox label input[type=checkbox],
.c-form-checkbox label input[type=radio],
.wpcf7-acceptance label input[type=checkbox],
.wpcf7-acceptance label input[type=radio],
.wpcf7-acceptance .wpcf7-list-item label input[type=checkbox],
.wpcf7-acceptance .wpcf7-list-item label input[type=radio] {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  margin: 0;
  accent-color: var(--color-primary);
  cursor: pointer;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.c-form-checkbox label a,
.wpcf7-acceptance label a,
.wpcf7-acceptance .wpcf7-list-item label a {
  color: var(--color-primary);
  text-decoration: underline;
}

.wpcf7-list-item {
  margin: 0;
  display: inline-block;
}

.c-step-nav {
  margin: 0 0 var(--sp-6);
}
.c-step-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  counter-reset: step;
}
.c-step-nav__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-2);
  font-size: var(--fs-sm);
  color: var(--color-ink-500);
  border-bottom: 2px solid var(--color-border);
}
.c-step-nav__item.is-active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
  font-weight: 700;
}
.c-step-nav__item.is-done {
  color: var(--color-ink-700);
  border-bottom-color: var(--color-primary);
}
.c-step-nav__num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  font-size: var(--fs-xs);
  font-weight: 700;
}
@media (max-width: 560px) {
  .c-step-nav__item {
    padding: var(--sp-3) var(--sp-1);
  }
  .c-step-nav__num {
    width: 20px;
    height: 20px;
  }
}

.c-parts-filter {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--sp-2) var(--sp-4);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  color: var(--color-ink-700);
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  -webkit-transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
  scroll-snap-align: start;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-parts-filter:focus-visible {
  outline: none;
  -webkit-box-shadow: var(--shadow-ring);
          box-shadow: var(--shadow-ring);
}
.c-parts-filter.is-active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-primary-contrast);
}
.c-parts-filter--clear {
  border-style: dashed;
}

.c-parts-sidebar-panel {
  padding: var(--sp-4);
  background: var(--color-surface-white);
  border: none;
  border-radius: var(--radius-md);
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
}
.c-parts-sidebar-panel__head {
  margin-bottom: var(--sp-3);
}
.c-parts-sidebar-panel__note {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-sm);
  line-height: var(--lh-relaxed);
  color: var(--color-ink-600);
}
.c-parts-sidebar-panel__hint {
  margin: 0;
  padding: var(--sp-3);
  font-size: var(--fs-sm);
  line-height: var(--lh-relaxed);
  color: var(--color-ink-600);
  background: var(--color-bg-muted);
  border-radius: var(--radius-sm);
}
.c-parts-sidebar-panel__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
@media (max-width: 47.9375em) {
  .c-parts-sidebar-panel {
    padding: var(--sp-3);
    border-radius: var(--radius-md);
  }
  .c-parts-sidebar-panel__head .t-section-title__kicker {
    display: none;
  }
  .c-parts-sidebar-panel__head {
    margin-bottom: var(--sp-2);
  }
  .c-parts-sidebar-panel__head .t-section-title__title {
    font-size: clamp(1.05rem, 4.5vw, 1.35rem);
  }
  .c-parts-sidebar-panel__note {
    display: none;
  }
  .c-parts-sidebar-panel__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: var(--sp-2);
    overflow-x: auto;
    overflow-y: hidden;
    -ms-scroll-snap-type: x proximity;
        scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 2px 2px var(--sp-2);
  }
  .c-parts-sidebar-panel__list::-webkit-scrollbar {
    display: none;
  }
  .c-parts-sidebar-panel__hint {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    min-width: 100%;
    margin-bottom: 0;
  }
}

.c-parts-subcategory {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-2);
  width: 100%;
  padding: var(--sp-2) var(--sp-3);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--color-ink-700);
  font-size: var(--fs-sm);
  text-align: left;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.c-parts-subcategory:focus-visible {
  outline: none;
  -webkit-box-shadow: var(--shadow-ring);
          box-shadow: var(--shadow-ring);
}
.c-parts-subcategory.is-active {
  background: var(--color-primary-subtle);
  border-color: var(--color-primary);
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
}
.c-parts-subcategory__label {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.c-parts-subcategory__count {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0 var(--sp-2);
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
}
.c-parts-subcategory.is-active .c-parts-subcategory__count {
  color: var(--color-primary);
}
@media (max-width: 47.9375em) {
  .c-parts-subcategory {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    min-width: min(11rem, 72vw);
    max-width: min(18rem, 85vw);
    min-height: 2.25rem;
    padding: var(--sp-2) var(--sp-3);
    white-space: nowrap;
    scroll-snap-align: start;
    border-radius: var(--radius-pill);
  }
  .c-parts-subcategory__label {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .c-parts-subcategory__count {
    -webkit-padding-start: var(--sp-2);
            padding-inline-start: var(--sp-2);
  }
}

.b-parts-catalog__parts .parts-item-card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--color-surface-white);
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity var(--motion-duration-base) var(--motion-ease-out);
  transition: opacity var(--motion-duration-base) var(--motion-ease-out);
}
.b-parts-catalog__parts .parts-item-card::before, .b-parts-catalog__parts .parts-item-card::after {
  display: none !important;
}
.b-parts-catalog__parts .parts-item-card.is-current-category {
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
  -webkit-transform: none;
          transform: none;
}
.b-parts-catalog__parts [data-category].is-hidden {
  display: none !important;
}
.b-parts-catalog__parts .js-attachment-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: var(--sp-2);
  min-width: 0;
}
.b-parts-catalog__parts .js-attachment-chip {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 6px 10px;
  border-radius: var(--radius-pill);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--tracking-wide);
  color: var(--color-ink-900);
  background: var(--color-bg);
}
.b-parts-catalog__parts .js-attachment-thumb {
  margin-top: 0;
  width: 100%;
  aspect-ratio: 4/3;
  height: auto;
  border: 0;
  border-radius: 0;
  background: var(--color-surface-white);
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.b-parts-catalog__parts .js-attachment-thumb::before {
  display: none !important;
}
.b-parts-catalog__parts .js-parts-image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.b-parts-catalog__parts .js-attachment-thumb > i {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm);
  background: var(--color-border);
}
.b-parts-catalog__parts .js-attachment-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2);
  min-width: 0;
  margin-top: 0;
  padding: var(--sp-4);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.b-parts-catalog__parts .js-attachment-brand {
  margin: 0;
  font-size: var(--fs-xs);
  letter-spacing: 0.04em;
  color: var(--color-ink-500);
}
.b-parts-catalog__parts .js-attachment-title {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: 500;
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
  overflow-wrap: anywhere;
  word-break: auto-phrase;
  line-break: strict;
}
.b-parts-catalog__parts .js-attachment-model {
  margin-top: var(--sp-2);
  font-size: var(--fs-sm);
  color: var(--color-ink-600);
  overflow-wrap: anywhere;
  word-break: break-word;
}
.b-parts-catalog__parts .js-attachment-model:empty {
  display: none;
}
.b-parts-catalog__parts .parts-item-card--dark {
  background: var(--color-ink-900);
  color: var(--color-surface-white);
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
}
.b-parts-catalog__parts .parts-item-card--dark .js-attachment-chip {
  color: var(--color-surface-white);
  background: var(--color-ink-700);
}
.b-parts-catalog__parts .parts-item-card--dark .js-attachment-thumb {
  background: var(--color-ink-800);
}
.b-parts-catalog__parts .parts-item-card--dark .js-attachment-brand,
.b-parts-catalog__parts .parts-item-card--dark .js-attachment-title {
  color: var(--color-surface-white);
}
.b-parts-catalog__parts .parts-item-card--dark .js-attachment-brand {
  opacity: 0.92;
}
.b-parts-catalog__parts .parts-item-card--dark .js-attachment-thumb > i {
  background: var(--color-ink-700);
}
@media (max-width: 47.9375em) {
  .b-parts-catalog__parts .parts-item-card {
    border-radius: var(--radius-md);
  }
  .b-parts-catalog__parts .parts-item-card .js-attachment-thumb {
    aspect-ratio: auto;
    height: 7.25rem;
    border-radius: var(--radius-md);
  }
  .b-parts-catalog__parts .parts-item-card .js-attachment-bottom {
    padding: var(--sp-3);
  }
  .b-parts-catalog__parts .parts-item-card .js-attachment-title {
    font-size: var(--fs-sm);
  }
}

.c-attachment-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: var(--color-surface-white);
  border: none;
  border-radius: var(--radius-md);
  overflow: hidden;
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
}
.c-attachment-card__image {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--color-surface-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: var(--sp-6);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.c-attachment-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-attachment-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2);
  padding: var(--sp-4);
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.c-attachment-card__brand {
  margin: 0;
  font-size: var(--fs-xs);
  letter-spacing: 0.04em;
  color: var(--color-ink-500);
}
.c-attachment-card__title {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: 500;
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: auto-phrase;
  line-break: strict;
}
.c-attachment-card__models {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: auto-phrase;
  line-break: strict;
}
.c-attachment-card__usage {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: auto-phrase;
  line-break: strict;
}

.c-attachment-filter {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--sp-2) var(--sp-4);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  color: var(--color-ink-700);
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  -webkit-transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
  scroll-snap-align: start;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-attachment-filter:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.c-attachment-filter:focus-visible {
  outline: none;
  -webkit-box-shadow: var(--shadow-ring);
          box-shadow: var(--shadow-ring);
}
.c-attachment-filter.is-active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-primary-contrast);
}

.c-attachment-facet {
  margin: 0;
  padding: 0;
  border: 0;
  min-inline-size: 0;
}
.c-attachment-facet__legend {
  margin: 0 0 var(--sp-3);
  padding: 0;
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
  letter-spacing: 0.04em;
}
.c-attachment-facet__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-1);
}

.c-attachment-facet-item {
  margin: 0;
}
.c-attachment-facet-item__label-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  padding: 6px 0;
  cursor: pointer;
  color: var(--color-ink-700);
  font-size: var(--fs-sm);
  line-height: var(--lh-tight);
  -webkit-transition: color 0.18s ease;
  transition: color 0.18s ease;
}
.c-attachment-facet-item__label-wrap:hover {
  color: var(--color-primary);
}
.c-attachment-facet-item__checkbox {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  inline-size: 16px;
  block-size: 16px;
  margin: 0;
  accent-color: var(--color-primary);
  cursor: pointer;
}
.c-attachment-facet-item__checkbox:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.c-attachment-facet-item__label {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-inline-size: 0;
}
.c-attachment-facet-item__count {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-ink-500, var(--color-ink-700));
  font-size: var(--fs-xs);
  font-variant-numeric: tabular-nums;
}
.c-attachment-facet-item.is-active .c-attachment-facet-item__label-wrap, .c-attachment-facet-item:has(input:checked) .c-attachment-facet-item__label-wrap {
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
}
.c-attachment-facet-item.is-active .c-attachment-facet-item__count, .c-attachment-facet-item:has(input:checked) .c-attachment-facet-item__count {
  color: var(--color-primary);
}
.c-attachment-facet-item.is-disabled .c-attachment-facet-item__label-wrap {
  pointer-events: none;
  opacity: 0.4;
  cursor: not-allowed;
}

.c-member-login-notice {
  padding: var(--sp-5);
  background: var(--color-bg-muted);
  border-radius: var(--radius-md);
  -ms-flex-item-align: start;
      align-self: start;
}
.c-member-login-notice__title {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
}
.c-member-login-notice__text {
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}

.c-used-feature-card {
  padding: var(--sp-5);
  background: var(--color-surface-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  -webkit-transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.c-used-feature-card:hover {
  border-color: var(--color-primary);
  -webkit-box-shadow: var(--shadow-sm);
          box-shadow: var(--shadow-sm);
}
.c-used-feature-card__title {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.c-used-feature-card__text {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}

.c-used-flow-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: var(--container-narrow);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-4);
}

.c-used-flow-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--sp-4);
  padding: var(--sp-5) var(--sp-5);
  background: var(--color-surface-white);
  border-left: 3px solid var(--color-primary);
  border-radius: var(--radius-sm);
}
.c-used-flow-item__step {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  letter-spacing: var(--tracking-wide);
  line-height: 1;
}
.c-used-flow-item__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.c-used-flow-item__title {
  margin: 0 0 var(--sp-1);
  font-size: var(--fs-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.c-used-flow-item__text {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}

.c-used-flow-note {
  margin: var(--sp-xl) auto 0;
  max-width: var(--container-narrow);
  padding: var(--sp-5);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.c-used-flow-note__title {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
}
.c-used-flow-note__list {
  margin: 0;
  padding-left: 1.2em;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}
.c-used-flow-note__list > li + li {
  margin-top: var(--sp-1);
}

.c-used-photo-marquee {
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-border-after: 1px solid var(--color-border);
          border-block-end: 1px solid var(--color-border);
}
.c-used-photo-marquee__viewport {
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(12%, #000), color-stop(88%, #000), to(transparent));
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
          mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(12%, #000), color-stop(88%, #000), to(transparent));
          mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.c-used-photo-marquee__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: c-used-photo-marquee-scroll 55s linear infinite;
          animation: c-used-photo-marquee-scroll 55s linear infinite;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .c-used-photo-marquee__track {
    -webkit-animation: none;
            animation: none;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.c-used-photo-marquee__strip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 0;
}
.c-used-photo-marquee__cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: clamp(200px, 28vw, 340px);
  height: clamp(126px, 18vw, 216px);
  overflow: hidden;
  background: var(--color-ink-900);
}
.c-used-photo-marquee__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@-webkit-keyframes c-used-photo-marquee-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes c-used-photo-marquee-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.c-buy-usp {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
  margin-block: var(--sp-lg) 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 47.9375em) {
  .c-buy-usp {
    grid-template-columns: 1fr;
  }
}
.c-buy-usp__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-sm);
  padding: var(--sp-md);
  background: var(--color-bg-section-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  text-align: center;
}
.c-buy-usp__icon {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  color: var(--color-primary);
}
.c-buy-usp__text {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.5;
  color: var(--color-ink-900);
}

.c-buy-persona {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-block: var(--sp-xl) 0;
}
.c-buy-persona__body {
  inline-size: 100%;
  max-inline-size: var(--container-narrow);
  background: var(--color-bg-section-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--sp-lg);
}
.c-buy-persona__title {
  margin: 0 0 var(--sp-md);
  font-size: var(--fs-content-title);
  font-weight: 500;
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
  text-align: center;
}
.c-buy-persona__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-buy-persona__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--sp-sm);
  padding-block: var(--sp-xs);
  font-size: var(--fs-base);
  color: var(--color-ink-900);
}
.c-buy-persona__check {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  border-radius: 50%;
  background: color-mix(in oklab, var(--color-warning) 18%, var(--color-bg));
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
.c-buy-persona__check::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  inline-size: 0.5rem;
  block-size: 0.25rem;
  -webkit-border-start: 2px solid var(--color-warning);
          border-inline-start: 2px solid var(--color-warning);
  -webkit-border-after: 2px solid var(--color-warning);
          border-block-end: 2px solid var(--color-warning);
  -webkit-transform: translate(-1px, -3px) rotate(-45deg);
          transform: translate(-1px, -3px) rotate(-45deg);
}

.u-mark-warning {
  background: color-mix(in oklab, var(--color-warning) 22%, var(--color-bg));
  color: color-mix(in oklab, var(--color-warning) 55%, var(--color-ink-900));
  padding: 0 0.25em;
  border-radius: var(--radius-md);
  font-weight: 500;
}

.c-buy-form {
  overflow-anchor: none;
  margin-block: var(--sp-xl) 0;
  padding: var(--sp-lg);
  background: var(--color-bg-section-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.c-buy-form__pending {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}
.c-buy-form__code {
  font-size: var(--fs-xs);
  word-break: break-word;
}
.c-buy-form .wpcf7-form p {
  margin-block: var(--sp-md);
}
.c-buy-form label {
  display: block;
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
  -webkit-margin-after: var(--sp-xs);
          margin-block-end: var(--sp-xs);
}
.c-buy-form input[type=text],
.c-buy-form input[type=email],
.c-buy-form input[type=tel],
.c-buy-form input[type=number],
.c-buy-form textarea,
.c-buy-form select {
  inline-size: 100%;
  padding: var(--sp-sm) var(--sp-md);
  font-size: var(--fs-base);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  -webkit-transition: border-color var(--motion-duration-base) var(--motion-ease-out);
  transition: border-color var(--motion-duration-base) var(--motion-ease-out);
}
.c-buy-form input[type=text]:focus,
.c-buy-form input[type=email]:focus,
.c-buy-form input[type=tel]:focus,
.c-buy-form input[type=number]:focus,
.c-buy-form textarea:focus,
.c-buy-form select:focus {
  outline: none;
  border-color: var(--color-primary);
}
.c-buy-form textarea {
  min-block-size: 8rem;
  resize: vertical;
}
.c-buy-form .wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: var(--sp-2) var(--sp-md);
}
.c-buy-form .wpcf7-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-xs);
  -webkit-margin-end: 0;
          margin-inline-end: 0;
}
.c-buy-form .wpcf7-file {
  font-size: var(--fs-sm);
  max-inline-size: 100%;
}
.c-buy-form input[type=file] {
  max-inline-size: 100%;
}
.c-buy-form .wpcf7-multistep-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: var(--sp-md);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-margin-before: var(--sp-lg);
          margin-block-start: var(--sp-lg);
}
.c-buy-form .wpcf7-multistep-nav p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  min-inline-size: 0;
  line-height: 1;
}
.c-buy-form .wpcf7-multistep-nav p > .wpcf7-previous,
.c-buy-form .wpcf7-multistep-nav p > .wpcf7-submit,
.c-buy-form .wpcf7-multistep-nav p > button.t-button {
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
.c-buy-form .wpcf7-form > p:has(.wpcf7-previous) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  inline-size: auto;
  max-inline-size: 100%;
  -webkit-margin-before: var(--sp-lg);
          margin-block-start: var(--sp-lg);
  -webkit-margin-end: var(--sp-md);
          margin-inline-end: var(--sp-md);
  vertical-align: top;
  line-height: 1;
}
.c-buy-form .wpcf7-form > p:has(.wpcf7-previous) + p:has(.wpcf7-submit),
.c-buy-form .wpcf7-form > p:has(.wpcf7-previous) + p:has(button.wpcf7-submit),
.c-buy-form .wpcf7-form > p:has(.wpcf7-previous) + p:has(input.wpcf7-submit) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  inline-size: auto;
  max-inline-size: 100%;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  vertical-align: top;
  line-height: 1;
}
.c-buy-form .wpcf7-form > p:has(.wpcf7-previous) .t-button,
.c-buy-form .wpcf7-form > p:has(.wpcf7-previous) + p:has(.wpcf7-submit) .t-button,
.c-buy-form .wpcf7-form > p:has(.wpcf7-previous) + p:has(button.wpcf7-submit) .t-button,
.c-buy-form .wpcf7-form > p:has(.wpcf7-previous) + p:has(input.wpcf7-submit) .t-button {
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
.c-buy-form .wpcf7-not-valid-tip,
.c-buy-form .wpcf7-response-output {
  font-size: var(--fs-sm);
  color: var(--color-error);
  -webkit-margin-before: var(--sp-xs);
          margin-block-start: var(--sp-xs);
}
@media (prefers-reduced-motion: reduce) {
  .c-buy-form input[type=text],
  .c-buy-form input[type=email],
  .c-buy-form input[type=tel],
  .c-buy-form input[type=number],
  .c-buy-form textarea,
  .c-buy-form select {
    -webkit-transition: none;
    transition: none;
  }
}
@media (min-width: 62em) {
  .c-buy-form .c-buy-form__step--1,
  .c-buy-form .c-buy-form__step--2 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    -webkit-column-gap: var(--sp-xl);
       -moz-column-gap: var(--sp-xl);
            column-gap: var(--sp-xl);
    row-gap: var(--sp-md);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .c-buy-form .c-buy-form__step--1 > h3,
  .c-buy-form .c-buy-form__step--2 > h3 {
    grid-column: 1/-1;
  }
  .c-buy-form .c-buy-form__step--1 > p:nth-of-type(3),
  .c-buy-form .c-buy-form__step--1 > p:nth-of-type(4),
  .c-buy-form .c-buy-form__step--1 > p:nth-of-type(5) {
    grid-column: 1/-1;
  }
  .c-buy-form .c-buy-form__step--2 > p:nth-of-type(5) {
    grid-column: 1/-1;
  }
}

.u-required {
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--color-error);
}

.c-boss-scope-disc {
  --boss-medallion-gold: var(--color-brand-ryuma-accent, #d4a868);
  --boss-medallion-gold-bright: color-mix(in oklab, #fff 22%, var(--boss-medallion-gold));
  --boss-medallion-gold-soft: color-mix(in oklab, var(--boss-medallion-gold) 72%, #f5ead8);
  position: relative;
  isolation: isolate;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: min(17.5rem, 88vw);
  aspect-ratio: 1;
  margin-inline: auto;
  padding: clamp(var(--sp-4), 4vw, var(--sp-6));
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--sp-2);
  text-align: center;
  border: 2px solid color-mix(in oklab, var(--boss-medallion-gold) 92%, #fff);
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.028) 0, rgba(255, 255, 255, 0.028) 1px, transparent 1px, transparent 3px), radial-gradient(ellipse 95% 55% at 50% 8%, rgba(255, 255, 255, 0.07), transparent 52%), linear-gradient(172deg, #1b212c 0%, #0e1219 48%, #171d27 100%);
  -webkit-box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 0 0 3px color-mix(in oklab, var(--boss-medallion-gold) 38%, #000), 0 0 0 5px color-mix(in oklab, var(--boss-medallion-gold) 65%, transparent), 0 14px 34px rgba(0, 0, 0, 0.48);
          box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 0 0 3px color-mix(in oklab, var(--boss-medallion-gold) 38%, #000), 0 0 0 5px color-mix(in oklab, var(--boss-medallion-gold) 65%, transparent), 0 14px 34px rgba(0, 0, 0, 0.48);
}
.c-boss-scope-disc::before {
  content: "";
  position: absolute;
  inset: 11%;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--boss-medallion-gold) 35%, transparent);
  pointer-events: none;
  z-index: 0;
}
.c-boss-scope-disc::after {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--boss-medallion-gold) 14%, transparent);
  pointer-events: none;
  z-index: 0;
}
.c-boss-scope-disc__title {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(0.9375rem, 2.25vw, 1.0625rem);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  letter-spacing: 0.02em;
  color: var(--boss-medallion-gold-bright);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65), 0 0 20px color-mix(in oklab, var(--boss-medallion-gold) 35%, transparent);
  line-break: strict;
  word-break: normal;
}
.c-boss-scope-disc__text {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(0.75rem, 1.85vw, var(--fs-sm));
  line-height: var(--lh-base);
  color: var(--boss-medallion-gold-soft);
}
.c-boss-scope-disc__text strong {
  font-weight: var(--font-weight-bold);
  color: color-mix(in oklab, var(--boss-medallion-gold-bright) 88%, var(--boss-medallion-gold-soft));
}

.c-boss-spec-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-5);
  padding: var(--sp-6);
  background: var(--color-surface-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.c-boss-spec-panel__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2);
}
.c-boss-spec-panel__tag {
  -ms-flex-item-align: start;
      align-self: flex-start;
  padding: var(--sp-1) var(--sp-3);
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  color: var(--color-primary-contrast);
  background: var(--color-ink-900);
  border-radius: var(--radius-pill);
  text-transform: uppercase;
}
.c-boss-spec-panel__title {
  margin: 0;
  font-size: var(--fs-h3);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.c-boss-spec-panel__text {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}
.c-boss-spec-panel__text strong {
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
}
.c-boss-spec-panel__figure {
  margin: 0;
  padding: var(--sp-3);
  background: var(--color-bg-muted);
  border-radius: var(--radius-sm);
  text-align: center;
}
.c-boss-spec-panel__figure img {
  display: block;
  margin-inline: auto;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: clamp(9rem, 22vh, 13rem);
  -o-object-fit: contain;
     object-fit: contain;
}
.c-boss-spec-panel__legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-2) var(--sp-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-boss-spec-panel__legend-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}
.c-boss-spec-panel__legend-letter {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: var(--color-bg-muted);
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
  letter-spacing: 0;
}
@media (max-width: 47.9375em) {
  .c-boss-spec-panel__legend {
    grid-template-columns: 1fr;
  }
}
.c-boss-spec-panel__footnote {
  margin: 0;
  font-size: var(--fs-xs);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}

.c-boss-download-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
  padding: var(--sp-5);
  background: color-mix(in oklab, var(--color-primary-contrast) 6%, transparent);
  border: 1px solid color-mix(in oklab, var(--color-primary-contrast) 15%, transparent);
  border-radius: var(--radius-md);
  color: var(--color-primary-contrast);
}
.c-boss-download-card__thumb-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3);
}
@media (max-width: 47.9375em) {
  .c-boss-download-card__thumb-row {
    grid-template-columns: 1fr;
  }
}
.c-boss-download-card__thumb {
  margin: 0;
  display: block;
  overflow: hidden;
  border-radius: var(--radius-sm);
  background: var(--color-bg);
}
.c-boss-download-card__thumb img {
  display: block;
  width: 100%;
  height: auto;
}
.c-boss-download-card__label {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-tight);
  color: var(--color-primary-contrast);
}
.c-boss-download-card__meta {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--color-primary-contrast) 70%, transparent);
}
.c-boss-download-card > .t-button {
  margin-top: auto;
}

.c-boss-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-sm);
}

.c-boss-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-surface-white);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  color: var(--color-ink-900);
}
.c-boss-table thead th {
  padding: var(--sp-3) var(--sp-4);
  background: var(--color-bg-muted);
  font-weight: var(--font-weight-bold);
  font-size: var(--fs-xs);
  letter-spacing: 0.04em;
  color: var(--color-ink-900);
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}
.c-boss-table tbody th,
.c-boss-table tbody td {
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
  color: var(--color-ink-700);
}
.c-boss-table tbody th {
  width: 4.5rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
  white-space: nowrap;
}
.c-boss-table tbody tr:last-child th,
.c-boss-table tbody tr:last-child td {
  border-bottom: none;
}
@media (max-width: 47.9375em) {
  .c-boss-table--stack-sp {
    display: block;
  }
  .c-boss-table--stack-sp thead {
    display: none;
  }
  .c-boss-table--stack-sp tbody,
  .c-boss-table--stack-sp tr,
  .c-boss-table--stack-sp th,
  .c-boss-table--stack-sp td {
    display: block;
    width: 100%;
  }
  .c-boss-table--stack-sp tr {
    padding: var(--sp-4);
    border-bottom: 1px solid var(--color-border);
  }
  .c-boss-table--stack-sp tr:last-child {
    border-bottom: none;
  }
  .c-boss-table--stack-sp th {
    padding: 0 0 var(--sp-2);
    border-bottom: none;
    font-size: var(--fs-base);
    color: var(--color-primary);
  }
  .c-boss-table--stack-sp td {
    padding: var(--sp-1) 0;
    border-bottom: none;
  }
  .c-boss-table--stack-sp td[data-label]::before {
    content: attr(data-label) "：";
    display: inline-block;
    min-width: 6em;
    margin-right: var(--sp-2);
    font-weight: var(--font-weight-bold);
    color: var(--color-ink-900);
  }
  .c-boss-table--stack-sp td[data-label=""]:empty, .c-boss-table--stack-sp td:empty {
    display: none;
  }
}

.l-main--member-blades .b-member-logout-dialog {
  z-index: 100100;
}

.c-section-title-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.c-section-title-row__kicker {
  margin: 0;
  font-size: var(--fs-xs);
  line-height: 1.4;
  font-weight: 400;
  color: var(--color-ink-500);
}
.c-section-title-row__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}
.c-section-title-row__accent {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 4px;
  height: 52px;
  background: var(--color-primary);
  border-radius: var(--radius-sm);
}
.c-section-title-row__title {
  margin: 0;
  font-size: var(--fs-h1);
  line-height: 1.15;
  font-weight: 700;
  color: var(--color-ink-900);
  letter-spacing: -0.02em;
}
@media (max-width: 47.9375em) {
  .c-section-title-row__accent {
    height: 36px;
  }
}

.c-about-interlude {
  width: 100%;
  height: 520px;
  overflow: hidden;
}
.c-about-interlude__image, .c-about-interlude__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.c-about-interlude__image--placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: var(--color-bg, var(--color-gray-50));
  color: #6b7786;
  font-size: var(--fs-sm);
}
.c-about-interlude__placeholder-text {
  margin: 0;
}
@media (max-width: 47.9375em) {
  .c-about-interlude {
    height: 280px;
  }
}

.c-outline-row {
  display: grid;
  grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
  border-bottom: 1px solid var(--color-border);
}
.c-outline-row__key {
  margin: 0;
  padding: 0 var(--sp-4) 0 var(--sp-5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 80px;
  background: transparent;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  font-weight: 500;
  color: #1b2330;
}
.c-outline-row__value {
  margin: 0;
  padding: var(--sp-3) var(--sp-5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--sp-2);
  min-height: 80px;
  background: transparent;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: #1b2330;
}
.c-outline-row__link {
  -ms-flex-item-align: start;
      align-self: flex-start;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  font-weight: 500;
  color: var(--color-primary);
  text-decoration: underline;
}
.c-outline-row__link:hover, .c-outline-row__link:focus-visible {
  text-decoration: none;
}
@media (max-width: 640px) {
  .c-outline-row {
    grid-template-columns: 1fr;
  }
  .c-outline-row__key {
    min-height: 48px;
    padding: var(--sp-3) var(--sp-4);
  }
  .c-outline-row__value {
    min-height: auto;
    padding: var(--sp-3) var(--sp-4) var(--sp-4);
  }
}

.c-product-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sp-xl);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-product-feature.is-reverse {
  direction: rtl;
}
.c-product-feature.is-reverse > * {
  direction: ltr;
}
.c-product-feature__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
}
.c-product-feature__number {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1;
  color: var(--color-primary);
  letter-spacing: 0.02em;
}
.c-product-feature__title {
  margin: 0;
  font-size: var(--fs-h3);
  font-weight: 700;
  color: var(--color-ink-900);
  line-height: 1.4;
}
.c-product-feature__text {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}
.c-product-feature__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-border);
}
.c-product-feature__media img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 47.9375em) {
  .c-product-feature {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
  .c-product-feature.is-reverse {
    direction: ltr;
  }
  .c-product-feature__media {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}

.c-product-flow-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--sp-md);
  padding: var(--sp-md) 0;
  border-bottom: 1px solid var(--color-border);
}
.c-product-flow-item:last-child {
  border-bottom: 0;
}
.c-product-flow-item__step {
  grid-column: 1;
  grid-row: 1/span 2;
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1;
  color: var(--color-primary);
  letter-spacing: 0.02em;
}
.c-product-flow-item__title {
  grid-column: 2;
  margin: 0;
  font-size: var(--fs-h3);
  font-weight: 700;
  color: var(--color-ink-900);
  line-height: 1.4;
}
.c-product-flow-item__text {
  grid-column: 2;
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}

.c-product-solution-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
  padding: var(--sp-md);
  background: var(--color-surface-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.c-product-solution-card__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-bg-muted);
  aspect-ratio: 16/10;
}
.c-product-solution-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-product-solution-card__title {
  margin: 0;
  font-size: var(--fs-h3);
  font-weight: 700;
  color: var(--color-ink-900);
  line-height: 1.4;
}
.c-product-solution-card__text {
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}

.c-product-gallery-item {
  margin: 0;
  overflow: hidden;
  background: var(--color-surface-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-product-gallery-item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-product-gallery-item__caption {
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
  line-height: 1.5;
  color: var(--color-ink-700);
}

.c-tech-pillar-card {
  padding: var(--sp-md);
  background: var(--color-surface-white);
  border: 1px solid var(--color-border);
}
.c-tech-pillar-card__number {
  margin: 0 0 var(--sp-3);
  font-family: var(--font-display, var(--font-sans));
  font-size: var(--fs-display);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--color-primary);
  font-weight: 900;
}
.c-tech-pillar-card__title {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--color-ink-900);
}
.c-tech-pillar-card__text {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-normal);
  color: var(--color-ink-700);
}

.c-contact-info-cards {
  -webkit-padding-before: 0;
          padding-block-start: 0;
  -webkit-padding-after: var(--sp-2xl);
          padding-block-end: var(--sp-2xl);
}
.c-contact-info-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-3);
}
@media (max-width: 47.9375em) {
  .c-contact-info-cards__grid {
    grid-template-columns: 1fr;
  }
}
.c-contact-info-cards__card {
  padding: var(--sp-4);
  border: 0.5px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface-white);
  text-align: center;
}
.c-contact-info-cards__icon {
  display: block;
  inline-size: var(--contact-info-cards-icon-size);
  block-size: var(--contact-info-cards-icon-size);
  margin: 0 auto var(--sp-2);
  color: var(--color-primary);
}
.c-contact-info-cards__label {
  margin: 0 0 var(--sp-1);
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
}
.c-contact-info-cards__value {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: 500;
  color: var(--color-ink-900);
  line-height: var(--lh-base);
}
.c-contact-info-cards__value small {
  display: inline-block;
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
}
.c-contact-info-cards__value a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.c-contact-info-cards__value a:hover {
  opacity: 0.7;
}

.c-contact-notice {
  margin: var(--sp-md) auto;
  max-width: var(--container-form);
  border: 0.5px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface-white);
}
.c-contact-notice__summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
  cursor: pointer;
  list-style: none;
  -webkit-transition: color var(--motion-duration-base) var(--motion-ease-out);
  transition: color var(--motion-duration-base) var(--motion-ease-out);
}
.c-contact-notice__summary::-webkit-details-marker {
  display: none;
}
.c-contact-notice__summary:hover {
  color: var(--color-primary);
}
.c-contact-notice__summary:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .c-contact-notice__summary {
    -webkit-transition: none;
    transition: none;
  }
}
.c-contact-notice__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.c-contact-notice[open] .c-contact-notice__summary {
  -webkit-border-after: 0.5px solid var(--color-border);
          border-block-end: 0.5px solid var(--color-border);
  color: var(--color-primary);
}
.c-contact-notice[open] .c-contact-notice__summary-label::after {
  content: "（閉じる）";
  -webkit-margin-start: var(--sp-1);
          margin-inline-start: var(--sp-1);
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
}
.c-contact-notice__body {
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
  line-height: var(--lh-base);
}
.c-contact-notice__body p {
  margin: 0;
}
.c-contact-notice__body p + p {
  -webkit-margin-before: var(--sp-2);
          margin-block-start: var(--sp-2);
}

.c-file-upload {
  --c-file-upload-icon-pdf: #e24b4a;
  --c-file-upload-icon-doc: #185fa5;
  --c-file-upload-icon-xls: #3b6d11;
  --c-file-upload-icon-ppt: #ba7517;
  --c-file-upload-icon-img: #ba7517;
  --c-file-upload-icon-zip: #71717a;
  --c-file-upload-icon-other: #71717a;
  -webkit-margin-before: var(--sp-4);
          margin-block-start: var(--sp-4);
}

.c-file-upload__dropzone > p {
  margin: 0;
}

.c-file-upload__browse-btn br {
  display: none;
}

.c-file-upload__native-inputs > p {
  margin: 0;
}

.c-file-upload__field-label {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--color-ink-900);
}

.c-file-upload__dropzone {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  padding: var(--sp-lg) var(--sp-4);
  border: 1.5px dashed var(--color-primary);
  border-radius: 12px;
  background: color-mix(in oklab, var(--color-bg-section-alt) 70%, var(--color-surface-white));
  color: var(--color-ink-900);
  text-align: center;
  cursor: pointer;
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), border-color var(--motion-duration-base) var(--motion-ease-out);
}
.c-file-upload__dropzone:hover, .c-file-upload__dropzone:focus-visible, .c-file-upload__dropzone.is-dragover {
  background: var(--color-bg-section-alt);
  border-color: var(--color-primary-hover);
  outline: none;
}
@media (prefers-reduced-motion: reduce) {
  .c-file-upload__dropzone {
    -webkit-transition: none;
    transition: none;
  }
}

.c-file-upload__icon {
  width: 40px;
  height: 40px;
  margin: 0 0 var(--sp-2);
  color: var(--color-primary);
}

.c-file-upload__label {
  margin: 0 0 var(--sp-1);
  font-size: var(--fs-lg);
  font-weight: 500;
  color: var(--color-ink-900);
  line-height: 1.3;
}

.c-file-upload__sub {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-sm);
  color: var(--color-ink-700);
}

.c-file-upload__browse-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-1);
  -webkit-margin-before: var(--sp-2);
          margin-block-start: var(--sp-2);
  padding: var(--sp-2) var(--sp-4);
  background: var(--color-surface-white);
  border: 1px solid var(--color-primary);
  border-radius: 6px;
  color: var(--color-primary);
  font-size: var(--fs-sm);
  font-weight: 500;
}

.c-file-upload__constraint {
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
  line-height: 1.5;
}

.c-file-upload__native-inputs {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.c-file-upload__count {
  margin: var(--sp-3) 0 var(--sp-2);
  font-size: var(--fs-xs);
  font-weight: 500;
  color: var(--color-ink-700);
}
.c-file-upload__count[hidden] {
  display: none;
}

.c-file-upload__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}

.c-file-upload__chip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-surface-white);
  border: 0.5px solid var(--color-border);
  border-radius: 8px;
  font-size: var(--fs-sm);
}
.c-file-upload__chip--error {
  border-color: var(--color-error);
  background: color-mix(in oklab, var(--color-error) 6%, var(--color-surface-white));
}

.c-file-upload__chip-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 500;
  color: var(--color-surface-white);
  background: var(--c-file-upload-icon-other);
}
.c-file-upload__chip-icon--pdf {
  background: var(--c-file-upload-icon-pdf);
}
.c-file-upload__chip-icon--doc {
  background: var(--c-file-upload-icon-doc);
}
.c-file-upload__chip-icon--xls {
  background: var(--c-file-upload-icon-xls);
}
.c-file-upload__chip-icon--ppt {
  background: var(--c-file-upload-icon-ppt);
}
.c-file-upload__chip-icon--img {
  background: var(--c-file-upload-icon-img);
}
.c-file-upload__chip-icon--zip {
  background: var(--c-file-upload-icon-zip);
}
.c-file-upload__chip-icon--other {
  background: var(--c-file-upload-icon-other);
}

.c-file-upload__chip-name {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  color: var(--color-ink-900);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-file-upload__chip-size {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: var(--fs-xs);
  color: var(--color-ink-500);
  white-space: nowrap;
}

.c-file-upload__chip-remove {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--color-ink-500);
  cursor: pointer;
  -webkit-transition: background var(--motion-duration-tap) var(--motion-ease-out), color var(--motion-duration-tap) var(--motion-ease-out);
  transition: background var(--motion-duration-tap) var(--motion-ease-out), color var(--motion-duration-tap) var(--motion-ease-out);
}
.c-file-upload__chip-remove:hover, .c-file-upload__chip-remove:focus-visible {
  background: var(--color-bg-muted);
  color: var(--color-error);
  outline: none;
}
@media (prefers-reduced-motion: reduce) {
  .c-file-upload__chip-remove {
    -webkit-transition: none;
    transition: none;
  }
}

.c-file-upload__error-msg {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin: var(--sp-1) 0 0;
  font-size: var(--fs-xs);
  color: var(--color-error);
}

.t-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-5);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), color var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
}
.t-button:focus-visible {
  outline: 3px solid var(--color-focus-ring);
  outline-offset: 2px;
}
.t-button > * {
  position: relative;
  z-index: 1;
}
.t-button--primary {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
}
.t-button--primary::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  background: var(--color-primary-hover);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  z-index: 0;
}
.t-button--primary:hover::before, .t-button--primary:focus-visible::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.t-button--secondary {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.t-button--secondary::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  background: var(--color-primary);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out);
  z-index: 0;
}
.t-button--secondary:hover, .t-button--secondary:focus-visible {
  color: var(--color-surface-white);
}
.t-button--secondary:hover::before, .t-button--secondary:focus-visible::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.t-button--ghost {
  background: transparent;
  color: var(--color-ink-900);
}
.t-button--ghost:hover, .t-button--ghost:focus-visible {
  background: var(--color-bg-muted);
}
.t-button--dark.t-button--primary {
  background: var(--color-surface-white);
  color: var(--color-ink-900);
}
.t-button--dark.t-button--primary::before {
  background: var(--color-ink-900);
}
.t-button--dark.t-button--primary:hover, .t-button--dark.t-button--primary:focus-visible {
  color: var(--color-surface-white);
}
.t-button--dark.t-button--secondary {
  background: transparent;
  color: var(--color-surface-white);
  border-color: var(--color-surface-white);
}
.t-button--dark.t-button--secondary::before {
  background: var(--color-surface-white);
}
.t-button--dark.t-button--secondary:hover, .t-button--dark.t-button--secondary:focus-visible {
  color: var(--color-primary);
}
.t-button--sm {
  padding: var(--sp-2) var(--sp-4);
  font-size: var(--fs-sm);
}
.t-button--lg {
  padding: var(--sp-4) var(--sp-6);
  font-size: var(--fs-lg);
}
.t-button--primary:not(.t-button--sm):not(.t-button--icon-only), .t-button--secondary:not(.t-button--sm):not(.t-button--icon-only) {
  min-inline-size: var(--button-width-min-wide);
}
.t-button--full {
  inline-size: 100%;
}
.t-button--icon-only {
  padding: 0;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  border-radius: var(--radius-pill);
  gap: 0;
}
.t-button--icon-only .t-button__label {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.t-button__label {
  font-weight: inherit;
}
.t-button__icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  inline-size: 1em;
  block-size: 1em;
}

button[type=submit].t-button--primary,
input[type=submit].t-button--primary,
.t-button--primary.wpcf7-submit {
  padding-block: var(--sp-4);
  padding-inline: var(--sp-6);
  font-size: var(--fs-lg);
  min-inline-size: calc(var(--button-width-min-wide) * 1.2);
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}

button[type=submit].t-button--primary::before,
input[type=submit].t-button--primary::before,
.t-button--primary.wpcf7-submit::before {
  background: var(--color-primary);
}

button[type=submit].t-button--primary:hover,
button[type=submit].t-button--primary:focus-visible,
input[type=submit].t-button--primary:hover,
input[type=submit].t-button--primary:focus-visible,
.t-button--primary.wpcf7-submit:hover,
.t-button--primary.wpcf7-submit:focus-visible {
  color: var(--color-surface-white);
}

.t-button--auth-submit {
  display: block;
  inline-size: 100%;
  min-block-size: 48px;
  padding-block: var(--sp-3);
  padding-inline: var(--sp-5);
  font-size: var(--fs-base);
  font-weight: 500;
  border-radius: var(--radius-md);
  min-inline-size: 0;
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border: 1px solid transparent;
  -webkit-transition: background var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: background var(--motion-duration-base) var(--motion-ease-out), transform var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
}
.t-button--auth-submit::before {
  display: none;
}
.t-button--auth-submit:hover {
  background: var(--color-primary-hover);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  -webkit-box-shadow: 0 4px 12px rgba(0, 79, 142, 0.3);
          box-shadow: 0 4px 12px rgba(0, 79, 142, 0.3);
}
.t-button--auth-submit:focus-visible {
  outline: 3px solid var(--color-focus-ring);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .t-button--auth-submit {
    -webkit-transition: none;
    transition: none;
  }
  .t-button--auth-submit:hover {
    -webkit-transform: none;
            transform: none;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

button[type=submit].t-button--primary.t-button--auth-submit,
input[type=submit].t-button--primary.t-button--auth-submit {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border-color: transparent;
  padding-block: var(--sp-3);
  padding-inline: var(--sp-5);
  font-size: var(--fs-base);
  min-inline-size: 0;
}
button[type=submit].t-button--primary.t-button--auth-submit::before,
input[type=submit].t-button--primary.t-button--auth-submit::before {
  display: none;
}
button[type=submit].t-button--primary.t-button--auth-submit:hover, button[type=submit].t-button--primary.t-button--auth-submit:focus-visible,
input[type=submit].t-button--primary.t-button--auth-submit:hover,
input[type=submit].t-button--primary.t-button--auth-submit:focus-visible {
  color: var(--color-primary-contrast);
}

@media (max-width: 47.99em) {
  .t-button--lg.t-button--primary,
  .t-button--lg.t-button--secondary {
    inline-size: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .t-button {
    -webkit-transition: none;
    transition: none;
  }
  .t-button:hover, .t-button:focus-visible {
    -webkit-transform: none;
            transform: none;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .t-button--primary::before,
  .t-button--secondary::before {
    -webkit-transition: none;
    transition: none;
  }
}
.t-section-title {
  display: grid;
  gap: var(--sp-3);
}
.t-section-title__kicker {
  font-family: var(--font-display, var(--font-sans));
  font-size: var(--fs-sm);
  letter-spacing: var(--tracking-wide);
  color: var(--color-ink-500);
  margin: 0;
}
.t-section-title__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-3);
}
.t-section-title__accent {
  display: inline-block;
  inline-size: 3rem;
  block-size: 2px;
  background: var(--color-primary);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.t-section-title__title {
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-ink-900);
  margin: 0;
  text-wrap: balance;
}
.t-section-title__lead {
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
  margin: 0;
  max-width: var(--container-narrow, 50rem);
}
.t-section-title--lg .t-section-title__title {
  font-size: var(--fs-h1);
}
.t-section-title--sm .t-section-title__title {
  font-size: var(--fs-h3);
}
.t-section-title--sm .t-section-title__kicker {
  font-size: var(--fs-xs);
}
.t-section-title--sm .t-section-title__lead {
  font-size: var(--fs-sm);
}
.t-section-title--sm .t-section-title__accent {
  inline-size: 2rem;
}
.t-section-title--dark .t-section-title__title {
  color: var(--color-surface-white);
}
.t-section-title--dark .t-section-title__kicker {
  color: var(--color-gray-300);
}
.t-section-title--dark .t-section-title__lead {
  color: var(--color-gray-200);
}
.t-section-title--accent-none .t-section-title__accent {
  display: none;
}

.t-section-title--display .t-section-title__en {
  font-family: var(--font-display);
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: 1;
  color: var(--color-ink-900);
  letter-spacing: -0.02em;
  margin: 0 0 0.375rem;
}
.t-section-title--display .t-section-title__ja {
  font-size: var(--fs-base);
  color: var(--color-primary);
  font-weight: 500;
  margin: 0 0 var(--sp-3);
}
.t-section-title--display .t-section-title__accent {
  display: none;
}

.t-section-title--split {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-md);
}
@media (min-width: 48em) {
  .t-section-title--split {
    grid-template-columns: minmax(200px, 1fr) 2fr;
    gap: var(--sp-xl);
  }
}
.t-section-title--split .t-section-title__lead-col .t-section-title__lead {
  max-width: var(--container-narrow);
}

.t-section-title--center {
  text-align: center;
  justify-items: center;
}
.t-section-title--center .t-section-title__heading {
  display: block;
}
.t-section-title--center .t-section-title__accent {
  display: block;
  margin: var(--sp-3) auto 0;
}
.t-section-title--center .t-section-title__lead {
  margin-inline: auto;
  max-width: var(--container-narrow);
}

@supports (animation-timeline: view()) {
  .t-reveal {
    -webkit-animation: t-reveal-fade-up linear;
            animation: t-reveal-fade-up linear;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
  }
  .t-reveal--left {
    -webkit-animation-name: t-reveal-fade-left;
            animation-name: t-reveal-fade-left;
  }
  .t-reveal--right {
    -webkit-animation-name: t-reveal-fade-right;
            animation-name: t-reveal-fade-right;
  }
  .t-reveal--delay-1 {
    -webkit-animation-delay: var(--motion-duration-base);
            animation-delay: var(--motion-duration-base);
  }
  .t-reveal--delay-2 {
    -webkit-animation-delay: var(--motion-duration-slow);
            animation-delay: var(--motion-duration-slow);
  }
  @-webkit-keyframes t-reveal-fade-up {
    from {
      opacity: 0;
      -webkit-transform: translateY(var(--motion-reveal-y));
              transform: translateY(var(--motion-reveal-y));
    }
    to {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @keyframes t-reveal-fade-up {
    from {
      opacity: 0;
      -webkit-transform: translateY(var(--motion-reveal-y));
              transform: translateY(var(--motion-reveal-y));
    }
    to {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @-webkit-keyframes t-reveal-fade-left {
    from {
      opacity: 0;
      -webkit-transform: translateX(calc(var(--motion-reveal-x) * -1));
              transform: translateX(calc(var(--motion-reveal-x) * -1));
    }
    to {
      opacity: 1;
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @keyframes t-reveal-fade-left {
    from {
      opacity: 0;
      -webkit-transform: translateX(calc(var(--motion-reveal-x) * -1));
              transform: translateX(calc(var(--motion-reveal-x) * -1));
    }
    to {
      opacity: 1;
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @-webkit-keyframes t-reveal-fade-right {
    from {
      opacity: 0;
      -webkit-transform: translateX(var(--motion-reveal-x));
              transform: translateX(var(--motion-reveal-x));
    }
    to {
      opacity: 1;
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @keyframes t-reveal-fade-right {
    from {
      opacity: 0;
      -webkit-transform: translateX(var(--motion-reveal-x));
              transform: translateX(var(--motion-reveal-x));
    }
    to {
      opacity: 1;
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
}
@supports not (animation-timeline: view()) {
  .t-reveal {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .t-reveal {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-animation: none;
            animation: none;
  }
}
.t-card {
  position: relative;
  display: grid;
  gap: var(--sp-3);
  background: var(--color-bg);
  border-radius: var(--radius-lg);
  -webkit-box-shadow: var(--shadow-sm);
          box-shadow: var(--shadow-sm);
  overflow: hidden;
  -webkit-transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out);
  transition: transform var(--motion-duration-base) var(--motion-ease-out), box-shadow var(--motion-duration-base) var(--motion-ease-out), -webkit-transform var(--motion-duration-base) var(--motion-ease-out), -webkit-box-shadow var(--motion-duration-base) var(--motion-ease-out);
}
.t-card:has(.t-card__link:hover), .t-card:hover, .t-card:focus-within {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: var(--shadow-md);
          box-shadow: var(--shadow-md);
}
.t-card__media {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.t-card__media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.t-card--ratio-43 .t-card__media {
  aspect-ratio: 4/3;
}
.t-card--ratio-square .t-card__media {
  aspect-ratio: 1/1;
}
.t-card--ratio-portrait .t-card__media {
  aspect-ratio: 3/4;
}
.t-card__body {
  display: grid;
  gap: var(--sp-2);
  padding: var(--sp-4);
}
.t-card__title {
  font-size: var(--fs-h3);
  line-height: var(--lh-tight);
  font-weight: 600;
  color: var(--color-ink-900);
  margin: 0;
}
.t-card__text {
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
  margin: 0;
}
.t-card__link {
  padding: 0 var(--sp-4) var(--sp-4);
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
}
.t-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.t-card__link:focus-visible {
  outline: 3px solid var(--color-focus-ring);
  outline-offset: 2px;
}
.t-card__body a:not(.t-card__link), .t-card__body button {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .t-card {
    -webkit-transition: none;
    transition: none;
  }
  .t-card:hover {
    -webkit-transform: none;
            transform: none;
  }
}
.t-count-up {
  font-family: var(--font-display, var(--font-sans));
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: 1;
  letter-spacing: var(--tracking-tight);
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
}

.t-split-text {
  line-height: 1;
  display: inline-block;
}
.t-split-text__wrapper {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  line-height: 1;
}
.t-split-text__letter {
  display: inline-block;
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .t-split-text__letter {
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.b-cutter-blade-brand {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  height: 100%;
}
.b-cutter-blade-brand__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  min-height: 0;
  padding: var(--sp-4);
  border-radius: var(--radius-md);
  border: none;
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-align: center;
}
.b-cutter-blade-brand__overline {
  margin: 0 0 var(--sp-3);
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  text-align: start;
}
.b-cutter-blade-brand__title {
  margin: 0 0 var(--sp-3);
  font-family: var(--font-display);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.b-cutter-blade-brand__sub {
  margin: 0 0 var(--sp-4);
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
  font-weight: 700;
}
.b-cutter-blade-brand__desc {
  margin: 0 0 var(--sp-lg);
  font-size: clamp(0.875rem, 0.82rem + 0.25vw, 1rem);
  line-height: 1.75;
}
.b-cutter-blade-brand__stats, .b-cutter-blade-brand__features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1rem, 0.75rem + 1vw, 2rem);
  margin: 0;
  margin-top: auto;
  padding: 0;
  list-style: none;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.b-cutter-blade-brand__stats li, .b-cutter-blade-brand__features li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  gap: var(--sp-1);
}
.b-cutter-blade-brand__stats li strong, .b-cutter-blade-brand__features li strong {
  font-size: clamp(1.25rem, 1rem + 1vw, 1.875rem);
  font-weight: 800;
  line-height: 1;
}
.b-cutter-blade-brand__stats li span, .b-cutter-blade-brand__features li span {
  font-size: var(--fs-xs);
  letter-spacing: 0.08em;
  opacity: 0.7;
}
.b-cutter-blade-brand__title--economy-logo img, .b-cutter-blade-brand__title--ryuma-logo img, .b-cutter-blade-brand__title--neo-logo img {
  margin-inline: auto;
}
@media (prefers-reduced-motion: no-preference) {
  .b-cutter-blade-brand {
    opacity: 0;
    -webkit-transform: translateY(24px);
            transform: translateY(24px);
    -webkit-transition: opacity 800ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 800ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 800ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 800ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 800ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 800ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 800ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 800ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 800ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .b-cutter-blade-brand.is-revealed {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.b-cutter-blade-brand--economy .b-cutter-blade-brand__card {
  background: var(--color-surface-white);
  color: var(--color-primary);
}
.b-cutter-blade-brand--economy .b-cutter-blade-brand__overline {
  color: var(--color-primary-hover);
}
.b-cutter-blade-brand--economy .b-cutter-blade-brand__title--economy-logo {
  margin: 0 0 var(--sp-3);
  font-size: 0;
  line-height: 0;
}
.b-cutter-blade-brand--economy .b-cutter-blade-brand__title--economy-logo img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.b-cutter-blade-brand--economy .b-cutter-blade-brand__sub {
  color: var(--color-primary-hover);
}
.b-cutter-blade-brand--economy .b-cutter-blade-brand__desc {
  color: var(--color-ink-700);
}

.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__card {
  background: var(--color-surface-white);
  color: var(--color-ink-900);
  -webkit-box-shadow: var(--shadow-card);
          box-shadow: var(--shadow-card);
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__overline {
  color: var(--color-ink-500);
  letter-spacing: 0.2em;
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__title {
  color: var(--color-primary);
  font-size: clamp(2rem, 1.25rem + 2.5vw, 3.25rem);
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__title--ryuma-logo {
  margin: 0 0 var(--sp-3);
  font-size: 0;
  line-height: 0;
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__title--ryuma-logo img {
  display: block;
  width: 100%;
  max-width: min(100%, 17rem);
  height: auto;
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__sub {
  color: var(--color-primary);
  font-style: normal;
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__desc {
  color: var(--color-ink-700);
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__guarantee-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: var(--sp-2);
  padding: var(--sp-3) clamp(1rem, 0.75rem + 1vw, 1.5rem);
  margin-top: var(--sp-md);
  border: 2px solid var(--color-primary);
  border-radius: 999px;
  color: var(--color-ink-900);
  -ms-flex-item-align: center;
      align-self: center;
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__guarantee-percent {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
  font-weight: 800;
  line-height: 1;
  color: var(--color-primary);
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__guarantee-percent small {
  font-size: 0.5em;
  -webkit-margin-start: 2px;
          margin-inline-start: 2px;
}
.b-cutter-blade-brand--ryuma .b-cutter-blade-brand__guarantee-label {
  font-size: var(--fs-sm);
  letter-spacing: 0.08em;
  color: var(--color-ink-700);
}

.b-cutter-blade-brand--neo .b-cutter-blade-brand__card {
  background: var(--color-surface-white);
  color: var(--color-ink-900);
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__overline {
  color: var(--color-ink-500);
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__title {
  color: var(--color-primary);
  font-size: clamp(1.75rem, 1.1rem + 2vw, 2.75rem);
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__title--neo-logo {
  margin: 0 0 var(--sp-3);
  font-size: 0;
  line-height: 0;
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__title--neo-logo img {
  display: block;
  width: 100%;
  max-width: min(100%, 18rem);
  height: auto;
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__sub {
  color: var(--color-primary-hover);
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__desc {
  color: var(--color-ink-700);
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__features {
  counter-reset: feature-num;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: var(--sp-2);
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__features li {
  counter-increment: feature-num;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  gap: var(--sp-2);
  font-size: clamp(0.6875rem, 0.62rem + 0.2vw, 0.8125rem);
  line-height: 1.45;
  color: var(--color-ink-700);
}
.b-cutter-blade-brand--neo .b-cutter-blade-brand__features li::before {
  content: counter(feature-num, decimal-leading-zero);
  font-family: var(--font-display);
  font-size: clamp(1.125rem, 0.95rem + 0.6vw, 1.5rem);
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1;
}

.c-cutter-blade-flow-step {
  z-index: 0;
}
.c-cutter-blade-flow-step__card {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  gap: var(--sp-3);
  padding: var(--sp-lg) var(--sp-sm);
  background: color-mix(in oklab, var(--color-primary) 6%, #fff);
  border: 1px solid color-mix(in oklab, var(--color-primary) 16%, #fff);
  border-radius: 12px;
}
@media (min-width: 75em) {
  .c-cutter-blade-flow-step:not(:last-child) .c-cutter-blade-flow-step__card::after {
    content: "▶︎";
    position: absolute;
    z-index: 2;
    left: 100%;
    top: 50%;
    display: block;
    font-size: 0.8125rem;
    line-height: 1;
    -webkit-transform: translate(calc(1.125rem - 50%), -50%);
    transform: translate(calc(1.125rem - 50%), -50%);
    color: var(--color-primary);
    pointer-events: none;
  }
}
.c-cutter-blade-flow-step__kicker {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: var(--lh-tight);
  text-transform: uppercase;
  color: var(--color-primary);
}
.c-cutter-blade-flow-step__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  color: var(--color-primary);
}
.c-cutter-blade-flow-step__icon svg,
.c-cutter-blade-flow-step svg.c-cutter-blade-flow-step__icon-svg {
  inline-size: 3.25rem;
  block-size: 3.25rem;
}
.c-cutter-blade-flow-step__content-title {
  margin: 0;
  font-size: var(--fs-content-title);
  font-weight: 700;
  line-height: var(--lh-tight);
  color: var(--color-ink-900);
}
.c-cutter-blade-flow-step__desc {
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-xs);
  line-height: 1.65;
  color: var(--color-ink-700);
  text-align: start;
}
@media (prefers-reduced-motion: no-preference) {
  .c-cutter-blade-flow-step {
    opacity: 0;
    -webkit-transform: translateY(24px);
    transform: translateY(24px);
    -webkit-transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .c-cutter-blade-flow-step.is-revealed {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.c-cutter-blade-option-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: var(--sp-3);
  padding: var(--sp-3);
  background: var(--color-gray-100);
  border: 0;
  border-radius: 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 28rem) {
  .c-cutter-blade-option-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--sp-3);
  }
}
.c-cutter-blade-option-row__figure {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-bg);
  aspect-ratio: 4/3;
}
@media (min-width: 28rem) {
  .c-cutter-blade-option-row__figure {
    width: 13.75rem;
    max-width: 40%;
    aspect-ratio: 220/204;
  }
}
.c-cutter-blade-option-row__figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-cutter-blade-option-row__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
.c-cutter-blade-option-row__title {
  margin: 0 0 var(--sp-2);
  font-family: var(--font-sans);
  font-size: var(--fs-content-title);
  font-weight: var(--font-weight-bold, 700);
  line-height: 1.25;
  color: #1a1c24;
}
.c-cutter-blade-option-row__body {
  margin: 0;
  font-size: var(--fs-base);
  line-height: 1.55;
  color: var(--color-ink-700);
}
@media (prefers-reduced-motion: no-preference) {
  .c-cutter-blade-option-row {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    -webkit-transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition: opacity 600ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .c-cutter-blade-option-row.is-revealed {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.c-chisel-compat-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-2);
  -webkit-box-flex: 1;
      -ms-flex: 1 1 16rem;
          flex: 1 1 16rem;
}
.c-chisel-compat-search__label {
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-700);
}
.c-chisel-compat-search__input {
  width: 100%;
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font: inherit;
  font-size: var(--fs-sm);
  background: var(--color-surface-white);
}
.c-chisel-compat-search__input:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

.c-chisel-compat-pills {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--sp-2);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-chisel-compat-pills__pill {
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-surface-white);
  color: var(--color-ink-700);
  font: inherit;
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  -webkit-transition: background-color var(--motion-duration-base, 200ms) var(--motion-ease, ease), border-color var(--motion-duration-base, 200ms) var(--motion-ease, ease), color var(--motion-duration-base, 200ms) var(--motion-ease, ease);
  transition: background-color var(--motion-duration-base, 200ms) var(--motion-ease, ease), border-color var(--motion-duration-base, 200ms) var(--motion-ease, ease), color var(--motion-duration-base, 200ms) var(--motion-ease, ease);
}
.c-chisel-compat-pills__pill:hover {
  border-color: color-mix(in oklab, var(--color-primary) 45%, var(--color-border));
  color: var(--color-primary);
}
.c-chisel-compat-pills__pill.is-active {
  border-color: var(--color-primary);
  background: color-mix(in oklab, var(--color-primary) 12%, transparent);
  color: var(--color-primary);
}
.c-chisel-compat-pills__pill:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .c-chisel-compat-pills__pill {
    -webkit-transition: none;
    transition: none;
  }
}

.c-chisel-compat-page-size {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
}
.c-chisel-compat-page-size__label {
  font-size: var(--fs-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-700);
  white-space: nowrap;
}
.c-chisel-compat-page-size__select {
  min-width: 6.5rem;
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface-white);
  font-size: var(--fs-sm);
  color: var(--color-ink-900);
  cursor: pointer;
}
.c-chisel-compat-page-size__select:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

.c-chisel-compat-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-surface-white);
  font-size: var(--fs-sm);
  color: var(--color-ink-900);
}
.c-chisel-compat-table__head {
  background: var(--color-bg-muted);
}
.c-chisel-compat-table__head th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  text-align: left;
  white-space: nowrap;
  color: var(--color-ink-700);
  letter-spacing: 0.04em;
  background: var(--color-bg-muted);
}
.c-chisel-compat-table__body tr {
  -webkit-transition: background-color var(--motion-duration-base, 200ms) var(--motion-ease, ease);
  transition: background-color var(--motion-duration-base, 200ms) var(--motion-ease, ease);
}
.c-chisel-compat-table__body tr:nth-child(even) {
  background: color-mix(in oklab, var(--color-bg-muted) 35%, transparent);
}
.c-chisel-compat-table__body tr:hover {
  background: color-mix(in oklab, var(--color-primary) 6%, transparent);
}
.c-chisel-compat-table__cell {
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
  vertical-align: middle;
  word-break: break-word;
}
.c-chisel-compat-table__cell--model {
  font-weight: var(--font-weight-bold);
}
.c-chisel-compat-table__cell--shape {
  white-space: normal;
}
.c-chisel-compat-table .c-chisel-compat-mount {
  display: inline-block;
  margin-right: var(--sp-2);
  font-family: var(--font-mono, ui-monospace, Menlo, monospace);
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-700);
  vertical-align: middle;
}
@media (prefers-reduced-motion: reduce) {
  .c-chisel-compat-table__body tr {
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 47.9375em) {
  .c-chisel-compat-table {
    display: block;
  }
  .c-chisel-compat-table__head {
    display: none;
  }
  .c-chisel-compat-table__body {
    display: block;
  }
  .c-chisel-compat-table__body tr {
    display: grid;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    gap: 0.125rem var(--sp-3);
    margin-bottom: var(--sp-3);
    padding: var(--sp-3) var(--sp-4);
    background: var(--color-surface-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
  }
  .c-chisel-compat-table__body tr:nth-child(even) {
    background: var(--color-surface-white);
  }
  .c-chisel-compat-table__cell {
    display: contents;
    border-bottom: 0;
    padding: 0;
  }
  .c-chisel-compat-table__cell::before {
    content: attr(data-label);
    color: var(--color-ink-500);
    font-size: var(--fs-xs);
    font-weight: var(--font-weight-bold);
    white-space: nowrap;
  }
}

.c-chisel-compat-shape-btn {
  display: inline-block;
  vertical-align: middle;
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-primary);
  font: inherit;
  font-size: var(--fs-xs);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}
.c-chisel-compat-shape-btn:hover {
  background: color-mix(in oklab, var(--color-primary) 10%, transparent);
}
.c-chisel-compat-shape-btn:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

.c-chisel-compat-dialog {
  max-width: min(92vw, 42rem);
  padding: 0;
  border: none;
  border-radius: var(--radius-md);
  -webkit-box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.22);
          box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.22);
}
.c-chisel-compat-dialog::-ms-backdrop {
  background: rgba(0, 0, 0, 0.45);
}
.c-chisel-compat-dialog::backdrop {
  background: rgba(0, 0, 0, 0.45);
}
.c-chisel-compat-dialog__surface {
  position: relative;
  padding: var(--sp-5) var(--sp-5) var(--sp-6);
  background: var(--color-surface-white);
}
.c-chisel-compat-dialog__close {
  position: absolute;
  top: var(--sp-3);
  right: var(--sp-3);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--color-bg-muted);
  color: var(--color-ink-700);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.c-chisel-compat-dialog__close:hover {
  background: var(--color-border);
}
.c-chisel-compat-dialog__close:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}
.c-chisel-compat-dialog__title {
  margin: 0 2.5rem var(--sp-4) 0;
  font-size: var(--fs-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-ink-900);
}
.c-chisel-compat-dialog__figure {
  margin: 0;
}
.c-chisel-compat-dialog__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-sm);
  background: transparent;
}
.c-chisel-compat-dialog__caption {
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-sm);
  color: var(--color-ink-600);
}
@media (prefers-reduced-motion: reduce) {
  .c-chisel-compat-dialog::-ms-backdrop {
    animation: none;
  }
  .c-chisel-compat-dialog::backdrop {
    -webkit-animation: none;
            animation: none;
  }
}

.t-edge-section-break {
  position: relative;
}
.t-edge-section-break::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  block-size: clamp(40px, 6vw, 80px);
  background: var(--color-bg-muted);
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  z-index: 0;
  pointer-events: none;
}
.t-edge-section-break--bottom::before {
  inset-block-start: auto;
  inset-block-end: 0;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.t-edge-section-break--accent::before {
  background: var(--color-primary);
}
.t-edge-section-break--dark::before {
  background: var(--color-dark-strip);
}

.t-edge-image-cut {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
}
.t-edge-image-cut--lg {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 64px), calc(100% - 64px) 100%, 0 100%);
}
.t-edge-image-cut--sm {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}
.t-edge-image-cut--flip {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 40px 100%, 0 calc(100% - 40px));
}

.t-edge-card-corner {
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

@media (prefers-reduced-motion: reduce) {
  .t-edge-section-break::before,
  .t-edge-image-cut,
  .t-edge-card-corner {
    -webkit-transition: none !important;
    transition: none !important;
  }
}
.t-section-title__accent {
  background: var(--color-brand);
}

.c-footer__top {
  border-block-end-color: color-mix(in oklab, var(--color-brand) 35%, var(--color-footer-bg));
}

.t-brand-link {
  color: var(--color-brand);
  font-weight: 500;
  text-decoration: none;
  -webkit-border-after: 1px solid color-mix(in oklab, var(--color-brand) 50%, transparent);
          border-block-end: 1px solid color-mix(in oklab, var(--color-brand) 50%, transparent);
  -webkit-padding-after: 2px;
          padding-block-end: 2px;
  -webkit-transition: color var(--motion-duration-fast) var(--motion-ease-out), border-color var(--motion-duration-fast) var(--motion-ease-out);
  transition: color var(--motion-duration-fast) var(--motion-ease-out), border-color var(--motion-duration-fast) var(--motion-ease-out);
}
.t-brand-link:hover {
  color: var(--color-brand-hover);
  border-block-end-color: var(--color-brand);
}
.t-brand-link:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--color-brand) 40%, transparent);
  outline-offset: 2px;
}

.t-button--secondary {
  background: transparent;
  color: var(--color-brand);
  border-color: var(--color-brand);
}

.t-button--ghost {
  background: transparent;
  color: var(--color-brand);
  border-color: transparent;
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.front-page .t-reveal {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-animation: none;
          animation: none;
}

.p-front__hero {
  position: relative;
  overflow: hidden;
  background: var(--color-bg);
  -webkit-padding-before: calc(var(--header-total-height) + var(--sp-6));
          padding-block-start: calc(var(--header-total-height) + var(--sp-6));
  -webkit-padding-after: 0;
          padding-block-end: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.p-front__hero .b-stats-hero,
.p-front__hero .b-brand-hero {
  inline-size: 100%;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  min-block-size: 0;
}

.p-front__media-band.l-section.l-section--flush-y {
  background: var(--color-bg);
  padding-block: clamp(var(--sp-5), var(--sp-lg), var(--sp-8));
}

.p-front__service.l-section.l-section--flush-y,
.p-front__about.l-section.l-section--flush-y {
  padding-block: clamp(var(--sp-5), var(--sp-lg), var(--sp-8));
}

.p-front__product-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
@media (max-width: 47.9375em) {
  .p-front__product-cards {
    grid-template-columns: 1fr;
  }
}

.p-front__news {
  background: var(--color-bg);
}

.p-front__news-head {
  margin-bottom: var(--sp-6);
}

.p-front__news-more {
  margin-top: var(--sp-lg);
  text-align: center;
}

.p-front__service {
  background: var(--color-bg);
  color: var(--color-ink-900);
}
.p-front__service-head {
  margin-bottom: var(--sp-xl);
  max-width: min(52rem, 100%);
}
.p-front__service-kicker {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-primary);
  font-weight: 700;
}
.p-front__service-title {
  margin: 0;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.12;
  color: var(--color-ink-900);
}
.p-front__service-lead {
  margin: var(--sp-4) 0 0;
  font-size: var(--fs-lg);
  line-height: var(--lh-base);
  color: var(--color-ink-700);
}
.p-front__service-grid {
  display: grid;
  gap: var(--sp-6);
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .p-front__service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .p-front__service-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.p-front__service-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  min-height: 0;
  padding: 0;
  background: var(--color-surface-white);
  border: none;
  border-radius: clamp(1.125rem, 0.65rem + 1.4vw, 1.75rem);
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04), 0 18px 44px rgba(15, 23, 42, 0.09);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04), 0 18px 44px rgba(15, 23, 42, 0.09);
  overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
  .p-front__service-card:has(.p-front__service-card-link:hover) {
    -webkit-box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06), 0 22px 48px rgba(15, 23, 42, 0.11);
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06), 0 22px 48px rgba(15, 23, 42, 0.11);
  }
}
.p-front__service-card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  min-height: 0;
  text-decoration: none;
  color: inherit;
  outline-offset: 4px;
}
.p-front__service-card-link:focus-visible {
  outline: 2px solid var(--color-primary);
  border-radius: inherit;
}
.p-front__service-card-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-3);
  padding: clamp(var(--sp-5), 3vw, var(--sp-8)) clamp(var(--sp-5), 3vw, var(--sp-7)) var(--sp-4);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.p-front__service-index {
  margin: 0;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-ink-700);
}
.p-front__service-card-title {
  margin: 0;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.18;
  color: var(--color-ink-900);
}
.p-front__service-media {
  margin: 0;
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-height: clamp(14rem, 22vw, 18rem);
  border-radius: 0;
  overflow: hidden;
  background: transparent;
}
.p-front__service-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
.p-front__service-card-link:hover .p-front__service-media img, .p-front__service-card-link:focus-visible .p-front__service-media img {
  -webkit-transform: scale(1.06);
          transform: scale(1.06);
}
@media (prefers-reduced-motion: reduce) {
  .p-front__service-media img {
    -webkit-transition: none;
    transition: none;
  }
  .p-front__service-card-link:hover .p-front__service-media img, .p-front__service-card-link:focus-visible .p-front__service-media img {
    -webkit-transform: none;
            transform: none;
  }
}
.p-front__service-text {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.65;
  color: color-mix(in oklab, var(--color-ink-700) 92%, var(--color-bg));
}

@media (min-width: 1024px) {
  .p-front__service-grid-outer.l-container {
    max-width: none;
    padding-inline: var(--sp-6);
  }
}

.p-front__about {
  background: var(--color-bg);
  color: var(--color-ink-900);
}
.p-front__about-wrap {
  width: 100%;
}
.p-front__about-head {
  margin-bottom: var(--sp-xl);
  max-width: min(52rem, 100%);
}
.p-front__about-kicker {
  margin: 0 0 var(--sp-3);
  color: var(--color-ink-500);
  font-size: var(--fs-xs);
  line-height: 1.3;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.p-front__about-title {
  margin: 0;
  color: var(--color-ink-900);
  font-size: clamp(2rem, 7vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 700;
}
.p-front__about-lead {
  margin: var(--sp-5) 0 0;
  color: var(--color-ink-700);
  font-size: var(--fs-base);
  line-height: 1.9;
}
.p-front__about-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3);
  width: 100%;
  margin-top: var(--sp-xl);
}
@media (min-width: 1024px) {
  .p-front__about-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--sp-4);
    margin-top: clamp(3rem, 5vw, 5rem);
  }
}
@media (max-width: 767px) {
  .p-front__about-grid {
    grid-template-columns: 1fr;
  }
}
.p-front__about-tile {
  position: relative;
  min-height: 220px;
  background: var(--color-bg-muted);
  border: 1px solid var(--color-border);
}
.p-front__about-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(color-mix(in oklab, var(--color-white) 55%, transparent)), color-stop(42%, transparent));
  background: linear-gradient(180deg, color-mix(in oklab, var(--color-white) 55%, transparent), transparent 42%);
  pointer-events: none;
}
.p-front__about-tile--photo {
  overflow: hidden;
  min-height: 260px;
}
.p-front__about-tile--photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-filter: grayscale(0.04) contrast(1.02);
          filter: grayscale(0.04) contrast(1.02);
}
.p-front__about-tile--photo::after, .p-front__about-tile--mark-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(color-mix(in oklab, var(--color-white) 15%, transparent)), to(color-mix(in oklab, var(--color-ink-900) 18%, transparent)));
  background: linear-gradient(180deg, color-mix(in oklab, var(--color-white) 15%, transparent), color-mix(in oklab, var(--color-ink-900) 18%, transparent));
}
.p-front__about-tile--photo-side img {
  -o-object-position: 50% 42%;
     object-position: 50% 42%;
}
.p-front__about-tile--copy, .p-front__about-tile--mark {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: clamp(22px, 4vw, 38px);
}
.p-front__about-tile--mark {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--color-white) 35%, transparent), transparent 55%), var(--color-bg-muted);
}
.p-front__about-tile--mark::before {
  background: -webkit-gradient(linear, left top, left bottom, from(color-mix(in oklab, var(--color-white) 40%, transparent)), color-stop(55%, transparent));
  background: linear-gradient(180deg, color-mix(in oklab, var(--color-white) 40%, transparent), transparent 55%);
}
.p-front__about-tile--mark-photo {
  display: block;
  overflow: hidden;
  padding: 0;
  min-height: 260px;
}
.p-front__about-tile--mark-photo .p-front__about-mark-photo {
  position: absolute;
  inset: 0;
}
.p-front__about-tile--mark-photo .p-front__about-mark-photo {
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 1;
  -webkit-filter: grayscale(0.04) contrast(1.02);
          filter: grayscale(0.04) contrast(1.02);
}
.p-front__about-tile--copy-main {
  min-height: 320px;
}
.p-front__about-tile--copy-quote {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .p-front__about-tile, .p-front__about-tile--photo-main, .p-front__about-tile--copy-main, .p-front__about-tile--mark, .p-front__about-tile--stat, .p-front__about-tile--photo-side, .p-front__about-tile--copy-quote {
    grid-column: span 1;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-front__about-tile--photo-main, .p-front__about-tile--copy-main {
    grid-column: span 2;
  }
  .p-front__about-tile--mark, .p-front__about-tile--stat, .p-front__about-tile--photo-side, .p-front__about-tile--copy-quote {
    grid-column: span 1;
  }
}
@media (min-width: 1024px) {
  .p-front__about-tile {
    min-height: 280px;
  }
  .p-front__about-tile--photo-main {
    grid-column: span 7;
    min-height: 560px;
  }
  .p-front__about-tile--copy-main {
    grid-column: span 5;
    min-height: 560px;
  }
  .p-front__about-tile--mark {
    grid-column: span 4;
    min-height: 320px;
  }
  .p-front__about-tile--stat {
    grid-column: span 3;
    min-height: 320px;
  }
  .p-front__about-tile--photo-side {
    grid-column: span 3;
    min-height: 320px;
  }
  .p-front__about-tile--copy-quote {
    grid-column: span 2;
    min-height: 320px;
  }
}
.p-front__about-eyebrow, .p-front__about-stat-label {
  position: relative;
  z-index: 2;
  margin: 0;
  color: var(--color-ink-500);
  font-size: var(--fs-xs);
  line-height: 1.4;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.p-front__about-copy-title {
  position: relative;
  z-index: 2;
  margin: var(--sp-4) 0 0;
  color: var(--color-ink-900);
  font-size: clamp(1.5rem, 4vw, 2.4rem);
  line-height: 1.16;
  letter-spacing: -0.04em;
  font-weight: 700;
}
.p-front__about-copy-text, .p-front__about-stat-text {
  position: relative;
  z-index: 2;
  margin: 14px 0 0;
  color: var(--color-ink-700);
  font-size: var(--fs-base);
  line-height: 1.9;
}
.p-front__about-quote {
  position: relative;
  z-index: 2;
  max-width: 22ch;
  margin: 0;
  color: var(--color-ink-700);
  font-size: clamp(1.15rem, 3.6vw, 1.8rem);
  line-height: 1.45;
  letter-spacing: -0.03em;
}
.p-front__about-actions {
  position: relative;
  z-index: 2;
  margin-top: var(--sp-5);
}
.p-front__about-button {
  min-width: var(--button-width-min-wide);
}
.p-front__about-stat-value {
  position: relative;
  z-index: 2;
  margin: var(--sp-4) 0 0;
  color: var(--color-ink-900);
  font-size: clamp(3rem, 9vw, 5.8rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
  font-weight: 700;
  font-family: var(--font-display, var(--font-sans));
}

.t-product-hero {
  position: relative;
  overflow: hidden;
  -webkit-padding-before: calc(var(--header-total-height) + var(--sp-6));
          padding-block-start: calc(var(--header-total-height) + var(--sp-6));
  min-height: 80vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.t-product-hero__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 960px) {
  .t-product-hero__inner {
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 4vw, 4rem);
  }
}
.t-product-hero__text {
  display: grid;
  gap: var(--sp-4);
  position: relative;
  z-index: 1;
}
.t-product-hero__kicker {
  font-family: var(--font-display, var(--font-sans));
  font-weight: 900;
  line-height: 0.9;
  color: var(--color-dark-strip-ink);
  margin: 0;
}
.t-product-hero__kicker--en {
  font-size: clamp(3rem, 8vw + 1rem, 7.5rem);
  letter-spacing: -0.04em;
  text-transform: uppercase;
}
.t-product-hero__kicker--jp {
  font-size: clamp(3rem, 7vw + 1rem, 6rem);
  letter-spacing: -0.02em;
}
.t-product-hero__trademark {
  font-size: 0.35em;
  font-weight: 400;
  vertical-align: super;
  color: color-mix(in oklab, var(--color-dark-strip-ink) 70%, var(--color-dark-strip));
  -webkit-margin-start: 0.15em;
          margin-inline-start: 0.15em;
  line-height: 1;
}
.t-product-hero__subtitle {
  font-size: var(--fs-lg);
  line-height: var(--lh-base);
  color: color-mix(in oklab, var(--color-dark-strip-ink) 80%, var(--color-dark-strip));
  margin: 0;
  max-width: 30em;
}
.t-product-hero__media {
  position: relative;
  z-index: 1;
}
.t-product-hero__media img {
  inline-size: 100%;
  block-size: auto;
  display: block;
  -webkit-filter: contrast(1.1) brightness(0.95) saturate(0.8);
          filter: contrast(1.1) brightness(0.95) saturate(0.8);
}/*# sourceMappingURL=main.css.map */