@layer theme, base, components, utilities;

@layer theme {
  @theme default {
    --font-sans:
      ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --font-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;

    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-300: oklch(80.8% 0.114 19.571);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-red-800: oklch(44.4% 0.177 26.899);
    --color-red-900: oklch(39.6% 0.141 25.723);
    --color-red-950: oklch(25.8% 0.092 26.042);

    --color-orange-50: oklch(98% 0.016 73.684);
    --color-orange-100: oklch(95.4% 0.038 75.164);
    --color-orange-200: oklch(90.1% 0.076 70.697);
    --color-orange-300: oklch(83.7% 0.128 66.29);
    --color-orange-400: oklch(75% 0.183 55.934);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-orange-600: oklch(64.6% 0.222 41.116);
    --color-orange-700: oklch(55.3% 0.195 38.402);
    --color-orange-800: oklch(47% 0.157 37.304);
    --color-orange-900: oklch(40.8% 0.123 38.172);
    --color-orange-950: oklch(26.6% 0.079 36.259);

    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-amber-800: oklch(47.3% 0.137 46.201);
    --color-amber-900: oklch(41.4% 0.112 45.904);
    --color-amber-950: oklch(27.9% 0.077 45.635);

    --color-yellow-50: oklch(98.7% 0.026 102.212);
    --color-yellow-100: oklch(97.3% 0.071 103.193);
    --color-yellow-200: oklch(94.5% 0.129 101.54);
    --color-yellow-300: oklch(90.5% 0.182 98.111);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-yellow-700: oklch(55.4% 0.135 66.442);
    --color-yellow-800: oklch(47.6% 0.114 61.907);
    --color-yellow-900: oklch(42.1% 0.095 57.708);
    --color-yellow-950: oklch(28.6% 0.066 53.813);

    --color-lime-50: oklch(98.6% 0.031 120.757);
    --color-lime-100: oklch(96.7% 0.067 122.328);
    --color-lime-200: oklch(93.8% 0.127 124.321);
    --color-lime-300: oklch(89.7% 0.196 126.665);
    --color-lime-400: oklch(84.1% 0.238 128.85);
    --color-lime-500: oklch(76.8% 0.233 130.85);
    --color-lime-600: oklch(64.8% 0.2 131.684);
    --color-lime-700: oklch(53.2% 0.157 131.589);
    --color-lime-800: oklch(45.3% 0.124 130.933);
    --color-lime-900: oklch(40.5% 0.101 131.063);
    --color-lime-950: oklch(27.4% 0.072 132.109);

    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-100: oklch(96.2% 0.044 156.743);
    --color-green-200: oklch(92.5% 0.084 155.995);
    --color-green-300: oklch(87.1% 0.15 154.449);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-green-800: oklch(44.8% 0.119 151.328);
    --color-green-900: oklch(39.3% 0.095 152.535);
    --color-green-950: oklch(26.6% 0.065 152.934);

    --color-emerald-50: oklch(97.9% 0.021 166.113);
    --color-emerald-100: oklch(95% 0.052 163.051);
    --color-emerald-200: oklch(90.5% 0.093 164.15);
    --color-emerald-300: oklch(84.5% 0.143 164.978);
    --color-emerald-400: oklch(76.5% 0.177 163.223);
    --color-emerald-500: oklch(69.6% 0.17 162.48);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-emerald-700: oklch(50.8% 0.118 165.612);
    --color-emerald-800: oklch(43.2% 0.095 166.913);
    --color-emerald-900: oklch(37.8% 0.077 168.94);
    --color-emerald-950: oklch(26.2% 0.051 172.552);

    --color-teal-50: oklch(98.4% 0.014 180.72);
    --color-teal-100: oklch(95.3% 0.051 180.801);
    --color-teal-200: oklch(91% 0.096 180.426);
    --color-teal-300: oklch(85.5% 0.138 181.071);
    --color-teal-400: oklch(77.7% 0.152 181.912);
    --color-teal-500: oklch(70.4% 0.14 182.503);
    --color-teal-600: oklch(60% 0.118 184.704);
    --color-teal-700: oklch(51.1% 0.096 186.391);
    --color-teal-800: oklch(43.7% 0.078 188.216);
    --color-teal-900: oklch(38.6% 0.063 188.416);
    --color-teal-950: oklch(27.7% 0.046 192.524);

    --color-cyan-50: oklch(98.4% 0.019 200.873);
    --color-cyan-100: oklch(95.6% 0.045 203.388);
    --color-cyan-200: oklch(91.7% 0.08 205.041);
    --color-cyan-300: oklch(86.5% 0.127 207.078);
    --color-cyan-400: oklch(78.9% 0.154 211.53);
    --color-cyan-500: oklch(71.5% 0.143 215.221);
    --color-cyan-600: oklch(60.9% 0.126 221.723);
    --color-cyan-700: oklch(52% 0.105 223.128);
    --color-cyan-800: oklch(45% 0.085 224.283);
    --color-cyan-900: oklch(39.8% 0.07 227.392);
    --color-cyan-950: oklch(30.2% 0.056 229.695);

    --color-sky-50: oklch(97.7% 0.013 236.62);
    --color-sky-100: oklch(95.1% 0.026 236.824);
    --color-sky-200: oklch(90.1% 0.058 230.902);
    --color-sky-300: oklch(82.8% 0.111 230.318);
    --color-sky-400: oklch(74.6% 0.16 232.661);
    --color-sky-500: oklch(68.5% 0.169 237.323);
    --color-sky-600: oklch(58.8% 0.158 241.966);
    --color-sky-700: oklch(50% 0.134 242.749);
    --color-sky-800: oklch(44.3% 0.11 240.79);
    --color-sky-900: oklch(39.1% 0.09 240.876);
    --color-sky-950: oklch(29.3% 0.066 243.157);

    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-300: oklch(80.9% 0.105 251.813);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-blue-800: oklch(42.4% 0.199 265.638);
    --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-blue-950: oklch(28.2% 0.091 267.935);

    --color-indigo-50: oklch(96.2% 0.018 272.314);
    --color-indigo-100: oklch(93% 0.034 272.788);
    --color-indigo-200: oklch(87% 0.065 274.039);
    --color-indigo-300: oklch(78.5% 0.115 274.713);
    --color-indigo-400: oklch(67.3% 0.182 276.935);
    --color-indigo-500: oklch(58.5% 0.233 277.117);
    --color-indigo-600: oklch(51.1% 0.262 276.966);
    --color-indigo-700: oklch(45.7% 0.24 277.023);
    --color-indigo-800: oklch(39.8% 0.195 277.366);
    --color-indigo-900: oklch(35.9% 0.144 278.697);
    --color-indigo-950: oklch(25.7% 0.09 281.288);

    --color-violet-50: oklch(96.9% 0.016 293.756);
    --color-violet-100: oklch(94.3% 0.029 294.588);
    --color-violet-200: oklch(89.4% 0.057 293.283);
    --color-violet-300: oklch(81.1% 0.111 293.571);
    --color-violet-400: oklch(70.2% 0.183 293.541);
    --color-violet-500: oklch(60.6% 0.25 292.717);
    --color-violet-600: oklch(54.1% 0.281 293.009);
    --color-violet-700: oklch(49.1% 0.27 292.581);
    --color-violet-800: oklch(43.2% 0.232 292.759);
    --color-violet-900: oklch(38% 0.189 293.745);
    --color-violet-950: oklch(28.3% 0.141 291.089);

    --color-purple-50: oklch(97.7% 0.014 308.299);
    --color-purple-100: oklch(94.6% 0.033 307.174);
    --color-purple-200: oklch(90.2% 0.063 306.703);
    --color-purple-300: oklch(82.7% 0.119 306.383);
    --color-purple-400: oklch(71.4% 0.203 305.504);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-purple-700: oklch(49.6% 0.265 301.924);
    --color-purple-800: oklch(43.8% 0.218 303.724);
    --color-purple-900: oklch(38.1% 0.176 304.987);
    --color-purple-950: oklch(29.1% 0.149 302.717);

    --color-fuchsia-50: oklch(97.7% 0.017 320.058);
    --color-fuchsia-100: oklch(95.2% 0.037 318.852);
    --color-fuchsia-200: oklch(90.3% 0.076 319.62);
    --color-fuchsia-300: oklch(83.3% 0.145 321.434);
    --color-fuchsia-400: oklch(74% 0.238 322.16);
    --color-fuchsia-500: oklch(66.7% 0.295 322.15);
    --color-fuchsia-600: oklch(59.1% 0.293 322.896);
    --color-fuchsia-700: oklch(51.8% 0.253 323.949);
    --color-fuchsia-800: oklch(45.2% 0.211 324.591);
    --color-fuchsia-900: oklch(40.1% 0.17 325.612);
    --color-fuchsia-950: oklch(29.3% 0.136 325.661);

    --color-pink-50: oklch(97.1% 0.014 343.198);
    --color-pink-100: oklch(94.8% 0.028 342.258);
    --color-pink-200: oklch(89.9% 0.061 343.231);
    --color-pink-300: oklch(82.3% 0.12 346.018);
    --color-pink-400: oklch(71.8% 0.202 349.761);
    --color-pink-500: oklch(65.6% 0.241 354.308);
    --color-pink-600: oklch(59.2% 0.249 0.584);
    --color-pink-700: oklch(52.5% 0.223 3.958);
    --color-pink-800: oklch(45.9% 0.187 3.815);
    --color-pink-900: oklch(40.8% 0.153 2.432);
    --color-pink-950: oklch(28.4% 0.109 3.907);

    --color-rose-50: oklch(96.9% 0.015 12.422);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-200: oklch(89.2% 0.058 10.001);
    --color-rose-300: oklch(81% 0.117 11.638);
    --color-rose-400: oklch(71.2% 0.194 13.428);
    --color-rose-500: oklch(64.5% 0.246 16.439);
    --color-rose-600: oklch(58.6% 0.253 17.585);
    --color-rose-700: oklch(51.4% 0.222 16.935);
    --color-rose-800: oklch(45.5% 0.188 13.697);
    --color-rose-900: oklch(41% 0.159 10.272);
    --color-rose-950: oklch(27.1% 0.105 12.094);

    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-slate-950: oklch(12.9% 0.042 264.695);

    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-gray-950: oklch(13% 0.028 261.692);

    --color-zinc-50: oklch(98.5% 0 0);
    --color-zinc-100: oklch(96.7% 0.001 286.375);
    --color-zinc-200: oklch(92% 0.004 286.32);
    --color-zinc-300: oklch(87.1% 0.006 286.286);
    --color-zinc-400: oklch(70.5% 0.015 286.067);
    --color-zinc-500: oklch(55.2% 0.016 285.938);
    --color-zinc-600: oklch(44.2% 0.017 285.786);
    --color-zinc-700: oklch(37% 0.013 285.805);
    --color-zinc-800: oklch(27.4% 0.006 286.033);
    --color-zinc-900: oklch(21% 0.006 285.885);
    --color-zinc-950: oklch(14.1% 0.005 285.823);

    --color-neutral-50: oklch(98.5% 0 0);
    --color-neutral-100: oklch(97% 0 0);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-300: oklch(87% 0 0);
    --color-neutral-400: oklch(70.8% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-neutral-600: oklch(43.9% 0 0);
    --color-neutral-700: oklch(37.1% 0 0);
    --color-neutral-800: oklch(26.9% 0 0);
    --color-neutral-900: oklch(20.5% 0 0);
    --color-neutral-950: oklch(14.5% 0 0);

    --color-stone-50: oklch(98.5% 0.001 106.423);
    --color-stone-100: oklch(97% 0.001 106.424);
    --color-stone-200: oklch(92.3% 0.003 48.717);
    --color-stone-300: oklch(86.9% 0.005 56.366);
    --color-stone-400: oklch(70.9% 0.01 56.259);
    --color-stone-500: oklch(55.3% 0.013 58.071);
    --color-stone-600: oklch(44.4% 0.011 73.639);
    --color-stone-700: oklch(37.4% 0.01 67.558);
    --color-stone-800: oklch(26.8% 0.007 34.298);
    --color-stone-900: oklch(21.6% 0.006 56.043);
    --color-stone-950: oklch(14.7% 0.004 49.25);

    --color-mauve-50: oklch(98.5% 0 0);
    --color-mauve-100: oklch(96% 0.003 325.6);
    --color-mauve-200: oklch(92.2% 0.005 325.62);
    --color-mauve-300: oklch(86.5% 0.012 325.68);
    --color-mauve-400: oklch(71.1% 0.019 323.02);
    --color-mauve-500: oklch(54.2% 0.034 322.5);
    --color-mauve-600: oklch(43.5% 0.029 321.78);
    --color-mauve-700: oklch(36.4% 0.029 323.89);
    --color-mauve-800: oklch(26.3% 0.024 320.12);
    --color-mauve-900: oklch(21.2% 0.019 322.12);
    --color-mauve-950: oklch(14.5% 0.008 326);

    --color-olive-50: oklch(98.8% 0.003 106.5);
    --color-olive-100: oklch(96.6% 0.005 106.5);
    --color-olive-200: oklch(93% 0.007 106.5);
    --color-olive-300: oklch(88% 0.011 106.6);
    --color-olive-400: oklch(73.7% 0.021 106.9);
    --color-olive-500: oklch(58% 0.031 107.3);
    --color-olive-600: oklch(46.6% 0.025 107.3);
    --color-olive-700: oklch(39.4% 0.023 107.4);
    --color-olive-800: oklch(28.6% 0.016 107.4);
    --color-olive-900: oklch(22.8% 0.013 107.4);
    --color-olive-950: oklch(15.3% 0.006 107.1);

    --color-mist-50: oklch(98.7% 0.002 197.1);
    --color-mist-100: oklch(96.3% 0.002 197.1);
    --color-mist-200: oklch(92.5% 0.005 214.3);
    --color-mist-300: oklch(87.2% 0.007 219.6);
    --color-mist-400: oklch(72.3% 0.014 214.4);
    --color-mist-500: oklch(56% 0.021 213.5);
    --color-mist-600: oklch(45% 0.017 213.2);
    --color-mist-700: oklch(37.8% 0.015 216);
    --color-mist-800: oklch(27.5% 0.011 216.9);
    --color-mist-900: oklch(21.8% 0.008 223.9);
    --color-mist-950: oklch(14.8% 0.004 228.8);

    --color-taupe-50: oklch(98.6% 0.002 67.8);
    --color-taupe-100: oklch(96% 0.002 17.2);
    --color-taupe-200: oklch(92.2% 0.005 34.3);
    --color-taupe-300: oklch(86.8% 0.007 39.5);
    --color-taupe-400: oklch(71.4% 0.014 41.2);
    --color-taupe-500: oklch(54.7% 0.021 43.1);
    --color-taupe-600: oklch(43.8% 0.017 39.3);
    --color-taupe-700: oklch(36.7% 0.016 35.7);
    --color-taupe-800: oklch(26.8% 0.011 36.5);
    --color-taupe-900: oklch(21.4% 0.009 43.1);
    --color-taupe-950: oklch(14.7% 0.004 49.3);

    --color-black: #000;
    --color-white: #fff;

    --spacing: 0.25rem;

    --breakpoint-sm: 40rem;
    --breakpoint-md: 48rem;
    --breakpoint-lg: 64rem;
    --breakpoint-xl: 80rem;
    --breakpoint-2xl: 96rem;

    --container-3xs: 16rem;
    --container-2xs: 18rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;

    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --text-9xl: 8rem;
    --text-9xl--line-height: 1;

    --font-weight-thin: 100;
    --font-weight-extralight: 200;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;

    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-normal: 0em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;

    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;

    --radius-xs: 0.125rem;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;

    --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
    --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md:
      0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg:
      0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl:
      0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);

    --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);
    --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
    --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);

    --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);
    --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
    --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
    --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
    --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
    --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);

    --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / 0.15);
    --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / 0.2);
    --text-shadow-sm:
      0px 1px 0px rgb(0 0 0 / 0.075), 0px 1px 1px rgb(0 0 0 / 0.075),
      0px 2px 2px rgb(0 0 0 / 0.075);
    --text-shadow-md:
      0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1),
      0px 2px 4px rgb(0 0 0 / 0.1);
    --text-shadow-lg:
      0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1),
      0px 4px 8px rgb(0 0 0 / 0.1);

    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --animate-bounce: bounce 1s infinite;

    @keyframes spin {
      to {
        transform: rotate(360deg);
      }
    }

    @keyframes ping {
      75%,
      100% {
        transform: scale(2);
        opacity: 0;
      }
    }

    @keyframes pulse {
      50% {
        opacity: 0.5;
      }
    }

    @keyframes bounce {
      0%,
      100% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
      }

      50% {
        transform: none;
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
      }
    }

    --blur-xs: 4px;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;

    --perspective-dramatic: 100px;
    --perspective-near: 300px;
    --perspective-normal: 500px;
    --perspective-midrange: 800px;
    --perspective-distant: 1200px;

    --aspect-video: 16 / 9;

    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: --theme(--font-sans, initial);
    --default-font-feature-settings: --theme(
      --font-sans--font-feature-settings,
      initial
    );
    --default-font-variation-settings: --theme(
      --font-sans--font-variation-settings,
      initial
    );
    --default-mono-font-family: --theme(--font-mono, initial);
    --default-mono-font-feature-settings: --theme(
      --font-mono--font-feature-settings,
      initial
    );
    --default-mono-font-variation-settings: --theme(
      --font-mono--font-variation-settings,
      initial
    );
  }

  /* Deprecated */
  @theme default inline reference {
    --blur: 8px;
    --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --drop-shadow: 0 1px 2px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.06);
    --radius: 0.25rem;
    --max-width-prose: 65ch;
  }
}

@layer base {
  /*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box; /* 1 */
    margin: 0; /* 2 */
    padding: 0; /* 2 */
    border: 0 solid; /* 3 */
  }

  /*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

  html,
  :host {
    line-height: 1.5; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    tab-size: 4; /* 3 */
    font-family: --theme(
      --default-font-family,
      ui-sans-serif,
      system-ui,
      sans-serif,
      "Apple Color Emoji",
      "Segoe UI Emoji",
      "Segoe UI Symbol",
      "Noto Color Emoji"
    ); /* 4 */
    font-feature-settings: --theme(
      --default-font-feature-settings,
      normal
    ); /* 5 */
    font-variation-settings: --theme(
      --default-font-variation-settings,
      normal
    ); /* 6 */
    -webkit-tap-highlight-color: transparent; /* 7 */
  }

  /*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

  hr {
    height: 0; /* 1 */
    color: inherit; /* 2 */
    border-top-width: 1px; /* 3 */
  }

  /*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  /*
  Remove the default font size and weight for headings.
*/

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  /*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  /*
  Add the correct font weight in Edge and Safari.
*/

  b,
  strong {
    font-weight: bolder;
  }

  /*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

  code,
  kbd,
  samp,
  pre {
    font-family: --theme(
      --default-mono-font-family,
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace
    ); /* 1 */
    font-feature-settings: --theme(
      --default-mono-font-feature-settings,
      normal
    ); /* 2 */
    font-variation-settings: --theme(
      --default-mono-font-variation-settings,
      normal
    ); /* 3 */
    font-size: 1em; /* 4 */
  }

  /*
  Add the correct font size in all browsers.
*/

  small {
    font-size: 80%;
  }

  /*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }

  sub {
    bottom: -0.25em;
  }

  sup {
    top: -0.5em;
  }

  /*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

  table {
    text-indent: 0; /* 1 */
    border-color: inherit; /* 2 */
    border-collapse: collapse; /* 3 */
  }

  /*
  Use the modern Firefox focus style for all focusable elements.
*/

  :-moz-focusring {
    outline: auto;
  }

  /*
  Add the correct vertical alignment in Chrome and Firefox.
*/

  progress {
    vertical-align: baseline;
  }

  /*
  Add the correct display in Chrome and Safari.
*/

  summary {
    display: list-item;
  }

  /*
  Make lists unstyled by default.
*/

  ol,
  ul,
  menu {
    list-style: none;
  }

  /*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block; /* 1 */
    vertical-align: middle; /* 2 */
  }

  /*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  /*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

  button,
  input,
  select,
  optgroup,
  textarea,
  ::file-selector-button {
    font: inherit; /* 1 */
    font-feature-settings: inherit; /* 1 */
    font-variation-settings: inherit; /* 1 */
    letter-spacing: inherit; /* 1 */
    color: inherit; /* 1 */
    border-radius: 0; /* 2 */
    background-color: transparent; /* 3 */
    opacity: 1; /* 4 */
  }

  /*
  Restore default font weight.
*/

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  /*
  Restore indentation.
*/

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  /*
  Restore space after button.
*/

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  /*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

  ::placeholder {
    opacity: 1;
  }

  /*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

  @supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
    (contain-intrinsic-size: 1px) /* Safari 17+ */ {
    ::placeholder {
      color: color-mix(in oklab, currentcolor 50%, transparent);
    }
  }

  /*
  Prevent resizing textareas horizontally by default.
*/

  textarea {
    resize: vertical;
  }

  /*
  Remove the inner padding in Chrome and Safari on macOS.
*/

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  /*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

  ::-webkit-date-and-time-value {
    min-height: 1lh; /* 1 */
    text-align: inherit; /* 2 */
  }

  /*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  /*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit,
  ::-webkit-datetime-edit-year-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-minute-field,
  ::-webkit-datetime-edit-second-field,
  ::-webkit-datetime-edit-millisecond-field,
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  /*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  /*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

  :-moz-ui-invalid {
    box-shadow: none;
  }

  /*
  Correct the inability to style the border radius in iOS Safari.
*/

  button,
  input:where([type="button"], [type="reset"], [type="submit"]),
  ::file-selector-button {
    appearance: button;
  }

  /*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }

  /*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer utilities {
  @tailwind utilities;
}

:root{--navy:#061627;--green:#168a59;--cyan:#26b9e9;--paper:#f5f3ed;--ink:#102233}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}

body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif}

main{width:100%;max-width:100%;overflow-x:hidden;position:relative}

a{text-decoration:none;color:inherit}

img,video,svg,canvas{display:block;max-width:100%}

img{width:100%}

.eyebrow{font:800 11px Arial;letter-spacing:.24em;color:var(--green)}

header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#061627f5;color:white;position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff20;backdrop-filter:blur(12px)}

.brand,.footBrand{display:flex;align-items:center;gap:13px}

.brand>span,.footBrand>span{width:48px;height:48px;border:2px solid #52d095;border-radius:50%;display:grid;place-items:center;font:italic 900 30px Georgia;color:white;box-shadow:inset -8px -8px #168a5930}

.brand b,.brand small,.footBrand b,.footBrand small{display:block}

.brand b{font:800 18px Arial;letter-spacing:.14em}

.brand small{font:700 8px Arial;letter-spacing:.26em;color:#81a8c3;margin-top:5px}

nav{display:flex;gap:30px;font-size:12px;font-weight:700}

nav a{position:relative;padding:10px 0}

nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--green);transition:.3s}

nav a:hover:after{right:0}

.hero{min-height:760px;position:relative;color:white;display:flex;align-items:center;padding:90px 8vw;background-image:url("/assets/office.jpeg");background-size:cover;background-position:center;overflow:hidden}

.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,#03111ff7 0%,#071d31ec 47%,#071d3180 72%,#071d3130),linear-gradient(0deg,#0616278c,transparent 45%)}

.hero:after{content:"BANSEI";position:absolute;right:-30px;bottom:-35px;font:900 clamp(90px,18vw,260px) Arial;color:#ffffff09;letter-spacing:-.08em}

.heroCopy{position:relative;z-index:2;max-width:850px}

.hero .eyebrow{color:#57d79c}

.hero h1{font-size:clamp(52px,7.5vw,104px);line-height:1.08;letter-spacing:-.07em;margin:22px 0;text-shadow:0 15px 40px #000}

.hero h1 em{font-style:normal;color:#63dfa5}

.heroLead{color:#d5e1e9;line-height:2;font-size:16px}

.heroActions{display:flex;gap:12px;margin-top:35px}

.heroActions a{background:var(--green);padding:17px 24px;font-size:12px;font-weight:800;border:1px solid #53d399}

.heroActions .outline{background:#071627aa;border-color:#ffffff65}

.heroLabel{position:absolute;right:5vw;bottom:45px;z-index:3;border-right:4px solid var(--green);padding-right:15px;text-align:right}

.heroLabel small,.heroLabel b{display:block}

.heroLabel small{font:800 9px Arial;letter-spacing:.25em;color:#71dda9}

.heroLabel b{font-size:15px;margin-top:5px}

.ticker{height:38px;overflow:hidden;background:linear-gradient(90deg,#118053,#67d7a1,#118053);color:#04170e;display:flex;align-items:center;font:900 11px Arial;letter-spacing:.2em;white-space:nowrap}

.ticker div{min-width:max-content;animation:marquee 24s linear infinite}

@keyframes marquee{to{transform:translateX(-45%)}}

.intro{max-width:1200px;margin:auto;padding:140px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:90px}

.intro h2,.sectionHead h2{font-size:clamp(38px,5vw,65px);line-height:1.35;letter-spacing:-.055em;margin:15px 0}

.introText{padding-top:35px;border-top:1px solid #b9c5c4}

.introText p{font-size:15px;line-height:2.2;color:#50606d}

.history{padding:140px 6vw;background:#fff;position:relative;overflow:hidden}

.history:before{content:"29";position:absolute;right:-3vw;top:-7vw;font:900 30vw Arial;color:#0b7c5108;line-height:1}

.historyTop{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:90px;max-width:1250px;margin:auto}

.historyTop h2{font-size:clamp(43px,5.6vw,76px);line-height:1.28;letter-spacing:-.06em;margin:15px 0}

.historyTop h2 em{font-style:normal;color:var(--green)}

.historyTop>p{margin-top:65px;padding-top:28px;border-top:1px solid #cbd5d2;color:#596b73;line-height:2.2}

.historyLine{position:relative;max-width:1250px;margin:80px auto 0;padding:30px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;box-shadow:20px 20px 0 #dce9e2}

.historyLine div{min-width:95px;text-align:center}

.historyLine small,.historyLine b{display:block}

.historyLine small{font:800 9px Arial;letter-spacing:.2em;color:#67dca6}

.historyLine b{font-size:23px;margin-top:8px}

.historyLine i{font-style:normal;color:#527086}

.historyLine .next{background:var(--green);padding:20px 10px}

.historyLine .next small{color:#baffdb}

.historyPolicy{position:relative;max-width:1250px;margin:100px auto 0;background:#edf2ee;display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:65px}

.historyPolicy h3{font-size:clamp(31px,3.8vw,52px);line-height:1.4;letter-spacing:-.05em}

.historyPolicy>div>p:last-child{color:#5c6e69;line-height:2}

.historyPolicy ul{list-style:none;padding:0;margin:0}

.historyPolicy li{padding:20px 0;border-top:1px solid #c8d4cc;display:grid;grid-template-columns:100px 1fr;gap:15px;align-items:center}

.historyPolicy li b{color:var(--green);font-size:17px}

.historyPolicy li span{font-size:13px;font-weight:700}

.historyNumbers{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);background:var(--navy);color:white}

.historyNumbers article{padding:40px;border-right:1px solid #ffffff20}

.historyNumbers small{font:800 10px Arial;letter-spacing:.18em;color:#76dbaa}

.historyNumbers b{display:block;font-size:clamp(34px,4vw,58px);letter-spacing:-.05em;margin:15px 0}

.historyNumbers p{color:#9eb2bf;font-size:12px;line-height:1.8}

.historyNext{max-width:1250px;margin:auto;padding:80px;background:linear-gradient(120deg,#148356,#21b875);color:white;position:relative}

.historyNext small{font:900 10px Arial;letter-spacing:.22em;color:#b8ffda}

.historyNext h3{font-size:clamp(42px,5.5vw,74px);line-height:1.25;letter-spacing:-.06em;margin:20px 0}

.historyNext p{font-size:18px;font-weight:800}

.historyNext p span{font-size:13px}

.historyNext a{display:inline-block;margin-top:20px;background:white;color:var(--navy);padding:17px 22px;font-size:12px;font-weight:900}

.forecastNote{max-width:1250px;margin:14px auto 0;text-align:right;color:#75827d;font-size:9px}

.companies{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}

.companies article{min-height:570px;padding:75px 7vw;position:relative;overflow:hidden}

.companies article+article{border-left:1px solid #ffffff24}

.companies article:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-160px;bottom:-160px;border:70px solid #ffffff08}

.companyNo{font:900 84px Arial;color:#ffffff09;position:absolute;right:35px;top:15px}

.companies>article>p:first-of-type{font:800 10px Arial;letter-spacing:.23em;color:#69dba7}

.companies .blue>p:first-of-type{color:#67d8ff}

.companies h2{font-size:clamp(28px,3.2vw,46px);margin:25px 0 6px}

.companies small{font:700 10px Arial;letter-spacing:.14em;color:#7c9ab0}

.companies h3{font-size:26px;line-height:1.6;margin-top:75px}

.companies .line{width:70px;height:5px;background:var(--green);margin:25px 0}

.companies .blue .line{background:var(--cyan)}

.companies .body{color:#b9cbd7;line-height:2;font-size:14px;max-width:520px}

.brandBanners{padding:140px 5vw;background:#020b15;color:white;display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative}

.bannerIntro{grid-column:1/3;max-width:1200px;width:100%;margin:0 auto 45px}

.bannerIntro .eyebrow{color:var(--gold)}

.bannerIntro h2{font-size:clamp(43px,5.8vw,76px);line-height:1.28;letter-spacing:-.06em}

.brandBanners figure{margin:0;position:relative;overflow:hidden;border:1px solid #f0c86b70;box-shadow:0 30px 70px #0009;background:#061627}

.brandBanners figure:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#020b15e8,transparent 48%);z-index:1}

.brandBanners figure:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px #020b1575;z-index:1}

.brandBanners img{aspect-ratio:16/9;object-fit:cover;transition:.6s}

.brandBanners figure:hover img{transform:scale(1.025)}

.brandBanners figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px;z-index:2}

.brandBanners figcaption small,.brandBanners figcaption b,.brandBanners figcaption span{display:block}

.brandBanners figcaption small{font:900 8px Arial;letter-spacing:.2em;color:var(--gold)}

.brandBanners figcaption b{font-size:24px;margin:8px 0}

.brandBanners figcaption span{font-size:11px;color:#b8c8d2}

.presidents{padding:140px 6vw;background:linear-gradient(135deg,#e8eee9,#fff);position:relative}

.presidentsHead{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px}

.presidentsHead h2{font-size:clamp(43px,5.8vw,76px);line-height:1.3;letter-spacing:-.06em}

.presidentsHead>p:last-child{align-self:end;color:#5f6f74;line-height:2;border-top:1px solid #c5d1ca;padding-top:25px}

.presidentGrid{max-width:1200px;margin:70px auto 0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}

.presidentGrid article{grid-column:span 2;background:white;padding:30px;border-top:4px solid var(--green);box-shadow:0 18px 50px #06162714}

.presidentGrid article:nth-child(4),.presidentGrid article:nth-child(5){grid-column:span 3}

.presidentGrid article>small{font:900 8px Arial;letter-spacing:.18em;color:var(--green)}

.presidentGrid h3{font-size:32px;margin:16px 0}

.presidentGrid dl{margin:0}

.presidentGrid dl div{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #e1e8e3;padding:13px 0;gap:10px}

.presidentGrid dt{font-size:10px;color:#718078}

.presidentGrid dd{margin:0;font-size:13px;font-weight:800;text-align:right}

.presidentGrid dd b{font:900 30px Arial;color:var(--green)}

.presidentGrid article>p{font-size:9px;line-height:1.7;color:#718078}

.presidentGrid .presidentHighlight{background:linear-gradient(145deg,#061627,#0b3d31);color:white;border-top-color:var(--gold);transform:translateY(-12px);box-shadow:0 30px 70px #06162745}

.presidentHighlight>small{color:var(--gold)}

.presidentHighlight dl div{border-color:#ffffff20}

.presidentHighlight dt,.presidentHighlight>p{color:#9fb5b5}

.presidentHighlight dd b{color:var(--gold2)}

.presidentGrid .currentPresident{border-top-color:var(--gold);background:linear-gradient(145deg,#fff,#fff7df)}

.presidentMessage{max-width:1200px;margin:10px auto 0;padding:35px 45px;background:linear-gradient(90deg,#168a59,#071d31);color:white;display:flex;align-items:center;gap:24px}

.presidentMessage small{font:900 9px Arial;letter-spacing:.2em;color:var(--gold)}

.presidentMessage b{font-size:22px}

.presidentMessage span{margin-left:auto;color:#aed0c1;font-size:12px}

.presidentNote{max-width:1200px;margin:12px auto 0;text-align:right;color:#75817b;font-size:9px}

.promise{display:grid;grid-template-columns:1fr 1fr;min-height:800px}

.promisePhoto{overflow:hidden}

.promisePhoto img{height:100%;object-fit:cover}

.promiseCopy{background:white;padding:100px 8vw}

.promiseCopy h2{font-size:clamp(42px,5.5vw,72px);line-height:1.32;letter-spacing:-.06em}

.promiseCopy h2 em{font-style:normal;color:var(--green)}

.promiseCopy>p{color:#62717b;line-height:2}

.promiseCopy ul{list-style:none;padding:0;margin:45px 0}

.promiseCopy li{display:flex;gap:22px;align-items:center;padding:20px 0;border-top:1px solid #dbe2df}

.promiseCopy li b{font:900 12px Arial;color:var(--green)}

.promiseCopy li span{font-weight:800}

.partners{padding:130px 6vw;background:linear-gradient(135deg,#061627,#0b2c45 58%,#0d523d);color:white;border-top:1px solid #f0c86b66;border-bottom:1px solid #f0c86b66}

.partnersHead{max-width:1250px;margin:0 auto 55px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}

.partnersHead .eyebrow{grid-column:1/3;color:var(--gold);margin-bottom:-35px}

.partnersHead h2{font-size:clamp(42px,5.8vw,76px);line-height:1.22;letter-spacing:-.06em;margin:0}

.partnersHead h2 em{font-style:normal;color:#67dda7}

.partnersHead>p{color:#b9ccd6;line-height:2}

.partnerList{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff1f;border:1px solid #ffffff1f}

.partnerList button{min-height:68px;padding:18px 20px;background:#071a29;display:flex;align-items:center;font-size:12px;font-weight:800;line-height:1.6;border-left:3px solid transparent;transition:.2s}

.partnerList button:hover{background:#0d2a3d;border-left-color:var(--gold);color:#fff2c2}

.partners>small{display:block;max-width:1250px;margin:18px auto 0;text-align:right;color:#8199a7;font-size:9px}

@media(max-width:800px){.partners{padding:90px 22px}.partnersHead{grid-template-columns:1fr;gap:22px}.partnersHead .eyebrow{grid-column:1;margin-bottom:0}.partnerList{grid-template-columns:1fr 1fr}}

@media(max-width:450px){.partnerList{grid-template-columns:1fr}.partnerList button{min-height:58px}}

.dx{background:#0a2035;color:white;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding:120px 8vw}

.dx h2{font-size:clamp(45px,6vw,78px);letter-spacing:-.06em;margin:15px 0}

.dx>div>p:not(.eyebrow){color:#b7c8d4;line-height:2}

.dx img{border:1px solid #63d8ff;box-shadow:25px 25px 0 #168a59}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}

.chips span{border:1px solid #ffffff2e;padding:9px 12px;font-size:11px;color:#79dbff;background:#ffffff08}

#business-dx h2 .dxHeadingLine{display:block}

@media(min-width:801px){#business-dx h2{font-size:clamp(32px,4.5vw,64px)}#business-dx h2 .dxHeadingLine{white-space:nowrap}}

.works{padding:150px 6vw;background:#020b15;color:white;position:relative;overflow:hidden}

.works:before{content:"DX";position:absolute;right:-2vw;top:-4vw;font:900 35vw Arial;color:#ffffff04;line-height:1}

.worksHead{position:relative;max-width:1250px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:90px}

.worksHead .eyebrow{color:var(--gold)}

.worksHead h2{font-size:clamp(44px,5.8vw,78px);line-height:1.28;letter-spacing:-.06em}

.worksHead h2 em{font-style:normal;background:linear-gradient(90deg,#64e5a9,var(--gold2));-webkit-background-clip:text;color:transparent}

.worksHead>p{align-self:end;color:#a9bdc9;line-height:2.1;border-top:1px solid #ffffff28;padding-top:25px}

.worksShowcase{max-width:1250px;margin:80px auto 0;display:grid;grid-template-columns:1.3fr .7fr;gap:15px}

.worksShowcase figure{margin:0;position:relative;overflow:hidden;border:1px solid #f0c86b66;background:#071627}

.workMain{height:630px}

.workSub{height:630px}

.worksShowcase img{height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.05)}

.workSub img{object-position:center top}

.worksShowcase figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#020b15ee,transparent 55%)}

.worksShowcase figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px;z-index:2}

.worksShowcase figcaption small,.worksShowcase figcaption b,.worksShowcase figcaption span{display:block}

.worksShowcase figcaption small{font:900 9px Arial;letter-spacing:.2em;color:var(--gold)}

.worksShowcase figcaption b{font-size:25px;margin:10px 0}

.worksShowcase figcaption span{font-size:12px;color:#a9bdc9}

.worksOffer{max-width:1250px;margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;background:linear-gradient(120deg,#0c3629,#168a59 60%,#b98b31);border:1px solid var(--gold);box-shadow:0 35px 90px #0008}

.offerPrice{padding:65px;border-right:1px solid #ffffff30;display:flex;flex-direction:column;justify-content:center}

.offerPrice small{font:900 9px Arial;letter-spacing:.2em;color:var(--gold2)}

.offerPrice b{font-size:clamp(38px,5vw,68px);line-height:1.2;margin-top:18px}

.offerPrice em{font-style:normal;color:var(--gold2)}

.offerCopy{padding:65px}

.offerCopy>p{color:#d3e6df;line-height:2}

.offerCopy h3{font-size:clamp(36px,4.8vw,62px);line-height:1.25;letter-spacing:-.05em;margin:20px 0}

.offerCopy a{display:inline-block;margin-top:20px;padding:17px 21px;background:white;color:var(--navy);font-size:12px;font-weight:900;box-shadow:0 10px 30px #0004}

.worksCards{max-width:1250px;margin:15px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}

.worksCards article{padding:28px;background:#ffffff0b;border-top:3px solid var(--gold)}

.worksCards article>b{font:900 11px Arial;color:#62dda4}

.worksCards h3{font-size:20px}

.worksCards p{font-size:11px;line-height:1.9;color:#95aab7}

.worksNote{display:block;max-width:1250px;margin:15px auto 0;color:#718896;font-size:9px;text-align:right}

.inspectionDetail{max-width:1250px;margin:15px auto 80px;display:grid;grid-template-columns:.8fr 1.2fr;background:#071627;border:1px solid #ffffff20}

.inspectionCopy{padding:55px}

.inspectionCopy>small{font:900 9px Arial;letter-spacing:.2em;color:var(--gold)}

.inspectionCopy h3{font-size:clamp(31px,4vw,53px);line-height:1.3}

.inspectionCopy p{color:#9fb3bf;font-size:12px;line-height:2}

.inspectionCopy ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px}

.inspectionCopy li{font-size:10px;padding:10px;background:#ffffff09;border-left:2px solid #5ce0a2}

.inspectionShots{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}

.inspectionShots figure{margin:0;position:relative;overflow:hidden}

.inspectionShots img{height:100%;object-fit:cover}

.inspectionShots figcaption{position:absolute;left:0;bottom:0;background:#020b15e8;color:var(--gold2);padding:10px 13px;font:900 8px Arial;letter-spacing:.14em}

.androidWorks{padding:120px 6vw;background:linear-gradient(135deg,#e6ece7,#fff);display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;position:relative}

.androidBadge{padding:55px;background:var(--navy);color:white;align-self:center;box-shadow:25px 25px 0 var(--green),40px 40px 0 #f0c86b55}

.androidBadge small{font:900 9px Arial;letter-spacing:.2em;color:var(--gold)}

.androidBadge b{display:block;font-size:clamp(38px,4.5vw,62px);line-height:1.3;margin:20px 0}

.androidBadge p{color:#adc0cb;font-size:12px;line-height:2}

.androidPhotos{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.androidPhotos figure{margin:0;position:relative;height:670px;background:#061627;overflow:hidden;border:1px solid #cba74d}

.androidPhotos img{height:100%;object-fit:cover}

.androidPhotos figcaption{position:absolute;left:0;bottom:0;background:#061627e8;color:white;padding:12px 16px;font:900 9px Arial;letter-spacing:.18em;border-top:2px solid var(--gold)}

.androidPoints{grid-column:1/3;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}

.androidPoints span{background:white;padding:18px;text-align:center;font-size:11px;font-weight:900;border-top:3px solid var(--green);box-shadow:0 12px 30px #06162714}

.mobility{padding:140px 5vw}

.sectionHead{max-width:1100px;margin:0 auto 60px}

.sectionHead>p:last-child{max-width:700px;color:#61717d;line-height:2}

.gallery{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:340px 340px;gap:12px}

.gallery figure{margin:0;position:relative;overflow:hidden;background:#0a2035}

.gallery .wide{grid-column:1/3}

.gallery figure:nth-child(2){grid-column:3;grid-row:1/3}

.gallery img{height:100%;object-fit:cover;transition:.5s}

.gallery figure:hover img{transform:scale(1.03)}

.gallery figcaption{position:absolute;left:0;bottom:0;background:#061627e6;color:white;padding:12px 17px;font:800 9px Arial;letter-spacing:.2em;border-top:2px solid var(--green)}

.office{display:grid;grid-template-columns:1.2fr .8fr;background:white;align-items:center}

.office img{height:590px;object-fit:cover}

.office div{padding:80px 7vw}

.office h2{font-size:clamp(40px,5vw,68px);line-height:1.3}

.office p:not(.eyebrow){color:#65737e;line-height:2}

.office span{display:inline-block;margin-top:25px;background:var(--navy);color:white;padding:13px 18px;font-weight:800;font-size:12px}

.recruitCulture{padding:140px 7vw;background:#f4f6f3;position:relative;overflow:hidden}

.recruitCulture:after{content:"PEOPLE";position:absolute;right:-20px;bottom:-35px;font:900 13vw Arial;color:#0d815607}

.cultureLead{max-width:1150px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:80px}

.cultureLead h2{font-size:clamp(43px,5.8vw,78px);line-height:1.28;letter-spacing:-.06em;margin:15px 0}

.cultureLead h2 em{font-style:normal;color:var(--green)}

.cultureLead>p:last-child{align-self:end;color:#5d6d72;line-height:2.1;border-top:1px solid #c6d1ca;padding-top:25px}

.cultureStatement{max-width:1150px;margin:75px auto 0;background:var(--navy);color:white;display:grid;grid-template-columns:.75fr 1.25fr;align-items:center}

.cultureStatement>span{padding:55px;font:900 clamp(36px,5vw,68px)/.9 Arial;letter-spacing:-.06em;color:#5add9f;border-right:1px solid #ffffff20}

.cultureStatement>div{padding:55px}

.cultureStatement b{font-size:clamp(25px,3vw,40px);line-height:1.5}

.cultureStatement p{color:#afc3cf;line-height:2;font-size:13px}

.retention{max-width:1150px;margin:auto;display:grid;grid-template-columns:.6fr 1.4fr;background:white;align-items:center;box-shadow:0 20px 50px #15342610}

.retention>div{padding:45px;text-align:center;border-right:1px solid #e0e7e2}

.retention small{font:900 9px Arial;letter-spacing:.22em;color:var(--green)}

.retention b{display:block;font:900 34px Arial;margin:10px 0;color:var(--navy)}

.retention b span{font-size:90px;color:var(--green);letter-spacing:-.08em}

.retention>div p{font-size:11px;font-weight:800}

.retention>p{padding:45px 60px;color:#5f706a;line-height:2}

.cultureNote{display:block;max-width:1150px;margin:15px auto 0;color:#74817b;font-size:9px;text-align:right}

.benefits{padding:130px 6vw;background:#e9eee9;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}

.benefitLead h2{font-size:clamp(45px,5.5vw,75px);line-height:1.3;letter-spacing:-.06em}

.benefitLead h2 em{font-style:normal;color:var(--green)}

.benefitLead>p:not(.eyebrow){line-height:2;color:#60706b}

.benefitPhoto{position:relative;box-shadow:25px 25px 0 var(--navy)}

.benefitPhoto img{height:520px;object-fit:cover}

.benefitPhoto span{position:absolute;left:0;bottom:0;padding:13px 18px;background:#061627e8;color:white;font:900 9px Arial;letter-spacing:.18em;border-top:3px solid #54d59b}

.benefitGrid{grid-column:1/3;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}

.benefitGrid article{background:white;padding:30px;min-height:245px;border-top:5px solid var(--green);box-shadow:0 15px 40px #0b2b1c12}

.benefitGrid article b{font:900 12px Arial;color:var(--green)}

.benefitGrid h3{font-size:20px;margin:26px 0 12px}

.benefitGrid p{font-size:12px;line-height:1.9;color:#64716e}

.recruit{padding:130px 7vw;background:linear-gradient(120deg,#0b7c51,#0a2035);color:white;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}

.recruit .eyebrow{color:#8cf1bd}

.recruit h2{font-size:clamp(45px,6vw,80px);line-height:1.3;letter-spacing:-.06em}

.recruitCopy>p:not(.eyebrow){color:#d4e4e6;line-height:2}

.lineContact{background:white;color:var(--navy);padding:35px;display:grid;grid-template-columns:1fr 210px;gap:30px;align-items:center;box-shadow:22px 22px 0 #04111f66;border-top:6px solid #67dda7}

.lineContact small{font:900 9px Arial;letter-spacing:.2em;color:var(--green)}

.lineContact h3{font-size:20px;line-height:1.6}

.lineContact h3 b{font-size:40px}

.lineContact p{font-size:12px;line-height:1.9;color:#5c6d74}

.lineContact figure{margin:0;background:#eef4ef;padding:12px;text-align:center}

.lineContact img{background:white}

.lineContact figcaption{font-size:9px;line-height:1.6;color:#5e6d69;margin-top:9px;font-weight:700}

footer{background:#04111f;color:white;padding:70px 6vw;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:end}

.footBrand>span{width:58px;height:58px}

.footBrand b{font:800 18px Arial;letter-spacing:.12em}

.footBrand small{font-size:10px;line-height:1.7;color:#88a0b1;margin-top:7px}

footer>p{grid-column:2;grid-row:1;font-weight:800}

footer>small{grid-column:2;color:#708899;font-size:9px}

@media(max-width:800px){header{height:72px;padding:0 17px}.brand>span{width:42px;height:42px}.brand b{font-size:14px}.brand small{font-size:7px}nav{display:none}.hero{min-height:720px;padding:70px 22px;background-position:58% center}.hero h1{font-size:54px}.heroLead{font-size:13px}.heroActions{display:grid}.heroActions a{text-align:center}.heroLabel{right:18px;bottom:28px}.intro{padding:90px 22px;grid-template-columns:1fr;gap:30px}.introText{padding-top:20px}.companies{grid-template-columns:1fr}.companies article{min-height:520px;padding:65px 25px}.companies article+article{border-left:0;border-top:1px solid #ffffff24}.companies h3{margin-top:55px}.promise{grid-template-columns:1fr}.promisePhoto{height:430px}.promiseCopy{padding:75px 24px}.dx{grid-template-columns:1fr;padding:85px 24px}.dx img{box-shadow:12px 12px 0 #168a59}.mobility{padding:95px 18px}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:270px 260px 260px}.gallery .wide{grid-column:1/3}.gallery figure:nth-child(2){grid-column:1/3;grid-row:2}.gallery figure:nth-child(3),.gallery figure:nth-child(4){grid-row:3}.benefits{padding:90px 22px;grid-template-columns:1fr;gap:35px}.benefitPhoto{box-shadow:12px 12px 0 var(--navy)}.benefitPhoto img{height:420px}.benefitGrid{grid-column:1;grid-template-columns:1fr 1fr}.office{grid-template-columns:1fr}.office img{height:430px}.office div{padding:65px 24px}.recruit{padding:90px 22px;grid-template-columns:1fr}.lineContact{grid-template-columns:1fr 180px;padding:25px;box-shadow:12px 12px 0 #04111f66}footer{grid-template-columns:1fr;padding:55px 24px}footer>p,footer>small{grid-column:1;grid-row:auto}}

@media(max-width:800px){.history{padding:90px 22px}.historyTop{grid-template-columns:1fr;gap:15px}.historyTop>p{margin-top:0}.historyLine{overflow-x:auto;justify-content:flex-start;gap:13px;padding:20px;box-shadow:10px 10px 0 #dce9e2}.historyLine div{min-width:76px}.historyLine b{font-size:18px}.historyPolicy{grid-template-columns:1fr;padding:35px 24px;gap:30px;margin-top:70px}.historyPolicy li{grid-template-columns:80px 1fr}.historyNumbers{grid-template-columns:1fr}.historyNumbers article{border-right:0;border-bottom:1px solid #ffffff20;padding:30px}.historyNext{padding:55px 25px}.forecastNote{text-align:left}}

@media(max-width:800px){.presidents{padding:90px 22px}.presidentsHead{grid-template-columns:1fr;gap:15px}.presidentGrid{grid-template-columns:1fr 1fr}.presidentGrid article,.presidentGrid article:nth-child(4),.presidentGrid article:nth-child(5){grid-column:span 1}.presidentGrid .presidentHighlight{transform:none}.presidentMessage{padding:28px 24px;display:grid;gap:8px}.presidentMessage span{margin-left:0}.presidentNote{text-align:left}}

@media(max-width:800px){.brandBanners{padding:90px 18px;grid-template-columns:1fr}.bannerIntro{grid-column:1;margin-bottom:25px}.brandBanners figcaption{padding:20px}.brandBanners figcaption b{font-size:20px}}

@media(max-width:800px){.recruitCulture{padding:90px 22px}.cultureLead{grid-template-columns:1fr;gap:20px}.cultureStatement{grid-template-columns:1fr;margin-top:50px}.cultureStatement>span{padding:35px 25px;border-right:0;border-bottom:1px solid #ffffff20}.cultureStatement>div{padding:35px 25px}.retention{grid-template-columns:1fr}.retention>div{border-right:0;border-bottom:1px solid #e0e7e2;padding:30px}.retention>p{padding:35px 25px}.cultureNote{text-align:left}}

@media(max-width:800px){.works{padding:95px 20px}.worksHead{grid-template-columns:1fr;gap:20px}.worksShowcase{grid-template-columns:1fr}.workMain,.workSub{height:460px}.worksOffer{grid-template-columns:1fr}.offerPrice{padding:40px 25px;border-right:0;border-bottom:1px solid #ffffff30}.offerCopy{padding:40px 25px}.worksCards{grid-template-columns:1fr 1fr}.worksNote{text-align:left}}

@media(max-width:800px){.inspectionDetail{grid-template-columns:1fr;margin-bottom:60px}.inspectionCopy{padding:35px 25px}.inspectionShots{min-height:430px}.androidWorks{padding:90px 22px;grid-template-columns:1fr;gap:45px}.androidBadge{padding:40px 25px;box-shadow:12px 12px 0 var(--green),20px 20px 0 #f0c86b55}.androidPhotos{grid-template-columns:1fr 1fr}.androidPhotos figure{height:500px}.androidPoints{grid-column:1;grid-template-columns:1fr 1fr}}

@media(max-width:450px){.hero h1{font-size:46px}.heroActions{margin-right:70px}.companies h2{font-size:28px}.gallery{grid-template-columns:1fr;grid-template-rows:260px 280px 240px 240px}.gallery .wide,.gallery figure:nth-child(2),.gallery figure:nth-child(3),.gallery figure:nth-child(4){grid-column:1;grid-row:auto}.benefitPhoto img{height:360px}.benefitGrid{grid-template-columns:1fr}.benefitGrid article{min-height:200px}.promisePhoto,.office img{height:360px}.lineContact{grid-template-columns:1fr}.lineContact figure{max-width:240px;margin:auto}}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.benefitNote{grid-column:1/3;color:#6e7a75;font-size:10px;text-align:right;margin-top:-45px}

@media(max-width:800px){.benefitNote{grid-column:1;margin-top:-20px;text-align:left}}

.vehiclePurchase{padding:110px 7vw;background:var(--navy);color:white;display:grid;grid-template-columns:.6fr 1.1fr 1.3fr;gap:55px;align-items:center;border-top:8px solid var(--green)}

.purchaseMark{text-align:center;border:1px solid #ffffff28;padding:35px 15px;background:#ffffff08}

.purchaseMark b{font:900 80px Arial;color:#60dda5}

.purchaseMark span{font-size:22px;font-weight:900}

.purchaseMark small{display:block;color:#8ca4b5;font-size:10px;margin-top:9px}

.purchaseCopy .eyebrow{color:#63dff7}

.purchaseCopy h2{font-size:clamp(38px,4.7vw,65px);line-height:1.25;letter-spacing:-.06em;margin:15px 0}

.purchaseCopy>p:not(.eyebrow){color:#b8cad6;line-height:2}

.purchasePrices{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.purchasePrices article{background:white;color:var(--ink);padding:25px}

.purchasePrices article small{font-weight:800;color:#60727c}

.purchasePrices article b{display:block;font-size:27px;color:var(--green);margin:12px 0}

.purchasePrices article p{font-size:11px;margin:0}

.purchasePrices>small{grid-column:1/3;color:#899eac;font-size:9px;text-align:right}

@media(max-width:800px){.vehiclePurchase{padding:80px 22px;grid-template-columns:1fr;gap:30px}.purchaseMark{max-width:260px}.purchasePrices article b{font-size:22px}}

@media(max-width:450px){.purchasePrices{grid-template-columns:1fr}.purchasePrices>small{grid-column:1;text-align:left}}

/* PREMIUM VISUAL EDITION */

:root{--gold:#f0c86b;--gold2:#fff0b5}

body{background:radial-gradient(circle at 85% 8%,#dce9e2 0,transparent 24%),var(--paper)}

header{height:94px;background:linear-gradient(90deg,#020b15f8,#071d31f5 56%,#07192af8);border-bottom:1px solid #e8c46680;box-shadow:0 14px 45px #0008}

header:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),#5ce0a2,var(--gold),transparent)}

.brand>span{border-color:var(--gold);box-shadow:0 0 25px #f0c86b35,inset -8px -8px #168a5950;background:radial-gradient(circle at 35% 25%,#1f4360,#071421 70%)}

.brand b{background:linear-gradient(90deg,#fff,var(--gold2));-webkit-background-clip:text;color:transparent}

nav a:hover{color:var(--gold2)}

nav a:after{background:linear-gradient(90deg,var(--gold),#5ce0a2)}

.hero{min-height:850px;background-position:center 42%;isolation:isolate}

.heroShade{background:linear-gradient(90deg,#020914fa 0%,#061a2df0 43%,#071d3187 70%,#071d3140),linear-gradient(0deg,#020914e8,transparent 55%)}

.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,#f0c86b14 50%,transparent 61%);z-index:1;animation:luxSweep 7s ease-in-out infinite}

.heroCopy{padding-left:32px;border-left:1px solid #f0c86b90}

.hero .eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--gold2);background:#061627bb;border:1px solid #f0c86b70;padding:10px 15px;box-shadow:0 0 30px #f0c86b18}

.hero .eyebrow:before{content:"◆";color:var(--gold)}

.hero h1{font-size:clamp(58px,8vw,115px);text-shadow:0 6px 0 #0004,0 25px 70px #000}

.hero h1 em{background:linear-gradient(90deg,#70edb5,#fff2b5 65%,#e4bd5f);-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 20px #55e3a340)}

.heroActions a{position:relative;overflow:hidden;background:linear-gradient(135deg,#168a59,#37c77e);border:1px solid #91f1c0;box-shadow:0 12px 30px #02130c80,0 0 25px #35d4862a;letter-spacing:.08em}

.heroActions .outline{background:#071627b5;border-color:#f0c86b88;color:var(--gold2)}

.heroStats{display:flex;margin-top:48px;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;width:max-content;backdrop-filter:blur(8px)}

.heroStats div{padding:17px 28px;border-right:1px solid #ffffff20}

.heroStats b,.heroStats>div>span{display:block}

.heroStats b{font:900 30px Arial;color:white}

.heroStats b span{font-size:13px;color:var(--gold)}

.heroStats>div>span{font:800 8px Arial;letter-spacing:.22em;color:#77dba8;margin-top:5px}

.heroLabel{border-right-color:var(--gold);background:#02101db0;padding:15px 18px}

.heroLabel small{color:var(--gold2)}

.heroOrbits{position:absolute;right:7vw;top:20%;width:340px;height:340px;z-index:1;opacity:.55}

.heroOrbits i{position:absolute;inset:0;border:1px solid #f0c86b55;border-radius:50%;animation:orbit 18s linear infinite}

.heroOrbits i:nth-child(2){inset:45px;border-color:#5ce0a270;animation-direction:reverse;animation-duration:13s}

.heroOrbits i:nth-child(3){inset:95px;border-width:3px;border-color:#ffffff22}

.heroOrbits i:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--gold);top:12%;left:12%;box-shadow:0 0 18px var(--gold)}

.ticker{height:48px;background:linear-gradient(90deg,#b78a2d,#ffe29a,#44cf8c,#ffe29a,#b78a2d);box-shadow:0 8px 25px #06162750}

.intro{padding-top:170px}

.introTitle{position:relative}

.introTitle:before{content:"B";position:absolute;left:-35px;top:-85px;font:900 190px Georgia;color:#168a5909}

.intro h2{position:relative}

.companies{border-top:1px solid #f0c86b88;border-bottom:1px solid #f0c86b55}

.companies article{background:radial-gradient(circle at 90% 15%,#2adb8b1c,transparent 35%)}

.companies .blue{background:radial-gradient(circle at 90% 15%,#26b9e925,transparent 35%)}

.companies article:hover{box-shadow:inset 0 0 80px #ffffff08}

.companyNo{color:#f0c86b12}

.companies .line{box-shadow:0 0 18px currentColor}

.historyLine,.historyNumbers,.vehiclePurchase{background:radial-gradient(circle at 80% 0,#17456c,#061627 48%)}

.historyLine{border:1px solid #f0c86b55;box-shadow:20px 20px 0 #dce9e2,0 35px 80px #06162733}

.historyLine .next{background:linear-gradient(135deg,#c99b3b,#f2d482);color:#071627}

.historyLine .next small{color:#57400e}

.historyPolicy{box-shadow:0 30px 80px #07162718;border-top:5px solid var(--gold)}

.historyNumbers{border-bottom:1px solid #f0c86b55}

.historyNumbers b{background:linear-gradient(90deg,#fff,var(--gold2));-webkit-background-clip:text;color:transparent}

.historyNext{background:linear-gradient(120deg,#0a583b,#15955f 45%,#d3a84d 140%);box-shadow:0 30px 70px #0c4d3638}

.promisePhoto img,.office img,.gallery img{filter:saturate(1.12) contrast(1.04)}

.promiseCopy{position:relative}

.promiseCopy:after{content:"BANSEI PROMISE";position:absolute;right:4vw;bottom:30px;font:900 11px Arial;letter-spacing:.3em;color:#168a5950}

.dx{background:radial-gradient(circle at 20% 20%,#0d4462,#061627 55%);border-top:1px solid #f0c86b4d;border-bottom:1px solid #f0c86b4d}

.dx img{box-shadow:25px 25px 0 #168a59,45px 45px 0 #f0c86b55}

.gallery figure{border:1px solid #ffffff}

.gallery figure:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 50px #06162755;pointer-events:none}

.benefits{background:radial-gradient(circle at 10% 10%,#ffffff,#e4ece6 55%)}

.benefitPhoto{box-shadow:25px 25px 0 var(--navy),35px 35px 0 var(--gold)}

.benefitGrid article{transition:.3s;border-top-color:transparent;border-image:linear-gradient(90deg,var(--green),var(--gold)) 1}

.benefitGrid article:hover{transform:translateY(-8px);box-shadow:0 25px 50px #0b2b1c25}

.purchaseMark{border-color:#f0c86b88;box-shadow:inset 0 0 45px #f0c86b12,0 0 35px #0005}

.purchaseMark b{background:linear-gradient(#fff5c7,#d5a542);-webkit-background-clip:text;color:transparent}

.purchasePrices article{border-top:4px solid var(--gold);box-shadow:0 12px 30px #0004}

.recruitCulture{background:linear-gradient(135deg,#f7f8f5,#dfe9e2)}

.cultureStatement{border:1px solid #f0c86b66;box-shadow:25px 25px 0 #168a59,40px 40px 0 #f0c86b4d}

.retention b span{filter:drop-shadow(0 8px 15px #168a5940)}

.recruit{background:radial-gradient(circle at 12% 20%,#116b4a,#061627 60%);border-top:1px solid var(--gold)}

.lineContact{border-top:6px solid transparent;border-image:linear-gradient(90deg,var(--gold),#67dda7,var(--gold)) 1;box-shadow:22px 22px 0 #04111f66,35px 35px 0 #f0c86b40}

.lineContact figure{border:1px solid #d5ad55}

.lineContact img{box-shadow:0 0 30px #168a5930}

footer{border-top:1px solid #f0c86b55;background:linear-gradient(120deg,#020914,#071d31)}

@keyframes orbit{to{transform:rotate(360deg)}}

@keyframes luxSweep{0%,30%{transform:translateX(-35%)}70%,100%{transform:translateX(35%)}}

@media(max-width:800px){header{height:76px}.hero{min-height:790px}.heroCopy{padding-left:18px}.heroOrbits{width:220px;height:220px;right:-80px;top:17%}.heroStats div{padding:14px 16px}.heroStats b{font-size:24px}.cultureStatement{box-shadow:12px 12px 0 #168a59,20px 20px 0 #f0c86b4d}.lineContact{box-shadow:12px 12px 0 #04111f66,20px 20px 0 #f0c86b40}}

@media(max-width:450px){.heroStats{width:100%}.heroStats div{flex:1;padding:12px 8px}.heroStats b{font-size:21px}.hero h1{font-size:48px}.heroCopy{padding-left:13px}.hero .eyebrow{font-size:8px}.dx img{box-shadow:12px 12px 0 #168a59,20px 20px 0 #f0c86b55}}

@media(max-width:450px){.workMain,.workSub{height:390px}.worksCards{grid-template-columns:1fr}.worksShowcase figcaption{padding:22px}.worksShowcase figcaption b{font-size:20px}}

@media(max-width:450px){.inspectionShots{grid-template-columns:1fr;min-height:0}.inspectionShots figure{height:330px}.inspectionCopy ul{grid-template-columns:1fr}.androidPhotos{grid-template-columns:1fr}.androidPhotos figure{height:500px}}

@media(max-width:450px){.presidentGrid{grid-template-columns:1fr}.presidentGrid article,.presidentGrid article:nth-child(4),.presidentGrid article:nth-child(5){grid-column:1}}

.backButton{position:fixed;left:22px;bottom:max(22px,env(safe-area-inset-bottom));z-index:100;border:1px solid #f0c86b99;border-radius:999px;background:#061627e8;color:white;padding:13px 20px 13px 13px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 35px #0008,0 0 24px #f0c86b20;backdrop-filter:blur(14px);cursor:pointer;transition:.25s}

.backButton span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d3a84d,#fff0b5);color:#061627;font-size:20px;font-weight:900}

.backButton b{font-size:12px;letter-spacing:.05em}

.backButton:hover{transform:translateY(-3px);box-shadow:0 14px 40px #0009,0 0 30px #f0c86b40}

.backButton:active{transform:translateY(0)}

@media(max-width:450px){.backButton{left:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:9px 14px 9px 9px}.backButton span{width:31px;height:31px}}

.retention>div em{display:block;font-style:normal;font-size:9px;color:#7b8982;margin-top:10px;line-height:1.6}

.lowSalary{display:inline-block;margin:0 3px;color:#ff4b4b;font-size:15px;font-weight:900;text-shadow:0 0 14px #ff2f2f55;border-bottom:2px solid #ff4b4b}

.brandBanners figure:before,.brandBanners figure:after{display:none}

.brandBanners figcaption{display:none}

.brandBanners img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

.brandBanners figure:hover img{transform:none}

.bannerMapLink{display:block;cursor:pointer}

.securityBannerAnimated{position:relative;overflow:hidden}

.securityBannerGuardVideo{position:absolute;z-index:2;top:0;left:68.75%;width:31.25%;height:82.0513%;object-fit:cover;display:block;pointer-events:none}

.toiletFeature{padding:140px 6vw;background:radial-gradient(circle at 85% 5%,#17496d,#061627 45%,#020914);color:white;border-top:1px solid #f0c86b66;border-bottom:1px solid #f0c86b66;position:relative;overflow:hidden}

.toiletFeature:before{content:"03";position:absolute;right:-1vw;top:-6vw;font:900 25vw Arial;color:#ffffff05;line-height:1}

.toiletFeatureHead{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end;position:relative}

.toiletFeature .eyebrow{color:var(--gold)}

.toiletFeature h2{font-size:clamp(43px,6vw,80px);line-height:1.25;letter-spacing:-.06em;margin:15px 0}

.toiletFeature h2 em{font-style:normal;background:linear-gradient(90deg,#61e3a5,var(--gold2));-webkit-background-clip:text;color:transparent}

.toiletCount{min-width:260px;padding:28px 35px;border:1px solid #f0c86b88;background:#ffffff09;box-shadow:15px 15px 0 #168a59;text-align:center}

.toiletCount small,.toiletCount strong{display:block}

.toiletCount small{font:900 9px Arial;letter-spacing:.2em;color:var(--gold)}

.toiletCount b{display:block;font:900 78px Arial;color:white;line-height:1;margin:10px}

.toiletCount b span{font-size:20px;color:var(--gold2)}

.toiletCount strong{padding:10px;background:linear-gradient(90deg,#c79736,#f0c86b);color:#061627;font-size:15px}

.toiletFeatureLead{max-width:1250px;margin:28px auto 55px;color:#b7c9d5;line-height:2}

.toiletFeatureGrid{max-width:1250px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:12px}

.toiletFeatureGrid figure{margin:0;height:530px;position:relative;overflow:hidden;border:1px solid #f0c86b75;background:#0a2035;box-shadow:0 25px 60px #0007}

.toiletFeatureGrid img{height:100%;object-fit:cover}

.toiletExterior img{object-position:center 48%}

.toiletFeatureGrid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#020914e8,transparent 48%)}

.toiletFeatureGrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px;z-index:2}

.toiletFeatureGrid figcaption small,.toiletFeatureGrid figcaption b{display:block}

.toiletFeatureGrid figcaption small{font:900 8px Arial;letter-spacing:.2em;color:var(--gold)}

.toiletFeatureGrid figcaption b{font-size:21px;margin-top:8px}

.toiletBuilding>span{position:absolute;right:15px;top:15px;z-index:3;background:#ff354f;color:white;padding:10px 13px;font:900 9px Arial;letter-spacing:.14em;box-shadow:0 0 25px #ff354f70}

.toiletBuilding img{object-position:center center}

@media(max-width:800px){.toiletFeature{padding:90px 20px}.toiletFeatureHead{grid-template-columns:1fr}.toiletCount{min-width:0;max-width:310px}.toiletFeatureGrid{grid-template-columns:1fr 1fr}.toiletFeatureGrid figure{height:410px}.toiletFeatureGrid .toiletExterior{grid-column:1/3;height:460px}}

@media(max-width:450px){.toiletFeatureGrid{grid-template-columns:1fr}.toiletFeatureGrid .toiletExterior{grid-column:1;height:390px}.toiletFeatureGrid figure{height:390px}.toiletCount{box-shadow:10px 10px 0 #168a59}}

.inspectionCopy ul:before,.inspectionCopy ul:after{display:flex;min-height:92px;padding:17px 16px;align-items:center;white-space:pre-line;font-size:12px;font-weight:900;line-height:1.65;color:white;background:linear-gradient(145deg,#ffffff14,#ffffff06);border:1px solid #f0c86b66;border-top:4px solid var(--gold);box-shadow:0 12px 28px #0004}

.inspectionCopy ul:before{content:"制作費用　30万円\A（協力会社特別特価）\A 保守・改善費用込み"}

.inspectionCopy ul:after{content:"制作期間　約2週間\A 企画・制作・実運用調整"}

.inspectionCopy ul:before::first-line,.inspectionCopy ul:after::first-line{color:var(--gold2)}

.developmentApproach{grid-column:1/-1;display:block;margin:0;padding:24px 55px;background:#020b15;color:#eaf3f6;border-top:1px solid #f0c86b88;font-size:13px;font-weight:700;line-height:1.8;letter-spacing:.02em}

@media(max-width:800px){.developmentApproach{padding:30px 25px;font-size:12px;line-height:1.9}}

.securityStage{background:#030b13;color:white;display:grid;grid-template-columns:1.15fr .85fr;min-height:880px}

.securityVisual{position:relative;overflow:hidden}

.securityVisual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#030b13),linear-gradient(0deg,#030b13aa,transparent 42%)}

.securityVisual img{width:100%;height:100%;object-fit:cover;object-position:68% center;transform:scale(1.15)}

.securitySeal{position:absolute;z-index:2;left:6vw;bottom:70px;width:185px;height:185px;border:1px solid #67d7a199;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#03111fde;backdrop-filter:blur(12px);box-shadow:0 0 0 12px #ffffff08}

.securitySeal small{font:900 8px Arial;letter-spacing:.28em;color:#72e3ad}

.securitySeal b{font:900 64px Arial;line-height:1}

.securitySeal span{font:800 8px/1.5 Arial;letter-spacing:.16em;text-align:center;color:#b8cbd3}

.securityCopy{padding:110px 7vw 90px 4vw;display:flex;flex-direction:column;justify-content:center}

.securityCopy .eyebrow{color:#63dda5}

.securityCopy h2{font-size:clamp(44px,5.3vw,76px);line-height:1.24;letter-spacing:-.065em;margin:20px 0}

.securityCopy h2 em{font-style:normal;color:#65dfa6}

.securityCopy>p:not(.eyebrow){color:#a9bec9;line-height:2.2;font-size:14px}

.securityServices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:30px 0}

.securityServices span{padding:15px;border:1px solid #ffffff1f;border-left:3px solid #42cc8b;background:#ffffff08;font-size:11px;font-weight:800}

.securityCopy blockquote{margin:35px 0 0;padding:25px 0;border-top:1px solid #5edca266;color:#eaf6f0;font-size:18px;font-weight:800;line-height:1.7}

.aiAtelier{padding:150px 6vw;background:radial-gradient(circle at 80% 10%,#143c693f,transparent 30%),linear-gradient(135deg,#020712,#071628 60%,#020712);color:white;position:relative;overflow:hidden}

.aiAtelier:before{content:"AI";position:absolute;right:-1vw;top:-7vw;font:900 34vw Arial;color:#ffffff08;line-height:1}

.aiIntro{max-width:1200px;margin:auto;position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:90px}

.aiIntro .eyebrow{color:#d6ad4f}

.aiIntro h2{font-size:clamp(46px,6vw,80px);line-height:1.22;letter-spacing:-.065em;margin:18px 0}

.aiIntro h2 em{font-style:normal;background:linear-gradient(90deg,#7de5ff,#d8b45a);-webkit-background-clip:text;color:transparent}

.aiIntro>p:last-child{align-self:end;color:#9eb6ca;line-height:2.1;border-top:1px solid #ffffff25;padding-top:25px}

.aiGlass{max-width:1200px;margin:80px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #8ddfff4f;background:#ffffff08;backdrop-filter:blur(18px);box-shadow:0 40px 100px #0008;position:relative}

.aiGlass>small{position:absolute;left:25px;top:-32px;font:900 9px Arial;letter-spacing:.24em;color:#e2bc63}

.aiGlass>div{padding:38px 30px;min-height:280px;border-right:1px solid #ffffff18}

.aiGlass>div:last-child{border-right:0}

.aiGlass b{font:900 12px Arial;color:#62dfff}

.aiGlass h3{font-size:23px;line-height:1.45;margin:22px 0}

.aiGlass p{font-size:11px;line-height:1.9;color:#90a9bb}

.aiSignature{max-width:1200px;margin:16px auto 0;padding:22px;border:1px solid #d1ab5266;display:flex;align-items:center;justify-content:center;gap:30px;font:900 11px Arial;letter-spacing:.18em;color:#d9bd78}

.aiSignature i{font-style:normal;color:#67dfff;font-size:18px}

@media(max-width:800px){.securityStage{grid-template-columns:1fr;min-height:0}.securityVisual{height:560px}.securityVisual:after{background:linear-gradient(0deg,#030b13,transparent 55%)}.securityVisual img{object-position:64% center;transform:scale(1.08)}.securitySeal{left:24px;bottom:35px;width:145px;height:145px}.securitySeal b{font-size:48px}.securityCopy{padding:75px 24px}.aiAtelier{padding:95px 22px}.aiIntro{grid-template-columns:1fr;gap:22px}.aiGlass{grid-template-columns:1fr 1fr;margin-top:65px}.aiGlass>div{min-height:240px}.aiGlass>div:nth-of-type(2){border-right:0}.aiGlass>div:nth-of-type(-n+2){border-bottom:1px solid #ffffff18}.aiSignature{gap:10px;flex-wrap:wrap;font-size:8px}}

@media(max-width:450px){.securityVisual{height:430px}.securityServices{grid-template-columns:1fr}.aiGlass{grid-template-columns:1fr}.aiGlass>div{min-height:0;border-right:0;border-bottom:1px solid #ffffff18}.aiGlass>div:last-child{border-bottom:0}.aiSignature{padding:18px 10px}}

/* SECURITY IMAGE: preserve the complete designed photo without cropping */

.securityStage{min-height:720px}

.securityVisual{display:flex;align-items:center;background:#061627}

.securityVisual:after{background:none;box-shadow:inset -28px 0 55px #030b1366;pointer-events:none}

.securityVisual img{width:100%;height:auto;object-fit:contain;object-position:center;transform:none}

.securityCopy .securitySeal{position:static;width:150px;height:150px;margin:0 0 30px;background:#071d31;box-shadow:0 0 0 9px #ffffff08}

@media(max-width:800px){.securityVisual{height:auto;aspect-ratio:1600/975}.securityVisual:after{background:none;box-shadow:inset 0 -18px 32px #030b1355}.securityVisual img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}.securityCopy .securitySeal{position:static;width:125px;height:125px;margin:0 auto 35px}.securitySeal b{font-size:46px}}

@media(max-width:450px){.securityVisual{height:auto;aspect-ratio:1600/975}}

.securityStageBright{grid-template-columns:1.15fr .85fr;min-height:0;background:linear-gradient(135deg,#073456,#061627 62%,#0b3d2f);border-top:8px solid transparent;border-image:linear-gradient(90deg,#f4c95d,#60e2a5,#55cfff,#f4c95d) 1;position:relative}

.securityStageBright:before{content:"SECURITY";position:absolute;right:-2vw;top:34%;font:900 12vw Arial;color:#ffffff06;letter-spacing:-.07em;pointer-events:none}

.securityLeadImage{margin:0;position:relative;overflow:hidden;min-height:720px}

.securityLeadImage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#03111fdd,transparent 48%),linear-gradient(90deg,transparent 70%,#06162788)}

.securityLeadImage img{width:100%;height:100%;object-fit:cover;object-position:center}

.securityLeadImage figcaption{position:absolute;left:6vw;right:30px;bottom:55px;z-index:2;color:white}

.securityLeadImage small,.securityLeadImage b{display:block}

.securityLeadImage small{font:900 10px Arial;letter-spacing:.28em;color:#ffe38a}

.securityLeadImage b{font-size:clamp(30px,3.7vw,54px);line-height:1.3;margin-top:12px;text-shadow:0 10px 30px #000}

.securityStageBright .securityCopy{position:relative;background:radial-gradient(circle at 80% 10%,#1e6da05e,transparent 30%);padding-top:85px}

.securityStageBright .securitySeal{background:linear-gradient(145deg,#0d6b4a,#0b2947);border:2px solid #ffe18a;box-shadow:0 0 0 9px #ffffff0c,0 0 45px #52dcff55}

.securityStageBright .securityServices span{background:linear-gradient(90deg,#ffffff13,#ffffff06);border-left-color:#ffe18a}

.securityPhotoGrid{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:#020b15}

.securityPhotoGrid figure{margin:0;height:520px;position:relative;overflow:hidden;border:1px solid #78ddff66}

.securityPhotoGrid img{width:100%;height:100%;object-fit:cover;transition:.5s}

.securityPhotoGrid figure:hover img{transform:scale(1.025)}

.securityPhotoGrid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#020b15e8,transparent 56%)}

.securityPhotoGrid figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:35px;color:white}

.securityPhotoGrid small,.securityPhotoGrid b,.securityPhotoGrid span{display:block}

.securityPhotoGrid small{font:900 9px Arial;letter-spacing:.24em;color:#ffe18a}

.securityPhotoGrid b{font-size:30px;margin:10px 0}

.securityPhotoGrid span{color:#c7dbe6;font-size:12px}

@media(max-width:800px){.securityStageBright{grid-template-columns:1fr}.securityLeadImage{min-height:0;height:auto;aspect-ratio:16/12}.securityLeadImage img{object-position:43% center}.securityLeadImage figcaption{left:24px;bottom:28px}.securityStageBright .securityCopy{padding-top:65px}.securityPhotoGrid{grid-column:1;grid-template-columns:1fr;padding:8px}.securityPhotoGrid figure{height:auto;aspect-ratio:16/10}.securityPhotoGrid figcaption{padding:24px}.securityPhotoGrid b{font-size:24px}}

@media(max-width:450px){.securityLeadImage{aspect-ratio:4/5}.securityLeadImage img{object-position:42% center}.securityPhotoGrid figure{aspect-ratio:4/3}.securityPhotoGrid figcaption span{font-size:10px}}

.recruitNow{margin-top:22px;padding:22px 26px;border:1px solid #fff3b5;background:#061627cc;box-shadow:0 14px 35px #05271955;display:flex;gap:20px;align-items:center;max-width:760px}

.recruitNow b,.recruitNow span{display:block}

.recruitNow b{color:#fff0a8;font-size:18px;white-space:nowrap}

.recruitNow span{color:#eef8f3;font-size:14px;line-height:1.7}

@media(max-width:800px){.recruitNow{display:block;padding:20px}.recruitNow b{white-space:normal;margin-bottom:9px}.recruitNow span{font-size:12px}}

.managementBannerNew{margin:0;min-height:100%;padding:38px;background:radial-gradient(circle at 90% 10%,#0e73b580,transparent 38%),linear-gradient(145deg,#061627,#0a2440);border:1px solid #f0c86b88;box-shadow:0 30px 70px #0009;color:white}

.managementBrand{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;padding-bottom:28px;border-bottom:1px solid #ffffff26}

.managementBrand img{width:180px;height:145px;object-fit:cover;border:1px solid #f0c86b88}

.managementBrand small{font:900 8px Arial;letter-spacing:.22em;color:#f0c86b}

.managementBrand h3{font-size:27px;line-height:1.35;margin:10px 0}

.managementBrand p{font-size:11px;color:#a9c2d3;line-height:1.7}

.managementBannerNew ul{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}

.managementBannerNew li{display:flex;gap:12px;align-items:center;min-height:65px;padding:14px;background:#ffffff0b;border-left:3px solid #4ad7ff}

.managementBannerNew li>b{font:900 10px Arial;color:#f0c86b}

.managementBannerNew li>span{font-size:13px;font-weight:900}

.managementBannerNew li small{display:block;margin-top:5px;color:#9fb9c8;font-size:9px;font-weight:700}

@media(max-width:800px){.managementBannerNew{padding:25px}.managementBrand{grid-template-columns:120px 1fr;gap:18px}.managementBrand img{width:120px;height:110px}.managementBrand h3{font-size:21px}.managementBannerNew ul{grid-template-columns:1fr 1fr}}

@media(max-width:450px){.managementBrand{grid-template-columns:1fr}.managementBrand img{width:100%;height:180px}.managementBannerNew ul{grid-template-columns:1fr}}

.historyPolicy h3{font-size:clamp(25px,2.7vw,38px);line-height:1.5;letter-spacing:-.04em}

.historyNext h3:after{content:"3代目代表はアルバイトで入社。\A 20年かけて、隊員から代表までこなした変わり者です。";white-space:pre-line;display:block;margin-top:28px;padding:22px 26px;border-left:5px solid #fff0a8;background:#061627c7;color:#fff;font-size:16px;line-height:1.9;letter-spacing:0;max-width:800px;box-shadow:0 14px 35px #06352255}

@media(max-width:800px){.historyNext h3:after{font-size:13px;padding:19px 20px;margin-top:22px}}

.securityCopy h2{font-size:clamp(28px,3.5vw,48px);line-height:1.4;letter-spacing:-.04em;color:#fff}

.promisePhoto img{transform:none}

.heroShade{background:linear-gradient(0deg,#03111f94 0%,#03111f4d 19%,#03111f12 39%,transparent 57%)}

.historyNext>p{font-size:0}

.historyNext>p:after{content:"歴代代表の平均在任期間は約7年。\A あなたも6年後、この会社を率いる代表を目指してみませんか？";white-space:pre-line;display:block;font-size:18px;font-weight:800;line-height:1.8}

.historyNext>p>span{display:none}

/* People-by-connection photo: keep the selected Bansei No. 2 Building image visible. */

.cultureLead{align-items:start}

.cultureVisual .eyebrow{margin-bottom:20px}

.cultureVisual figure{margin:0;overflow:hidden;box-shadow:20px 20px 0 #dce9e2}

.cultureVisual img{display:block;width:100%;height:560px;object-fit:cover;object-position:center 58%}

.cultureCopy>p{color:#5d6d72;line-height:2.1;border-top:1px solid #c6d1ca;padding-top:25px}

@media(max-width:800px){.cultureLead{gap:35px}.cultureVisual img{height:430px}.cultureVisual figure{box-shadow:10px 10px 0 #dce9e2}}

.inspectionCopy ul:before{content:"発注者　沼田建設株式会社\A\A 制作費用　30万円\A（協力会社特別特価）\A 保守・改善費用込み";min-height:128px}

.chips:after{content:"既存特許・知的財産権について弁理士の確認を経て、完成度を高めたものから順次リリース予定です。";flex-basis:100%;margin-top:12px;padding:14px 16px;border-left:3px solid var(--gold);background:#ffffff09;color:#d6e3ea;font-size:11px;font-weight:700;line-height:1.8}

.benefitNote{font-size:10px}

.office img{object-position:center 42%}

.office .mapLink{display:inline-block;margin-top:25px;background:var(--navy);color:white;padding:15px 18px;font-weight:800;font-size:12px;line-height:1.7;border-left:4px solid var(--green);transition:.25s}

.office .mapLink small{color:#7fe0b0;font-size:9px;letter-spacing:.08em}

.office .mapLink:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0616272c}

.aiIntro{grid-template-columns:.9fr 1.1fr;grid-template-rows:auto auto auto;gap:18px 70px;align-items:start}

.aiIntro:before{content:"";grid-column:1;grid-row:1/4;width:100%;aspect-ratio:1200/860;align-self:center;background:#020b15 url("/assets/ai-innovation-gallery.jpg") center/contain no-repeat;border:1px solid #d5ad5570;box-shadow:18px 18px 0 #168a5955,0 30px 70px #0008}

.aiIntro>.eyebrow{grid-column:2;grid-row:1}

.aiIntro>h2{grid-column:2;grid-row:2;margin:0}

.aiIntro>p:last-child{grid-column:2;grid-row:3;align-self:start;margin:0}

@media(max-width:800px){.aiIntro{grid-template-columns:1fr;grid-template-rows:auto;gap:24px}.aiIntro:before{grid-column:1;grid-row:1;box-shadow:10px 10px 0 #168a5955}.aiIntro>.eyebrow{grid-column:1;grid-row:2}.aiIntro>h2{grid-column:1;grid-row:3}.aiIntro>p:last-child{grid-column:1;grid-row:4}}

.worksHead>p{font-size:14px;line-height:2.1}

.appLineup{position:relative;max-width:1250px;margin:70px auto 0;padding:28px;border:1px solid #f0c86b55;background:linear-gradient(135deg,#0a1c2df2,#07111df2);box-shadow:0 30px 75px #0007}

.appLineupTitle{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}

.appLineupTitle small{font:900 9px Arial,sans-serif;letter-spacing:.22em;color:var(--gold)}

.appLineupTitle h3{margin:0;font-size:22px;letter-spacing:.02em}

.appIconRail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}

.appIconCard{min-width:0;margin:0;padding:16px;background:#ffffff08;border:1px solid #ffffff18}

.appIconCard img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:22%;border:1px solid #ffffff2e;box-shadow:0 13px 28px #0008}

.appIconCard figcaption{margin-top:13px;color:#dce8ee;font-size:14px;font-weight:800;line-height:1.45;text-align:center}

.appIconDescription{min-height:72px;margin:12px 0 0;border-top:1px solid #ffffff18}

.appLineupHint{display:none}

@media(max-width:800px){.appLineup{width:calc(100% + 40px);margin:42px -20px 0;padding:25px 0 22px;border-left:0;border-right:0}.appLineupTitle{display:block;padding:0 20px;margin-bottom:18px}.appLineupTitle small{display:block;margin-bottom:8px}.appLineupTitle h3{font-size:19px}.appIconRail{display:flex;gap:14px;overflow-x:auto;padding:0 20px 10px;scroll-snap-type:x mandatory;scroll-padding-left:20px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.appIconRail::-webkit-scrollbar{display:none}.appIconCard{flex:0 0 172px;padding:13px;scroll-snap-align:start}.appIconCard img{border-radius:26px}.appIconCard figcaption{font-size:13px}.appIconDescription{min-height:76px}.appLineupHint{display:block;margin:6px 20px 0;color:#7f98a8;font-size:9px;letter-spacing:.03em}}

.partnerList button{color:white;text-align:left;font-family:inherit;border:0;border-left:3px solid transparent}

.partnerList:not(.isEditing) button{cursor:default}

.partnerList.isEditing button{cursor:pointer;outline:1px dashed #f0c86b66;outline-offset:-5px}

.partnerAdmin{max-width:1250px;margin:18px auto 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}

.partnerAdmin button{border:1px solid #f0c86b88;background:#ffffff0a;color:#f6dfa4;padding:11px 15px;font-size:10px;font-weight:900;cursor:pointer}

.partnerAdmin span{font-size:10px;color:#9fd8bd}

.partnerList.isEditing button{cursor:grab;user-select:none}

.partnerList.isEditing button:active{cursor:grabbing;opacity:.72;transform:scale(.98)}

.partnerDirect{min-height:68px;padding:12px 14px;background:#071a29;display:flex;align-items:center;gap:8px;border-left:3px solid transparent}

.partnerDirect:focus-within{background:#0d2a3d;border-left-color:var(--gold)}

.partnerDirect input{width:100%;min-width:0;padding:9px 10px;border:1px solid #ffffff24;background:#ffffff08;color:#fff;font:800 12px/1.6 inherit}

.partnerDirect input:disabled{border-color:transparent;background:transparent;color:#fff;opacity:1}

.partnerDirect input:not(:disabled){border-color:#f0c86b88;outline:none}

.partnerDragHandle{flex:0 0 auto;padding:8px;color:var(--gold);font-size:18px;cursor:grab;user-select:none}

.partnerDragHandle:active{cursor:grabbing}

.partnerAdd{border-left-color:#f0c86b55;background:#0a2132}

.partnerAdd input::placeholder{color:#9eb4bf}

.partnerAdd input:disabled::placeholder{color:#69818e}

.banking{padding:58px 6vw;background:linear-gradient(135deg,#061627,#0a2c42);color:white;border-top:1px solid #f0c86b66;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}

.banking>div,.banking ul{width:100%;max-width:760px}

.banking>div{justify-self:end}

.banking .eyebrow{color:var(--gold);margin-bottom:10px}

.banking h2{font-size:clamp(30px,4vw,48px);margin:0}

.banking ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ffffff25;border:1px solid #ffffff25}

.banking li{min-height:62px;padding:18px 20px;background:#071a29;border-left:3px solid #56d89d;font-size:13px;font-weight:800;display:flex;align-items:center;gap:8px}

.banking li b{color:#f2d486}

.banking li:last-child{border-left-color:var(--gold)}

@media(max-width:800px){.banking{grid-template-columns:1fr;gap:25px;padding:48px 22px}.banking>div{justify-self:start}.banking ul{grid-template-columns:1fr}.banking li{min-height:56px}}

/* Security photographs move like slow cinematic footage */

@keyframes securityKenBurnsA{0%{transform:scale(1.04) translate3d(-1.5%,0,0)}50%{transform:scale(1.12) translate3d(1.5%,-1%,0)}100%{transform:scale(1.04) translate3d(-1.5%,0,0)}}

@keyframes securityKenBurnsB{0%{transform:scale(1.1) translate3d(1.5%,0,0)}50%{transform:scale(1.04) translate3d(-1.5%,1%,0)}100%{transform:scale(1.1) translate3d(1.5%,0,0)}}

@keyframes securityLightSweep{0%,20%{transform:translateX(-145%) skewX(-18deg);opacity:0}35%{opacity:.34}65%{opacity:.12}80%,100%{transform:translateX(165%) skewX(-18deg);opacity:0}}

.securityLeadImage img{animation:securityKenBurnsA 18s ease-in-out infinite;will-change:transform}

.securityPhotoGrid figure:first-child img{animation:securityKenBurnsB 21s ease-in-out infinite;will-change:transform}

.securityPhotoGrid figure:last-child img{animation:securityKenBurnsA 24s ease-in-out infinite reverse;will-change:transform}

.securityLeadImage:before,.securityPhotoGrid figure:before{content:"";position:absolute;z-index:2;top:-15%;bottom:-15%;left:-25%;width:28%;background:linear-gradient(90deg,transparent,#bdeaff45,transparent);filter:blur(5px);animation:securityLightSweep 9s ease-in-out infinite;pointer-events:none}

.securityPhotoGrid figure:nth-child(2):before{animation-delay:3s}

.securityPhotoGrid figure:hover img{animation-play-state:paused}

.securityLeadImage video,.securityPhotoGrid figure video{display:block;width:100%;height:100%;object-fit:cover;background:#061627}

@media(prefers-reduced-motion:reduce){.securityLeadImage img,.securityPhotoGrid figure img,.securityLeadImage:before,.securityPhotoGrid figure:before{animation:none!important}}

/* Cinematic interaction layer inspired by the Hiroshima Kagoshima site */

.banseiTypedHeading{position:relative}

.banseiTypedGhost{visibility:hidden;pointer-events:none}

.banseiTypedLive{position:absolute;inset:0}

.banseiTypedLive>span{display:inline}

.banseiTypedLive>i{display:inline-block;width:5px;height:.84em;margin-left:9px;background:#78efb8;box-shadow:0 0 18px #58eaa8;vertical-align:-.03em;animation:banseiCursor .5s steps(1,end) infinite}

.banseiTypeReplay{appearance:none;margin-top:26px;padding:12px 17px;border:1px solid #67dda799;background:#061627b8;color:#dfffee;font:800 10px Arial,sans-serif;letter-spacing:.12em;cursor:pointer;backdrop-filter:blur(8px);transition:.25s}

.banseiTypeReplay:hover{border-color:#7ff0b9;background:#0a4c37;transform:translateY(-2px)}

@keyframes banseiCursor{50%{opacity:0}}

.banseiAutoScroll{position:fixed;z-index:2147483000;right:18px;top:178px;appearance:none;min-width:170px;padding:14px 18px;border:1px solid #e8cb7a;border-radius:999px;background:#061627ee;color:#fff;font:800 11px Arial,sans-serif;letter-spacing:.06em;box-shadow:0 14px 40px #0005;cursor:pointer}

.banseiAutoScroll.isRunning{background:#167f55}

.banseiReveal{opacity:0;transform:translateY(42px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.75,.2,1)}

.banseiReveal.isVisible{opacity:1;transform:none}

.banseiLightbox{position:fixed;z-index:2147483646;inset:0;display:grid;place-items:center;padding:24px;background:#020a12f2}

.banseiLightbox button{appearance:none;width:100%;height:100%;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;cursor:zoom-out}

.banseiLightbox img{width:auto;max-width:96vw;max-height:calc(100svh - 85px);height:auto;object-fit:contain;box-shadow:0 30px 100px #000}

.banseiLightbox span{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;max-width:90vw;padding:9px 16px;border:1px solid #68dda699;border-radius:999px;background:#061627dd;font-size:10px;letter-spacing:.07em}

@media(max-width:800px){.banseiTypeReplay{margin-top:18px;padding:10px 13px;font-size:9px}.banseiAutoScroll{display:none}.banseiReveal{opacity:1;transform:none}.banseiLightbox{padding:10px}.banseiLightbox img{max-width:100%;max-height:calc(100svh - 70px)}}

/* History succession: circular hand-drawn flow, desktop only */

@media(min-width:801px){
  .historyLine{height:207px;max-width:1040px;margin-top:45px;padding:0;border:0;border-radius:50%;display:block;overflow:visible;background:transparent;box-shadow:none}
  .historyLine:before{content:"BANSEI\A 志の継承";white-space:pre;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:90px;border-radius:50%;display:grid;place-items:center;text-align:center;color:white;font-size:13px;font-weight:900;line-height:1.45;letter-spacing:.06em;background:radial-gradient(circle at 35% 28%,#21a970,#0a3c30 62%,#041610);border:2px solid #e0be69;box-shadow:0 0 0 7px #ffffff08,0 0 35px #29d48b4a}
  .historyLine:after{content:none}
  .historyLine>div{position:absolute;left:0;top:0;right:auto!important;bottom:auto!important;z-index:2;width:62px;height:62px;min-width:0;margin:0;padding:6px;border:2px solid #72dda7;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;background:#071d2e;box-shadow:0 10px 24px #0008;will-change:left,top,transform,filter}
  .historyLine>div small{color:#77e4ae;font-size:6px}.historyLine>div b{font-size:13px;margin-top:3px;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
  .historyLine>div>span{display:block;margin-top:2px;color:#fff;font-size:8px;font-weight:800;line-height:1}
  .historyLine>div:nth-of-type(1){border-color:#fff0ad;background:linear-gradient(145deg,#e9c766,#9e6e1d);color:#061627;animation-delay:0s}
  .historyLine>div:nth-of-type(1) small{color:#4b350a}
  .historyLine>div:nth-of-type(2){border-color:#a9dcff;background:linear-gradient(145deg,#2f9de8,#07528d)}
  .historyLine>div:nth-of-type(3){border-color:#ffc0c0;background:linear-gradient(145deg,#f04444,#8d1010)}
  .historyLine>div:nth-of-type(4){border-color:#e0c4ff;background:linear-gradient(145deg,#965ce4,#4d237e)}
  .historyLine>div:nth-of-type(5){border-color:#b9f8ff;background:linear-gradient(145deg,#27bdd2,#08687c)}
  .historyLine>div:nth-of-type(6){border-color:#bfffd9;background:linear-gradient(145deg,#28a96d,#0b5938)}
  .historyLine>div:nth-of-type(n+2) small{color:#fff}
  .historyLine>i{display:none}
  .historyLine>i:nth-of-type(1){left:28%;bottom:17%;transform:rotate(20deg)}
  .historyLine>i:nth-of-type(2){left:12%;top:42%;transform:rotate(-62deg)}
  .historyLine>i:nth-of-type(3){left:27%;top:7%;transform:rotate(-24deg)}
  .historyLine>i:nth-of-type(4){right:25%;top:7%;transform:rotate(24deg)}
  .historyLine>i:nth-of-type(5){right:12%;top:42%;transform:rotate(62deg)}
}

@keyframes historyLeaderPulse{0%,13%,100%{box-shadow:0 16px 36px #0008}6%{box-shadow:0 0 0 11px #ffffff0d,0 0 45px #69e3acaa;filter:brightness(1.25)}}

/* Top-page guide menu, matched to the Hiroshima Kagoshima site */

.guideMenu{order:2}

.guideMenuButton{appearance:none;display:flex;align-items:center;gap:8px;padding:12px 17px;border:1px solid #e7c56e;border-radius:999px;background:linear-gradient(135deg,#a42626,#da4646);color:#fff;font:900 11px/1 "Yu Gothic",Meiryo,sans-serif;letter-spacing:.05em;box-shadow:0 8px 25px #0005;cursor:pointer;white-space:nowrap}

.guideMenuButton span{font-size:15px;line-height:1}

.guideMenuButton.isOpen{background:#168a59}

.guideMenuPanel{position:fixed;z-index:29;left:0;right:0;top:94px;padding:0 5vw;max-height:0;overflow:hidden;opacity:0;pointer-events:none;background:#061627f4;border-bottom:1px solid #e8c46670;box-shadow:0 18px 40px #0007;transition:max-height .28s ease,opacity .2s ease,padding .28s ease;backdrop-filter:blur(14px)}

.guideMenuPanel.isOpen{max-height:190px;padding-top:14px;padding-bottom:14px;opacity:1;pointer-events:auto}

.guideMenuGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-width:1500px;margin:auto}

.guideMenuGrid button{appearance:none;min-height:48px;padding:10px 8px;border:1px solid #8dabc066;border-radius:999px;background:linear-gradient(180deg,#29455d,#132a3e);color:#fff;font:800 11px/1.35 "Yu Gothic",Meiryo,sans-serif;cursor:pointer;box-shadow:inset 0 1px #ffffff18;transition:.2s}

.guideMenuGrid button:hover,.guideMenuGrid button:focus-visible{border-color:#f0c86b;background:#168a59;transform:translateY(-1px);outline:none}

@media(max-width:1100px){.guideMenuGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.guideMenuPanel.isOpen{max-height:260px}}

@media(max-width:800px){.guideMenu{margin-left:auto}.guideMenuButton{padding:11px 14px;font-size:10px}.guideMenuPanel{top:76px;padding-left:12px;padding-right:12px}.guideMenuPanel.isOpen{max-height:390px;padding-top:12px;padding-bottom:12px}.guideMenuGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.guideMenuGrid button{min-height:45px;font-size:10px}.brand div{display:none}}

/* The guide menu stays visible without an open/close button. */

.guideMenuButton{display:none}

.guideMenuPanel.alwaysOpen{max-height:none;padding-top:14px;padding-bottom:14px;opacity:1;pointer-events:auto}

.guideMenuGrid a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;border:1px solid #8dabc066;border-radius:999px;background:linear-gradient(180deg,#29455d,#132a3e);color:#fff;font:800 11px/1.35 "Yu Gothic",Meiryo,sans-serif;text-align:center;box-shadow:inset 0 1px #ffffff18;transition:.2s}

.guideMenuGrid a:hover,.guideMenuGrid a:focus-visible{border-color:#f0c86b;background:#168a59;transform:translateY(-1px);outline:none}

.hero{margin-top:76px}

section[id]{scroll-margin-top:190px}

@media(max-width:1100px){.hero{margin-top:132px}section[id]{scroll-margin-top:245px}}

@media(max-width:800px){header{height:38px;padding:0 12px}.brand{gap:7px}.brand>span{width:30px;height:30px;font-size:21px}.brand div{display:block}.brand b{font-size:11px}.brand small{font-size:5.5px;margin-top:1px}.guideMenuPanel{top:38px}.guideMenuPanel.alwaysOpen{padding:6px 8px}.guideMenuPanel.alwaysOpen .guideMenuGrid{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.guideMenuPanel.alwaysOpen .guideMenuGrid::-webkit-scrollbar{display:none}.guideMenuGrid a{flex:0 0 auto;min-width:105px;min-height:27px;padding:2px 9px;font-size:clamp(8.5px,2.35vw,10.5px);line-height:1.05;white-space:nowrap}.hero{margin-top:39px}section[id]{scroll-margin-top:111px}}

/* Keep Japanese headings from leaving a single character on the next line. */

h1,h2,h3,.securityLeadImage b,.securityPhotoGrid b,.historyNext p,.recruitNow span{text-wrap:balance;line-break:strict}

.banseiTypedGhost>em,.banseiTypedLive>span{display:block;white-space:nowrap}

@media(min-width:801px) and (max-width:1450px){.hero h1{font-size:clamp(58px,6.5vw,92px)}}

@media(max-width:800px){.banseiTypedLive>span:last-of-type,.banseiTypedGhost>em{white-space:nowrap}.hero h1{font-size:clamp(38px,11.5vw,54px)}}

@media(min-width:801px){html.desktopPageFit{scroll-snap-type:y proximity}.desktopPageFit main>section{scroll-snap-align:start;scroll-snap-stop:normal;overflow:hidden}.desktopPageFit main>section[id]{scroll-margin-top:226px}}

/* Cleaned Bansei No. 2 Building photograph for the top page. */

.hero{background-color:#d8d2c7;background-image:url("/assets/hero-building-final-v15.png");background-position:center center;background-repeat:no-repeat;background-size:100% 100%}

@media(min-width:1101px){.hero{min-height:calc(100vh - 170px)}}

@media(min-width:801px) and (max-width:1100px){.hero{min-height:calc(100vh - 226px)}}

@media(max-width:800px){.hero{width:100%;height:56.28vw;min-height:0;padding:8px 14px;background-size:100% auto;background-position:center center}.heroShade{background:linear-gradient(90deg,#03111fce 0%,#071d3175 43%,transparent 68%)}.heroOrbits{display:block;width:150px;height:150px;right:-34px;top:9%;opacity:.72}.heroOrbits i:nth-child(2){inset:25px}.heroOrbits i:nth-child(3){inset:52px}.hero:before{background:linear-gradient(112deg,transparent 32%,#fff5c754 47%,#d7ffff68 51%,transparent 66%);animation:luxSweepMobile 6.5s ease-in-out infinite}.heroCopy{width:54%;padding-left:8px}.hero .eyebrow{display:none}.hero h1{font-size:clamp(20px,6.2vw,31px);margin:7px 0;line-height:1.04}.heroLead{font-size:6.5px;line-height:1.45}.banseiHeroCopy .heroLead{font-size:10px;line-height:1.55;white-space:nowrap;transform:translateY(16px)}}

@keyframes luxSweepMobile{0%,22%{transform:translateX(-80%);opacity:0}35%{opacity:.75}68%{opacity:.42}82%,100%{transform:translateX(80%);opacity:0}}

@media(min-width:801px){.heroOrbits{opacity:.72}.hero:before{background:linear-gradient(112deg,transparent 32%,#fff5c754 47%,#d7ffff68 51%,transparent 66%);animation:luxSweepDesktop 7s ease-in-out infinite}}

@keyframes luxSweepDesktop{0%,22%{transform:translateX(-80%);opacity:0}35%{opacity:.72}68%{opacity:.4}82%,100%{transform:translateX(80%);opacity:0}}

@media(max-width:800px){.heroOrbits i{border-color:#54e5a084;box-shadow:0 0 22px #37d58d20}.heroOrbits i:nth-child(2){border-color:#22c97a99}.heroOrbits i:nth-child(3){border-color:#9affc95e}.heroOrbits i:before{background:#55eca4;box-shadow:0 0 20px #32e38f,0 0 36px #1abf75}}

@media(min-width:801px){.heroOrbits i{border-color:#54e5a084;box-shadow:0 0 22px #37d58d20}.heroOrbits i:nth-child(2){border-color:#22c97a99}.heroOrbits i:nth-child(3){border-color:#9affc95e}.heroOrbits i:before{background:#55eca4;box-shadow:0 0 20px #32e38f,0 0 36px #1abf75}}

.heroOrbits span{display:none}

@media(min-width:801px){
  .heroOrbits{width:370px;height:370px;right:5vw;top:16%;opacity:.48;border:2px solid #39dd85;border-radius:50%;overflow:hidden;background:repeating-radial-gradient(circle at center,transparent 0 44px,#2ee98270 45px 47px,transparent 48px 88px),linear-gradient(#24e47d55 0 0) center/1px 100% no-repeat,linear-gradient(90deg,#24e47d55 0 0) center/100% 1px no-repeat;box-shadow:inset 0 0 55px #21ed8330,0 0 26px #1dd77968,0 0 70px #0b9f5750}
  .heroOrbits:before{content:"";position:absolute;inset:7px;border:1px solid #5dff9e88;border-radius:50%;background:repeating-conic-gradient(from 0deg,#7affadcc 0deg 1deg,transparent 1deg 5deg);mask:radial-gradient(circle,transparent 0 88%,#000 88% 100%);-webkit-mask:radial-gradient(circle,transparent 0 88%,#000 88% 100%)}
  .heroOrbits:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from -35deg,transparent 0deg 286deg,#20ff7900 296deg,#20ff7938 323deg,#5bff9ecf 355deg,#d9ffe6 360deg);filter:drop-shadow(0 0 12px #38ff8f);animation:radarSweep 4.8s linear infinite}
  .heroOrbits i{z-index:2;pointer-events:none}.heroOrbits i:nth-child(2){inset:62px}.heroOrbits i:nth-child(3){inset:126px;border-width:2px}
  .heroOrbits i:before{width:6px;height:6px}
  .heroOrbits span{display:block;position:absolute;z-index:3;width:9px;height:9px;border-radius:50%;background:#aaffc5;box-shadow:0 0 8px #fff,0 0 20px #2dff83;animation:radarBlip 2.4s ease-in-out infinite}
  .heroOrbits span:nth-of-type(1){left:23%;top:35%}.heroOrbits span:nth-of-type(2){right:19%;top:28%;animation-delay:.7s}.heroOrbits span:nth-of-type(3){right:29%;bottom:18%;animation-delay:1.35s}.heroOrbits span:nth-of-type(4){left:34%;bottom:29%;animation-delay:1.85s}
}

@keyframes radarSweep{to{transform:rotate(360deg)}}

@keyframes radarBlip{0%,36%,100%{opacity:.2;transform:scale(.65)}48%,68%{opacity:1;transform:scale(1.45)}}

@media(max-width:800px){
  .heroOrbits{border:1px solid #39dd85;border-radius:50%;overflow:hidden;background:repeating-radial-gradient(circle at center,transparent 0 17px,#2ee98270 18px 19px,transparent 20px 35px),linear-gradient(#24e47d55 0 0) center/1px 100% no-repeat,linear-gradient(90deg,#24e47d55 0 0) center/100% 1px no-repeat;box-shadow:inset 0 0 24px #21ed8330,0 0 14px #1dd77968,0 0 28px #0b9f5750}
  .heroOrbits:before{content:"";position:absolute;inset:4px;border:1px solid #5dff9e88;border-radius:50%;background:repeating-conic-gradient(from 0deg,#7affadcc 0deg 1.5deg,transparent 1.5deg 8deg);mask:radial-gradient(circle,transparent 0 84%,#000 84% 100%);-webkit-mask:radial-gradient(circle,transparent 0 84%,#000 84% 100%)}
  .heroOrbits:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from -35deg,transparent 0deg 286deg,#20ff7900 296deg,#20ff7938 323deg,#5bff9ecf 355deg,#d9ffe6 360deg);filter:drop-shadow(0 0 7px #38ff8f);animation:radarSweep 4.8s linear infinite}
  .heroOrbits i{z-index:2;pointer-events:none}.heroOrbits i:nth-child(2){inset:25px}.heroOrbits i:nth-child(3){inset:52px;border-width:1px}.heroOrbits i:before{width:4px;height:4px}
  .heroOrbits span{display:block;position:absolute;z-index:3;width:5px;height:5px;border-radius:50%;background:#aaffc5;box-shadow:0 0 5px #fff,0 0 10px #2dff83;animation:radarBlip 2.4s ease-in-out infinite}
  .heroOrbits span:nth-of-type(1){left:23%;top:35%}.heroOrbits span:nth-of-type(2){right:19%;top:28%;animation-delay:.7s}.heroOrbits span:nth-of-type(3){right:29%;bottom:18%;animation-delay:1.35s}.heroOrbits span:nth-of-type(4){left:34%;bottom:29%;animation-delay:1.85s}
}

@media(max-width:800px){.ticker{height:19px;font-size:6px;letter-spacing:.16em}}

@media(min-width:801px){.backButton{display:none}.hero .eyebrow{background:transparent;border:0;box-shadow:none;padding:0}}

@media(min-width:801px){html{scroll-behavior:auto}}

@media(min-width:801px){html,body{overflow-x:hidden}}

@media(min-width:801px){#about{scroll-margin-top:48px!important;min-height:calc(100vh - 48px);box-sizing:border-box;padding-bottom:0;margin-bottom:0;background:linear-gradient(#f7faf7a8,#f7faf7a8),url('/assets/company-city-night-v2.png') center/cover no-repeat}}

@media(min-width:801px){#history{scroll-margin-top:24px!important;background-color:#fff;background-image:linear-gradient(#f7faf790,#f7faf790),url('/assets/miyajima-selected-sunset.jpg');background-position:center top;background-size:100% 760px;background-repeat:no-repeat}.historyTop h2{font-size:clamp(34px,3.8vw,52px);line-height:1.52}.historyHeadlineLine{display:block;white-space:nowrap;word-break:keep-all}.historyTop>p{font-size:20px;line-height:1.55}.historyTop>p .personName{white-space:nowrap;word-break:keep-all;font-weight:900}.historyTop>p .kamiki{color:#b78118}.historyTop>p .suzuki{color:#168ed5}.historyTop>p .yonaha{color:#d52e2e}.historyTop>p .fujii{color:#7d43c7}.historyTop>p .kawazoe{color:#069db4}}

@media(min-width:801px){#history .historyPolicy{margin-top:240px}}

@media(min-width:801px){#about .introTitle{transform:translateY(-25mm)}}

@media(min-width:801px){#about .introText p{font-size:30px;line-height:1.7}}

@media(min-width:801px){#about .introText{transform:translateY(-25mm)}}

@media(min-width:801px){.introNumberButtons{display:flex;gap:14px;margin-top:28px}.introNumberButtons button,.introNumberButtons a{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #64717b;border-radius:50%;background:transparent;color:#43515d;font:600 17px Arial;text-decoration:none;cursor:pointer;transition:.2s}.introNumberButtons .active,.introNumberButtons button:hover,.introNumberButtons a:hover{background:#168a59;border-color:#168a59;color:#fff;box-shadow:0 5px 14px #168a5938}}

@media(min-width:801px){.historyNumberButtons{position:relative;z-index:4;margin-top:24px;padding-left:4px}}

@media(max-width:800px){.introNumberButtons{display:none}}

@media(max-width:800px){
  .historyLine{position:relative;width:100%;max-width:100%;height:300px;margin:34px auto 0;padding:0;border:0;border-radius:50%;display:block;overflow:hidden;background:transparent;box-shadow:none;overscroll-behavior-x:none}
  .historyLine:before{content:"BANSEI\A 志の継承";white-space:pre;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;display:grid;place-items:center;text-align:center;color:white;font-size:11px;font-weight:900;line-height:1.45;letter-spacing:.05em;background:radial-gradient(circle at 35% 28%,#21a970,#0a3c30 62%,#041610);border:2px solid #e0be69;box-shadow:0 0 0 6px #ffffff08,0 0 28px #29d48b4a}
  .historyLine:after{content:none}
  .historyLine>div{position:absolute;left:0;top:0;right:auto!important;bottom:auto!important;z-index:2;width:56px;height:56px;min-width:0;margin:0;padding:5px;border:2px solid #72dda7;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;background:#071d2e;will-change:left,top,transform,filter}
  .historyLine>div small{color:#77e4ae;font-size:6px}.historyLine>div b{font-size:12px;margin-top:2px;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.historyLine>div>span{display:block;margin-top:2px;color:#fff;font-size:8px;font-weight:800;line-height:1}
  .historyLine>div:nth-of-type(1){border-color:#fff0ad;background:linear-gradient(145deg,#e9c766,#9e6e1d);color:#061627}.historyLine>div:nth-of-type(1) small{color:#4b350a}
  .historyLine>div:nth-of-type(2){border-color:#a9dcff;background:linear-gradient(145deg,#2f9de8,#07528d)}.historyLine>div:nth-of-type(3){border-color:#ffc0c0;background:linear-gradient(145deg,#f04444,#8d1010)}.historyLine>div:nth-of-type(4){border-color:#e0c4ff;background:linear-gradient(145deg,#965ce4,#4d237e)}.historyLine>div:nth-of-type(5){border-color:#b9f8ff;background:linear-gradient(145deg,#27bdd2,#08687c)}.historyLine>div:nth-of-type(6){border-color:#bfffd9;background:linear-gradient(145deg,#28a96d,#0b5938)}.historyLine>div:nth-of-type(n+2) small{color:#fff}
  .historyLine>i{display:none}.guideMenuPanel,.guideMenuGrid{max-width:100%}
}

@media(min-width:801px){.banseiHeroCopy .heroLead{margin:82px 0 0;color:#fff;font-weight:800;line-height:1.85;text-shadow:0 2px 4px #000,0 0 14px #000,0 0 28px #000}}

@media(min-width:801px){.banseiHeroCopy .banseiTypedHeading{transform:translateX(calc(-4.7vw - 32px))}}

/* Site-wide Japanese wrapping rule: no orphaned final character or split company names. */

:where(p,li,dt,dd,figcaption,a,button){text-wrap:pretty;line-break:strict}

:where(h1,h2,h3,h4){text-wrap:balance;line-break:strict}

:where(.brand,.footBrand,.managementBrand,.lineContact,.brandBanners figcaption) :where(b,h3,small){word-break:keep-all;overflow-wrap:normal}

.managementBrand h3 br{display:none}

@media(max-width:800px){
  :where(p,li,dt,dd,figcaption,a,button,h1,h2,h3,h4){orphans:2;widows:2}
  .managementBrand h3{font-size:clamp(20px,6vw,30px);line-height:1.35}
}

/* Page 03 — the Bansei philosophy, finished in the visual language of pages 01–02. */

.historyPolicy{isolation:isolate;overflow:hidden}

.historyPolicy:before{content:"03";position:absolute;z-index:-1;right:-18px;top:-58px;font:900 230px/.9 Arial,sans-serif;color:#ffffff08;letter-spacing:-.09em}

.historyPolicy .policyLead{margin:22px 0 8px;color:#f2d486;font-size:clamp(25px,2.7vw,39px);font-weight:900;letter-spacing:-.04em}

.historyPolicy>div:first-child{position:relative;z-index:2}

.historyPolicy .policyReturn{position:relative;z-index:2;align-self:center;width:210px;height:210px;margin:auto;border:2px solid #f2d486;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 38% 30%,#1dab74,#07513a 58%,#041d18);box-shadow:0 0 0 12px #ffffff0a,0 25px 65px #0006,0 0 50px #23dc8b38}

.policyReturn:before,.policyReturn:after{content:"";position:absolute;border:1px solid #7ceab166;border-radius:50%}

.policyReturn:before{inset:12px}

.policyReturn:after{inset:-22px;border-style:dashed;animation:policyOrbit 18s linear infinite}

.policyReturn small,.policyReturn b,.policyReturn span{display:block;position:relative;z-index:1}

.policyReturn small{color:#d9ffeb;font:900 8px Arial;letter-spacing:.25em}

.policyReturn b{margin:14px 0;color:#fff;font-size:22px;line-height:1.45}

.policyReturn span{color:#ffe7a1;font:900 8px Arial;letter-spacing:.2em}

@keyframes policyOrbit{to{transform:rotate(360deg)}}

.historyPolicy>ul{position:relative;z-index:2;grid-column:3;align-self:center}

.historyPolicy li{border-color:#ffffff2b}

.historyPolicy li b{color:#f2d486}

.historyPolicy li span{color:#eef8f3}

.policyNumberButtons{margin-top:30px}

.policyNumberButtons a,.policyNumberButtons button{border-color:#a8c9ba;color:#e7f8ef}

.policyNumberButtons .active{background:#f2d486!important;border-color:#f2d486!important;color:#061627!important}

@media(min-width:801px){
  #philosophy.historyPolicy{max-width:1250px;min-height:calc(100vh - 48px);margin-top:240px;padding:76px 68px;grid-template-columns:minmax(0,1.05fr) 230px minmax(330px,.8fr);gap:52px;align-items:center;background:radial-gradient(circle at 82% 18%,#168a5945,transparent 28%),linear-gradient(135deg,#061627 0%,#0b2f2a 58%,#154f37 100%);border-top:5px solid #f2d486;box-shadow:0 35px 90px #0616274a;color:#fff}
  #philosophy .eyebrow{color:#72e3ad}
  #philosophy h3{font-size:clamp(25px,2.7vw,38px);line-height:1.5;color:#fff;}
  #philosophy>div:first-child>p:last-of-type{max-width:570px;color:#c4d8d0;font-size:17px;line-height:2}
  .historyNumbers{position:relative;z-index:3}
}

@media(max-width:800px){
  #philosophy.historyPolicy{position:relative;margin:70px -4px 0;padding:54px 24px 46px;display:flex;flex-direction:column;gap:34px;background:radial-gradient(circle at 85% 15%,#168a5950,transparent 32%),linear-gradient(145deg,#061627,#0a3b2d);border-top:4px solid #f2d486;color:#fff;box-shadow:0 24px 55px #06162744}
  .historyPolicy:before{right:-8px;top:-25px;font-size:125px}
  .historyPolicy .policyLead{font-size:22px;line-height:1.55;white-space:nowrap;word-break:keep-all}
  #philosophy h3{font-size:clamp(25px,2.7vw,38px);line-height:1.5;color:#fff;}
  #philosophy>div:first-child>p:last-of-type{color:#c4d8d0;font-size:16px;line-height:1.85;word-break:auto-phrase;overflow-wrap:normal;text-wrap:pretty}
  #philosophy .policyNoBreak{white-space:nowrap;word-break:keep-all}
  .historyPolicy .policyReturn{width:170px;height:170px}
  .policyReturn b{font-size:18px}
  .historyPolicy>ul{width:100%}
}

@media(prefers-reduced-motion:reduce){.policyReturn:after{animation:none}}

/* Page 04 — the next president, carrying the succession story into recruitment. */

#next-president.historyNext{isolation:isolate;overflow:hidden;background:radial-gradient(circle at 79% 28%,#1dae7152,transparent 26%),linear-gradient(135deg,#04111e 0%,#082b28 58%,#116144 100%);border-top:5px solid #f2d486;box-shadow:0 35px 90px #0616274a}

#next-president.historyNext:before{content:"04";position:absolute;z-index:-1;right:-20px;top:-50px;color:#ffffff08;font:900 240px/.9 Arial,sans-serif;letter-spacing:-.09em}

#next-president.historyNext>small{color:#72e3ad}

#next-president.historyNext h3{max-width:810px;background:linear-gradient(90deg,#fff 25%,#f5d984);-webkit-background-clip:text;color:transparent}

#next-president.historyNext h3:after{max-width:760px;border-left-color:#f2d486;background:#061627b8;color:#fff;-webkit-text-fill-color:#fff}

.nextPresidentMark{position:absolute;z-index:2;right:78px;top:116px;width:238px;height:238px;border:2px solid #f2d486;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 38% 30%,#1bad72,#074c39 58%,#031b18);box-shadow:0 0 0 14px #ffffff09,0 30px 70px #0007,0 0 55px #26db8d3d}

.nextPresidentMark:before,.nextPresidentMark:after{content:"";position:absolute;border-radius:50%;pointer-events:none}

.nextPresidentMark:before{inset:13px;border:1px solid #7ceab177}

.nextPresidentMark:after{inset:-25px;border:1px dashed #7ceab177;animation:nextPresidentOrbit 20s linear infinite}

.nextPresidentMark small,.nextPresidentMark b,.nextPresidentMark span{display:block;position:relative;z-index:1}

.nextPresidentMark small{color:#d9ffeb;font:900 8px Arial;letter-spacing:.22em}

.nextPresidentMark b{margin:8px 0 2px;color:#fff;font:900 66px/.95 Arial;letter-spacing:-.06em}

.nextPresidentMark span{color:#ffe7a1;font-size:18px;font-weight:900}

@keyframes nextPresidentOrbit{to{transform:rotate(-360deg)}}

.presidentHandoff{width:min(760px,calc(100% - 330px));margin:26px 0 4px;display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;border:1px solid #ffffff2b;background:#ffffff09}

.presidentHandoff>span{min-height:76px;padding:16px 22px;display:flex;flex-direction:column;justify-content:center}

.presidentHandoff>span:last-child{background:linear-gradient(120deg,#168a5955,#c59a3a35)}

.presidentHandoff small,.presidentHandoff b{display:block}

.presidentHandoff small{color:#82dcb0;font:900 8px Arial;letter-spacing:.2em}

.presidentHandoff b{margin-top:5px;color:#fff;font-size:19px}

.presidentHandoff>span:last-child b{color:#ffe39a}

.presidentHandoff i{color:#f2d486;font:normal 900 25px Arial;text-align:center}

#next-president.historyNext>a{border:1px solid #f2d486;box-shadow:0 12px 35px #0005;transition:.2s}

#next-president.historyNext>a:hover{transform:translateY(-2px);background:#f2d486}

#next-president .recruitNow{border-color:#f2d486;background:#061627b8}

.nextPresidentNumberButtons a,.nextPresidentNumberButtons button{border-color:#a8c9ba;color:#e7f8ef}

.nextPresidentNumberButtons .active{background:#f2d486!important;border-color:#f2d486!important;color:#061627!important}

@media(min-width:801px){#next-president.historyNext{min-height:calc(100vh - 48px);padding:72px 68px 58px}#next-president.historyNext h3{padding-right:285px;font-size:clamp(39px,4.6vw,66px)}#next-president.historyNext h3:after{width:calc(100vw - 630px);min-width:570px}.nextPresidentNumberButtons{margin-top:27px}}

@media(max-width:800px){#next-president.historyNext{margin:0 -4px;padding:54px 24px 46px}#next-president.historyNext:before{right:-8px;top:-24px;font-size:128px}#next-president.historyNext h3{font-size:clamp(34px,10vw,50px)}.nextPresidentMark{position:relative;right:auto;top:auto;width:178px;height:178px;margin:38px auto}.nextPresidentMark b{font-size:48px}.presidentHandoff{width:100%;grid-template-columns:1fr 40px 1fr;margin-top:24px}.presidentHandoff>span{min-height:70px;padding:13px}.presidentHandoff b{font-size:16px}.presidentHandoff small{font-size:6px}#next-president.historyNext>a{margin-top:26px}.recruitNow{margin-top:18px}}

@media(prefers-reduced-motion:reduce){.nextPresidentMark:after{animation:none}}

/* Page 04 luxury pass — stronger gold, depth and a ceremonial finale. */

#next-president.historyNext{background:radial-gradient(circle at 82% 31%,#27c98355 0 11%,transparent 29%),radial-gradient(circle at 18% 100%,#c3912830,transparent 32%),linear-gradient(118deg,#020812 0%,#061c22 47%,#073d31 76%,#10291f 100%);border:1px solid #d9b85d;border-top:8px solid #f4d77e;box-shadow:inset 0 0 0 7px #061627,inset 0 0 0 8px #d9b85d70,0 42px 110px #06162770}

#next-president.historyNext:after{content:"";position:absolute;z-index:-1;inset:-35%;background:conic-gradient(from 215deg at 79% 33%,transparent 0 7deg,#f5d67912 8deg 9deg,transparent 10deg 18deg,#5ee9a719 19deg 20deg,transparent 21deg 31deg,#f5d67910 32deg 33deg,transparent 34deg 360deg);animation:pageFourGlow 16s ease-in-out infinite alternate;pointer-events:none}

@keyframes pageFourGlow{to{transform:rotate(7deg);filter:brightness(1.45)}}

#next-president.historyNext>small{display:inline-flex;align-items:center;gap:12px;color:#f4d77e;font-size:11px;text-shadow:0 0 18px #f1c95c80}

#next-president.historyNext>small:before{content:"";width:54px;height:1px;background:linear-gradient(90deg,#f4d77e,transparent);box-shadow:0 0 10px #f4d77e}

#next-president.historyNext h3{position:relative;filter:drop-shadow(0 10px 24px #0009);background:linear-gradient(105deg,#fff 0 32%,#fff0b5 55%,#c99228 78%,#fff0ae 100%);-webkit-background-clip:text}

#next-president.historyNext h3:after{border:1px solid #d9b85d80;border-left:6px solid #f4d77e;background:linear-gradient(105deg,#020b16e8,#0b2b28dc);box-shadow:inset 0 1px #ffffff18,0 20px 55px #0008,0 0 38px #d4ab3730}

.nextPresidentMark{width:278px;height:278px;right:66px;top:104px;border:3px solid #ffe49a;background:radial-gradient(circle at 36% 26%,#41d896,#087052 43%,#04271f 69%,#010b0d);box-shadow:0 0 0 5px #061627,0 0 0 7px #b9872d,0 0 0 18px #ffffff09,0 32px 85px #000b,0 0 75px #32ed9b66}

.nextPresidentMark:before{inset:18px;border:1px solid #ffe7a299;box-shadow:inset 0 0 35px #f6d36b24}

.nextPresidentMark:after{inset:-31px;border:2px dashed #e9c766aa;filter:drop-shadow(0 0 8px #f2d486)}

.nextPresidentMark b{font-size:80px;background:linear-gradient(#fff9dc,#e7b64f 65%,#9a6816);-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 5px 10px #0008)}

.nextPresidentMark span{font-size:21px;text-shadow:0 0 20px #f4d77e}

.presidentHandoff{border:1px solid #d9b85d99;background:linear-gradient(110deg,#020c17d9,#123527aa);box-shadow:inset 0 1px #ffffff17,0 18px 45px #0006}

.presidentHandoff>span:last-child{background:linear-gradient(120deg,#168a5968,#d0a33f55)}

.presidentHandoff i{font-size:31px;text-shadow:0 0 20px #f2d486}

.presidentHandoff b{font-size:22px}

#next-president.historyNext>a{padding:18px 27px;background:linear-gradient(135deg,#fffdf4,#f2d486);border:1px solid #fff1bd;box-shadow:0 14px 40px #0008,0 0 30px #e7bd4f35;font-size:13px;letter-spacing:.04em}

#next-president .recruitNow{border:1px solid #d9b85d99;background:linear-gradient(100deg,#020b16e8,#0b3029d6);box-shadow:inset 0 1px #ffffff1c,0 18px 48px #0007}

.nextPresidentNumberButtons .active{box-shadow:0 0 0 5px #f2d48620,0 0 24px #f2d48688!important}

@media(min-width:801px){#next-president.historyNext{padding:72px 72px 58px}#next-president.historyNext h3{font-size:clamp(44px,5vw,72px);max-width:880px;padding-right:300px}.presidentHandoff{margin-top:30px}}

@media(max-width:800px){#next-president.historyNext{border-width:1px;border-top-width:6px;box-shadow:inset 0 0 0 4px #061627,inset 0 0 0 5px #d9b85d70,0 28px 70px #06162760}.nextPresidentMark{width:204px;height:204px}.nextPresidentMark b{font-size:59px}.nextPresidentMark span{font-size:18px}#next-president.historyNext h3:after{border-left-width:4px}.presidentHandoff b{font-size:17px}}

@media(prefers-reduced-motion:reduce){#next-president.historyNext:after{animation:none}}

/* Full-site finishing pass — one premium Bansei visual system across every section. */

:root{--gold:#e6bd58;--gold2:#ffe59a;--deep:#020a13;--panel:#071827}

body{background:#020a13}

.history,.intro,.mobility,.benefits,.office,.recruitCulture{color:var(--ink)}

main>section{position:relative}

main>section:not(.hero):not(.intro):before{pointer-events:none}

.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px}

.eyebrow:before{content:"";flex:0 0 38px;height:1px;background:currentColor;box-shadow:0 0 10px currentColor}

.sectionHead h2,.bannerIntro h2,.partnersHead h2,.worksHead h2,.cultureLead h2,.benefitLead h2,.recruit h2,.banking h2{filter:drop-shadow(0 8px 22px #06162718)}

.brandBanners,.securityStageBright,.promise,.dx,.aiAtelier,.works,.androidWorks,.mobility,.toiletFeature,.benefits,.vehiclePurchase,.office,.recruitCulture,.recruit,.partners,.banking{border-top:1px solid #e6bd5860}

.brandBanners:after,.aiAtelier:after,.works:after,.toiletFeature:after,.partners:after{content:"";position:absolute;left:6vw;right:6vw;top:0;height:1px;background:linear-gradient(90deg,transparent,#ffe59a,#48d89a,#ffe59a,transparent);box-shadow:0 0 18px #e6bd5870;pointer-events:none}

.brandBanners figure,.worksShowcase figure,.securityPhotoGrid figure,.toiletFeatureGrid figure,.gallery figure{outline:1px solid #ffffff0d;outline-offset:-7px;box-shadow:0 26px 70px #020a1368;transition:transform .35s ease,box-shadow .35s ease}

.brandBanners figure:hover,.worksShowcase figure:hover,.securityPhotoGrid figure:hover,.toiletFeatureGrid figure:hover,.gallery figure:hover{transform:translateY(-4px);box-shadow:0 35px 90px #020a1390}

.companies article{background:radial-gradient(circle at 80% 15%,#168a5930,transparent 30%),linear-gradient(145deg,#04111e,#08283a);border-top:1px solid #e6bd5860}

.companies article.blue{background:radial-gradient(circle at 80% 15%,#26b9e930,transparent 30%),linear-gradient(145deg,#04111e,#092b44)}

.companies .line{background:linear-gradient(90deg,var(--gold),#58dda2);box-shadow:0 0 18px #58dda250}

.companies .blue .line{background:linear-gradient(90deg,var(--gold),var(--cyan))}

.promiseCopy,.office>div{background:radial-gradient(circle at 100% 0,#e6bd5815,transparent 32%),linear-gradient(145deg,#fff,#edf4ef)}

.promisePhoto,.office{box-shadow:inset 0 1px #e6bd5855}

.promiseCopy li{border-color:#b7c9be}

.promiseCopy li b{color:#b4831e;font-size:14px}

.dx{background:radial-gradient(circle at 78% 20%,#1c8eba38,transparent 29%),linear-gradient(125deg,#03101d,#082b45 57%,#0a4935)}

.dx img{border:2px solid var(--gold);box-shadow:18px 18px 0 #168a59,0 35px 90px #0008}

.chips span{border-color:#e6bd5860;background:linear-gradient(135deg,#ffffff12,#e6bd580d);color:#c9efff}

.aiGlass>div,.worksCards article,.benefitGrid article,.purchasePrices article{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}

.aiGlass>div:hover,.worksCards article:hover,.benefitGrid article:hover,.purchasePrices article:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 24px 55px #020a1355}

.worksOffer{outline:1px solid #fff2b852;outline-offset:-9px}

.offerCopy a,.recruit a{transition:transform .25s ease,box-shadow .25s ease}

.offerCopy a:hover{transform:translateY(-3px);box-shadow:0 18px 40px #0007}

.mobility{background:radial-gradient(circle at 8% 8%,#168a5918,transparent 25%),linear-gradient(150deg,#f8faf8,#e6eee9)}

.gallery{padding:10px;background:#061627;box-shadow:0 35px 90px #06162735}

.gallery figcaption{border-top-color:var(--gold)}

.benefits{background:radial-gradient(circle at 12% 10%,#e6bd5818,transparent 26%),linear-gradient(145deg,#e8efea,#f8faf8)}

.benefitPhoto{box-shadow:18px 18px 0 #061627,24px 24px 0 var(--gold)}

.benefitGrid article{border-top-color:var(--gold)}

.benefitGrid article b{color:#a97717}

.vehiclePurchase{background:radial-gradient(circle at 12% 50%,#168a5940,transparent 26%),linear-gradient(120deg,#020a13,#082940)}

.purchaseMark{border:1px solid var(--gold);box-shadow:inset 0 0 35px #168a5925,0 22px 55px #0007}

.purchaseMark b{background:linear-gradient(#fff6ce,var(--gold));-webkit-background-clip:text;color:transparent}

.recruitCulture{background:radial-gradient(circle at 90% 10%,#e6bd581b,transparent 25%),linear-gradient(145deg,#f8faf8,#e6eee8)}

.cultureStatement{border:1px solid #e6bd5880;box-shadow:0 35px 80px #06162735}

.cultureStatement>span{background:radial-gradient(circle,#168a5938,transparent 70%);color:var(--gold2)}

.retention{border-top:5px solid var(--gold);box-shadow:0 25px 65px #06162722}

.retention b span{background:linear-gradient(#188d5c,#c29227);-webkit-background-clip:text;color:transparent}

.recruit{background:radial-gradient(circle at 8% 30%,#34d58f35,transparent 27%),linear-gradient(120deg,#052719,#071d31 68%,#0a3b52)}

.lineContact{border:1px solid #e6bd5895;border-top:7px solid var(--gold);box-shadow:20px 20px 0 #04111f88,0 30px 80px #0007}

.lineContact figure{border:1px solid #d5b45e}

.partnerList,.banking ul{border-color:#e6bd5860;box-shadow:0 25px 65px #0005}

.partnerList button,.banking li{background:linear-gradient(145deg,#061522,#0b2638)}

.partnerList button:hover,.banking li:hover{background:linear-gradient(145deg,#0b3f31,#126342);border-left-color:var(--gold)}

footer{border-top:4px solid var(--gold);background:radial-gradient(circle at 80% 0,#168a5935,transparent 30%),#020811}

@media(min-width:801px){main>section:not(.hero):not(.ticker){scroll-margin-top:24px}.brandBanners,.aiAtelier,.works,.mobility,.toiletFeature,.recruitCulture,.partners{padding-top:155px;padding-bottom:155px}.securityStageBright,.promise,.dx,.benefits,.vehiclePurchase,.office,.recruit,.banking{min-height:calc(100vh - 48px)}.brandBanners figure,.worksShowcase figure,.securityPhotoGrid figure,.toiletFeatureGrid figure,.gallery figure{border-color:#e6bd5880}}

@media(max-width:800px){.eyebrow{font-size:10px;letter-spacing:.18em}.eyebrow:before{flex-basis:24px}.brandBanners,.aiAtelier,.works,.mobility,.toiletFeature,.recruitCulture,.partners{padding-top:88px;padding-bottom:88px}.brandBanners figure,.worksShowcase figure,.securityPhotoGrid figure,.toiletFeatureGrid figure,.gallery figure{outline-offset:-4px}.dx img{box-shadow:9px 9px 0 #168a59,13px 13px 0 var(--gold)}.benefitPhoto{box-shadow:10px 10px 0 #061627,14px 14px 0 var(--gold)}.lineContact{box-shadow:10px 10px 0 #04111f88}.partnerList button{font-size:12px}}

.partnerAdmin,.partnerAdd{display:none!important}

@media(max-width:800px){
  .partnerList{display:grid;grid-template-columns:none;grid-template-rows:repeat(3,minmax(58px,auto));grid-auto-flow:column;grid-auto-columns:minmax(245px,82vw);gap:1px;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin}
  .partnerList button{min-height:58px;scroll-snap-align:start}
}

/* Mobile readability: the desktop About page supplies its own background image,
   while mobile previously inherited the site's dark body behind dark copy. */

@media(max-width:800px){
  #about.intro{padding-top:28px;background:linear-gradient(145deg,#f8faf8,#e7efea);color:#102233}
  #about .introTitle h2{color:#102233;font-size:24px;line-height:1.65;white-space:nowrap;word-break:keep-all}
  #about .introText{border-top-color:#9eaea5}
  #about .introText p{color:#344a58;font-size:17px;line-height:2;font-weight:600;word-break:auto-phrase;overflow-wrap:normal;text-wrap:pretty}
  #about .companyName{white-space:nowrap;word-break:keep-all}
  #history .historyTop h2{font-size:24px;line-height:1.65;letter-spacing:-.04em}
  #history .historyHeadlineLine{display:block;white-space:nowrap;word-break:keep-all}
}

/* Desktop page 04: keep the complete recruitment panel in one viewport. */

@media(min-width:801px){
  #next-president.historyNext{
    min-height:calc(100dvh - 194px);
    padding:20px 32px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    grid-template-areas:"label pages" "story mark" "lead handoff" "recruit action";
    gap:12px 30px;
    align-content:center;
    align-items:center;
    scroll-margin-top:182px;
  }
  #next-president.historyNext>small{grid-area:label;font-size:11px}
  #next-president.historyNext h3{
    grid-area:story;min-width:0;max-width:none;margin:0;padding:0;
    font-size:clamp(28px,min(2.6vw,4.5vh),38px);line-height:1.2;
  }
  #next-president.historyNext h3:after{
    width:auto;min-width:0;max-width:none;margin-top:10px;padding:9px 14px;
    font-size:16px;line-height:1.5;
  }
  #next-president .nextPresidentMark{
    grid-area:mark;position:relative;right:auto;top:auto;justify-self:center;
    width:clamp(136px,22vh,180px);height:auto;aspect-ratio:1;margin:0;
  }
  #next-president .nextPresidentMark:before{inset:12px}
  #next-president .nextPresidentMark:after{inset:-17px}
  #next-president .nextPresidentMark small{font-size:8px;letter-spacing:.1em}
  #next-president .nextPresidentMark b{font-size:clamp(44px,7vh,60px);margin:5px 0 2px}
  #next-president .nextPresidentMark span{font-size:17px}
  #next-president.historyNext>p{grid-area:lead;min-width:0;margin:0}
  #next-president.historyNext>p:after{font-size:16px;line-height:1.5;white-space:normal}
  #next-president .presidentHandoff{
    grid-area:handoff;width:100%;margin:0;grid-template-columns:1fr 24px 1fr;
  }
  #next-president .presidentHandoff>span{min-height:56px;padding:8px}
  #next-president .presidentHandoff small{font-size:8px;letter-spacing:0}
  #next-president .presidentHandoff b{font-size:18px;margin-top:3px;white-space:nowrap}
  #next-president .presidentHandoff i{font-size:22px}
  #next-president .recruitNow{grid-area:recruit;max-width:none;margin:0;padding:10px 14px;gap:16px}
  #next-president .recruitNow b{font-size:16px;line-height:1.5}
  #next-president .recruitNow span{font-size:16px;line-height:1.5;text-wrap:pretty}
  #next-president.historyNext>a{
    grid-area:action;margin:0;padding:12px;min-height:44px;
    font-size:16px;line-height:1.5;letter-spacing:0;text-align:center;text-wrap:balance;
  }
  #next-president .nextPresidentNumberButtons{grid-area:pages;justify-content:center;gap:12px;margin:0}
  #next-president .nextPresidentNumberButtons a,
  #next-president .nextPresidentNumberButtons button{width:40px;height:40px;margin:0;padding:0}
}

@media(min-width:801px) and (max-width:1100px){
  #next-president.historyNext{grid-template-columns:minmax(0,1fr) 190px;padding-inline:22px;column-gap:24px;scroll-margin-top:238px;min-height:calc(100dvh - 250px)}
  #next-president .recruitNow{flex-direction:column;align-items:flex-start;gap:2px}
  #next-president .nextPresidentNumberButtons{gap:8px}
}

@media(min-width:801px) and (max-height:720px), (min-width:801px) and (max-width:1100px){
  #next-president.historyNext{padding-block:12px;row-gap:8px}
  #next-president.historyNext h3{font-size:28px;line-height:1.15}
  #next-president.historyNext h3:after{margin-top:8px;padding:6px 10px;font-size:14px;line-height:1.45}
  #next-president .nextPresidentMark{width:128px;margin:0}
  #next-president .nextPresidentMark:after{inset:-11px}
  #next-president .nextPresidentMark b{font-size:44px}
  #next-president .presidentHandoff>span{min-height:50px;padding:6px}
  #next-president .recruitNow{padding:8px 10px}
  #next-president .recruitNow span{font-size:14px;line-height:1.4}
  #next-president .nextPresidentNumberButtons a,
  #next-president .nextPresidentNumberButtons button{width:36px;height:36px}
}

@media(max-width:800px){
  #next-president .nextPresidentMark{position:relative;left:auto;right:auto;top:auto;margin:38px auto;align-self:center}
}

.offerMobileBreak{display:none}

.aiHeadlineBreak{display:none}

@media(max-width:800px){
  .offerCopy h3{font-size:30px;line-height:1.45;letter-spacing:-.035em;word-break:keep-all;text-wrap:auto}
  .offerCopy h3 .offerMobileBreak{display:block}
  .offerCopy>p{font-size:16px;line-height:2;word-break:auto-phrase;overflow-wrap:normal;text-wrap:pretty}
  .aiIntro h2{max-width:100%;font-size:30px;line-height:1.45;letter-spacing:-.035em;word-break:keep-all;text-wrap:auto}
  .aiIntro h2 em{display:block;max-width:100%}
  .aiIntro h2 .aiHeadlineBreak{display:block}
}

@media(max-width:450px){
  .aiGlass>div{min-height:145px;padding:18px 20px;display:flex;flex-direction:column;justify-content:center}
  .aiGlass h3{font-size:20px;line-height:1.35;margin:8px 0}
  .aiGlass p{margin:0;font-size:11px;line-height:1.7}
}

/* Mobile: keep the business section and every section below it inside the viewport. */

@media(max-width:800px){
  .brandBanners{
    width:100%;max-width:100%;min-width:0;overflow:hidden;
    grid-template-columns:minmax(0,1fr);
  }
  .brandBanners>*{width:100%;max-width:100%;min-width:0}
  .brandBanners .bannerIntro{grid-column:1;min-width:0}
  .brandBanners .bannerIntro h2{max-width:100%;font-size:clamp(30px,9.2vw,42px);overflow-wrap:anywhere}
  .brandBanners figure,
  .brandBanners .bannerMapLink,
  .brandBanners .managementBannerNew,
  .brandBanners .managementBrand,
  .brandBanners .managementBrand>*{min-width:0;max-width:100%}
  .brandBanners figure,
  .brandBanners .managementBannerNew{width:100%}
  .brandBanners .managementBrand h3{
    max-width:100%;font-size:20px;line-height:1.45;
    white-space:normal;word-break:keep-all;overflow-wrap:normal;
  }
  .brandBanners .managementBrand h3 br{display:block}
  .brandBanners img,
  .brandBanners video{max-width:100%}
  .brandBanners~section{width:100%;max-width:100%;min-width:0;overflow:hidden}
}

@media(prefers-reduced-motion:reduce){.brandBanners figure,.worksShowcase figure,.securityPhotoGrid figure,.toiletFeatureGrid figure,.gallery figure,.aiGlass>div,.worksCards article,.benefitGrid article,.purchasePrices article{transition:none}}

/* PC: remove the period and sales summary including its three frames. */

@media (min-width: 801px) {
  #history .historyNumbers { display: none; }
  #next-president.historyNext,
  #history .forecastNote,
  .introNumberButtons button[aria-label="4ページ"] { display: none; }
  .banseiAutoScroll { top: 12px; bottom: auto; }
  #about { background-image: linear-gradient(#f7faf780, #f7faf780), url('/assets/company-city-night-v2.png'); }
  #about .introTitle, #about .introText { font-family: "Yu Gothic", "Meiryo", sans-serif; color: #102535; }
  #about .introTitle h2 { font-weight: 800; line-height: 1.5; letter-spacing: 0; }
  #about .introText p { color: #102535; font-weight: 600; line-height: 1.85; }
}

@media (min-width: 801px) {
  .securityStage.securityStageBright { height: calc(100dvh - 48px); min-height: 560px; grid-template-columns: 1.2fr 1fr; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 12px; box-sizing: border-box; }
  .securityStageBright .securityLeadImage { grid-column: 1; grid-row: 1; min-height: 0; height: 100%; }
  .securityStageBright .securityLeadImage figcaption { left: 20px; right: 20px; bottom: 16px; }
  .securityStageBright .securityLeadImage b { font-size: clamp(22px, 2vw, 30px); margin-top: 6px; }
  .securityStageBright .securityCopy { grid-column: 2; grid-row: 1 / 3; min-height: 0; padding: 16px 20px; justify-content: center; }
  .securityStageBright .securityCopy .securitySeal { width: 68px; height: 68px; margin: 0 0 12px; box-shadow: none; flex-shrink: 0; }
  .securityStageBright .securitySeal b { font-size: 26px; }
  .securityStageBright .securitySeal small, .securityStageBright .securitySeal span { font-size: 7px; }
  .securityStageBright .securityCopy .eyebrow { font-size: 12px; margin: 0; }
  .securityStageBright .securityCopy h2 { font-size: clamp(26px, 2.6vw, 38px); line-height: 1.25; margin: 10px 0; }
  .securityStageBright .securityCopy > p:not(.eyebrow) { font-size: 16px; line-height: 1.65; margin: 8px 0; }
  .securityStageBright .securityServices { margin: 10px 0; gap: 6px; }
  .securityStageBright .securityServices span { padding: 8px; font-size: 14px; }
  .securityStageBright .securityCopy blockquote { margin: 8px 0 0; padding: 10px 0 0; font-size: 16px; line-height: 1.6; }
  .securityStageBright .securityPhotoGrid { grid-column: 1; grid-row: 2; min-height: 0; padding: 0; gap: 10px; }
  .securityStageBright .securityPhotoGrid figure { height: 100%; min-height: 0; }
  .securityStageBright .securityPhotoGrid figcaption { padding: 14px; }
  .securityStageBright .securityPhotoGrid b { font-size: 22px; margin: 5px 0; }
  .securityStageBright .securityPhotoGrid span { font-size: 14px; line-height: 1.5; }
}

@media (min-width: 801px) {
  main { padding-top: 66px; }
  main > header { position: fixed; inset: 0 0 auto; height: 66px; box-sizing: border-box; z-index: 100; }
  .guideMenuPanel { top: 66px; }
}

@media (min-width: 801px) { .guideMenuGrid a[aria-current="location"] { background: linear-gradient(135deg,#f4d77e,#d8ab45); color: #061627; border-color: #fff0b5; box-shadow: 0 0 0 2px #f4d77e55; font-weight: 900; } }

@media (min-width:801px) {
  #business.brandBanners { padding:18px 3vw; min-height:calc(100dvh - 142px); box-sizing:border-box; gap:14px; grid-template-rows:auto 1fr; align-content:start; scroll-margin-top:142px; }
  #business .bannerIntro { margin:0; max-width:none; }
  #business .bannerIntro .eyebrow { margin:0 0 6px; }
  #business .bannerIntro h2 { font-size:clamp(26px,3vw,40px); line-height:1.35; margin:0; }
  #business > figure { align-self:center; }
  #business .managementBannerNew { min-height:0; padding:16px; align-self:center; }
  #business .managementBrand { grid-template-columns:90px 1fr; gap:14px; padding-bottom:10px; }
  #business .managementBrand img { width:90px; height:80px; }
  #business .managementBrand h3 { font-size:20px; margin:6px 0; }
  #business .managementBrand p { font-size:14px; line-height:1.5; margin:6px 0; }
  #business .managementBannerNew ul { margin:10px 0 0; gap:6px; }
  #business .managementBannerNew li { min-height:44px; padding:7px 10px; gap:8px; }
  #business .managementBannerNew li > span { font-size:14px; }
  #business .managementBannerNew li small { font-size:12px; margin-top:2px; }
}

@media (min-width:801px) {
  #works.works { padding:18px 3vw 40px; scroll-margin-top:142px; }
  #works .worksHead { gap:24px; grid-template-columns:1.2fr 1fr; }
  #works .worksHead .eyebrow { margin:0 0 6px; }
  #works .worksHead h2 { font-size:clamp(26px,2.6vw,36px); line-height:1.3; margin:0; }
  #works .worksHead > p { padding-top:8px; margin:0; }
  #works .worksHead > p:after { font-size:14px; line-height:1.6; }
  #works .appLineup { margin:14px auto 0; padding:12px; }
  #works .appLineupTitle { margin-bottom:10px; gap:12px; }
  #works .appLineupTitle h3 { font-size:18px; }
  #works .appIconRail { gap:10px; }
  #works .appIconCard { padding:8px; }
  #works .appIconCard img { width:auto; height:clamp(65px,calc((100dvh - 390px) / 2),150px); max-width:100%; margin:auto; object-fit:contain; }
  #works .appIconCard figcaption { margin-top:5px; font-size:14px; }
  #works .appIconDescription { display:none; }
  #works .inspectionDetail { margin-top:40px; }
}

.appIconPlaceholder { display:none; }

@media (min-width:801px) {
  #works .appIconCard img { height:clamp(32.5px,calc((100dvh - 390px) / 4),75px); }
  #works .appIconDescription { display:block; min-height:3em; margin:6px 0 0; font-size:14px; line-height:1.5; color:#dce6ed; white-space:pre-line; }
  #works .appIconPlaceholder { display:block; background:transparent; border:1px solid #ffffff30; box-shadow:none; }
}

@media(min-width:801px){
  .introNumberButtons { gap:8px; flex-wrap:wrap; }
  .introNumberButtons a,.introNumberButtons button { display:flex; justify-content:center; align-items:center; gap:8px; width:auto; min-width:120px; height:48px; padding:0 14px; border:2px solid #ccd6df; border-radius:10px; background:#fff; color:#142b3d; font:700 14px "Yu Gothic","Meiryo",sans-serif; box-shadow:0 3px 10px #0002; }
  .introNumberButtons .sectionStep { font-size:12px; opacity:.75; }
  .introNumberButtons .active { background:#176443; border-color:#176443; color:#fff; box-shadow:0 0 0 3px #ffffffb3; }
  .introNumberButtons a:hover,.introNumberButtons button:hover { background:#e7f3ed; color:#142b3d; border-color:#176443; }
  .introNumberButtons .active:hover { background:#176443; color:#fff; }
  .introNumberButtons a:focus-visible,.introNumberButtons button:focus-visible { outline:3px solid #e8b844; outline-offset:3px; }
}

@media(min-width:801px){
  .introNumberButtons { gap:6px; }
  .introNumberButtons a,.introNumberButtons button { min-width:80px; height:34px; padding:0 9px; gap:5px; border:1px solid #b99b5c; border-radius:7px; background:linear-gradient(160deg,#20374b,#0c1b2b); color:#f2e7cf; font-size:12px; box-shadow:inset 0 1px 0 #ffffff18,0 2px 5px #0003; }
  .introNumberButtons .sectionStep { font-size:10px; color:#d3b777; opacity:1; }
  .introNumberButtons .active,.introNumberButtons .active:hover { background:linear-gradient(145deg,#ecdaa8,#c5a35d); border-color:#f1dfae; color:#162535; box-shadow:inset 0 1px 0 #fff6,0 2px 5px #0003; }
  .introNumberButtons .active .sectionStep { color:#34404a; }
  .introNumberButtons a:hover,.introNumberButtons button:hover { background:linear-gradient(160deg,#2c465b,#15283b); border-color:#ecd49a; color:#fff2d6; }
}

@media(min-width:801px){.introNumberButtons a,.introNumberButtons button{border-radius:999px;}}

@media(min-width:801px){.introNumberButtons a,.introNumberButtons button{width:132px;min-width:132px;height:34px;box-sizing:border-box;flex:0 0 132px;white-space:nowrap;}}

@media(min-width:801px){main>header>nav>a[href="#about"],main>header>nav>a[href="#history"],main>header>nav>a[href="#business"],main>header>nav>a[href="#works"]{display:none;}}

@media(min-width:801px){
  #about.intro { scroll-margin-top:142px!important; min-height:calc(100dvh - 142px); padding-top:36px; padding-bottom:36px; align-items:center; }
  #about .introTitle,#about .introText { transform:none; }
  #about .introText { padding-top:0; padding-bottom:0; border-top:0; }
  #about .introText p { margin-top:0; margin-bottom:0; }
}

@media(min-width:801px){
  #history .historyTop>p{color:#102535;font-weight:700;font-family:"Yu Gothic","Meiryo",sans-serif;text-shadow:0 1px 1px #fff8;}
  #history .historyTop .personName{font-weight:800;}
  #history .historyTop .kamiki{color:#79520b;}
  #history .historyTop .suzuki{color:#075985;}
  #history .historyTop .yonaha{color:#a1222b;}
  #history .historyTop .fujii{color:#59308c;}
  #history .historyTop .kawazoe{color:#086575;}
}

@media(min-width:801px){
  #works .appIconRail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
  #works .appIconCard{min-width:0;margin:0;padding:6px;}
  #works .appIconCard img{height:clamp(32px,calc((100dvh - 420px)/3),54px);}
  #works .appIconCard figcaption{font-size:12px;margin-top:4px;line-height:1.4;}
  #works .appIconDescription{min-height:2.8em;font-size:12px;line-height:1.4;margin:4px 0 0;}
}

@media(min-width:801px){main>section.companies{display:none;}}

@media(min-width:801px){.securityStage .securitySeal{display:none;}}

@media(min-width:801px){
 .securityStage.securityStageBright{height:auto;min-height:calc(100dvh - 142px);scroll-margin-top:142px;}
 .securityStageBright .securityCopy{padding:24px;justify-content:center;}
 .securityStageBright .securityCopy h2{font-size:clamp(24px,2.3vw,32px);line-height:1.5;margin:12px 0 18px;letter-spacing:0;}
 .securityStageBright .securityCopy>.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.08em;}
 .securityStageBright .securityCopy>p:not(.eyebrow){font-size:16px;line-height:1.8;margin:0 0 12px;color:#dce8ef;}
 .securityStageBright .securityCopy blockquote{font-size:16px;line-height:1.7;}
}

@media(min-width:801px){
 .securityStage.securityStageBright{height:calc(100dvh - 142px);min-height:0;grid-template-rows:minmax(0,1fr) minmax(0,1fr);overflow:visible;}
 .securityStageBright .securityCopy{padding:12px 18px;min-height:0;justify-content:center;}
 .securityStageBright .securityCopy h2{margin:6px 0 10px;}
 .securityStageBright .securityCopy h2{font-size:clamp(22px,2vw,28px);line-height:1.35;}
 .securityStageBright .securityCopy>p:not(.eyebrow){font-size:14px;line-height:1.6;margin:0 0 8px;}
 .securityStageBright .securityServices{gap:5px;margin:7px 0;}
 .securityStageBright .securityServices span{padding:6px;font-size:12px;}
 .securityStageBright .securityCopy blockquote{font-size:14px;line-height:1.5;margin:6px 0 0;padding:7px 0 0;}
 .securityStageBright .securityLeadImage,.securityStageBright .securityPhotoGrid,.securityStageBright .securityPhotoGrid figure{min-height:0;height:100%;}
 .securityStageBright .securityLeadImage video,.securityStageBright .securityPhotoGrid video{width:100%;height:100%;object-fit:cover;}
 .securityStageBright .securityLeadImage figcaption{left:16px;bottom:12px;}
 .securityStageBright .securityLeadImage b{font-size:22px;line-height:1.3;}
 .securityStageBright .securityPhotoGrid figcaption{padding:10px;}
 .securityStageBright .securityPhotoGrid b{font-size:18px;line-height:1.3;margin:3px 0;}
 .securityStageBright .securityPhotoGrid span{font-size:12px;line-height:1.4;}
}

@media(min-width:801px){
 #business-security .securityCopy{isolation:isolate;container-type:size;}
 #business-security .securityRadar{left:50%;right:auto;top:50%;width:min(calc(100cqw + 28px),calc(100cqh + 16px));height:auto;aspect-ratio:1;transform:translate(-50%,-50%);opacity:.2;z-index:0;pointer-events:none;}
 #business-security .securityCopy>:not(.securityRadar):not(.securitySeal){position:relative;z-index:1;}
 #business-security .securityCopy h2 em{color:#f2d482;}
}

@media(prefers-reduced-motion:reduce){
 #business-security .securityRadar:after,#business-security .securityRadar i,#business-security .securityRadar span{animation:none;}
}

.businessPages{display:none}

@media(min-width:801px){
 #business.brandBanners,#business-dx.dx,#business-security.securityStage{position:relative;padding-top:60px;scroll-margin-top:142px!important;}
 .businessPages{display:flex;position:absolute;top:12px;left:24px;gap:6px;z-index:3;}
 .businessPages a{display:flex;align-items:center;justify-content:center;width:132px;height:34px;box-sizing:border-box;border:1px solid #b99b5c;border-radius:999px;background:linear-gradient(160deg,#20374b,#0c1b2b);color:#f2e7cf;font:700 12px "Yu Gothic","Meiryo",sans-serif;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff18,0 2px 5px #0003;}
 .businessPages a[aria-current="page"]{background:linear-gradient(145deg,#ecdaa8,#c5a35d);color:#162535;border-color:#f1dfae;}
 .businessPages a:focus-visible{outline:3px solid #e8b844;outline-offset:3px;}
}

@media(min-width:801px){#business.brandBanners{padding-top:18px;}#business>.businessPages{left:auto;right:3vw;top:34px;}}

@media(min-width:801px){#business-dx>.businessPages,#business-security>.businessPages{left:auto;right:3vw;top:12px;}}

@media(min-width:801px){
 #about.intro,#history .historyTop,#philosophy.historyPolicy{position:relative;padding-top:64px;}
 .introNumberButtons{position:absolute;right:24px;top:14px;left:auto;margin:0;justify-content:flex-end;z-index:3;}
 #about .introTitle,#history .historyTop>div,#philosophy.historyPolicy>div{position:static;}
 .businessPages,#business>.businessPages,#business-dx>.businessPages,#business-security>.businessPages{left:auto;right:24px;top:14px;}
 #business.brandBanners{padding-top:60px;}
}

@media(min-width:801px){#business-ai.aiAtelier{position:relative;padding-top:64px;scroll-margin-top:142px!important;}#business-ai>.businessPages{left:auto;right:24px;top:14px;}}

.aiLightSweep{display:none;}

@media(min-width:801px){
 #business-ai.aiAtelier{padding:60px 3vw 16px;min-height:calc(100dvh - 142px);box-sizing:border-box;overflow:visible;}
 #business-ai .aiIntro{grid-template-columns:.9fr 1.1fr;gap:6px 28px;align-items:center;isolation:isolate;}
 #business-ai .aiLightSweep{display:block;position:absolute;grid-column:2;grid-row:1/4;inset:0;overflow:hidden;z-index:0;pointer-events:none;}
 #business-ai .aiLightSweep:before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 32%,#fff5c780 47%,#d7ffff9c 51%,transparent 66%);animation:luxSweepDesktop 7s ease-in-out infinite;}
 #business-ai .aiIntro>.eyebrow,#business-ai .aiIntro>h2,#business-ai .aiIntro>p:last-child{position:relative;z-index:1;}
 #business-ai .aiIntro:before{height:clamp(130px,calc(100dvh - 455px),260px);aspect-ratio:auto;box-shadow:7px 7px 0 #168a5955;}
 #business-ai .aiIntro .eyebrow{margin:0;font-size:12px;}
 #business-ai .aiIntro h2{font-size:clamp(24px,2.3vw,32px);line-height:1.35;letter-spacing:0;}
 #business-ai .aiIntro h2 .aiHeadlineBreak{display:block;}
 #business-ai .aiIntro>p:last-child{font-size:14px;line-height:1.5;padding-top:8px;color:#d0dfe9;}
 #business-ai .aiGlass{margin:28px auto 0;}
 #business-ai .aiGlass>small{top:-18px;}
 #business-ai .aiGlass>div{min-height:0;padding:10px 12px;}
 #business-ai .aiGlass h3{font-size:16px;line-height:1.3;margin:5px 0;}
 #business-ai .aiGlass p{font-size:12px;line-height:1.45;margin:0;color:#c7d9e5;}
 #business-ai .aiSignature{padding:6px;margin:8px auto 0;font-size:10px;gap:14px;}
}

@media(prefers-reduced-motion:reduce){#business-ai .aiLightSweep{display:none;}}

@media(min-width:801px){#works .inspectionDetail{display:none;}}

@media(min-width:801px){
 #business-support{position:relative;padding:60px 0 14px;min-height:calc(100dvh - 142px);box-sizing:border-box;scroll-margin-top:142px!important;}
 #business-support .worksOffer{grid-template-columns:.65fr 1.35fr;}
 #business-support .offerPrice,#business-support .offerCopy{padding:12px 18px;}
 #business-support .offerPrice b{font-size:28px;margin-top:8px;}
 #business-support .offerCopy h3{font-size:24px;line-height:1.25;margin:6px 0;}
 #business-support .offerCopy p{font-size:12px;line-height:1.5;margin:4px 0;}
 #business-support .offerCopy a{margin-top:6px;padding:8px 12px;}
 #business-support .developmentApproach{padding:10px 18px;font-size:12px;line-height:1.4;white-space:pre-line;}
 #business-support .worksCards{gap:8px;margin-top:8px;}
 #business-support .worksCards article{padding:8px 10px;}
 #business-support .worksCards h3{font-size:16px;margin:4px 0;}
 #business-support .worksCards p{font-size:12px;line-height:1.4;margin:0;color:#c9dce8;}
 #business-support .worksNote{font-size:12px;margin-top:6px;}
}

@media(min-width:801px){
 .businessPages{gap:5px;max-width:calc(100% - 48px);}
 .businessPages a{width:112px;flex:0 1 112px;white-space:nowrap;}
 #business-case.androidWorks{height:calc(100dvh - 142px);min-height:400px;box-sizing:border-box;padding:60px 3vw 14px;gap:14px 24px;grid-template-columns:.8fr 1.2fr;grid-template-rows:minmax(0,1fr) auto;scroll-margin-top:142px!important;}
 #business-case .androidBadge{padding:18px;box-shadow:7px 7px 0 var(--green);align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:0;}
 #business-case .androidBadge b{font-size:clamp(18px,2.3vw,30px);line-height:1.35;margin:8px 0;white-space:nowrap;align-self:center;text-align:center;}
 #business-case .androidAppIcon{width:clamp(100px,calc(100dvh - 550px),200px);max-height:200px;object-fit:contain;align-self:center;margin:8px auto 10px;border-radius:20%;box-shadow:0 8px 20px #0004;flex:0 1 auto;min-height:0;}
 #business-case .androidBadge p{font-size:14px;line-height:1.65;margin:8px 0;}
 #business-case .androidPhotos{min-height:0;}
 #business-case .androidPhotos figure{height:100%;min-height:0;}
 #business-case .androidPhotos img{width:100%;height:100%;object-fit:contain;}
 #business-case .androidPhotos figcaption{padding:5px 8px;font-size:10px;}
 #business-case .androidPoints span{padding:9px 5px;font-size:12px;}
}

@media(max-width:800px){#business-case .androidAppIcon{width:180px;max-width:70%;margin:20px auto;border-radius:20%;}}

.welfarePages{display:none}

@media(min-width:801px){
 #mobility.mobility{position:relative;height:calc(100dvh - 142px);min-height:400px;box-sizing:border-box;padding:60px 3vw 14px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:142px!important;}
 .welfarePages{display:flex;position:absolute;right:24px;top:14px;}
 .welfarePages a{display:flex;align-items:center;justify-content:center;width:132px;height:34px;border:1px solid #f1dfae;border-radius:999px;background:linear-gradient(145deg,#ecdaa8,#c5a35d);color:#162535;font:700 12px "Yu Gothic","Meiryo",sans-serif;text-decoration:none;}
 #mobility .sectionHead{margin:0;flex:0 0 auto;}
 #mobility .sectionHead .eyebrow{margin:0 0 5px;}
 #mobility .sectionHead h2{font-size:clamp(24px,2.5vw,34px);line-height:1.3;margin:0 0 6px;}
 #mobility .sectionHead p:not(.eyebrow){font-size:14px;line-height:1.5;margin:0;color:#253e4b;}
 #mobility .gallery{margin:0;flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr;gap:8px;}
 #mobility .gallery figure,#mobility .gallery .wide{grid-column:auto;grid-row:auto;height:100%;min-height:0;margin:0;}
 #mobility .gallery img{width:100%;height:100%;object-fit:cover;}
 #mobility .gallery figcaption{font-size:12px;padding:8px;}
}

@media(min-width:801px){
 .welfarePages{gap:6px;z-index:3;}
 .welfarePages a:not([aria-current]){background:linear-gradient(160deg,#20374b,#0c1b2b);color:#f2e7cf;border-color:#b99b5c;}
 #welfare-toilet.toiletFeature{height:calc(100dvh - 142px);min-height:400px;box-sizing:border-box;padding:60px 3vw 14px;display:flex;flex-direction:column;gap:10px;scroll-margin-top:142px!important;}
 #welfare-toilet .toiletFeatureHead{width:100%;gap:20px;align-items:center;}
 #welfare-toilet h2{font-size:clamp(24px,2.5vw,34px);line-height:1.3;margin:5px 0;}
 #welfare-toilet .eyebrow{margin:0;font-size:12px;}
 #welfare-toilet .toiletCount{min-width:160px;padding:8px 14px;box-shadow:5px 5px 0 #168a59;}
 #welfare-toilet .toiletCount b{font-size:36px;margin:4px;}
 #welfare-toilet .toiletCount strong{font-size:12px;padding:5px;}
 #welfare-toilet .toiletFeatureLead{width:100%;margin:0 auto;font-size:14px;line-height:1.5;}
 #welfare-toilet .toiletFeatureGrid{width:100%;flex:1;min-height:0;}
 #welfare-toilet .toiletFeatureGrid figure{height:100%;min-height:0;}
 #welfare-toilet .toiletFeatureGrid img{width:100%;height:100%;object-fit:cover;}
 #welfare-toilet .toiletFeatureGrid figcaption{padding:10px;}
 #welfare-toilet .toiletFeatureGrid figcaption b{font-size:16px;margin-top:3px;}
}

@media(min-width:801px){
 #welfare-benefits.benefits{position:relative;padding:60px 3vw 14px;min-height:calc(100dvh - 142px);box-sizing:border-box;display:grid;grid-template-columns:1fr 180px;gap:12px 24px;scroll-margin-top:142px!important;align-content:center;}
 #welfare-benefits .benefitLead .eyebrow{margin:0 0 4px;}
 #welfare-benefits .benefitLead h2{font-size:28px;line-height:1.3;margin:4px 0;}
 #welfare-benefits .benefitLead h2 br{display:none;}
 #welfare-benefits .benefitLead p:not(.eyebrow){font-size:14px;line-height:1.5;margin:6px 0;color:#253e4b;}
 #welfare-benefits .benefitPhoto{height:120px;box-shadow:5px 5px 0 var(--navy);}
 #welfare-benefits .benefitPhoto img{width:100%;height:100%;object-fit:cover;}
 #welfare-benefits .benefitPhoto span{font-size:10px;padding:4px;}
 #welfare-benefits .benefitGrid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;}
 #welfare-benefits .benefitGrid article{padding:9px 10px;min-height:0;}
 #welfare-benefits .benefitGrid h3{font-size:15px;line-height:1.35;margin:4px 0;}
 #welfare-benefits .benefitGrid p,#welfare-benefits .benefitGrid p:after{font-size:12px;line-height:1.45;color:#253e4b;margin:0;}
 #welfare-benefits .benefitNote{grid-column:1/-1;margin:0;}
}

@media(min-width:801px){
 #welfare-benefits.benefits{grid-template-columns:minmax(0,1fr);}
 #welfare-benefits .benefitPhoto{display:none;}
}

.purchaseBenefit{display:none;}

@media(min-width:801px){
 #welfare-benefits .purchaseBenefit{display:block;}
 main>.vehiclePurchase{display:none;}
 #welfare-benefits .purchaseBenefit small{display:block;font-size:10px;line-height:1.35;color:#455a64;margin-top:3px;}
 #welfare-benefits .purchaseBenefit p+p{margin-top:4px;}
 #welfare-benefits .benefitGrid{align-items:stretch;}
}

/* Modern desktop benefits overview */

@media(min-width:801px){
 #welfare-benefits.benefits{background:radial-gradient(ellipse at 95% 0%,#dbeee9 0,transparent 45%),#f3f6f8;padding:60px 3vw 18px;gap:14px;align-content:center;color:#142b3d;}
 #welfare-benefits .benefitLead .eyebrow{color:#137d72;font:700 11px Arial,sans-serif;letter-spacing:.18em;}
 #welfare-benefits .benefitLead h2{font-family:"Yu Gothic","Meiryo",sans-serif;font-weight:800;font-size:clamp(25px,2.5vw,34px);letter-spacing:-.035em;color:#142b3d;}
 #welfare-benefits .benefitLead h2 em{color:#128375;font-style:normal;}
 #welfare-benefits .benefitLead p:not(.eyebrow){font-size:13px;font-weight:500;line-height:1.5;color:#526675;}
 #welfare-benefits .benefitGrid{gap:12px;}
 #welfare-benefits .benefitGrid article{position:relative;background:#fff;border:1px solid #e2e9ed;border-radius:14px;box-shadow:0 4px 16px #17394b08;padding:12px 14px;min-width:0;}
 #welfare-benefits .benefitGrid article:before{display:none;}
 #welfare-benefits .benefitGrid article>b{display:inline-flex;align-items:center;justify-content:center;width:27px;height:24px;border-radius:7px;background:#e5f4ef;color:#087b67;font:800 11px Arial,sans-serif;letter-spacing:.02em;}
 #welfare-benefits .benefitGrid h3{font:700 16px/1.4 "Yu Gothic","Meiryo",sans-serif;letter-spacing:-.025em;margin:7px 0 5px;color:#142b3d;}
 #welfare-benefits .benefitGrid p,#welfare-benefits .benefitGrid p:after{font-family:"Yu Gothic","Meiryo",sans-serif;font-size:13px;font-weight:500;line-height:1.5;color:#415767;}
 #welfare-benefits .purchaseBenefit{background:#123b45;border-color:#123b45;box-shadow:0 5px 18px #123b451a;}
 #welfare-benefits .purchaseBenefit>b{background:#ffffff20;color:#9ee3ca;}
 #welfare-benefits .purchaseBenefit h3{color:#fff;}
 #welfare-benefits .purchaseBenefit p{color:#e0edf0;font-size:12px;}
 #welfare-benefits .purchaseBenefit small{color:#bdd2d7;font-size:10px;}
 #welfare-benefits .benefitNote{color:#637786;font-size:10px;}
}

@media(min-width:801px){
 #welfare-benefits .benefitGrid article.purchaseBenefit{background:#123b45;border-color:#123b45;box-shadow:0 5px 18px #123b451a;}
 #welfare-benefits .benefitGrid article.purchaseBenefit>b{background:#ffffff20;color:#9ee3ca;}
 #welfare-benefits .benefitGrid article.purchaseBenefit h3{color:#fff;}
 #welfare-benefits .benefitGrid article.purchaseBenefit p{color:#e0edf0;font-size:12px;}
 #welfare-benefits .benefitGrid article.purchaseBenefit small{color:#d1e2e6;}
}

@media(min-width:801px){
 #welfare-benefits .benefitGrid article{background:#123b45;border-color:#123b45;box-shadow:0 5px 18px #123b451a;}
 #welfare-benefits .benefitGrid article>b{background:#ffffff20;color:#9ee3ca;}
 #welfare-benefits .benefitGrid article h3{color:#fff;}
 #welfare-benefits .benefitGrid article p,#welfare-benefits .benefitGrid article p:after{color:#e0edf0;}
 #welfare-benefits .benefitGrid article small{color:#d1e2e6;}
}

.recruitPages{display:none;}

@media(min-width:801px){
 #recruit.recruitCulture{padding:60px 3vw 14px;min-height:calc(100dvh - 142px);box-sizing:border-box;scroll-margin-top:142px!important;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;align-content:center;}
 .recruitPages{display:flex;position:absolute;top:14px;right:24px;z-index:3;}
 .recruitPages a{display:flex;align-items:center;justify-content:center;width:132px;height:34px;border:1px solid #f1dfae;border-radius:999px;background:linear-gradient(145deg,#ecdaa8,#c5a35d);color:#162535;font:700 12px "Yu Gothic","Meiryo",sans-serif;text-decoration:none;}
 #recruit .cultureLead{grid-column:1/-1;width:100%;max-width:none;grid-template-columns:1fr 1.15fr;gap:24px;align-items:center;}
 #recruit .cultureVisual .eyebrow{font-size:10px;margin:0 0 6px;}
 #recruit .cultureVisual figure{margin:0;box-shadow:none;border-radius:12px;overflow:hidden;}
 #recruit .cultureVisual img{display:block;width:100%;height:clamp(140px,calc(100dvh - 470px),260px);object-fit:cover;object-position:center 65%;}
 #recruit .cultureCopy h2{font-size:clamp(24px,2.5vw,34px);line-height:1.4;letter-spacing:-.035em;margin:0 0 10px;}
 #recruit .cultureCopy p{font-size:13px;line-height:1.65;margin:0;color:#304653;}
 #recruit .cultureStatement{width:100%;margin:0;display:grid;grid-template-columns:90px 1fr;border:0;border-radius:12px;box-shadow:none;}
 #recruit .cultureStatement>span{padding:12px;font-size:17px;line-height:1.1;letter-spacing:0;}
 #recruit .cultureStatement>div{padding:12px;}
 #recruit .cultureStatement b{font-size:17px;line-height:1.4;}
 #recruit .cultureStatement p{font-size:12px;line-height:1.5;margin:6px 0 0;}
 #recruit .retention{width:100%;margin:0;grid-template-columns:145px 1fr;border:1px solid #dde5e2;border-radius:12px;box-shadow:none;}
 #recruit .retention>div{padding:10px;}
 #recruit .retention b{font-size:18px;margin:2px;}
 #recruit .retention b span{font-size:38px;}
 #recruit .retention>div p{font-size:10px;margin:3px 0;}
 #recruit .retention>div em{font-size:9px;margin:3px 0;}
 #recruit .retention>p{padding:12px;font-size:12px;line-height:1.6;margin:0;color:#304653;}
 #recruit .cultureNote{grid-column:1/-1;width:100%;max-width:none;margin:0;font-size:9px;}
 #recruit-contact{scroll-margin-top:142px!important;}
}

@media(min-width:801px){
 #recruit .cultureStatement{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0;}
 #recruit .cultureStatement>span{padding:10px 14px 0;font-size:10px;line-height:1.4;letter-spacing:.1em;border:0;background:none;overflow-wrap:anywhere;}
 #recruit .cultureStatement>span br{display:none;}
 #recruit .cultureStatement>span br:after{content:' ';}
 #recruit .cultureStatement>div{padding:6px 14px 12px;min-width:0;}
}

@media(min-width:801px){
 #recruit-contact{position:relative;}
 .recruitPages{gap:6px;}
 .recruitPages a:not([aria-current]){background:linear-gradient(160deg,#20374b,#0c1b2b);color:#f2e7cf;border-color:#b99b5c;}
}

@media(min-width:801px){
 #partners.partners{height:calc(100dvh - 142px);min-height:440px;box-sizing:border-box;padding:18px 3vw 12px;display:flex;flex-direction:column;gap:8px;scroll-margin-top:142px!important;}
 #partners .partnersHead{width:100%;max-width:none;margin:0;grid-template-columns:1fr 1fr;gap:4px 20px;align-items:center;}
 #partners .partnersHead .eyebrow{margin:0;font-size:10px;}
 #partners .partnersHead h2{font-size:26px;line-height:1.3;letter-spacing:-.03em;}
 #partners .partnersHead h2 br{display:none;}
 #partners .partnersHead>p:not(.eyebrow){font-size:12px;line-height:1.4;margin:0;}
 #partners .partnerList{width:100%;max-width:none;margin:0;flex:1;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(27px,1fr);overflow:auto;box-shadow:none;}
 #partners .partnerList button{min-height:27px;padding:4px 7px;font-size:11px;line-height:1.3;overflow-wrap:anywhere;}
 #partners .partnerDirect{min-height:27px;padding:2px 5px;}
 #partners .partnerDirect input{padding:2px 4px;font-size:11px;line-height:1.3;}
 #partners .partnerAdmin{width:100%;max-width:none;margin:0;gap:8px;}
 #partners .partnerAdmin button{padding:5px 10px;}
 #partners>small{margin:0;width:100%;max-width:none;font-size:9px;}
}

.partnerBanks{display:none;}

@media(min-width:801px){
 main>.banking{display:none;}
 #partners.partners{background:radial-gradient(ellipse at 95% 0%,#17444c,transparent 65%),#081b2c;padding:14px 3vw 10px;gap:7px;}
 #partners .partnersHead h2{font-size:24px;font-weight:700;}
 #partners .partnerList{background:none;border:0;gap:5px;grid-auto-rows:minmax(25px,1fr);}
 #partners .partnerList button,#partners .partnerDirect{border:1px solid #50727f;border-radius:999px;background:#163444;min-height:25px;padding:3px 9px;box-shadow:0 2px 5px #0001;justify-content:center;text-align:center;font-size:11px;line-height:1.25;}
 #partners .partnerList button:hover{background:#235463;border-color:#8ecab9;transform:none;}
 #partners .partnerDirect{background:transparent;border-style:dashed;}
 #partners .partnerDirect input{text-align:center;border-radius:999px;}
 #partners .partnerAdmin button{border-radius:999px;padding:4px 12px;}
 #partners .partnerBanks{display:flex;gap:14px;align-items:center;width:100%;border-top:1px solid #ffffff20;padding-top:7px;}
 #partners .partnerBanks h3{font-size:13px;color:#9ce0c6;margin:0;white-space:nowrap;}
 #partners .partnerBanks ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none;flex:1;}
 #partners .partnerBanks li{border:1px solid #609589;border-radius:999px;padding:7px 9px;text-align:center;background:#17483f;color:#fff;font-size:12px;font-weight:700;}
 #partners .partnerBanks span{font-size:10px;font-weight:500;color:#c1e5d9;margin-left:4px;}
}

@media(min-width:801px){
 #partners>footer{flex:0 0 auto;width:100%;box-sizing:border-box;margin:0;padding:9px 0 0;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border-top:1px solid #ffffff25;box-shadow:none;}
 #partners>footer .footBrand{gap:8px;}
 #partners>footer .footBrand>span{width:30px;height:30px;font-size:20px;}
 #partners>footer .footBrand b{font-size:12px;letter-spacing:.08em;}
 #partners>footer .footBrand small{font-size:8px;line-height:1.4;}
 #partners>footer p{font-size:11px;margin:0;}
 #partners>footer>small{font-size:8px;margin:0;color:#9bb0ba;}
}

/* Keep the history navigation and the full orbit visible in the desktop frame. */

@media(min-width:801px){
 #history{padding-top:72px;scroll-margin-top:24px!important;}
 #history .historyNumberButtons{top:50px;}
 #philosophy{scroll-margin-top:142px!important;}
}

/* Smartphone reading layout — 2026-10-03. Desktop presentation stays unchanged. */

.mobileMenuToggle{display:none}

@media(max-width:800px){
 html{scroll-padding-top:0}body{font-size:16px;line-height:1.75}
 main{padding-top:64px}main>header{position:fixed;inset:0 0 auto;height:64px;padding:0 16px;z-index:100}
 .brand{gap:9px}.brand>span{width:36px;height:36px;font-size:25px}.brand b{font-size:13px}.brand small{font-size:6px;margin-top:4px}
 .mobileMenuToggle{display:block;min-height:44px;padding:10px 14px;border:1px solid #718b99;border-radius:24px;background:#173446;color:#fff;font:700 13px/1.4 inherit;cursor:pointer}
 .guideMenuPanel.alwaysOpen{top:64px;max-height:0;padding:0 16px;opacity:0;visibility:hidden;pointer-events:none;box-shadow:none}
 .guideMenuPanel.alwaysOpen.mobileOpen{max-height:calc(100dvh - 64px);padding:16px;opacity:1;visibility:visible;pointer-events:auto;overflow-y:auto;box-shadow:0 20px 40px #0006}
 .guideMenuPanel.alwaysOpen .guideMenuGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible}
 .guideMenuGrid a{min-width:0;min-height:48px;font-size:13px;padding:12px 6px;white-space:normal}
 .guideMenuGrid a[aria-current]{background:#e7c46b;color:#061627;border-color:#e7c46b}
 main section[id],#philosophy,#business-support{scroll-margin-top:64px!important}
 main>section:not(.hero):not(.securityStage):not(.office):not(.promise){padding:40px 20px;min-height:0;height:auto}
 main section>*{min-width:0}h2,h3{overflow-wrap:anywhere;word-break:normal!important;letter-spacing:-.025em!important}
 main section h2,.bannerIntro h2,.historyTop h2,.aiIntro h2,.recruitCopy h2,.cultureCopy h2{font-size:clamp(27px,7.6vw,38px)!important;line-height:1.5!important;margin:12px 0 20px;white-space:normal}
 .hero{margin-top:0;height:auto;min-height:580px;padding:50px 20px 40px;align-items:flex-end;background-size:cover;background-position:55% center}
 .heroShade{background:linear-gradient(0deg,#03111ff5 0%,#03111fa8 50%,#03111f10 100%)}
 .heroCopy{width:100%;max-width:100%;padding:0}.hero h1{font-size:clamp(30px,8.8vw,46px);line-height:1.4;margin:14px 0}
 .hero .eyebrow{display:block;font-size:9px;letter-spacing:.13em}.banseiHeroCopy .heroLead{font-size:15px;line-height:1.9;white-space:normal;transform:none;margin:22px 0 0}
 .heroOrbits,.hero:before,.heroLabel{display:none}.ticker{height:32px;font-size:9px}
 .intro,.historyTop,.dx,.aiIntro,.worksHead,.androidWorks,.benefits,.cultureLead,.recruit,.partnersHead{grid-template-columns:minmax(0,1fr);gap:24px}
 .introText p,.historyTop>p,.promiseCopy>p,.dx>div>p:not(.eyebrow),.aiIntro>p:last-child,.cultureCopy>p,.recruitCopy>p,.partnersHead>p,.sectionHead>p,.toiletFeatureLead{font-size:16px;line-height:1.9}
 .introNumberButtons{position:static!important;flex-wrap:wrap;max-width:100%;gap:8px;margin:20px 0}
 .introNumberButtons a,.introNumberButtons button{min-width:44px;min-height:44px}
 #history .historyNumbers,#next-president,#history .forecastNote,main>.companies,main>.vehiclePurchase,main>.banking,#works .inspectionDetail,.securitySeal,.benefitPhoto{display:none!important}
 .historyLine{margin:30px 0;box-shadow:none;border-radius:16px}.historyPolicy{margin:40px 0 0;padding:24px 18px;gap:20px;border-radius:16px}.historyPolicy h3{font-size:27px;line-height:1.5}.historyPolicy p{font-size:16px;line-height:1.9}
 .businessPages,.welfarePages,.recruitPages{display:flex!important;position:static!important;grid-column:1/-1;grid-row:auto;order:-1;flex-wrap:wrap;gap:8px;width:100%;margin:0 0 22px;padding:0;justify-content:flex-start}
 .businessPages a,.welfarePages a,.recruitPages a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 13px;border:1px solid #829ca9;border-radius:24px;background:#153246;color:#fff;font-size:12px;line-height:1.5;font-weight:700}
 .businessPages a[aria-current],.welfarePages a[aria-current],.recruitPages a[aria-current]{background:#e8c76c;color:#102233;border-color:#e8c76c}
 .bannerIntro{margin:0}.managementBannerNew{padding:20px;border-radius:16px}.managementBrand{grid-template-columns:76px minmax(0,1fr);gap:14px}.managementBrand img{width:76px;height:76px}.brandBanners .managementBrand h3{font-size:18px;word-break:normal;line-height:1.6}.managementBrand p{font-size:14px}
 .managementBannerNew ul{grid-template-columns:1fr;gap:8px}.managementBannerNew li{min-height:52px;border-radius:8px}.managementBannerNew li>span{font-size:15px}.managementBannerNew li small{font-size:12px}
 .securityStage.securityStageBright{display:flex;flex-direction:column;padding:40px 20px;gap:20px;height:auto;min-height:0}.securityLeadImage{width:100%;aspect-ratio:4/3;height:auto;margin:0;border-radius:16px}.securityCopy{padding:10px 0;min-height:0}.securityCopy h2{font-size:28px!important;margin:12px 0 20px}.securityCopy h2{font-size:28px;line-height:1.5;letter-spacing:-.03em}.securityCopy>p:not(.eyebrow),.securityCopy blockquote{font-size:16px;line-height:1.8}.securityServices{grid-template-columns:1fr 1fr}.securityServices span{font-size:14px;padding:12px 8px}.securityPhotoGrid{width:100%;padding:0;gap:16px}.securityPhotoGrid figure{border-radius:16px}
 .promisePhoto{height:300px}.promiseCopy{padding:36px 20px}.promiseCopy li{font-size:15px}.dx{gap:26px}.dx img{max-width:calc(100% - 12px)}.chips span{font-size:13px}.chips:after{font-size:13px;line-height:1.8}
 .aiIntro:before{grid-row:2;margin-bottom:12px}.aiIntro>.eyebrow{grid-row:1}.aiIntro h2{grid-row:3}.aiIntro>p:last-child{grid-row:4}.aiGlass{grid-template-columns:1fr;gap:12px}.aiGlass>div{min-height:0;padding:24px;border-radius:14px}.aiGlass h3{font-size:22px}.aiGlass p{font-size:15px;line-height:1.8}
 .worksHead>p{font-size:16px}.appLineup{width:100%;margin:28px 0;padding:20px 0}.appIconRail{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0}.appIconCard{padding:10px;min-width:0}.appIconCard figcaption{font-size:14px}.appIconPlaceholder,.appIconDescription,.appLineupHint{display:none!important}.appLineupTitle{padding:0}
 .businessSupport{margin-top:40px}.worksOffer{border-radius:16px;overflow:hidden;box-shadow:none}.offerPrice,.offerCopy{padding:24px}.offerPrice b{font-size:32px}.offerCopy h3{font-size:28px}.offerCopy a{min-height:48px;border-radius:24px;font-size:14px}.worksCards{grid-template-columns:1fr;gap:12px}.worksCards article{padding:24px;border-radius:12px}.worksCards p{font-size:15px}
 .androidBadge{padding:24px}.androidBadge h2{font-size:28px!important}.androidBadge p{font-size:15px;line-height:1.8}.androidPhotos{gap:12px}.androidPhotos figure{min-width:0}.androidPhotos img{height:auto;object-fit:contain}.androidPoints{grid-template-columns:1fr 1fr;gap:8px;font-size:13px}.androidPoints span{padding:14px 8px}
 .gallery{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:14px}.gallery figure,.gallery .wide,.gallery figure:nth-child(n){grid-column:1;grid-row:auto;height:240px;margin:0;border-radius:14px}
 .toiletFeatureHead{grid-template-columns:1fr;gap:20px}.toiletCount{width:150px;margin:0}.toiletFeatureGrid{grid-template-columns:1fr;gap:16px}.toiletFeatureGrid figure{height:280px;border-radius:14px}.toiletFeatureLead{margin:20px 0}
 .benefitLead{grid-column:1}.benefitGrid{grid-column:1;grid-template-columns:1fr;gap:14px}.benefitGrid article,.benefitGrid article.purchaseBenefit{display:block;min-height:0;padding:24px;border:1px solid #486b68;border-radius:18px;background:linear-gradient(135deg,#143d40,#163047);color:#fff;box-shadow:0 8px 24px #10253512}
 .benefitGrid article>b{display:inline-block;background:#ffffff15;color:#a9ebcf;border-radius:8px;padding:4px 10px;font-size:12px}.benefitGrid h3{font-size:20px;line-height:1.5;color:#fff;margin:14px 0 8px}.benefitGrid article>p{font-size:15px;line-height:1.85;color:#e1edef;margin:0}.benefitNote{font-size:12px;line-height:1.7}
 .office img{height:280px}.office div{padding:36px 20px}.office p{font-size:16px}.office .mapLink{border-radius:10px;min-height:48px}
 .cultureVisual img{height:auto;aspect-ratio:4/3}.cultureVisual figure{box-shadow:none;border-radius:16px}.cultureStatement{display:block;margin-top:28px;border-radius:16px}.cultureStatement>span{display:block;padding:20px 24px 0;font-size:13px;line-height:1.6;border:0}.cultureStatement>span br{display:none}.cultureStatement>div{padding:14px 24px 24px}.cultureStatement b{font-size:21px;line-height:1.7}.cultureStatement p,.retention>p{font-size:15px;line-height:1.9}.retention{margin-top:24px}.cultureNote{font-size:12px}
 .lineContact{grid-template-columns:1fr;gap:20px;padding:24px;box-shadow:none;border-radius:18px}.lineContact h3{font-size:18px}.lineContact h3 b{font-size:28px}.lineContact p{font-size:15px;line-height:1.9}.lineContact figure{width:200px;max-width:100%;margin:auto}.lineContact figcaption{font-size:12px}
 .partnerList{grid-template-columns:1fr 1fr;gap:8px;background:none;border:0}.partnerList button{min-height:62px;padding:12px;border:1px solid #64889455;border-radius:18px;font-size:13px;line-height:1.6;justify-content:center;text-align:center;overflow-wrap:anywhere;background:#193c4d}
 .partnerBanks{display:block;margin-top:28px}.partnerBanks h3{font-size:20px}.partnerBanks ul{display:grid;grid-template-columns:1fr;gap:8px;list-style:none;padding:0}.partnerBanks li{padding:14px 18px;background:#225b50;border:1px solid #6aa690;border-radius:24px;font-size:14px}.partnerBanks li span{margin-left:8px;color:#c9e5d8}
 .partners footer{margin:32px -20px -40px;padding:32px 20px;gap:18px}.partners>small,.worksNote{font-size:12px;line-height:1.7}
 .securityLeadImage img,.securityPhotoGrid img,.ticker div{animation:none;will-change:auto}
}

.mobilePhoneContact{display:none}

@media(max-width:800px){
 body,main h1,main h2,main h3,main p,main b{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
 main h1,main h2,main h3{font-weight:700}
 .benefitLead>p:not(.eyebrow),.introText p,.historyTop>p,.cultureCopy>p,.sectionHead>p{color:#40575c}
 .benefitLead>p:not(.eyebrow){font-size:16px;line-height:1.85}
 .mobilePhoneContact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;margin-top:20px;padding:14px;background:#147453;border-radius:30px;color:white;font-size:16px;font-weight:700}
 .mobilePhoneContact span{font-size:14px;font-weight:400}
 .developmentApproach{font-size:14px;line-height:1.9;padding:24px}
 .androidBadge h3{font-size:30px;line-height:1.5}
}

@media(max-width:800px){.androidBadge>b{font-size:28px;line-height:1.6;letter-spacing:-.025em}.backButton{bottom:12px;left:12px;min-height:44px;opacity:.92}.benefitGrid{padding-bottom:12px}}

/* Mobile navigation: one always-visible, horizontally scrollable row. */

@media(max-width:800px){
 .mobileMenuToggle{display:none}
 .guideMenuPanel.alwaysOpen,.guideMenuPanel.alwaysOpen.mobileOpen{top:64px;max-height:none;padding:6px 10px;opacity:1;visibility:visible;pointer-events:auto;overflow:hidden;box-shadow:0 6px 16px #0002}
 .guideMenuPanel.alwaysOpen .guideMenuGrid{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#6d8e9c transparent;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .guideMenuGrid a{flex:0 0 auto;min-width:0;min-height:36px;padding:7px 11px;white-space:nowrap;font-size:12px;line-height:1.5}
 main{padding-top:118px}
 main section[id],#philosophy,#business-support{scroll-margin-top:118px!important}
}

@media(max-width:800px){
 .guideMenuGrid a[aria-current="location"]{background:linear-gradient(135deg,#ffe49a,#e3b94e);color:#071b2b;border-color:#fff0b5;box-shadow:inset 0 0 0 1px #fff1bf,0 0 12px #f5ce6870;font-weight:900}
.guideMenuGrid a{transition:background .2s,color .2s,box-shadow .2s}
.guideMenuGrid .guideMenuBlank{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:10px 8px;border:1px solid #8dabc066;border-radius:999px;background:linear-gradient(180deg,#29455d,#132a3e);box-shadow:inset 0 1px #ffffff18;pointer-events:none}
@media(min-width:1101px){.guideMenuGrid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:800px){.guideMenuGrid .guideMenuBlank{flex:0 0 94px;min-height:36px;padding:7px 11px}}
@media(max-width:800px){#top.hero h1{font-size:clamp(21px,6.16vw,32.2px)}}
}

/* Show the full building frontage on phones instead of cropping it to portrait. */

@media(max-width:800px){
 .hero{background-color:#061627;background-size:100% auto;background-position:center top;min-height:0;height:auto;padding:calc(56.35vw - 12px) 20px 10px;align-items:flex-start}
 .heroShade{background:linear-gradient(to bottom,transparent 0,transparent calc(56.35vw - 65px),#061627 calc(56.35vw + 8px));pointer-events:none}
 .heroCopy{width:100%}#top.hero h1{margin:4px 0;line-height:1.25}.banseiHeroCopy .heroLead{margin-top:6px}
 #top.hero .eyebrow{padding:5px 10px}
 #top.hero .heroOrbits{display:block;width:124px;height:124px;top:20px;right:12px;opacity:.5;pointer-events:none}
 #top.hero .heroOrbits i:nth-child(2){inset:22px}#top.hero .heroOrbits i:nth-child(3){inset:43px}
 #top.hero:before{display:block;inset:-50% -40%;background:linear-gradient(125deg,transparent 43%,#fff5c728 48%,#d7ffff80 50%,#fff5c728 52%,transparent 57%);animation:mobileHeroDownSweep 7s ease-in-out infinite;pointer-events:none;z-index:1}
}

@keyframes mobileHeroDownSweep{0%,18%{transform:translate(30%,-38%);opacity:0}30%{opacity:.55}70%{opacity:.3}85%,100%{transform:translate(-30%,38%);opacity:0}}

@media(max-width:800px) and (prefers-reduced-motion:reduce){#top.hero:before{animation:none;opacity:0}#top.hero .heroOrbits:after,#top.hero .heroOrbits i,#top.hero .heroOrbits span{animation:none}}

@media(min-width:801px){
  main > .promise{
    --promise-header-height:143px;
    height:calc(100dvh - var(--promise-header-height));
    min-height:0;
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
    scroll-margin-top:var(--promise-header-height)!important;
  }
  .promisePhoto{min-width:0;min-height:0;height:100%;}
  .promisePhoto img{height:100%;object-fit:contain;background:#e6e4dc;}
  .promiseCopy{
    min-width:0;min-height:0;
    display:flex;flex-direction:column;justify-content:center;
    padding:clamp(16px, 3vh, 32px) clamp(24px, 3.5vw, 64px);
  }
  .promiseCopy > .eyebrow{margin:0 0 10px;line-height:1.2;}
  .promiseCopy h2{font-size:clamp(26px, 4.8vh, 46px);line-height:1.3;margin:0 0 16px;}
  .promiseCopy > p:not(.eyebrow){font-size:clamp(14px, 1.9vh, 18px);line-height:1.7;margin:0 0 10px;}
  .promiseCopy ul{margin:10px 0 0;}
  .promiseCopy li{gap:16px;padding:clamp(8px, 1.4vh, 16px) 0;font-size:clamp(13px, 1.8vh, 17px);line-height:1.5;}
  .promiseCopy:after{position:static;display:block;align-self:flex-end;margin-top:12px;font-size:9px;}
}

@media(min-width:801px) and (max-width:1100px){
  main > .promise{--promise-header-height:199px;}
  .promiseCopy h2{font-size:clamp(26px, 3.5vw, 36px);}
}

/* Company directory: horizontal names in three columns. */

#partners .partnerList button{writing-mode:horizontal-tb;}

@media(max-width:800px){
  #partners .partnerList{
    width:100%;max-width:100%;min-width:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:none;grid-auto-flow:row;grid-auto-columns:auto;
    grid-auto-rows:minmax(60px,auto);gap:6px;
    height:auto;max-height:none;overflow:visible;
    scroll-snap-type:none;
  }
  #partners .partnerList button,#partners .partnerDirect{
    min-width:0;min-height:60px;height:auto;
    padding:7px 4px;border-radius:10px;
    font-size:clamp(10px,2.7vw,12px);line-height:1.5;
    white-space:normal;word-break:normal;overflow-wrap:anywhere;
    scroll-snap-align:none;
  }
  #partners .partnerDirect input{
    width:100%;min-width:0;max-width:100%;box-sizing:border-box;
    padding:4px 1px;text-align:center;font-size:inherit;
  }
}

/* Clarifications for the approved copy, shared by desktop and mobile. */

.retention b{font-size:clamp(22px,3vw,36px);line-height:1.5;}

@media(min-width:801px){#recruit-contact .recruitCopy h2{font-size:clamp(23px,2.5vw,36px);line-height:1.4;}}

@media(max-width:800px){#recruit-contact .recruitCopy h2{font-size:clamp(28px,7vw,40px);line-height:1.4;}}

/* Recruitment choices above the existing contact information. */

#recruit-contact .recruitWorkstyle{grid-column:1/-1;min-width:0;max-width:1080px;margin:0 auto;text-align:center;}

#recruit-contact .recruitWorkstyle h2{font-size:clamp(26px,2.5vw,34px);line-height:1.4;letter-spacing:-.035em;margin:0 0 12px;color:#f4dfa0;}

#recruit-contact .recruitWorkstyle p{font-size:16px;line-height:1.8;color:#edf5f2;margin:6px 0 0;}

@media(min-width:801px){
  #recruit-contact.recruit{min-height:calc(100dvh - 142px);padding:64px 4vw 24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 36px;align-content:center;}
  #recruit-contact .recruitCopy{min-width:0;}
}

@media(max-width:800px){
  #recruit-contact .recruitWorkstyle{text-align:left;}
  #recruit-contact .recruitWorkstyle h2{font-size:clamp(24px,6.8vw,32px)!important;line-height:1.5!important;margin:0 0 14px;}
}

/* Dotcom partner ordering: names and additions are not editable here. */

#partners .partnerAdmin{display:flex!important;flex-shrink:0;}

#partners .partnerAuth{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}

#partners .partnerAuth label{color:#f6dfa4;font-size:12px;}

#partners .partnerAuth input{width:150px;max-width:100%;padding:6px 9px;border:1px solid #739caa;border-radius:7px;background:#fff;color:#102534;font:inherit;}

#partners .partnerAuth input:focus{outline:2px solid #f0c86b;outline-offset:2px;}

#partners .partnerDeletePanel,#partners .partnerDeletedPanel{flex-shrink:0;padding:10px 14px;border:1px solid #d3ba77;border-radius:10px;background:#102534;color:#fff;display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:relative;z-index:5;}

#partners .partnerDeletedPanel{max-height:160px;overflow:auto;}

#partners .partnerDeletedPanel>div{display:flex;align-items:center;gap:12px;width:100%;justify-content:space-between;}

#partners .partnerDeletePanel button,#partners .partnerDeletedPanel button{padding:7px 12px;border-radius:7px;background:#f6dfa4;color:#102534;cursor:pointer;}

/* Compact phone layout; desktop rules are unchanged. */

@media(max-width:800px){
 body{font-size:13px;line-height:1.55}
 main{padding-top:82px}main>header{height:52px;padding:0 12px}
 .brand{gap:7px}.brand>span{width:29px;height:29px;font-size:21px;flex-shrink:0}.brand b{font-size:22px;letter-spacing:.03em;white-space:nowrap}.brand small{font-size:6px;margin-top:2px;letter-spacing:.12em}
 .guideMenuPanel.alwaysOpen,.guideMenuPanel.alwaysOpen.mobileOpen{top:52px;padding:2px 8px}
 .guideMenuPanel.alwaysOpen .guideMenuGrid{gap:6px}.guideMenuGrid a{min-height:32px;padding:5px 9px;font-size:10.5px}.guideMenuGrid .guideMenuBlank{min-height:32px;flex-basis:76px;padding:5px 9px}
 main section[id],#philosophy,#business-support{scroll-margin-top:82px!important}
 main>section:not(.hero):not(.securityStage):not(.office):not(.promise){padding:20px 14px;min-height:0;height:auto}
 main section h2,.bannerIntro h2,.historyTop h2,.aiIntro h2,.recruitCopy h2,.cultureCopy h2{font-size:clamp(19px,5.3vw,25px)!important;line-height:1.35!important;margin:7px 0 12px}
 main section h3{font-size:17px;line-height:1.4}
 .intro,.historyTop,.dx,.aiIntro,.worksHead,.androidWorks,.benefits,.cultureLead,.recruit,.partnersHead{gap:12px}
 .introText{padding-top:10px}
 .introText p,.historyTop>p,.promiseCopy>p,.dx>div>p:not(.eyebrow),.aiIntro>p:last-child,.cultureCopy>p,.recruitCopy>p,.sectionHead>p,.toiletFeatureLead,.office p,.androidBadge p,.lineContact p,.cultureStatement p,.retention>p{font-size:13px;line-height:1.55;margin-top:8px;margin-bottom:8px}
 .eyebrow{font-size:8px;letter-spacing:.12em}
 #top.hero{height:auto;min-height:0;aspect-ratio:16/9;padding:14px;background-size:cover;background-position:center;align-items:center}
 #top.hero .heroShade{background:linear-gradient(90deg,#03111fce 0%,#06162798 58%,#06162740 100%)}
 #top.hero h1{font-size:clamp(18px,5.1vw,27px);line-height:1.25;margin:3px 0}
 #top.hero .heroLead{font-size:12px;line-height:1.5;margin-top:5px}
 #top.hero .eyebrow{font-size:8px;padding:4px 8px}
 #top.hero .heroOrbits{width:120px;height:120px;top:44px;right:8px;opacity:.5}
 #top.hero .heroOrbits i:nth-child(2){inset:20px}#top.hero .heroOrbits i:nth-child(3){inset:40px}
 .ticker{height:24px;font-size:8px}
 .introNumberButtons{gap:5px;margin:10px 0}.introNumberButtons a,.introNumberButtons button{font-size:10px}
 #history .historyLine{width:calc(100% + 28px);max-width:none;height:132px;min-height:0;margin:0 -14px;padding:0;box-shadow:none;overflow:visible}
 #history .historyLine>div{width:24px;height:24px;min-width:0;padding:1px;border-width:1px}
 #history .historyLine>div small{font-size:5px}#history .historyLine>div b{font-size:10px;margin-top:2px}#history .historyLine>div>span{font-size:6px;margin-top:1px}
 #history .historyLine:before{width:39.6px;height:39.6px;font-size:6px;line-height:1.4;background-color:#0b2535;z-index:6}
 .historyPolicy{margin:16px 0 0;padding:16px 12px;gap:12px}.historyPolicy h3{font-size:20px}.historyPolicy p{font-size:13px;line-height:1.55}.historyPolicy li{padding:10px 0;grid-template-columns:70px 1fr;gap:8px}.historyPolicy li b{font-size:13px}.historyPolicy li span{font-size:11px}
 .businessPages,.welfarePages,.recruitPages{gap:5px;margin-bottom:12px}.businessPages a,.welfarePages a,.recruitPages a{font-size:10px;padding:6px 9px;min-height:36px}
 .managementBannerNew{padding:14px}.managementBrand{grid-template-columns:52px minmax(0,1fr);gap:9px}.managementBrand img{width:52px;height:52px}.brandBanners .managementBrand h3{font-size:22px;line-height:1.4;word-break:normal;overflow-wrap:anywhere}.managementBrand p{font-size:11px}
 .managementBannerNew ul{grid-template-columns:1fr 1fr;gap:3px;margin-top:13px;margin-bottom:0}.managementBannerNew li{min-height:20px;padding:4px 8px}.managementBannerNew li>span{font-size:12px;line-height:1.3}.managementBannerNew li small{font-size:10px}
 .securityStage.securityStageBright{padding:20px 14px;gap:12px}.securityLeadImage{aspect-ratio:16/9}.securityCopy{padding:0}.securityCopy h2{font-size:21px!important;margin:7px 0 12px}.securityCopy>p:not(.eyebrow),.securityCopy blockquote{font-size:13px;line-height:1.55}.securityServices{gap:6px}.securityServices span{font-size:11px;padding:8px}
 .securityPhotoGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.securityPhotoGrid figure{min-height:0}.securityPhotoGrid img{height:120px;object-fit:cover}
 .promisePhoto{height:150px}.promiseCopy{padding:20px 14px}.promiseCopy li{font-size:12px}
 .aiGlass{grid-template-columns:1fr 1fr;gap:8px}.aiGlass>div{padding:14px;min-height:0}.aiGlass h3{font-size:16px}.aiGlass p{font-size:12px;line-height:1.5}
 .worksHead>p{font-size:13px;line-height:1.55}.appLineup{margin:14px 0;padding:10px 0}.appIconRail{gap:8px}.appIconCard{padding:7px}.appIconCard img{width:44px;height:44px;object-fit:contain}.appIconCard figcaption{font-size:11px;line-height:1.4}
 .businessSupport{margin-top:20px}.offerPrice,.offerCopy{padding:16px}.offerPrice b{font-size:24px}.offerCopy h3{font-size:21px}.offerCopy p{font-size:13px;line-height:1.55}.offerCopy a{font-size:12px;padding:10px;min-height:40px}.worksCards{grid-template-columns:1fr 1fr;gap:8px}.worksCards article{padding:14px}.worksCards h3{font-size:16px}.worksCards p{font-size:12px;line-height:1.5}
 .androidBadge{padding:14px}.androidBadge h2{font-size:21px!important}.androidBadge h3,.androidBadge>b{font-size:20px;line-height:1.35}
 .androidPhotos{display:grid;grid-template-columns:1fr 1fr;gap:8px}.androidPhotos figure{min-height:0;margin:0}.androidPhotos img{height:170px;width:100%;object-fit:contain}.androidPhotos figcaption{font-size:9px;line-height:1.4;padding:7px}.androidPoints{gap:6px;font-size:10px}.androidPoints span{padding:8px}
 .gallery{grid-template-columns:1fr 1fr;gap:8px}.gallery figure,.gallery .wide,.gallery figure:nth-child(n){grid-column:auto;grid-row:auto;height:120px}.gallery figcaption{font-size:9px;line-height:1.4;padding:8px}
 .toiletFeatureHead{gap:12px}.toiletCount{width:110px}.toiletFeatureGrid{grid-template-columns:1fr 1fr;gap:8px}.toiletFeatureGrid figure{height:140px}.toiletFeatureGrid figcaption{font-size:10px;line-height:1.4;padding:8px}.toiletFeatureLead{margin:10px 0}
 .benefitGrid{grid-template-columns:1fr 1fr;gap:8px}.benefitGrid article,.benefitGrid article.purchaseBenefit{padding:14px;border-radius:12px}.benefitGrid article>b{font-size:10px;padding:3px 6px}.benefitGrid h3{font-size:16px;line-height:1.4;margin:8px 0 5px}.benefitGrid article>p{font-size:12px;line-height:1.5}.benefitNote{font-size:10px;line-height:1.5}
 .office img{height:150px}.office div{padding:20px 14px}.office .mapLink{font-size:11px;padding:9px;min-height:36px}
 .cultureVisual img{aspect-ratio:16/9}.cultureStatement{margin-top:14px}.cultureStatement>span{padding:12px 14px 0;font-size:11px}.cultureStatement>div{padding:8px 14px 14px}.cultureStatement b{font-size:17px;line-height:1.45}.retention{margin-top:14px}.cultureNote{font-size:10px}
 .lineContact{padding:16px;gap:12px}.lineContact h3{font-size:15px}.lineContact h3 b{font-size:20px}.lineContact figure{width:130px}.lineContact figcaption{font-size:10px}.mobilePhoneContact{min-height:44px;margin-top:12px;padding:9px;font-size:13px}.mobilePhoneContact span{font-size:11px}
 #partners .partnerList{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.partnerList button{min-height:44px;padding:8px 5px;border-radius:12px;font-size:10.5px;line-height:1.4}
 .partnerBanks{margin-top:16px}.partnerBanks h3{font-size:16px}.partnerBanks ul{grid-template-columns:1fr 1fr;gap:6px}.partnerBanks li{padding:9px;font-size:11px}.partnerBanks li span{margin-left:3px}
 .partners footer{margin:20px -14px -20px;padding:20px 14px;gap:12px}.partners>small,.worksNote{font-size:10px;line-height:1.5}.developmentApproach{padding:16px;font-size:12px;line-height:1.55}
 main p:not(.eyebrow){font-size:12px!important;line-height:1.5!important}
 main section h3{font-size:16px!important;line-height:1.4!important}
 #philosophy.historyPolicy{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:center;margin:8px 0 0;padding:10px 12px;gap:6px;min-height:0;height:auto;box-shadow:none}
 #philosophy h3+p{display:none}#philosophy h3{margin-top:6px;margin-bottom:6px}#philosophy .policyLead{width:100%;font-size:26px!important;line-height:1.35!important;white-space:normal;text-wrap:balance;margin:6px 0;font-weight:900}
 #philosophy .policyReturn{width:96px;height:96px;min-width:0;margin:0;box-shadow:none}#philosophy .policyReturn>b{font-size:17px;line-height:1.4}#philosophy .policyReturn small{font-size:6px}#philosophy>ul{grid-column:1/-1}
 #business-case .androidPhotos figure{height:210px;min-height:0;padding:8px;overflow:hidden}#business-case .androidPhotos img{height:170px;max-height:170px;object-fit:contain}
 #welfare-toilet .toiletCount{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;width:100%;min-width:0;min-height:0;margin:0;padding:10px 12px;box-shadow:none}#welfare-toilet .toiletCount small{font-size:8px}#welfare-toilet .toiletCount b{font-size:30px;margin:0}#welfare-toilet .toiletCount b span{font-size:12px}#welfare-toilet .toiletCount strong{font-size:11px;line-height:1.4;padding:4px}
 #welfare-toilet .toiletFeatureGrid figure,#welfare-toilet .toiletExterior{height:140px;min-height:0;grid-column:auto;grid-row:auto}#welfare-toilet .toiletFeatureGrid img{height:100%;width:100%;object-fit:cover}
 #partners .partnerList button{min-height:44px;padding:8px 5px;font-size:10.5px;line-height:1.4}
 #partners footer{padding:18px 14px;gap:10px}#partners footer p{font-size:10px!important}
 main>section:not(.hero):not(.securityStage):not(.office):not(.promise){padding-top:12px;padding-bottom:12px}
 #about.intro{padding-top:12px;padding-bottom:12px;gap:8px;background:linear-gradient(#f7faf780,#f7faf780),url('/assets/company-city-night-v2.png') center/cover no-repeat}#about .introTitle h2{margin:4px 0 8px;font-size:clamp(12px,4.4vw,31px)!important;white-space:nowrap;letter-spacing:0}#about .introTitle h2 br{display:none}#about .introText{padding-top:6px}#about .introText p{margin:4px 0}
 #history .historyTop h2{width:calc(100% + 24px);font-size:clamp(11px,4.15vw,30px)!important;white-space:nowrap;line-height:1.4!important;margin:4px -12px 8px;letter-spacing:-.075em}#history .historyHeadlineLine{display:inline;white-space:nowrap}#history .historyTop h2 br{display:none}
 #history{background:linear-gradient(#f7faf790,#f7faf790),url('/assets/miyajima-selected-sunset.jpg') center top/100% auto no-repeat}#history .historyTop{padding-top:0;gap:4px}#history .historyTop>p{padding-top:6px;margin:4px 0}#about.intro{padding-top:8px;padding-bottom:8px;gap:4px}
 .intro,.dx,.aiIntro,.worksHead,.androidWorks,.benefits,.cultureLead,.recruit,.partnersHead{gap:8px}
 .securityStage.securityStageBright{padding-top:12px;padding-bottom:12px;gap:8px}
 .businessPages,.welfarePages,.recruitPages{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;margin-bottom:8px;gap:5px;max-width:100%;scrollbar-width:thin}.businessPages a,.welfarePages a,.recruitPages a{flex:0 0 auto;min-height:32px;padding:5px 8px}
 .aiGlass>div,.worksCards article,.benefitGrid article,.benefitGrid article.purchaseBenefit{padding:10px}
 #partners .partnerList{grid-auto-rows:minmax(44px,auto)}
 .ticker{height:14px;min-height:0;padding-top:0;padding-bottom:0}.ticker div{font-size:8px;line-height:14px;padding-top:0;padding-bottom:0;animation:marquee 22s linear infinite;will-change:transform}
}

@media(max-width:800px) and (prefers-reduced-motion:reduce){.ticker div{animation:none;will-change:auto}}

@media(min-width:801px){.mobileSectionTicker{display:none}}

#philosophy h3+p{display:none}

@media(max-width:800px){#partners>footer{padding-bottom:36px!important}#partners>footer>small{width:calc(100% - 65px);margin-left:65px;text-align:right;font-size:6.5px!important;white-space:normal}#partners .footBrand small{width:calc(100% + 24px);margin-left:-12px;font-size:9px!important;line-height:1.3;white-space:nowrap}}

@media(max-width:800px){#partners>footer>p{font-size:16px!important;line-height:1.35;font-weight:800;margin:3px 0}#partners>footer>small{display:block;width:100%;text-align:right;font-size:7px;line-height:1.3;white-space:nowrap;margin:2px 0 0;position:relative;z-index:1}}

@media(max-width:800px){#partners>footer{padding-top:6px;padding-bottom:6px;gap:4px}#partners .footBrand{flex-direction:column;align-items:flex-start;gap:2px}#partners .footBrand>div{width:100%}#partners .footBrand small{display:block;font-size:7.5px!important;line-height:1.3;letter-spacing:0;white-space:nowrap}#partners .footBrand small br{display:none}}

.footBrand>.banseiSelectedLogo{display:none}

@media(max-width:800px){#partners .partnerBanks ul{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42px;gap:5px}#partners .partnerBanks li{height:42px;min-height:42px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2px 4px;font-size:10px;line-height:1.2;text-align:center}#partners .partnerBanks li span{display:block;margin:2px 0 0;font-size:9px;line-height:1.2}#partners .footBrand>.banseiSelectedLogo{display:block;width:130px;height:40px;flex-shrink:0}#partners .footBrand>span,#partners .footBrand>div>b{display:none}#partners .footBrand{flex-wrap:wrap}}

@media(max-width:800px){#recruit-contact .mobilePhoneContact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100px;max-width:100%;height:22px;min-height:22px;padding:1px 3px;margin:5px auto 0;font-size:8px;line-height:1.1;white-space:nowrap}#recruit-contact .mobilePhoneContact span{font-size:7px;line-height:1.1}#recruit-contact .lineContact figcaption{width:calc(100% + 24px);margin-left:-12px;font-size:8px;line-height:1.4;white-space:nowrap;text-align:center;padding:3px 0}#recruit-contact .lineContact figcaption br{display:block}}

@media(max-width:800px){#recruit-contact .lineContact>div{text-align:center}#recruit-contact .lineContact h3{width:100%;text-align:center;margin:6px 0}#recruit-contact .lineContact h3 b{display:inline-block;font-size:28px!important;line-height:1.3;white-space:nowrap}}

button.mobilePhoneContact{font-family:inherit;cursor:default;opacity:1}

@media(max-width:800px){#recruit-contact button.mobilePhoneContact{width:170px!important;height:22px!important;min-height:22px!important;flex-direction:row!important;gap:5px!important;padding:2px 5px!important;align-items:center;justify-content:center;white-space:nowrap}#recruit-contact button.mobilePhoneContact span{display:inline!important;font-size:8px!important;line-height:1!important;white-space:nowrap;margin:0}#recruit-contact button.mobilePhoneContact .phoneButtonLabel{font-size:9px!important}}

@media(max-width:800px){#recruit-contact button.mobilePhoneContact{border:1px solid #c2a45a;border-radius:8px;background:#eef4f0;color:#102233;text-align:center;box-sizing:border-box;align-self:center;overflow:hidden}#recruit-contact button.mobilePhoneContact span{color:#102233;text-align:center}}

.mobileWorkDays{display:none}

@media(max-width:800px){.desktopWorkDays{display:none}.mobileWorkDays{display:inline}}

.mobileRetentionTitle{display:none}

@media(max-width:800px){#recruit .desktopRetentionTitle{display:none}#recruit .mobileRetentionTitle{display:block;font-size:18px;line-height:1.3;white-space:nowrap}#recruit .retention{padding-top:0;padding-bottom:0;margin-top:2px;margin-bottom:2px;gap:2px}#recruit .retention>div{padding:4px 8px!important}#recruit .retention b{margin:0!important;line-height:1.3!important}#recruit .retention p{margin-top:2px!important;margin-bottom:0!important}}

@media(max-width:800px){#recruit .cultureVisual,#recruit .cultureVisual figure{height:auto!important;aspect-ratio:auto!important;min-height:0}#recruit .cultureVisual img{width:100%;height:auto!important;max-height:none;aspect-ratio:auto!important;object-fit:contain!important;object-position:center;transform:none}}

@media(max-width:800px){#recruit .cultureCopy>p,#recruit h2+p{padding-top:0!important;padding-bottom:0!important;margin-top:3px!important;margin-bottom:3px!important}#recruit .cultureCopy h2{margin-bottom:2px!important}#recruit .cultureLead{gap:4px;margin-bottom:4px}#recruit .cultureStatement{margin-top:4px}}

@media(max-width:800px){#recruit .retention small{display:none!important}#recruit .retention{padding-top:4px;padding-bottom:4px;margin-top:4px;margin-bottom:4px;min-height:0}#recruit .retention p{padding-top:0!important;padding-bottom:0!important;margin-top:3px!important;margin-bottom:3px!important}#recruit .retention b{margin-top:0;margin-bottom:3px}}

@media(max-width:800px){.desktopRecruitOpening{display:none}#recruit .cultureCopy>p,#recruit .cultureStatement>p{line-height:1.45!important;text-wrap:pretty;margin-top:4px;margin-bottom:4px}}

@media(max-width:800px){#recruit .eyebrow{display:none!important}#recruit.recruitCulture{padding-top:4px;padding-bottom:4px}#recruit h2{margin-top:2px;margin-bottom:4px}}

@media(max-width:800px){#welfare-benefits .benefitGrid{grid-template-columns:minmax(0,1fr);gap:5px}#welfare-benefits .benefitGrid article{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;row-gap:2px;padding:6px 8px;min-height:0;align-content:start}#welfare-benefits .benefitGrid article>span{grid-column:1;grid-row:1/3;align-self:center;margin:0;font-size:12px}#welfare-benefits .benefitGrid article>h3{grid-column:2;margin:0;font-size:12px!important;line-height:1.3}#welfare-benefits .benefitGrid article>p{grid-column:2;margin:0;font-size:10px!important;line-height:1.4!important}}

@media(max-width:800px){#welfare-toilet .eyebrow,#welfare-toilet .toiletFeatureGrid figcaption small,#welfare-toilet .toiletCount small,#welfare-toilet .toiletBuilding>span{display:none}#welfare-toilet h2{font-size:13px!important;line-height:1.3!important;white-space:nowrap;margin:3px 0}#welfare-toilet h2 br{display:none}#welfare-toilet .toiletFeatureGrid figcaption{padding:5px}#welfare-toilet .toiletFeatureGrid figcaption b{font-size:9px!important;line-height:1.3!important;white-space:nowrap;margin:0}#welfare-toilet .toiletFeatureHead{gap:4px}}

.mobileCamperFeature{display:none}

@media(max-width:800px){#welfare-toilet .mobileCamperFeature{display:block}#welfare-toilet .toiletFeatureGrid{grid-template-columns:repeat(2,minmax(0,1fr))}#welfare-toilet .toiletFeatureGrid>figure{grid-column:auto;grid-row:auto}}

@media(max-width:800px){#mobility .sectionHead{margin-bottom:0!important}#mobility .sectionHead>p:not(.eyebrow){margin-bottom:0!important}#mobility .gallery{margin-top:0!important}}

@media(max-width:800px){#business-case .androidBadge{padding:8px;min-height:0}#business-case .androidBadge>b{font-size:16px;line-height:1.3;margin:4px 0}#business-case .androidBadge>img{width:72px;height:72px;object-fit:contain;margin:4px auto}#business-case .androidBadge>p{font-size:10px!important;line-height:1.3!important;margin:4px 0}#business-case .androidBadge>small{font-size:7px;line-height:1.2}}

.carCaptionJa{display:none}

@media(max-width:800px){#welfare-benefits .benefitGrid article{padding-top:3px!important;padding-bottom:3px!important;row-gap:0}#welfare-benefits .benefitGrid article>h3{font-size:11px!important;line-height:1.2!important}#welfare-benefits .benefitGrid article>p{font-size:9px!important;line-height:1.25!important}#welfare-benefits .benefitGrid article>small{font-size:7.5px;line-height:1.2;margin-top:1px}}

@media(max-width:800px){#welfare-benefits .benefitGrid article>b{grid-column:1;grid-row:1/5;align-self:start;font-size:12px;line-height:1.3}#welfare-benefits .benefitGrid article>small{grid-column:2;font-size:8px;line-height:1.3;margin:2px 0 0;white-space:normal}}

@media(max-width:800px){}

@media(max-width:800px){#business-case .carCaptionEn{display:none}#business-case .carCaptionJa{display:inline}}

@media(max-width:800px){#mobility .carCaptionEn{display:none}#mobility .carCaptionJa{display:inline;font-size:8px;line-height:1.3}#mobility.mobility{padding-top:4px;padding-bottom:4px}#mobility>p:not(.eyebrow){margin-top:3px;margin-bottom:4px}}

@media(max-width:800px){#mobility .eyebrow{display:none!important}#mobility h2{width:calc(100% + 24px);font-size:clamp(10px,4.25vw,28px)!important;letter-spacing:-.08em;line-height:1.3!important;white-space:nowrap;margin:2px -12px 3px}#mobility h2 br{display:none}#business-case .androidBadge>small{display:none}#mobility .gallery{margin-top:4px;padding-top:0}#mobility p:not(.eyebrow){padding-top:0!important;padding-bottom:0!important;margin-top:2px;margin-bottom:2px}}

@media(max-width:800px){#business-support .worksCards{gap:4px;margin-top:6px}#business-support .worksCards article{padding:4px 6px;min-height:0}#business-support .worksCards h3{font-size:11px!important;line-height:1.2!important;margin:2px 0}#business-support .worksCards p{font-size:8.5px!important;line-height:1.3!important;margin:0}#business-support .worksCards article>span{font-size:7px;line-height:1.1}}

@media(max-width:800px){#business-support .offerPrice small{display:none}#business-support .offerCopy a{display:flex;justify-content:center;align-items:center;white-space:nowrap;font-size:10px!important;line-height:1.2;height:22px;min-height:22px;padding:3px 6px;margin-top:4px}#business-support .offerPrice{padding-top:4px;padding-bottom:4px}#business-support .offerPrice b{margin:0}}

@media(max-width:800px){#business-support .offerPrice{padding:6px 10px;min-height:0}#business-support .offerPrice b{display:block;font-size:16px!important;line-height:1.3!important;white-space:nowrap;margin:3px 0 0}#business-support .offerPrice b br{display:none}#business-support .offerPrice b em{display:inline}#business-support .offerPrice small{font-size:6px;line-height:1.2;white-space:nowrap;letter-spacing:0}}

.websitePortfolioCard .banseiSelectedLogo{display:block;width:76px;height:64px;margin:0 auto;background:#061627;border-radius:8px;padding:5px}

@media(max-width:800px){#works .websitePortfolioCard .banseiSelectedLogo{width:36px;height:36px;padding:2px;margin:0 auto}}

@media(max-width:800px){#works .appIconRail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}#works .appIconCard{min-width:0;padding:4px}#works .appIconCard img{width:36px;height:36px;margin-left:auto;margin-right:auto;object-fit:contain}#works .appIconCard figcaption{font-size:8px;line-height:1.3;text-align:center;overflow-wrap:anywhere}#works .appLineupTitle{margin-bottom:6px}#works .appLineup{margin-bottom:4px;padding-bottom:0}}

@media(max-width:800px){#business-ai .aiIntro>p:last-child{font-size:11px!important;line-height:1.35!important;padding:0!important;margin:0!important}#business-ai .aiIntro{gap:0!important;padding:0!important;min-height:0;height:auto}#business-ai .aiIntro h2{font-size:17px!important;line-height:1.25!important;margin:0 0 2px}#business-ai.aiAtelier{padding-top:3px;padding-bottom:3px}}

@media(max-width:800px){#works .worksHead>p:not(.eyebrow){padding:0!important;margin:2px 0 0!important}#works .worksHead{gap:0!important}#works .appLineup{margin-top:4px;padding-top:0}}

@media(max-width:800px){.desktopWorksPunctuation{display:none}}

@media(max-width:800px){#works .worksHead h2{font-size:13.5px!important;line-height:1.35!important;white-space:nowrap;margin-top:2px;margin-bottom:0}#works .worksHead h2 br{display:block}#works .worksHead{padding-bottom:0;margin-bottom:0;gap:2px}#works .worksHead p:not(.eyebrow){margin-top:3px;margin-bottom:0}}

@media(max-width:800px){#works .worksHead .eyebrow{display:none!important}}

@media(max-width:800px){#business-ai .aiSignature{display:none}#business-ai .aiIntro:before{display:none}#business-ai .aiIntro{grid-template-rows:auto;gap:4px}#business-ai .aiIntro h2,#business-ai .aiIntro>p:last-child{grid-row:auto}#business-ai .aiIntro>p:last-child{margin-top:4px;margin-bottom:4px}#business-ai .aiGlass{margin-bottom:0}}

@media(max-width:800px){#business-ai .aiGlass>small{display:none}#business-ai .aiGlass{margin-top:0;padding-top:0}}

@media(max-width:800px){#business-ai .aiGlass{gap:3px;margin-top:0!important}#business-ai .aiGlass>div{padding:2px 4px;min-height:0}#business-ai .aiGlass h3{font-size:10px!important;line-height:1.1!important;margin:1px 0}#business-ai .aiGlass p{font-size:7.5px!important;line-height:1.2!important;margin:0}#business-ai .aiGlass>div>span{font-size:6px;line-height:1}}

@media(max-width:800px){#business-ai .aiIntro>.eyebrow{display:none}#business-ai.aiAtelier{padding-top:6px;padding-bottom:6px}#business-ai .aiIntro{gap:4px}#business-ai .aiIntro h2{margin-top:2px;margin-bottom:4px}}

.mobileVideoCaption{display:none!important}

@media(max-width:800px){#business-security .desktopVideoCaption{display:none!important}#business-security .mobileVideoCaption{display:block!important}}

@media(max-width:800px){#business-security .securityPhotoGrid figcaption{left:0;right:0;bottom:0;padding:4px 5px;text-align:left;background:linear-gradient(transparent,#020b15cc)}#business-security .securityPhotoGrid figcaption small{display:none}#business-security .securityPhotoGrid figcaption b{font-size:12px!important;line-height:1.2!important;margin:0 0 2px;white-space:nowrap}#business-security .securityPhotoGrid figcaption span{font-size:6px!important;line-height:1.3!important;white-space:nowrap;display:block}}

@media(max-width:800px){#business-security .securityLeadImage figcaption{left:12px;right:12px;bottom:8px;padding:0}#business-security .securityLeadImage figcaption b{display:block;font-size:16px!important;line-height:1.35!important;white-space:normal;margin:3px 0 0}#business-security .securityLeadImage figcaption small{font-size:7px;line-height:1.2}}

@media(max-width:800px){#history .historyLine>div small{font-size:3.5px;letter-spacing:0}#history .historyLine>div b{font-size:6px;margin-top:1px;line-height:1.2}#history .historyLine>div.next b{font-size:5px}#history .historyLine>div i{font-size:4px;line-height:1.2}}

@media(max-width:800px){#history .desktopHistoryPeople{display:none}#history .historyTop h2{font-size:clamp(13px,5.2vw,36px)!important}}

@media(max-width:800px){#business-dx>div>.eyebrow{display:none}#business-dx.dx{padding-top:4px;padding-bottom:4px;gap:4px}#business-dx h2{display:block!important;font-size:15px!important;line-height:1.3!important;white-space:nowrap;margin:2px 0 3px}#business-dx .dxHeadingLine{display:inline!important;white-space:nowrap}#business-dx h2 br{display:none}}

.mobileTradeDetail{display:none}

@media(max-width:800px){#business .managementBannerNew li{height:24px;min-height:24px;padding:3px 6px;gap:4px}#business .managementBannerNew li>span{font-size:10px;line-height:1.2;white-space:nowrap}#business .managementBannerNew li small{display:none}#business .mobileTradeDetail{display:block;font-size:9px!important;line-height:1.3!important;margin:4px 0 0;color:#a9c2d3}}

@media(max-width:800px){#about .introTitle>.eyebrow{display:none}}

@media(max-width:800px){#history .historyTop .eyebrow{display:none}}

@media(max-width:800px){#history.history{padding-top:10px;padding-bottom:4px}#history .historyTop{gap:2px}#history .historyTop h2{margin-top:0;margin-bottom:2px}#history .historyTop>p{font-size:11px!important;line-height:1.5!important;text-wrap:pretty;word-break:normal;overflow-wrap:normal;margin-top:2px;margin-bottom:0;padding-top:4px}}

@media(max-width:800px){#top.hero .heroCopy>.eyebrow{display:none}#about.intro{padding-bottom:6px!important}}

@media(max-width:800px){#about.intro{aspect-ratio:16/9;height:auto;min-height:0;box-sizing:border-box;align-content:center;gap:3px;padding-top:0;padding-bottom:0}#about .introText{padding-top:2px;padding-bottom:0}#about .introText p{font-size:10px!important;line-height:1.4!important;margin:2px 0 0}#about .introTitle .eyebrow{margin:0 0 2px}#about .introTitle h2{margin:2px 0 4px}}

@media(max-width:800px){.guideMenuPanel .guideMenuGrid a,.guideMenuPanel .guideMenuGrid .guideMenuBlank{height:22px;min-height:22px;padding-top:2px;padding-bottom:2px;align-self:center}.guideMenuPanel .guideMenuGrid a{background:#15354a;color:#fff;border:1px solid #96aebd;font-size:11px;font-weight:800;line-height:16px;text-shadow:none;box-shadow:none}.guideMenuPanel .guideMenuGrid a[aria-current="location"]{background:#f4d58a;color:#092033;border-color:#ffeac0;box-shadow:inset 0 -2px #b18532;font-weight:900}.guideMenuPanel .guideMenuGrid a:focus-visible{outline:2px solid #fff;outline-offset:2px}}

.brand .banseiSelectedLogo{display:block;width:240px;height:74px;max-width:100%;overflow:visible}

@media(max-width:800px){.brand .banseiSelectedLogo{width:150px;height:46px}}

@media(max-width:800px){.desktopPhotoVoiceTag{display:none!important}}

@media(min-width:801px){.mobileEfficiencyTag{display:none!important}}

@media(max-width:800px){#business-dx .chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:6px;margin-bottom:0}#business-dx .chips>span{text-align:center;min-width:0;padding:4px 2px;font-size:9.5px;line-height:1.3;white-space:nowrap}}

@media(max-width:800px){#business-dx .chips:after{grid-column:1/-1;min-width:0;width:100%;margin-top:2px;padding:6px 8px;font-size:10px;line-height:1.5;white-space:normal;text-align:left}}

@media(max-width:800px){#business-security.securityStage{gap:4px}#business-security .securityCopy{padding:0!important}#business-security .securityCopy>.eyebrow{margin-top:4px;margin-bottom:4px}}

@media(max-width:800px){#business-security .securityServices{margin:6px 0 0!important}#business-security .securityCopy blockquote{margin:4px 0 0!important;padding:4px 0!important}}

.mobileBanseiContact{display:none}

@media(max-width:800px){#business .mobileBanseiContact small{display:block;font-size:11px;line-height:1.4;margin-top:3px;color:#78dfb5;text-decoration:underline}}

@media(max-width:800px){#business .mobileBanseiContact{display:block;margin-top:6px;padding:6px 8px;background:#061627ed;border-radius:6px}#business .mobileBanseiContact span,#business .mobileBanseiContact a{display:block;font-size:14px;line-height:1.5;font-weight:700;color:#fff;overflow-wrap:anywhere}}

@media(max-width:800px){#philosophy>ul>li:last-child{grid-template-columns:60px 1fr}#philosophy>ul>li:last-child>span{font-size:0!important;line-height:0}#philosophy>ul>li:last-child>span:after{content:"警備部門の利益を貢献度に応じて\A働く仲間へ公平に還元";display:block;white-space:pre;font-size:11px;line-height:1.5}}

@media(max-width:800px){#philosophy>ul>li:last-child{padding-top:4px;padding-bottom:4px;min-height:0;height:auto}}

@media(max-width:800px){#philosophy>ul>li:nth-child(2){padding-top:4px;padding-bottom:4px;min-height:0;height:auto}#philosophy>ul>li:nth-child(2)>span{font-size:0!important;line-height:0}#philosophy>ul>li:nth-child(2)>span:after{content:"翌年度の必要経費を確保し\A残りを決算賞与として支給";display:block;white-space:pre;font-size:11px;line-height:1.5}}

@media(max-width:800px){#philosophy>div>.eyebrow{white-space:nowrap;font-size:6px!important;letter-spacing:0;line-height:1.3;margin:0 0 4px}#philosophy.historyPolicy{padding-top:6px;padding-bottom:6px;gap:4px}}

.footerCompanyGap{display:none}

/* Fill every mobile partner row while retaining the saved company order. */

@media(max-width:800px){
  html body main section#partners .partnerList{display:flex!important;flex-wrap:wrap;align-items:stretch;gap:4px!important}
  html body main section#partners .partnerList button{flex:1 1 calc((100% - 8px)/3);min-width:0!important;padding:5px 4px!important;font-size:10px!important;justify-content:center!important;text-align:center!important}
  html body main section#partners .partnerList button[data-name-span="3"]{flex-basis:calc((100% - 4px)/2)}
  html body main section#partners .partnerList button[data-name-span="6"]{flex-basis:100%}
}

@media(max-width:800px){html body main section#partners .partnerList button{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;height:auto!important;min-height:28px!important}}

@media(max-width:800px){html body main #partners .partnerList{grid-template-columns:minmax(0,1fr)!important;gap:4px!important}html body main #partners .partnerList button{writing-mode:horizontal-tb!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;font-size:11px!important;line-height:1.3!important;height:28px!important;min-height:28px!important;padding:4px 10px!important;justify-content:flex-start;text-align:left}html body main #partners .partnerList button br{display:none}}

.guideMenuGrid .mobileManagementMenu{display:none}

@media(max-width:800px){.guideMenuGrid .mobileManagementMenu{display:flex}#management{scroll-margin-top:82px}}

@media(max-width:800px){html body main #business-security .securityCopy>blockquote{display:none!important;margin:0!important;padding:0!important}html body main #business-security .securityCopy{padding-bottom:0!important;margin-bottom:0!important}html body main #business-security .securityPhotoGrid{margin-top:4px!important}}

@media(max-width:800px){#business-security .desktopSecurityPrefix{display:none!important}}

@media(max-width:800px){#business .desktopTechnologyLead{display:none!important}html body main #business .bannerIntro{min-height:0!important;height:auto!important;padding:6px 12px!important}html body main #business .bannerIntro h2{margin:2px 0!important;line-height:1.3!important}#business .bannerIntro>.eyebrow{display:none!important}}

@media(max-width:800px){html body main #about.intro{aspect-ratio:1.95!important;padding-top:7px!important;padding-bottom:7px!important}}

@media(max-width:800px){#history .historySpotlight{display:block;position:absolute;pointer-events:none;left:0;top:var(--light-top,2px);width:100%;height:var(--light-height,124px);z-index:9;opacity:var(--stop-light,0);background:linear-gradient(to bottom,#fff8db99,#ffe8aa55 70%,#f3d28a22);filter:blur(1px);mix-blend-mode:screen;transition:opacity .12s linear}#history .historySpotlight-left{clip-path:polygon(2% 0,6% 0,63% 96%,55% 100%,39% 96%)}#history .historySpotlight-right{clip-path:polygon(94% 0,98% 0,63% 96%,47% 100%,39% 96%)}}

@media(max-width:800px){html body main #history .historyLine{overflow:visible!important}html body main #history .historyLine:after{top:var(--light-top,2px)!important;height:var(--light-height,124px)!important;width:110px!important}}

@media(max-width:800px){main #history .historyLine:after{content:""!important;display:block;position:absolute;pointer-events:none;left:calc(50% + 3px);top:2px;width:86px;height:124px;transform:translateX(-50%);clip-path:polygon(46% 0,54% 0,100% 88%,86% 100%,14% 100%,0 88%);background:radial-gradient(ellipse at 50% 86%,#fff8bfaa,transparent 32%),linear-gradient(to bottom,#fff9db99,#ffe6a33d 65%,#e8bf6b12);filter:blur(1px);opacity:var(--stop-light,0);z-index:9;mix-blend-mode:screen;transition:opacity .12s linear}}

@media(max-width:800px){main #history .historyTop>div>h2{display:block!important;box-sizing:border-box;width:100%!important;max-width:100%;margin:0 auto 6px!important;padding:8px 6px!important;border:1px solid #ad8743!important;border-radius:24px!important;background:linear-gradient(135deg,#fff7e6aa,#e3c98a66)!important;box-shadow:inset 0 1px #ffffff88,0 3px 10px #6c512016;text-align:center!important;text-wrap:balance!important;white-space:normal!important;font-size:18px!important;line-height:1.35!important}}

@media(max-width:800px){main #history .historyTop h2{font-size:clamp(18px,6vw,32px)!important;line-height:1.35!important;white-space:normal!important;text-align:center!important;text-wrap:balance;width:100%!important;margin-left:0!important;margin-right:0!important;letter-spacing:0!important;background-position:center bottom}}

@media(max-width:800px){main #about.intro .introTitle h2,main #about.intro .introText p{text-align:center!important}main #about.intro .introText p{text-wrap:balance}main #about.intro .introTitle,main #about.intro .introText{width:100%;margin-left:auto;margin-right:auto}}

@media(max-width:800px){main #about.intro .introText p{font-size:10px!important;line-height:1.5!important;text-wrap:pretty;word-break:normal;padding:4px 5px!important;font-weight:500!important}main #about.intro .introText .companyName{display:inline!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;font-size:inherit!important;line-height:inherit!important}main #about.intro .introTitle h2{font-size:17px!important;line-height:1.3!important;letter-spacing:0!important;padding-bottom:4px!important}main #about.intro{gap:4px!important;padding-left:17px!important;padding-right:17px!important}}

@media(max-width:800px){main #about.intro{background-image:none!important;background-color:#102b43!important}main #about.intro:before{inset:0;background:linear-gradient(90deg,#03132155,transparent 65%),url('/assets/company-city-night-v2.png') center 65%/cover no-repeat!important;filter:brightness(2.2) saturate(1.15);border:0;box-shadow:none;clip-path:none}main #about.intro .introTitle{background:#03132155;border-radius:3px}main #about.intro .introText p{background:#031321c4}}

@media(max-width:800px){main #about.intro{background-image:linear-gradient(90deg,#03132188,#04182a44 55%,#09253c0d),url('/assets/company-city-night-v2.png')!important;box-shadow:inset 0 0 15px #020b1922!important}#about.intro .introText p{background:#03132180;padding:3px 4px;border-radius:3px}#about.intro .introTitle h2{text-shadow:0 2px 5px #000,0 0 10px #0008!important}}

@media(max-width:800px){#about.intro{background-image:linear-gradient(90deg,#031321f2,#04182abd 55%,#09253c22),url('/assets/company-city-night-v2.png')!important;align-content:center;padding:12px 18px!important;gap:6px}#about.intro .introTitle h2{font-size:clamp(17px,5.8vw,28px)!important;line-height:1.25!important;white-space:normal!important;letter-spacing:.015em!important;color:#f8df9c!important;margin:0!important;padding:0 0 7px;border-bottom:1px solid #d9bb7788}#about.intro .introTitle h2 br{display:block!important}#about.intro .introText{padding:0!important}#about.intro .introText p{font-size:10px!important;line-height:1.45!important;margin:0!important}#about.intro:before{inset:7px;border-color:#dec17e99}}

.mobileSecuritySlogan{display:none}

@media(max-width:800px){#business-security .desktopSecuritySlogan{display:none}#business-security .mobileSecuritySlogan{display:inline;font:inherit;color:inherit}}

@media(max-width:800px){.gallery figure,.toiletFeatureGrid figure{isolation:isolate}.gallery figure img,.toiletFeatureGrid figure img{animation:mobilePhotoDrift 18s ease-in-out infinite alternate;transform-origin:center}.gallery figure:nth-child(2n) img,.toiletFeatureGrid figure:nth-child(2n) img{animation-direction:alternate-reverse}.gallery figcaption,.toiletFeatureGrid figcaption{z-index:2}.premiumEntered{animation:mobileCardArrival .8s ease-out both!important;animation-delay:var(--arrival-delay,0ms)!important}.hero{animation:mobileHeroDrift 22s ease-in-out infinite alternate}}

@keyframes mobilePhotoDrift{from{transform:scale(1)}to{transform:scale(1.045)}}

@keyframes mobileHeroDrift{from{background-position:48% center}to{background-position:52% center}}

@keyframes mobileCardArrival{from{opacity:.3;clip-path:inset(0 0 100% 0 round 8px)}to{opacity:1;clip-path:inset(0 0 0 0 round 8px)}}

@media(max-width:800px) and (prefers-reduced-motion:reduce){.gallery figure img,.toiletFeatureGrid figure img,.premiumEntered,.hero{animation:none!important}}

@media(max-width:800px){#welfare-benefits .benefitGrid>article h3,#welfare-benefits .benefitGrid>article p,#welfare-benefits .benefitGrid>article small,#welfare-benefits .benefitGrid>article p:after{color:#102233!important;text-shadow:none!important;opacity:1!important}#welfare-benefits .benefitGrid>article>b{color:#176345!important;text-shadow:none!important;opacity:1!important}#welfare-benefits .benefitGrid>article{border:1px solid #a88c55!important}}

/* Warm ivory alternative for the mobile light sections. */

@media(max-width:800px){#history,#mobility,#welfare-benefits,#recruit,#business-case{background:radial-gradient(ellipse at 90% 0%,#f8e6ae66,transparent 55%),linear-gradient(145deg,#e8d8b5,#d7c39b)!important;border-top:1px solid #b4904e88;border-bottom:1px solid #b4904e66}#recruit-contact .lineContact{background:linear-gradient(145deg,#f0e2c6,#ddcba8)!important;border:1px solid #d7bb7d88;box-shadow:0 8px 24px #020c1928}#recruit .retention,#welfare-benefits .benefitGrid>article{background:linear-gradient(145deg,#f1e5cd,#e4d3b2)!important;border-color:#b8995e66}#history .historyTop{background:transparent}}

/* Mobile finish, 2026-10-15. Restore files from .qa/premium-before-20261015 to revert. */

@media(max-width:800px){
 body{background:#071b29}
 header{background:linear-gradient(115deg,#071725f5,#103c3af5);border-bottom:1px solid #d9bd7966;box-shadow:0 5px 18px #020d1930}
 .guideMenu a{border-color:#d7bf7c55;box-shadow:inset 0 1px #ffffff16}
 #about,#history{background:linear-gradient(145deg,#fffdf7,#ecece3)}
 #about{background-image:linear-gradient(90deg,#031322ed 0%,#04172bba 52%,#09253c55 100%),url('/assets/company-city-night-v2.png')!important;background-size:cover;background-position:center 65%;color:#fff!important;position:relative;isolation:isolate;border-top:1px solid #e4c67c99;border-bottom:1px solid #e4c67c99;box-shadow:inset 0 0 35px #020b19aa}
 #about:before{content:"";position:absolute;inset:9px 8px;z-index:-1;pointer-events:none;border:1px solid #d9b76566;background:linear-gradient(135deg,#e9d19128,transparent 28%,transparent 75%,#37b99114);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);box-shadow:inset 0 1px #ffe6a233}
 #about:after{content:"";position:absolute;top:18px;bottom:18px;left:8px;width:2px;background:linear-gradient(transparent,#efd58e,#a47b32,transparent);pointer-events:none}
 #about .introTitle,#about .introText{position:relative;z-index:1}
 #about .introTitle h2{color:#f7e4b2!important;filter:drop-shadow(0 2px 5px #0008);border-bottom:1px solid #d9bb7777;padding-bottom:5px}
 #about .introText p{color:#f5f6f2!important;font-weight:500}
 #about .introText .companyName:first-child{color:#87e0b6!important;font-weight:800}
 #about .introText .companyName:nth-child(2){color:#9dd9f3!important;font-weight:800}
 #about h2,#about .introText p,#about .companyName{color:#fff!important;text-shadow:0 1px 3px #0007}
 #about h2{font-weight:800!important}
 #history h2,.sectionHead h2,.worksHead h2,.aiIntro h2,#business-dx h2{background-image:linear-gradient(90deg,#ba9142,#f0d99899,transparent);background-repeat:no-repeat;background-position:left bottom;background-size:min(110px,45%) 1px}
 .managementBannerNew,.aiGlass>div,.benefitGrid>article,.worksDirect>div{border-color:#d4b87866;box-shadow:inset 0 1px #fff4d51c,0 5px 15px #00101b18}
 .managementBannerNew{background:radial-gradient(ellipse at top right,#145d6755,transparent 65%),linear-gradient(145deg,#102a3a,#071825)}
 .gallery figure,.toiletFeatureGrid figure,.securityPhotoGrid figure{border:1px solid #d9bd7955;box-shadow:0 5px 16px #06162724;overflow:hidden}
 .gallery figcaption,.toiletFeatureGrid figcaption{background:linear-gradient(transparent,#031421ec);text-shadow:0 1px 4px #000}
 #partners .partnerList button{background:linear-gradient(140deg,#ffffff12,#ffffff05);border:1px solid #d9bd7930;box-shadow:inset 0 1px #ffffff10}
 #partners .partnerBanks li{border-color:#d9bd7970;background:linear-gradient(135deg,#ffffff13,#ffffff04)}
 #partners>footer{border-top:1px solid #e8cd8b;background:radial-gradient(ellipse at top right,#1c65432b,transparent 65%)}
 .mobileSectionTicker{background:linear-gradient(90deg,#061627,#174c40,#061627);border-top:1px solid #d9bd7950;border-bottom:1px solid #d9bd7950;color:#eedaa7}
 .premiumEntered{animation:premiumArrival .7s cubic-bezier(.2,.65,.3,1) both}
 .heroShade{background:linear-gradient(100deg,#020b1970,transparent 75%),linear-gradient(0deg,#02142485,transparent 70%)}
 .hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#fff6d512 48%,transparent 61%);background-size:250% 100%;animation:premiumLight 12s ease-in-out infinite;z-index:1}
 .heroCopy,.heroRadar{z-index:2}
}

@keyframes premiumArrival{from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}

@keyframes premiumLight{0%,20%{background-position:150% 0}70%,100%{background-position:-100% 0}}

@media(max-width:800px) and (prefers-reduced-motion:reduce){.premiumEntered,.hero:after{animation:none}}

@media(max-width:800px){main>.managementBannerNew{margin:12px 14px 0;width:calc(100% - 28px);padding:4px 0}main>.managementBannerNew .managementBrand{padding-bottom:4px}main>.managementBannerNew .managementBrand h3{font-size:15px!important;line-height:1.3!important;white-space:nowrap}main>.managementBannerNew .managementBrand h3 br{display:block}main>.managementBannerNew .managementBrand small{font-size:6px;letter-spacing:0}main>.managementBannerNew .managementBrand img{filter:contrast(1.25) brightness(1.08) saturate(1.1);object-fit:contain}main>.managementBannerNew li{height:24px;min-height:24px;padding:3px 6px;gap:4px}main>.managementBannerNew li>span{font-size:10px;line-height:1.2;white-space:nowrap}main>.managementBannerNew li small{display:none}main>.managementBannerNew .mobileTradeDetail{display:block;font-size:9px;line-height:1.3;margin:4px 0 0}}

@media(max-width:800px){#partners .partnerAdmin{display:none!important}#partners .partnersHead{margin-bottom:4px!important;gap:4px!important}#partners .partnerList{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-top:0!important;gap:4px}#partners .partnerList button{padding:4px 2px!important;font-size:8px!important;line-height:1.3!important;min-width:0;min-height:42px}#partners>footer{padding-bottom:4px!important}}

.footerOtherCompanies{display:none}

@media(max-width:800px){#partners .footerOtherCompanies{display:inline}}

@media(max-width:800px){#partners .footBrand small{font-size:9.5px!important;font-weight:800!important;color:#fff!important;opacity:1!important;letter-spacing:-.15px}#partners .footBrand small br{display:none!important}#partners .footBrand small .footerCompanyGap{display:inline-block;width:8px}}

@media(max-width:800px){.backButton,.backButton:hover,.backButton:active{display:none!important}}

@media(max-width:800px){.introNumberButtons,.businessPages,.welfarePages,.recruitPages{display:none!important;margin:0!important}}

@media(max-width:800px){#philosophy .policyReturn:before{inset:3px;z-index:0;border:0;background:conic-gradient(from 0deg,transparent 0deg 265deg,#70ffba08 280deg,#70ffba80 355deg,#d9ffe8b0 360deg);animation:policyOrbit 5s linear infinite}#philosophy .policyReturn{isolation:isolate;background-image:repeating-radial-gradient(circle,transparent 0 14px,#7ceab130 15px 16px),radial-gradient(circle,#07513a,#041d18)}}

@media(max-width:800px) and (prefers-reduced-motion:reduce){#philosophy .policyReturn:before{animation:none}}

@media(max-width:800px){#history .historyTop>p .personName{white-space:nowrap;word-break:keep-all;font-weight:900}#history .historyTop>p .kamiki{color:#b78118}#history .historyTop>p .suzuki{color:#168ed5}#history .historyTop>p .yonaha{color:#d52e2e}#history .historyTop>p .fujii{color:#7d43c7}#history .historyTop>p .kawazoe{color:#069db4}}

@media(max-width:800px){#business .managementBrand h3{font-size:15px!important;line-height:1.3!important;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}#business .managementBrand h3 br{display:block}#business .managementBrand img{filter:contrast(1.25) brightness(1.08) saturate(1.1);object-fit:contain;border-color:#f0c86b;opacity:1;transform:none}}

@media(max-width:800px){#business .managementBannerNew{padding-top:7px;padding-bottom:7px}#business .managementBrand{padding-bottom:14px}}

@media(max-width:800px){#business .managementBrand small{font-size:6px;letter-spacing:0;line-height:1.3;white-space:nowrap}#business .managementBrand h3{margin-top:2px;margin-bottom:2px}#business .managementBrand{padding-bottom:4px}#business .managementBannerNew{padding-top:4px;padding-bottom:4px}}

@media(max-width:800px){#business .bannerIntro{padding:12px 14px;background:linear-gradient(135deg,#102b42,#061627);border:1px solid #f0c86b88;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}#business .bannerIntro h2{margin:6px 0}}

/* Compact single-line mobile partner heading. */

@media(max-width:800px){#partners .partnersHead h2{text-align:center;white-space:nowrap;margin:4px 0 6px!important}}

/* Desktop viewport fit: compact menu, reclaim its vertical space. */

@media(min-width:801px){
 .guideMenuPanel.alwaysOpen{padding-top:7px;padding-bottom:7px;}
 .guideMenuPanel.alwaysOpen .guideMenuGrid{grid-template-columns:repeat(7,minmax(0,1fr));}
 .guideMenuGrid a{min-height:24px;padding:2px 8px;}
 main{padding-top:104px;}
 #top.hero{margin-top:0;}
 #history .historyNumberButtons{top:14px;}
 #history{padding-top:54px;padding-bottom:20px;}
}

@media(min-width:801px){
 .guideMenuPanel.alwaysOpen .guideMenuGrid a{height:24px!important;min-height:24px!important;padding:2px 8px!important;font-size:11px!important;line-height:1.2!important;}
 main > section[id],main > #philosophy,main > #business-support{margin-left:auto!important;margin-right:auto!important;}
}

@media(min-width:801px){
 .guideMenuPanel.alwaysOpen{height:39px!important;min-height:39px!important;padding-top:7px!important;padding-bottom:7px!important;}
 main{padding-top:105px;}
}

@media(min-width:801px){
 #recruit .retention,#recruit .cultureStatement{display:block;}
 #recruit .retention>div{padding:12px 14px 0;}
 #recruit .retention b,#recruit .retention b span{font-size:20px;line-height:1.4;}
 #recruit .cultureStatement>div{padding:14px;}
 #philosophy h3{font-size:28px;line-height:1.5;}
}

@media(min-width:801px){
 .banseiAutoScroll{height:22px;min-height:22px;padding:2px 18px;line-height:16px;top:22px;}
}

/* Top page fills the width; compose within the actual available height. */

@media(min-width:801px){
 main > #top.hero{width:100%!important;max-width:none;zoom:1;height:calc(100dvh - 105px);min-height:0;padding:20px 6vw;align-items:center;background-size:cover;background-position:center;}
 #top .heroCopy{max-width:850px;padding-left:24px;}
 #top.hero h1{font-size:clamp(38px,min(6.5vw,12dvh),92px);line-height:1.08;margin:12px 0;}
 #top .heroLead{font-size:clamp(11px,2.2dvh,16px);line-height:1.6;margin:10px 0;}
 #top .eyebrow{font-size:clamp(8px,1.7dvh,11px);padding:4px 8px;margin:0;}
}

@media(min-width:801px){#top.hero h1{font-size:clamp(34px,min(4.5vw,9dvh),68px);line-height:1.15;}}

@media(min-width:801px){#top .banseiHeroCopy .heroLead,#top .heroLead{font-size:clamp(16px,3dvh,20px);line-height:1.7;margin:18px 0 0;}}

@media(min-width:801px){
 #top .heroCopy{position:static;padding-bottom:70px;}
 #top .heroCopy .heroLead{position:absolute;left:calc(6vw + 24px);bottom:22px;margin:0;z-index:3;color:#fff;text-shadow:0 2px 4px #000;}
}

@media(min-width:801px){.brand .banseiSelectedLogo{width:180px;height:55px;transform:scaleX(1.2);transform-origin:left center;}}

@media(min-width:801px){#top.hero{background-position:center bottom;}#top .banseiHeroCopy .banseiTypedHeading{transform:none;}}

@media(min-width:801px){#top.hero{background-size:100% 100%;}#top .heroCopy .heroLead{bottom:12px;}}

@media(min-width:801px){main > #top.hero{background-size:100% 100%;}}

/* Keep the third hero line legible over the building photo. */

@media(min-width:801px){
 #top.hero h1 em,#top .banseiTypedLive>span:last-of-type{
  background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important;
  text-shadow:0 2px 3px #000,0 0 8px #0009;filter:none!important;
 }
}

@media(min-width:801px){
 #top.hero h1 em,#top .banseiTypedLive>span:last-of-type{
  background:linear-gradient(90deg,#008c48 0%,#17a653 38%,#e9bd00 78%,#ffd126 100%)!important;
  background-clip:text!important;-webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;color:transparent!important;
  -webkit-text-stroke:.4px #244b2b;text-shadow:none!important;
  filter:drop-shadow(0 1px 1px #fff9) drop-shadow(0 2px 2px #0008)!important;
 }
}

/* Desktop succession uses the same warm stopped-name spotlights as mobile. */

@media(min-width:801px){
 #history .historySpotlight{display:block;position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;z-index:9;opacity:var(--stop-light,0);background:linear-gradient(to bottom,#fff8db99,#ffe8aa55 70%,#f3d28a22);filter:blur(1px);mix-blend-mode:screen;transition:opacity .12s linear}
 #history .historySpotlight-left{clip-path:polygon(2% 0,6% 0,63% 96%,55% 100%,39% 96%)}
 #history .historySpotlight-right{clip-path:polygon(94% 0,98% 0,63% 96%,47% 100%,39% 96%)}
 #history .historyLine:after{content:""!important;display:block;position:absolute;pointer-events:none;left:50%;top:0;width:150px;height:100%;transform:translateX(-50%);clip-path:polygon(46% 0,54% 0,100% 88%,86% 100%,14% 100%,0 88%);background:radial-gradient(ellipse at 50% 86%,#fff8bfaa,transparent 32%),linear-gradient(to bottom,#fff9db99,#ffe6a33d 65%,#e8bf6b12);filter:blur(1px);opacity:var(--stop-light,0);z-index:9;mix-blend-mode:screen;transition:opacity .12s linear}
}

@media(min-width:801px){main > #about.intro,main > #history{max-width:none!important;}}

@media(min-width:801px){.brand .banseiSelectedLogo path{fill:#007f50;}}

@media(min-width:801px){#history .historyTop{width:88vw;max-width:1250px;margin-left:auto;margin-right:auto;}}

@media(min-width:801px){#history .historyTop>p{transform:scale(1.1);transform-origin:left top;}}

@media(min-width:801px){#history .historyTop>p .historyPhrase,#history .historyTop>p .personName{white-space:nowrap;}}

@media(min-width:801px){#history .historyTop>p .personName{font-size:1.1em;display:inline-block;transform:scale(1.09);transform-origin:center;}}

.historyClosingDesktop{display:none}

@media(min-width:801px){
 .guideMenuGrid .mobileManagementMenu{display:flex}
 .guideMenuPanel.alwaysOpen .guideMenuGrid{grid-template-columns:repeat(8,minmax(0,1fr));}
 .guideMenuGrid .guideMenuBlank{display:none;}
 main>#management{position:relative;box-sizing:border-box;padding:90px 6vw 50px;margin:0 auto;max-width:none;display:flex;flex-direction:column;justify-content:center;}
 main>#management .managementBrand{max-width:1000px;width:100%;margin:0 auto;}
 main>#management ul{max-width:1000px;width:100%;margin:30px auto 0;}
 #business.brandBanners{grid-template-columns:1fr;}
 #business .bannerIntro{grid-column:1;}
 #business .securityBannerAnimated{max-width:900px;width:100%;margin:auto;grid-column:1;}
}

@media(min-width:801px){main > #philosophy{max-width:none!important;}}

@media(min-width:801px){
 #philosophy .eyebrow{font-size:16.5px;}
 #philosophy .policyLead{font-size:clamp(37.5px,4.05vw,58.5px);}
 #philosophy h3{font-size:42px;}
 #philosophy .policyTextChunk{display:inline-block;white-space:nowrap;}
 #philosophy .policyReturn small,#philosophy .policyReturn span{font-size:12px;}
 #philosophy .policyReturn b{font-size:33px;}
 #philosophy li b{font-size:25.5px;}
 #philosophy li span{font-size:19.5px;}
 #philosophy li{grid-template-columns:130px 1fr;}
 #philosophy .introNumberButtons span{font-size:18px;}
 #philosophy .introNumberButtons .sectionStep{font-size:15px;}
}

@media(min-width:801px){.historyClosingDesktop{display:inline}.historyClosingMobile{display:none}}

@media(min-width:801px){
 main > #about.intro{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:5vw;}
 #about.intro .introTitle h2{font-size:clamp(26px,3.6vw,58px)!important;line-height:1.55!important;letter-spacing:0!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;}
 #about.intro .introTitle h2 br{display:block!important;}
 #about.intro .introText p{font-size:clamp(16px,1.85vw,27px)!important;line-height:1.9!important;}
 #about.intro .introText .companyName{display:inline-block!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;}
}

/* Video captions shared between mobile and desktop. */

@media(max-width:800px){#business-security figcaption .sharedVideoCaption{display:block!important}}

/* Match the desktop Miyajima history backdrop on mobile. */

@media(max-width:800px){html body main #history{background-color:#e8d8b5!important;background-image:linear-gradient(#f7faf790,#f7faf790),url("/assets/miyajima-selected-sunset.jpg")!important;background-position:center top,70% top!important;background-size:100% 100%,auto clamp(360px,105vw,460px)!important;background-repeat:no-repeat!important}}

/* Emphasize the five history names on mobile, matching desktop. */

@media(max-width:800px){#history .historyTop>p .personName{font-size:1.2em;display:inline-block;font-weight:900;}}

/* Center the history introduction on mobile. */

@media(max-width:800px){#history .historyTop>p{text-align:center!important;}}

/* Keep the history paragraph lines balanced without a short orphan line. */

#history .historyTop>p{text-wrap:balance;}
