/*! tailwindcss v4.0.3 | MIT License | https://tailwindcss.com */
/*!
Theme Name: MACHIYA Magazine
Theme URI: https://www.machiya-inn-japan.com/
Description: A travel media theme for MACHIYA Magazine — Japan Guide & Travel Recommendations. Built with Tailwind CSS v4, Alpine.js, and Swiper.
Author: MACHIYA INNS & HOTELS
Version: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: machiya-magazine
*/
@layer theme, base, components, utilities;
@layer theme {
  :root,
  :host {
    --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(0.971 0.013 17.38);
    --color-red-100: oklch(0.936 0.032 17.717);
    --color-red-200: oklch(0.885 0.062 18.334);
    --color-red-300: oklch(0.808 0.114 19.571);
    --color-red-400: oklch(0.704 0.191 22.216);
    --color-red-500: oklch(0.637 0.237 25.331);
    --color-red-600: oklch(0.577 0.245 27.325);
    --color-red-700: oklch(0.505 0.213 27.518);
    --color-red-800: oklch(0.444 0.177 26.899);
    --color-red-900: oklch(0.396 0.141 25.723);
    --color-red-950: oklch(0.258 0.092 26.042);
    --color-orange-50: oklch(0.98 0.016 73.684);
    --color-orange-100: oklch(0.954 0.038 75.164);
    --color-orange-200: oklch(0.901 0.076 70.697);
    --color-orange-300: oklch(0.837 0.128 66.29);
    --color-orange-400: oklch(0.75 0.183 55.934);
    --color-orange-500: oklch(0.705 0.213 47.604);
    --color-orange-600: oklch(0.646 0.222 41.116);
    --color-orange-700: oklch(0.553 0.195 38.402);
    --color-orange-800: oklch(0.47 0.157 37.304);
    --color-orange-900: oklch(0.408 0.123 38.172);
    --color-orange-950: oklch(0.266 0.079 36.259);
    --color-amber-50: oklch(0.987 0.022 95.277);
    --color-amber-100: oklch(0.962 0.059 95.617);
    --color-amber-200: oklch(0.924 0.12 95.746);
    --color-amber-300: oklch(0.879 0.169 91.605);
    --color-amber-400: oklch(0.828 0.189 84.429);
    --color-amber-500: oklch(0.769 0.188 70.08);
    --color-amber-600: oklch(0.666 0.179 58.318);
    --color-amber-700: oklch(0.555 0.163 48.998);
    --color-amber-800: oklch(0.473 0.137 46.201);
    --color-amber-900: oklch(0.414 0.112 45.904);
    --color-amber-950: oklch(0.279 0.077 45.635);
    --color-yellow-50: oklch(0.987 0.026 102.212);
    --color-yellow-100: oklch(0.973 0.071 103.193);
    --color-yellow-200: oklch(0.945 0.129 101.54);
    --color-yellow-300: oklch(0.905 0.182 98.111);
    --color-yellow-400: oklch(0.852 0.199 91.936);
    --color-yellow-500: oklch(0.795 0.184 86.047);
    --color-yellow-600: oklch(0.681 0.162 75.834);
    --color-yellow-700: oklch(0.554 0.135 66.442);
    --color-yellow-800: oklch(0.476 0.114 61.907);
    --color-yellow-900: oklch(0.421 0.095 57.708);
    --color-yellow-950: oklch(0.286 0.066 53.813);
    --color-lime-50: oklch(0.986 0.031 120.757);
    --color-lime-100: oklch(0.967 0.067 122.328);
    --color-lime-200: oklch(0.938 0.127 124.321);
    --color-lime-300: oklch(0.897 0.196 126.665);
    --color-lime-400: oklch(0.841 0.238 128.85);
    --color-lime-500: oklch(0.768 0.233 130.85);
    --color-lime-600: oklch(0.648 0.2 131.684);
    --color-lime-700: oklch(0.532 0.157 131.589);
    --color-lime-800: oklch(0.453 0.124 130.933);
    --color-lime-900: oklch(0.405 0.101 131.063);
    --color-lime-950: oklch(0.274 0.072 132.109);
    --color-green-50: oklch(0.982 0.018 155.826);
    --color-green-100: oklch(0.962 0.044 156.743);
    --color-green-200: oklch(0.925 0.084 155.995);
    --color-green-300: oklch(0.871 0.15 154.449);
    --color-green-400: oklch(0.792 0.209 151.711);
    --color-green-500: oklch(0.723 0.219 149.579);
    --color-green-600: oklch(0.627 0.194 149.214);
    --color-green-700: oklch(0.527 0.154 150.069);
    --color-green-800: oklch(0.448 0.119 151.328);
    --color-green-900: oklch(0.393 0.095 152.535);
    --color-green-950: oklch(0.266 0.065 152.934);
    --color-emerald-50: oklch(0.979 0.021 166.113);
    --color-emerald-100: oklch(0.95 0.052 163.051);
    --color-emerald-200: oklch(0.905 0.093 164.15);
    --color-emerald-300: oklch(0.845 0.143 164.978);
    --color-emerald-400: oklch(0.765 0.177 163.223);
    --color-emerald-500: oklch(0.696 0.17 162.48);
    --color-emerald-600: oklch(0.596 0.145 163.225);
    --color-emerald-700: oklch(0.508 0.118 165.612);
    --color-emerald-800: oklch(0.432 0.095 166.913);
    --color-emerald-900: oklch(0.378 0.077 168.94);
    --color-emerald-950: oklch(0.262 0.051 172.552);
    --color-teal-50: oklch(0.984 0.014 180.72);
    --color-teal-100: oklch(0.953 0.051 180.801);
    --color-teal-200: oklch(0.91 0.096 180.426);
    --color-teal-300: oklch(0.855 0.138 181.071);
    --color-teal-400: oklch(0.777 0.152 181.912);
    --color-teal-500: oklch(0.704 0.14 182.503);
    --color-teal-600: oklch(0.6 0.118 184.704);
    --color-teal-700: oklch(0.511 0.096 186.391);
    --color-teal-800: oklch(0.437 0.078 188.216);
    --color-teal-900: oklch(0.386 0.063 188.416);
    --color-teal-950: oklch(0.277 0.046 192.524);
    --color-cyan-50: oklch(0.984 0.019 200.873);
    --color-cyan-100: oklch(0.956 0.045 203.388);
    --color-cyan-200: oklch(0.917 0.08 205.041);
    --color-cyan-300: oklch(0.865 0.127 207.078);
    --color-cyan-400: oklch(0.789 0.154 211.53);
    --color-cyan-500: oklch(0.715 0.143 215.221);
    --color-cyan-600: oklch(0.609 0.126 221.723);
    --color-cyan-700: oklch(0.52 0.105 223.128);
    --color-cyan-800: oklch(0.45 0.085 224.283);
    --color-cyan-900: oklch(0.398 0.07 227.392);
    --color-cyan-950: oklch(0.302 0.056 229.695);
    --color-sky-50: oklch(0.977 0.013 236.62);
    --color-sky-100: oklch(0.951 0.026 236.824);
    --color-sky-200: oklch(0.901 0.058 230.902);
    --color-sky-300: oklch(0.828 0.111 230.318);
    --color-sky-400: oklch(0.746 0.16 232.661);
    --color-sky-500: oklch(0.685 0.169 237.323);
    --color-sky-600: oklch(0.588 0.158 241.966);
    --color-sky-700: oklch(0.5 0.134 242.749);
    --color-sky-800: oklch(0.443 0.11 240.79);
    --color-sky-900: oklch(0.391 0.09 240.876);
    --color-sky-950: oklch(0.293 0.066 243.157);
    --color-blue-50: oklch(0.97 0.014 254.604);
    --color-blue-100: oklch(0.932 0.032 255.585);
    --color-blue-200: oklch(0.882 0.059 254.128);
    --color-blue-300: oklch(0.809 0.105 251.813);
    --color-blue-400: oklch(0.707 0.165 254.624);
    --color-blue-500: oklch(0.623 0.214 259.815);
    --color-blue-600: oklch(0.546 0.245 262.881);
    --color-blue-700: oklch(0.488 0.243 264.376);
    --color-blue-800: oklch(0.424 0.199 265.638);
    --color-blue-900: oklch(0.379 0.146 265.522);
    --color-blue-950: oklch(0.282 0.091 267.935);
    --color-indigo-50: oklch(0.962 0.018 272.314);
    --color-indigo-100: oklch(0.93 0.034 272.788);
    --color-indigo-200: oklch(0.87 0.065 274.039);
    --color-indigo-300: oklch(0.785 0.115 274.713);
    --color-indigo-400: oklch(0.673 0.182 276.935);
    --color-indigo-500: oklch(0.585 0.233 277.117);
    --color-indigo-600: oklch(0.511 0.262 276.966);
    --color-indigo-700: oklch(0.457 0.24 277.023);
    --color-indigo-800: oklch(0.398 0.195 277.366);
    --color-indigo-900: oklch(0.359 0.144 278.697);
    --color-indigo-950: oklch(0.257 0.09 281.288);
    --color-violet-50: oklch(0.969 0.016 293.756);
    --color-violet-100: oklch(0.943 0.029 294.588);
    --color-violet-200: oklch(0.894 0.057 293.283);
    --color-violet-300: oklch(0.811 0.111 293.571);
    --color-violet-400: oklch(0.702 0.183 293.541);
    --color-violet-500: oklch(0.606 0.25 292.717);
    --color-violet-600: oklch(0.541 0.281 293.009);
    --color-violet-700: oklch(0.491 0.27 292.581);
    --color-violet-800: oklch(0.432 0.232 292.759);
    --color-violet-900: oklch(0.38 0.189 293.745);
    --color-violet-950: oklch(0.283 0.141 291.089);
    --color-purple-50: oklch(0.977 0.014 308.299);
    --color-purple-100: oklch(0.946 0.033 307.174);
    --color-purple-200: oklch(0.902 0.063 306.703);
    --color-purple-300: oklch(0.827 0.119 306.383);
    --color-purple-400: oklch(0.714 0.203 305.504);
    --color-purple-500: oklch(0.627 0.265 303.9);
    --color-purple-600: oklch(0.558 0.288 302.321);
    --color-purple-700: oklch(0.496 0.265 301.924);
    --color-purple-800: oklch(0.438 0.218 303.724);
    --color-purple-900: oklch(0.381 0.176 304.987);
    --color-purple-950: oklch(0.291 0.149 302.717);
    --color-fuchsia-50: oklch(0.977 0.017 320.058);
    --color-fuchsia-100: oklch(0.952 0.037 318.852);
    --color-fuchsia-200: oklch(0.903 0.076 319.62);
    --color-fuchsia-300: oklch(0.833 0.145 321.434);
    --color-fuchsia-400: oklch(0.74 0.238 322.16);
    --color-fuchsia-500: oklch(0.667 0.295 322.15);
    --color-fuchsia-600: oklch(0.591 0.293 322.896);
    --color-fuchsia-700: oklch(0.518 0.253 323.949);
    --color-fuchsia-800: oklch(0.452 0.211 324.591);
    --color-fuchsia-900: oklch(0.401 0.17 325.612);
    --color-fuchsia-950: oklch(0.293 0.136 325.661);
    --color-pink-50: oklch(0.971 0.014 343.198);
    --color-pink-100: oklch(0.948 0.028 342.258);
    --color-pink-200: oklch(0.899 0.061 343.231);
    --color-pink-300: oklch(0.823 0.12 346.018);
    --color-pink-400: oklch(0.718 0.202 349.761);
    --color-pink-500: oklch(0.656 0.241 354.308);
    --color-pink-600: oklch(0.592 0.249 0.584);
    --color-pink-700: oklch(0.525 0.223 3.958);
    --color-pink-800: oklch(0.459 0.187 3.815);
    --color-pink-900: oklch(0.408 0.153 2.432);
    --color-pink-950: oklch(0.284 0.109 3.907);
    --color-rose-50: oklch(0.969 0.015 12.422);
    --color-rose-100: oklch(0.941 0.03 12.58);
    --color-rose-200: oklch(0.892 0.058 10.001);
    --color-rose-300: oklch(0.81 0.117 11.638);
    --color-rose-400: oklch(0.712 0.194 13.428);
    --color-rose-500: oklch(0.645 0.246 16.439);
    --color-rose-600: oklch(0.586 0.253 17.585);
    --color-rose-700: oklch(0.514 0.222 16.935);
    --color-rose-800: oklch(0.455 0.188 13.697);
    --color-rose-900: oklch(0.41 0.159 10.272);
    --color-rose-950: oklch(0.271 0.105 12.094);
    --color-slate-50: oklch(0.984 0.003 247.858);
    --color-slate-100: oklch(0.968 0.007 247.896);
    --color-slate-200: oklch(0.929 0.013 255.508);
    --color-slate-300: oklch(0.869 0.022 252.894);
    --color-slate-400: oklch(0.704 0.04 256.788);
    --color-slate-500: oklch(0.554 0.046 257.417);
    --color-slate-600: oklch(0.446 0.043 257.281);
    --color-slate-700: oklch(0.372 0.044 257.287);
    --color-slate-800: oklch(0.279 0.041 260.031);
    --color-slate-900: oklch(0.208 0.042 265.755);
    --color-slate-950: oklch(0.129 0.042 264.695);
    --color-gray-50: oklch(0.985 0.002 247.839);
    --color-gray-100: oklch(0.967 0.003 264.542);
    --color-gray-200: oklch(0.928 0.006 264.531);
    --color-gray-300: oklch(0.872 0.01 258.338);
    --color-gray-400: oklch(0.707 0.022 261.325);
    --color-gray-500: oklch(0.551 0.027 264.364);
    --color-gray-600: oklch(0.446 0.03 256.802);
    --color-gray-700: oklch(0.373 0.034 259.733);
    --color-gray-800: oklch(0.278 0.033 256.848);
    --color-gray-900: oklch(0.21 0.034 264.665);
    --color-gray-950: oklch(0.13 0.028 261.692);
    --color-zinc-50: oklch(0.985 0 0);
    --color-zinc-100: oklch(0.967 0.001 286.375);
    --color-zinc-200: oklch(0.92 0.004 286.32);
    --color-zinc-300: oklch(0.871 0.006 286.286);
    --color-zinc-400: oklch(0.705 0.015 286.067);
    --color-zinc-500: oklch(0.552 0.016 285.938);
    --color-zinc-600: oklch(0.442 0.017 285.786);
    --color-zinc-700: oklch(0.37 0.013 285.805);
    --color-zinc-800: oklch(0.274 0.006 286.033);
    --color-zinc-900: oklch(0.21 0.006 285.885);
    --color-zinc-950: oklch(0.141 0.005 285.823);
    --color-neutral-50: oklch(0.985 0 0);
    --color-neutral-100: oklch(0.97 0 0);
    --color-neutral-200: oklch(0.922 0 0);
    --color-neutral-300: oklch(0.87 0 0);
    --color-neutral-400: oklch(0.708 0 0);
    --color-neutral-500: oklch(0.556 0 0);
    --color-neutral-600: oklch(0.439 0 0);
    --color-neutral-700: oklch(0.371 0 0);
    --color-neutral-800: oklch(0.269 0 0);
    --color-neutral-900: oklch(0.205 0 0);
    --color-neutral-950: oklch(0.145 0 0);
    --color-stone-50: oklch(0.985 0.001 106.423);
    --color-stone-100: oklch(0.97 0.001 106.424);
    --color-stone-200: oklch(0.923 0.003 48.717);
    --color-stone-300: oklch(0.869 0.005 56.366);
    --color-stone-400: oklch(0.709 0.01 56.259);
    --color-stone-500: oklch(0.553 0.013 58.071);
    --color-stone-600: oklch(0.444 0.011 73.639);
    --color-stone-700: oklch(0.374 0.01 67.558);
    --color-stone-800: oklch(0.268 0.007 34.298);
    --color-stone-900: oklch(0.216 0.006 56.043);
    --color-stone-950: oklch(0.147 0.004 49.25);
    --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);
    --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;
    --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: "Poppins", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --default-font-feature-settings: var(--font-sans--font-feature-settings);
    --default-font-variation-settings: var(--font-sans--font-variation-settings);
    --default-mono-font-family: var(--font-mono);
    --default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
    --default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
    --font-heading: "Noto Serif", serif;
    --font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --font-nav: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-nav-sub: Helvetica, Verdana, Arial, sans-serif;
    --font-footer: Verdana, Arial, Helvetica, sans-serif;
    --font-quote: "Montserrat", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --font-info: "Open Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --font-jp: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    --color-primary: #44abe0;
    --color-primary-dark: #339bd0;
    --color-primary-light: #60c3e2;
    --color-primary-bg: #e8f4fa;
    --color-accent: #ec6a2a;
    --color-accent-hover: #d15925;
    --color-cta: #d2c132;
    --color-cta-hover: #c3b016;
    --color-warm: #b7a686;
    --color-kyoto: #e04445;
    --color-takayama: #3f9a6d;
    --color-kanazawa: #5e419a;
    --color-ink: #313131;
    --color-ink-muted: #666666;
    --color-line: #e8e8e8;
    --color-surface: #ffffff;
    --color-surface-alt: #f7f7f7;
  }
}
@layer base {
  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html,
  :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  body {
    line-height: inherit;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block;
    vertical-align: middle;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea,
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
    color: color-mix(in oklab, currentColor 50%, transparent);
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-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;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type="button"], [type="reset"], [type="submit"]),
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .right-\[30px\] {
    right: 30px;
  }
  .bottom-\[30px\] {
    bottom: 30px;
  }
  .z-40 {
    z-index: 40;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .size-1 {
    width: calc(var(--spacing) * 1);
    height: calc(var(--spacing) * 1);
  }
  .size-full {
    width: 100%;
    height: 100%;
  }
  .h-\[50px\] {
    height: 50px;
  }
  .w-\[50px\] {
    width: 50px;
  }
  .w-full {
    width: 100%;
  }
  .flex-1 {
    flex: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);
  }
  .resize {
    resize: both;
  }
  .columns-5 {
    columns: 5;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-ink\/30 {
    border-color: color-mix(in oklab, var(--color-ink) 30%, transparent);
  }
  .bg-primary {
    background-color: var(--color-primary);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .text-center {
    text-align: center;
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-ink {
    color: var(--color-ink);
  }
  .text-ink-muted {
    color: var(--color-ink-muted);
  }
  .text-white {
    color: var(--color-white);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .underline {
    text-decoration-line: underline;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property:
      color,
      background-color,
      border-color,
      outline-color,
      text-decoration-color,
      fill,
      stroke,
      --tw-gradient-from,
      --tw-gradient-via,
      --tw-gradient-to,
      opacity,
      box-shadow,
      transform,
      translate,
      scale,
      rotate,
      filter,
      -webkit-backdrop-filter,
      backdrop-filter;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .backface-hidden {
    backface-visibility: hidden;
  }
  .placeholder\:text-ink-muted {
    &::placeholder {
      color: var(--color-ink-muted);
    }
  }
  .focus-within\:border-primary {
    &:focus-within {
      border-color: var(--color-primary);
    }
  }
  .hover\:text-primary {
    &:hover {
      @media (hover: hover) {
        color: var(--color-primary);
      }
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:mb-12 {
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 12);
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:gap-10 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 10);
    }
  }
  .lg\:py-16 {
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 16);
    }
  }
}
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: auto;
  border-radius: 5px;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}
.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}
.scroll-hint-text {
  font-size: 10px;
  color: #fff;
  margin-top: 5px;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}
.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}
.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}
.scroll-hint-icon-white {
  background-color: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}
.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}
.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}
.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}
.scroll-hint-shadow-wrap {
  position: relative;
}
.scroll-hint-shadow-wrap::after {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}
.scroll-hint-shadow-wrap::before {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}
.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after {
  opacity: 1;
  visibility: visible;
}
.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before {
  opacity: 1;
  visibility: visible;
}
@layer base {
  body {
    background-color: var(--color-surface);
    font-family: var(--font-body);
    color: var(--color-ink);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--font-heading);
    color: var(--color-ink);
    line-height: 1.3;
    font-weight: normal;
  }
  a {
    color: var(--color-primary);
    transition: color 0.2s;
  }
  a:hover {
    color: var(--color-primary-dark);
  }
  img {
    height: auto;
    max-width: 100%;
  }
  .skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .skip-link:focus {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    position: fixed;
    top: calc(var(--spacing) * 2);
    left: calc(var(--spacing) * 2);
    z-index: 200;
    border-radius: 0.25rem;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 2);
    color: var(--color-primary);
  }
}
@layer components {
  .container-site {
    max-width: 1240px;
    margin-inline: auto;
    padding-inline: 20px;
  }
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 2.5);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .btn-primary {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .btn-primary:hover {
    background-color: var(--color-primary-dark);
  }
  .btn-cta {
    background-color: var(--color-cta);
    color: #fff;
  }
  .btn-cta:hover {
    background-color: var(--color-cta-hover);
    color: #fff;
  }
  .post-card {
    display: block;
    background-color: var(--color-surface);
  }
  .post-card__category {
    color: var(--color-primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .post-card__excerpt {
    margin-top: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--color-ink-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.topHeader {
  padding: 68px 0 42px;
  position: relative;
}
.headBg {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: block;
}
.headBg::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url("assets/images/bg.webp") center top no-repeat;
  background-size: cover;
  filter: blur(4px);
  transform: scale(1.1);
}
.CustomHeader {
  position: relative;
  z-index: 9999;
}
.CustomHeader * {
  list-style: none;
  margin: 0;
  padding: 0;
}
.CustomHeader .Header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(to right, #44abe0, #339bd0);
  border-radius: 100px;
  padding: 16px 42px 16px 16px;
  width: calc(100% - 40px);
  max-width: 1135px;
  margin: 0 auto;
  box-sizing: border-box;
  box-shadow: 0px 0px 0px 6px rgba(0, 0, 0, 0.05);
}
.topHeader.is-home .CustomHeader .Header {
  box-shadow: 0px 0px 0px 6px rgba(255, 255, 255, 0.2);
}
.CustomHeader .Logo {
  display: flex;
  align-items: center;
}
.CustomHeader .Logo a {
  display: block;
  line-height: 0;
}
.CustomHeader .Logo img {
  max-width: 278px;
  display: block;
}
.CustomHeader .Menu > ul {
  display: flex;
  gap: 26px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.CustomHeader .Menu > ul > li {
  position: relative;
}
.CustomHeader .Menu > ul > li > a,
.CustomHeader .Menu > ul > li > span {
  color: #fff;
  text-decoration: none;
  font-size: 17px;
  font-family: var(--font-nav);
  text-transform: none;
  position: relative;
  cursor: pointer;
}
.CustomHeader .Menu > ul > li.has-children > span,
.CustomHeader .Menu > ul > li.has-children > a {
  padding-right: 13px;
}
.CustomHeader .Menu > ul > li.has-children > span::after,
.CustomHeader .Menu > ul > li.has-children > a.is-parent::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 6px solid #fff;
}
.CustomHeader .Menu ul li ul {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 26px;
  background: rgba(255, 255, 255, 0.8);
  padding: 17px;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  overflow: hidden;
  min-width: 100%;
  transition:
    visibility 0s linear 0.25s,
    opacity 0.25s ease-out;
}
.CustomHeader .Menu ul li:hover > ul,
.CustomHeader .Menu ul li:focus-within > ul {
  opacity: 1;
  visibility: visible;
  transition:
    visibility 0s linear 0s,
    opacity 0.25s ease-out;
}
.CustomHeader .Menu ul li ul li {
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  font-family: var(--font-nav-sub);
  margin-top: 10px;
}
.CustomHeader .Menu ul li ul li:first-child {
  margin-top: 0;
}
.CustomHeader .Menu ul li ul li a {
  color: #000;
  text-decoration: none;
}
.CustomHeader .Menu ul li ul li a:hover {
  color: var(--color-warm);
}
.CustomHeader .Menu ul li ul li a::before {
  display: inline-block;
  content: "";
  width: 3px;
  height: 1px;
  background: #000;
  vertical-align: middle;
  margin-right: 6px;
}
.CustomHeader .Menu ul li ul li a.blank::after {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  background: url("assets/images/blank.svg") no-repeat;
  background-size: 100% 100%;
  margin-left: 6px;
}
.hamburger-menu {
  display: none;
  cursor: pointer;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 21px;
  margin-left: auto;
  align-items: center;
  background: transparent;
  border: 0;
  padding: 0;
}
.hamburger-menu div,
.hamburger-menu span {
  width: 30px;
  height: 3px;
  background-color: #fff;
  display: block;
}
.modal-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f7f7f7;
  z-index: 9999999;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
}
.modal-menu.is-active {
  transform: translateX(0);
}
.modal-menu nav {
  margin-top: 68px;
  text-align: center;
}
.modal-menu nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.modal-menu nav ul li {
  font-family: var(--font-nav-sub);
  margin: 0;
}
.modal-menu nav ul li > a,
.modal-menu nav ul li > span {
  display: block;
  background: #fff;
  color: #000;
  font-size: 17px;
  line-height: 1;
  padding: 16px 0;
  text-decoration: none;
  border-top: 1px solid #ddd;
  position: relative;
}
.modal-menu nav ul li > a::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 6px;
  height: 6px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  display: inline-block;
  transform-origin: center;
}
.modal-menu nav ul li > span {
  color: #fff;
  background: #aaa;
  font-size: 13px;
  padding: 6px 0;
}
.modal-menu .close-button {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: 2px solid #000;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  padding: 0;
}
.modal-menu .close-button::before,
.modal-menu .close-button::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 2px;
  background-color: #000;
}
.modal-menu .close-button::before {
  transform: rotate(45deg);
}
.modal-menu .close-button::after {
  transform: rotate(-45deg);
}
@media (min-width: 769px) and (max-width: 1023.98px) {
  .CustomHeader .Header {
    padding: 14px 26px 14px 14px;
  }
  .CustomHeader .Logo img {
    max-width: clamp(160px, 20vw, 240px);
  }
  .CustomHeader .Menu > ul {
    gap: clamp(12px, 2vw, 22px);
  }
  .CustomHeader .Menu > ul > li > a,
  .CustomHeader .Menu > ul > li > span {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .CustomHeader .Header {
    padding-right: 26px;
  }
  .CustomHeader .Logo img {
    max-width: 177px;
  }
  .CustomHeader .Menu {
    display: none;
  }
  .hamburger-menu {
    display: flex;
    height: 16px;
  }
  .hamburger-menu div,
  .hamburger-menu span {
    width: 20px;
    height: 2px;
  }
  .modal-menu {
    display: block;
  }
}
body.has-modal-open {
  overflow: hidden;
}
.not-found {
  position: relative;
  margin-top: 24px;
  background: #23618e;
  color: #fff;
  overflow: hidden;
  text-align: center;
}
.not-found__bg {
  position: absolute;
  inset: 0;
  background: url("assets/images/bg.webp") center center no-repeat;
  background-size: cover;
  opacity: 0.27;
  z-index: 0;
}
.not-found__inner {
  position: relative;
  z-index: 1;
  padding: 110px 20px 130px;
  max-width: 720px;
  margin: 0 auto;
}
.not-found__head {
  font-family: var(--font-heading);
  font-size: 140px;
  line-height: 1;
  font-weight: 500;
  color: #fff;
  margin: 0;
  letter-spacing: -0.04em;
}
.not-found__title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  margin: 16px 0 12px;
  letter-spacing: 0;
}
.not-found__caption {
  font-family: var(--font-body);
  font-size: 15px;
  color: #c3e7ff;
  margin: 0 0 32px;
  line-height: 1.6;
}
.not-found__search {
  display: flex;
  align-items: center;
  max-width: 520px;
  margin: 0 auto;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 100px;
  padding: 4px;
}
.not-found__search-field {
  flex: 1;
  background: transparent;
  border: 0;
  padding: 12px 20px;
  color: #fff;
  font-family: var(--font-body);
  font-size: 14px;
  outline: none;
}
.not-found__search-field::placeholder {
  color: rgba(255, 255, 255, 0.7);
}
.not-found__search-submit {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  color: var(--color-primary-dark);
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.not-found__search-submit:hover {
  background: var(--color-primary);
  color: #fff;
}
.not-found__back {
  margin-top: 24px;
}
.not-found__back a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
}
.not-found__back a:hover {
  color: #c3e7ff;
}
@media (max-width: 600px) {
  .not-found__inner {
    padding: 72px 20px 88px;
  }
  .not-found__head {
    font-size: 96px;
  }
  .not-found__title {
    font-size: 24px;
  }
}
.article-header {
  position: relative;
  text-align: center;
  color: #fff;
  overflow: hidden;
  margin-top: 24px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.article-header__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1;
}
.article-header:not(.has-feature-image) {
  background: var(--color-primary-dark);
}
.article-header__inner {
  position: relative;
  z-index: 2;
  padding: 93px 20px 87px;
  max-width: 1100px;
  margin: 0 auto;
}
.article-header__title {
  font-family: var(--font-heading);
  color: #fff;
  font-size: 32px;
  line-height: 1.3;
  font-weight: 700;
  margin: 0 0 20px;
  letter-spacing: 0.5px;
}
@media (min-width: 768px) {
  .article-header__title {
    font-size: 36px;
  }
}
.article-header__info-row {
  font-family: var(--font-body);
  color: #fff;
}
.article-header__info {
  display: inline-block;
  margin-right: 16px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.article-header__info::after {
  content: " ";
  display: inline-block;
  width: 8px;
  border-bottom: 1px solid currentColor;
  margin-left: 14px;
  margin-bottom: 4px;
}
.article-header__info:last-child {
  margin-right: 0;
}
.article-header__info:last-child::after {
  display: none;
}
.article-header__info a {
  color: #fff;
  text-decoration: none;
}
.article-header__avatar {
  display: inline-block;
  max-width: 36px;
  height: auto;
  vertical-align: middle;
  margin-right: 20px;
  margin-top: -3px;
  border-radius: 50%;
}
.single-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 48px;
  padding-top: 60px;
  padding-bottom: 60px;
}
.single-main {
  min-width: 0;
}
.single-sidebar {
  min-width: 0;
}
@media (max-width: 900px) {
  .single-layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 40px;
  }
}
.article-body {
  font-family: var(--font-heading);
  color: var(--color-ink);
  font-size: 16px;
  line-height: 1.8;
}
.article-body > * + * {
  margin-top: 20px;
}
.article-body > * + .wp-block-spacer,
.article-body > .wp-block-spacer + * {
  margin-top: 0;
}
.article-body a {
  color: var(--color-warm);
  text-decoration: none;
}
.article-body a:hover {
  text-decoration: underline;
}
.article-body h1,
.article-body h2,
.article-body h3,
.article-body h4,
.article-body h5,
.article-body h6,
.article-body .wp-block-heading {
  font-family: var(--font-heading);
  color: #383838;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 28px;
}
.article-body h1 {
  font-size: clamp(30px, 6vw, 48px);
}
.article-body h2 {
  font-size: clamp(26px, 5vw, 41px);
  font-weight: 800;
  letter-spacing: 1px;
}
.article-body h3 {
  font-size: 23px;
}
@media (max-width: 767px) {
  .article-body h3 {
    font-size: 17px;
  }
}
.article-body h4 {
  font-size: 22px;
}
.article-body h5 {
  font-size: 21px;
}
.article-body h6 {
  font-size: 18px;
}
.article-body > * + h1,
.article-body > * + h2,
.article-body > * + h3,
.article-body > * + h4,
.article-body > * + h5,
.article-body > * + h6 {
  margin-top: 44px;
}
.article-body .wp-block-gallery.is-style-mosaic {
  position: relative;
  display: grid;
  grid-template-columns: 4.4fr 1fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 10px;
}
.article-body .wp-block-gallery.is-style-mosaic > figure.wp-block-image {
  width: auto !important;
  margin: 0 !important;
  height: 100%;
}
.article-body .wp-block-gallery.is-style-mosaic > figure.wp-block-image:first-child {
  grid-column: 1;
  grid-row: span 2;
  aspect-ratio: 4 / 3;
}
.article-body .wp-block-gallery.is-style-mosaic > figure.wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article-body .wp-block-gallery.is-style-mosaic figcaption {
  display: none;
}
.article-body .wp-block-gallery.is-style-mosaic > figure.wp-block-image::before {
  display: none;
}
.article-body .wp-block-gallery.is-style-mosaic > figure.wp-block-image:nth-child(n + 6) {
  display: none;
}
.article-body .wp-block-gallery.is-style-mosaic.has-lightbox::after {
  content: "Gallery";
  position: absolute;
  left: 20px;
  bottom: 20px;
  padding: 13px 20px 13px 46px;
  background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23383838' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='8.5' cy='9.5' r='1.5'/%3E%3Cpath d='m21 15-4.5-4.5L7 20'/%3E%3C/svg%3E") no-repeat 18px center;
  background-size: 19px 19px;
  border-radius: 3px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1;
  pointer-events: none;
}
@media (max-width: 600px) {
  .article-body .wp-block-gallery.is-style-mosaic {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
  .article-body .wp-block-gallery.is-style-mosaic > figure.wp-block-image {
    aspect-ratio: 4 / 3;
    height: auto;
  }
  .article-body .wp-block-gallery.is-style-mosaic > figure.wp-block-image:first-child {
    grid-column: span 2;
    grid-row: auto;
  }
}
.article-body .wp-block-gallery.is-style-carousel {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 16px;
  scroll-snap-type: x proximity;
}
.article-body .wp-block-gallery.is-style-carousel > figure.wp-block-image {
  flex: 0 0 auto;
  width: auto !important;
  margin: 0 !important;
  scroll-snap-align: start;
}
.article-body .wp-block-gallery.is-style-carousel > figure.wp-block-image img {
  height: clamp(220px, 38vw, 400px) !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  object-fit: cover;
}
.article-body .wp-block-gallery.is-style-carousel figcaption {
  display: none;
}
.article-body .wp-block-gallery.is-style-carousel > figure.wp-block-image::before {
  display: none;
}
.article-body .wp-block-gallery.is-style-carousel::-webkit-scrollbar {
  height: 12px;
}
.article-body .wp-block-gallery.is-style-carousel::-webkit-scrollbar-track {
  background: #ededed;
}
.article-body .wp-block-gallery.is-style-carousel::-webkit-scrollbar-thumb {
  background: #9b9b9b;
}
@supports not selector(::-webkit-scrollbar) {
  .article-body .wp-block-gallery.is-style-carousel {
    scrollbar-color: #9b9b9b #ededed;
  }
}
.article-body .wp-block-gallery.is-style-slider {
  display: block !important;
}
.article-body .wp-block-gallery.is-style-slider figcaption {
  display: none;
}
.gallery-slider__main {
  position: relative;
}
.gallery-slider__main .swiper-slide img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  cursor: zoom-in;
}
.gallery-slider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease;
}
.gallery-slider__nav:hover {
  background: rgba(0, 0, 0, 0.65);
}
.gallery-slider__nav--prev {
  left: 14px;
}
.gallery-slider__nav--next {
  right: 14px;
}
.gallery-slider__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}
.article-body .wp-block-gallery.is-style-slider .gallery-slider__thumbs {
  margin: 34px 40px 0;
}
.gallery-slider__thumbs .swiper-slide {
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.gallery-slider__thumbs .swiper-slide:hover,
.gallery-slider__thumbs .swiper-slide-thumb-active {
  opacity: 1;
}
.gallery-slider__thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
@media (max-width: 600px) {
  .gallery-slider__nav {
    width: 38px;
    height: 38px;
    font-size: 17px;
  }
  .article-body .wp-block-gallery.is-style-slider .gallery-slider__thumbs {
    margin: 22px 16px 0;
  }
}
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.92);
}
.lightbox[hidden] {
  display: none;
}
.lightbox__swiper {
  position: absolute;
  inset: 0;
}
.lightbox .swiper,
.lightbox .swiper-wrapper {
  height: 100%;
}
.lightbox .swiper-slide {
  display: flex !important;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 56px 64px;
  box-sizing: border-box;
}
.lightbox__figure {
  position: relative;
  margin: 0;
  max-width: 960px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.lightbox .swiper-slide img {
  max-width: 100%;
  max-height: calc(100vh - 190px);
  object-fit: contain;
  display: block;
}
.lightbox__caption {
  margin-top: 14px;
  color: #d8d8d8;
  font-family: var(--font-heading);
  font-size: 13px;
  font-style: italic;
  text-align: center;
}
.lightbox__counter {
  position: absolute;
  top: 18px;
  left: 22px;
  z-index: 2;
  color: #fff;
  font-family: var(--font-body);
  font-size: 13px;
}
.lightbox__close,
.lightbox__nav {
  position: absolute;
  z-index: 2;
  background: none;
  border: 0;
  color: #fff;
  cursor: pointer;
  line-height: 1;
  transition: opacity 0.2s ease;
}
.lightbox__close {
  top: 12px;
  right: 18px;
  font-size: 34px;
  padding: 6px 10px;
}
.lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
  font-size: 26px;
  padding: 16px;
}
.lightbox__nav--prev {
  left: 8px;
}
.lightbox__nav--next {
  right: 8px;
}
.lightbox__close:hover,
.lightbox__nav:hover {
  opacity: 0.7;
}
.lightbox__nav.swiper-button-disabled {
  opacity: 0.25;
  cursor: default;
}
@media (max-width: 600px) {
  .lightbox .swiper-slide {
    padding: 56px 16px;
  }
  .lightbox__nav {
    font-size: 22px;
    padding: 10px;
  }
}
.article-body #toc_container .toc_list a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden;
}
.article-body .is-style-section-caption {
  font-family: var(--font-info);
  font-size: 16px;
  font-style: italic;
  color: #747474;
}
.article-body .is-style-section-caption + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 10px;
}
.article-body .is-style-highlight-box,
.article-body .wp-block-group.has-background {
  background: #f7f7f7;
  padding: 22px 30px;
}
.article-body .wp-block-group.has-background > * + *,
.article-body .wp-block-group.is-style-highlight-box > * + * {
  margin-top: 20px;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
.article-body :is(h1, h2, h3, h4, h5, h6)[id] {
  scroll-margin-top: 20px;
}
.article-body .info-card {
  background: #f8f8f8;
  height: 100%;
}
.article-body .info-card__head {
  background: linear-gradient(#525252, #3e3e3e);
  padding: 33px 20px;
  text-align: center;
}
.article-body .info-card__title {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 6px;
}
.article-body .info-card__caption {
  color: #acacac;
  font-size: 14px;
  margin: 0;
}
.article-body .info-card__body {
  padding: 10px 20px 20px;
}
.article-body .info-card__body > * + * {
  margin-top: 16px;
}
.article-body .info-card__body .wp-block-separator,
.article-body .info-card__body hr {
  margin: 16px 0;
}
.article-body .info-card__list {
  list-style: none;
  margin: 0 -20px;
  padding: 0;
}
.article-body .info-card__list li {
  position: relative;
  list-style: none;
  padding: 14px 20px 14px 53px;
  margin: 0;
  border-bottom: 1px solid #e5e5e5;
}
.article-body .info-card__list li::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 1.35em;
  width: 25px;
  height: 14px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E") no-repeat center / 17px 14px;
}
.article-body .info-cards .wp-block-column {
  display: flex;
}
.article-body .is-style-toc {
  list-style: none;
  background: #f7f7f7;
  padding: 24px 26px;
  margin: 32px 0;
}
.article-body .is-style-toc li {
  list-style: none;
  margin-bottom: 6px;
}
.article-body .is-style-toc li:last-child {
  margin-bottom: 0;
}
.article-body .is-style-toc ul,
.article-body .is-style-toc ol {
  list-style: none;
  padding-left: 22px;
  margin-top: 6px;
  margin-bottom: 0;
}
.article-body .is-style-toc a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.article-body ul,
.article-body ol {
  padding-left: 25px;
}
.article-body ul {
  list-style: disc;
}
.article-body ol {
  list-style: decimal;
}
.article-body ul ul {
  list-style: circle;
}
.article-body li {
  margin-bottom: 9px;
}
.article-body li > ul,
.article-body li > ol {
  margin-top: 9px;
  margin-bottom: 0;
}
.article-body blockquote,
.article-body .wp-block-quote {
  font-family: var(--font-quote);
  border-left: 4px solid var(--color-line);
  padding: 12px 20px;
  margin: 32px 0;
  color: var(--color-ink);
}
.article-body blockquote cite,
.article-body .wp-block-quote cite {
  display: block;
  margin-top: 10px;
  font-style: normal;
  font-size: 13px;
  color: var(--color-ink-muted);
}
.article-body img,
.article-body .wp-block-image img {
  display: block;
  max-width: 100%;
  height: auto;
}
.article-body figure {
  margin: 32px 0;
}
.article-body figcaption,
.article-body .wp-block-image figcaption {
  display: block;
  margin-top: 15px;
  font-size: 13px;
  font-weight: bold;
  font-style: italic;
  color: var(--color-ink-muted);
  text-align: center;
}
.article-body hr,
.article-body .wp-block-separator {
  border: 0;
  border-top: 1px solid var(--color-line);
  margin: 40px 0;
}
.article-body code,
.article-body .wp-block-code code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.9em;
  padding: 2px 6px;
  background: var(--color-surface-alt);
  border-radius: 4px;
}
.article-body pre,
.article-body .wp-block-code {
  background: var(--color-ink);
  color: #f3f3f3;
  padding: 16px 20px;
  border-radius: 6px;
  overflow-x: auto;
  font-size: 14px;
}
.article-body pre code {
  background: transparent;
  padding: 0;
  color: inherit;
}
.article-body table,
.article-body .wp-block-table table {
  width: 100%;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 2px;
  text-align: center;
}
.article-body table th,
.article-body table td {
  border: 0;
  overflow-wrap: anywhere;
}
.article-body table td {
  padding: 15px 0;
}
.article-body table th {
  padding: 13px 0;
  font-size: 16px;
  font-weight: normal;
  background: #b7a686;
  color: #fff;
}
.article-body table th a {
  color: #fff;
}
.article-body .wp-block-table,
.article-body .spScroll {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden !important;
  max-width: 100%;
}
@media (max-width: 768px) {
  .article-body .spScroll {
    white-space: nowrap;
  }
  .article-body table td {
    padding: 15px;
  }
  .article-body table th {
    padding: 13px 15px;
  }
}
.article-body table tr:nth-child(odd) {
  background: #f9f9f9;
  color: #949494;
}
.article-body table tr:nth-child(even) {
  background: #f3f3f3;
  color: #949494;
}
.article-body .wp-block-buttons {
  --wp--style--block-gap: 2em;
  gap: 2em;
}
.article-body .wp-block-button__link {
  background: var(--color-primary);
  color: #fff;
  padding: 10px 22px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
}
.article-body .wp-block-button__link:hover {
  background: var(--color-primary-dark);
}
.article-body .wp-block-pullquote {
  border-top: 4px solid var(--color-primary);
  border-bottom: 4px solid var(--color-primary);
  padding: 24px 0;
  margin: 40px 0;
  text-align: center;
  font-family: var(--font-heading);
  font-size: 20px;
  line-height: 1.5;
}
.article-body .wp-block-embed,
.article-body .wp-block-embed-youtube {
  margin: 32px 0;
}
.article-body .wp-block-embed iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}
.article-body .wp-block-gallery {
  margin: 32px 0;
}
.page-links {
  margin-top: 32px;
  display: flex;
  gap: 6px;
  align-items: center;
  font-family: var(--font-body);
  font-size: 13px;
}
.page-links a,
.page-links > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border-radius: 50%;
  background: transparent;
  color: var(--color-ink);
  text-decoration: none;
}
.page-links a:hover {
  background: var(--color-primary);
  color: #fff;
}
.social-share {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-top: 48px;
  padding-bottom: 23px;
}
.social-share__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  padding: 5px 0;
  line-height: 30px;
  font-size: 15px;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.social-share__link--fb {
  background: #3b5999;
}
.social-share__link--pin {
  background: #bd081c;
}
.social-share__link--mail {
  background: #000;
}
.social-share__link:hover {
  color: #fff;
  opacity: 0.85;
}
.article-tags {
  padding-bottom: 23px;
}
.article-tags a {
  display: inline-block;
  padding: 7px 22px;
  margin: 0 5px 5px 0;
  background: #f2f2f2;
  color: #626262;
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.article-tags a:hover {
  background: #e8e8e8;
  color: #626262;
}
.related-posts {
  margin-top: 0;
}
.related-posts__title {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-ink);
  margin: 0 0 35px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e5e5;
  display: block;
  letter-spacing: 0;
}
.related-posts__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}
.related-posts .post-card__title {
  font-size: 17px;
  line-height: 1.25;
  margin-bottom: 14px;
}
@media (max-width: 600px) {
  .related-posts__grid {
    grid-template-columns: 1fr;
  }
}
.article-comments {
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid var(--color-line);
}
.comments-title {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 600;
  color: var(--color-ink);
  margin: 0 0 24px;
}
.comment-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
}
.comment-list .comment {
  padding: 20px 0;
  border-bottom: 1px solid var(--color-line);
}
.comment-list .comment-author img {
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 10px;
}
.comment-respond {
  margin-top: 32px;
}
.comment-respond .comment-reply-title {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
}
.comment-form p {
  margin-bottom: 14px;
}
.comment-form label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 4px;
  color: var(--color-ink);
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--color-line);
  border-radius: 4px;
  font-family: var(--font-body);
  font-size: 14px;
}
.comment-form input:focus,
.comment-form textarea:focus {
  border-color: var(--color-primary);
  outline: none;
}
.comment-form .form-submit input {
  display: inline-block;
  padding: 10px 24px;
  background: var(--color-primary);
  color: #fff;
  border: 0;
  border-radius: 6px;
  font-family: var(--font-body);
  font-weight: 500;
  cursor: pointer;
}
.comment-form .form-submit input:hover {
  background: var(--color-primary-dark);
}
.page-header {
  position: relative;
  text-align: center;
  color: #fff;
  overflow: hidden;
}
.page-header__bg {
  position: absolute;
  inset: 0;
  background: url("assets/images/page-header-bg.webp") center center no-repeat;
  background-size: cover;
  z-index: 0;
}
.page-header__inner {
  position: relative;
  z-index: 2;
  padding: 126px 20px 110px;
  max-width: 1240px;
  margin: 0 auto;
}
.page-header__title {
  font-family: var(--font-heading);
  color: #fff;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.2;
  margin: 0;
}
.page-header__caption {
  color: #fff;
  font-family: var(--font-heading);
  font-size: 18px;
  text-transform: none;
  letter-spacing: 0;
  margin-top: 13px;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .page-header__inner {
    padding: 72px 20px 64px;
  }
  .page-header__title {
    font-size: 34px;
  }
  .page-header__caption {
    font-size: 16px;
  }
}
.archive-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 48px;
  padding-top: 60px;
  padding-bottom: 60px;
}
.archive-main {
  min-width: 0;
}
.archive-sidebar {
  min-width: 0;
}
@media (max-width: 900px) {
  .archive-layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 40px;
  }
}
.search-results-summary {
  margin: 0 0 24px;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--color-ink-muted);
}
.search-results-summary strong {
  color: var(--color-ink);
  font-weight: 600;
}
.search-empty {
  text-align: center;
  padding: 40px 20px;
}
.search-empty p {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--color-ink);
  margin-bottom: 24px;
}
.search-empty__form {
  max-width: 480px;
  margin: 0 auto;
}
.mainVisual {
  width: 100%;
  position: relative;
  overflow: hidden;
  filter: drop-shadow(0px 10px 16px rgba(0, 0, 0, 0.38));
  margin-top: 42px;
}
.mainVisual .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.mainVisual .box .boxL {
  width: 50%;
  box-sizing: border-box;
  padding-left: calc(50% - 567px);
}
.mainVisual .box .boxL h1 {
  color: #fff;
  font-weight: normal;
  font-size: 42px;
  font-family: var(--font-heading);
  line-height: 1.25;
}
.mainVisual .box .boxL p {
  color: #fff;
  font-weight: normal;
  font-family: var(--font-body);
  font-size: 17px;
  margin-top: 16px;
  line-height: 1.6;
}
.mainVisual .box .boxR {
  width: calc(50% - 68px);
  overflow: hidden;
  box-sizing: border-box;
}
.mainVisual .mv-swiper {
  padding-right: 20%;
}
.mainVisual .swiper-slide a {
  display: block;
  overflow: hidden;
  position: relative;
  transition: filter 0.5s ease;
  filter: brightness(1);
  line-height: 0;
}
.mainVisual .swiper-slide a:hover {
  filter: brightness(1.2);
}
.mainVisual .swiper-slide a img,
.mainVisual .mv-slide-img {
  display: block;
  width: 100%;
  aspect-ratio: 1.618 / 1;
  object-fit: cover;
}
.mainVisual .mv-slide-img--placeholder {
  background: var(--color-primary-light);
}
.mainVisual .swiper-slide a span {
  display: block;
  line-height: 1.4;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.62);
  font-size: 13px;
  font-family: var(--font-jp);
  position: absolute;
  text-align: left;
  width: 100%;
  color: #fff;
  padding: 6px;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  .mainVisual .box {
    display: block;
    padding: 0;
    filter: drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.38));
  }
  .mainVisual .box .boxL,
  .mainVisual .box .boxR {
    display: block;
    width: 100%;
  }
  .mainVisual .box .boxL {
    box-sizing: border-box;
    padding: 0 26px;
    margin-bottom: 26px;
  }
  .mainVisual .box .boxL h1 {
    font-size: 34px;
    text-align: center;
    margin-bottom: 16px;
  }
  .mainVisual .box .boxL p {
    font-size: 13px;
    text-align: center;
  }
  .mainVisual .mv-swiper {
    padding: 0 42px;
  }
}
.home-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 48px;
  padding-top: 60px;
  padding-bottom: 60px;
}
.home-main {
  min-width: 0;
}
.home-sidebar {
  min-width: 0;
}
@media (max-width: 900px) {
  .home-layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 40px;
  }
}
.mapBox {
  margin-left: min(-20px, calc(600px - 50vw));
  position: relative;
  margin-bottom: -110px;
}
.mapBox::before {
  display: block;
  content: "";
  width: 1163px;
  height: 1139px;
  background: url("assets/images/home/bg.png") center center no-repeat;
  background-size: cover;
  position: absolute;
  top: -430px;
  right: -270px;
  z-index: -9999;
}
.mapBox * {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mapBox .inner {
  position: relative;
  width: 100%;
  height: 680px;
  z-index: 2;
}
.mapBox h2 {
  color: var(--color-primary);
  font-weight: normal;
  font-size: 34px;
  font-family: var(--font-heading);
  position: absolute;
  top: 68px;
  right: 350px;
}
.mapBox .mTxt {
  color: #666;
  font-size: 14px;
  font-family: var(--font-body);
  line-height: 1.6;
  position: absolute;
  top: 136px;
  right: 350px;
  max-width: 395px;
}
.mapBox ul li {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  cursor: pointer;
}
.mapBox ul li .pin {
  width: 35px;
  height: auto;
}
.mapBox ul li span {
  display: block;
  border-radius: 10px;
  background: #fff;
  position: absolute;
  width: 287px;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.3));
  opacity: 0;
  transition: all 0.4s ease;
  pointer-events: none;
}
.mapBox ul li.active span {
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 1101px) {
  .mapBox ul:hover li span {
    opacity: 0;
    pointer-events: none;
  }
  .mapBox ul li:hover span {
    opacity: 1;
    pointer-events: auto;
  }
}
.mapBox ul li.kyoto {
  margin: 75px 370px 0 0;
}
.mapBox ul li.takayama {
  margin: -30px 245px 0 0;
}
.mapBox ul li.kanazawa {
  margin: -120px 275px 0 0;
}
.mapBox ul li.kyoto span {
  top: -42px;
  right: 42px;
}
.mapBox ul li.takayama span {
  top: 50px;
  left: -45px;
}
.mapBox ul li.kanazawa span {
  bottom: -68px;
  right: 42px;
}
.mapBox ul li span strong {
  display: block;
  text-align: center;
  font-size: 12px;
  font-family: var(--font-body);
  font-weight: normal;
  color: #fff;
  line-height: 1;
  padding: 4px 10px;
  position: absolute;
  left: 50%;
  top: -10px;
  transform: translate(-50%, 0);
  border-radius: 100px;
}
.mapBox ul li.kyoto span strong {
  background: var(--color-kyoto);
}
.mapBox ul li.takayama span strong {
  background: var(--color-takayama);
}
.mapBox ul li.kanazawa span strong {
  background: var(--color-kanazawa);
}
.mapBox ul li span em {
  display: block;
  text-align: center;
  font-size: 11px;
  font-family: var(--font-body);
  font-style: normal;
  line-height: 1.4;
  padding: 12px 10px;
  color: var(--color-ink);
}
.mapBox ul li span img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
@media (max-width: 768px) {
  .mapBox {
    margin-left: 0;
    margin-bottom: 42px;
    padding-top: 26px;
  }
  .mapBox::before {
    display: none;
  }
  .mapBox h2 {
    position: static;
    text-align: center;
    max-width: 100%;
    margin-bottom: 16px;
    font-size: 34px;
    padding: 0 16px;
  }
  .mapBox .mTxt {
    position: static;
    text-align: center;
    max-width: 100%;
    font-size: 13px;
    padding: 0 16px;
  }
  .mapBox .inner {
    height: auto;
    min-height: 0;
  }
  .mapBox ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }
  .mapBox ul li {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none;
    padding: 0 10px;
  }
  .mapBox ul li span strong {
    font-size: 12px;
    padding: 6px;
  }
  .mapBox ul li span em {
    padding: 10px;
  }
  .mapBox ul li > a .pin {
    display: none;
  }
  .mapBox ul li span {
    position: relative !important;
    opacity: 1;
    width: 100%;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
  }
}
.machiyaBox {
  margin: 60px 0;
}
.machiyaBox figure {
  display: block;
  margin: 0 0 26px;
  margin-left: min(-20px, calc(600px - 50vw));
  line-height: 0;
}
.machiyaBox figure img.sp {
  display: none;
}
.machiyaBox figure img {
  display: block;
  width: 100%;
  height: auto;
}
.machiyaBox dl {
  margin: 0;
  padding-right: 16px;
}
.machiyaBox dt {
  color: var(--color-cta);
  font-weight: normal;
  font-size: 34px;
  font-family: var(--font-heading);
  line-height: 1.3;
  margin-bottom: 10px;
}
.machiyaBox dd {
  color: #666;
  font-size: 14px;
  font-family: var(--font-body);
  margin: 0;
  line-height: 1.8;
}
.machiyaBox dd a {
  display: block;
  max-width: max-content;
  margin-top: 16px;
  padding: 10px 20px;
  background-color: var(--color-cta);
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  font-family: var(--font-nav);
  font-weight: normal;
  transition: background-color 0.2s ease;
}
.machiyaBox dd a:hover {
  background-color: var(--color-cta-hover);
  color: #fff;
}
@media (max-width: 768px) {
  .machiyaBox {
    margin: 36px 0 0;
  }
  .machiyaBox figure {
    margin-left: -20px;
    margin-right: -20px;
  }
  .machiyaBox figure img.pctb {
    display: none;
  }
  .machiyaBox figure img.sp {
    display: block;
    aspect-ratio: 3 / 2;
    object-fit: cover;
  }
  .machiyaBox dl {
    padding: 0;
    margin-bottom: 110px;
  }
  .machiyaBox dt {
    font-size: 26px;
  }
  .machiyaBox dd {
    font-size: 13px;
  }
}
.article-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 28px;
}
@media (max-width: 768px) {
  .article-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.post-card {
  display: block;
}
.post-card__thumb-link {
  display: block;
  overflow: hidden;
  line-height: 0;
}
.post-card__thumb {
  display: block;
  width: 100%;
  aspect-ratio: 1.618 / 1;
  object-fit: cover;
  transition:
    opacity 0.3s ease,
    transform 0.5s ease;
}
.post-card__thumb-link:hover .post-card__thumb {
  opacity: 0.9;
  transform: scale(1.04);
}
.post-card__thumb--placeholder {
  background: var(--color-primary-bg);
  aspect-ratio: 1.618 / 1;
}
.post-card__content {
  padding-top: 35px;
}
.post-card__categories {
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-warm);
  margin-bottom: 8px;
}
.post-card__categories a {
  color: var(--color-warm);
  text-decoration: none;
}
.post-card__categories a:hover {
  color: var(--color-warm);
}
.post-card__categories .sep {
  color: var(--color-warm);
}
.post-card__title {
  font-family: var(--font-heading);
  font-size: 28px;
  line-height: 1.5;
  font-weight: 700;
  margin: 0 0 20px;
  letter-spacing: 0;
}
.post-card__title a {
  color: var(--color-ink);
  text-decoration: none;
}
.post-card__title a:hover {
  color: var(--color-primary);
}
.post-card__meta {
  padding-top: 3px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #959595;
}
.post-card__meta > * {
  display: inline-block;
  margin-right: 12px;
  vertical-align: top;
}
.post-card__meta > *:last-child {
  margin-right: 0;
}
.post-card__meta > *:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 0;
  border-bottom: 1px solid currentColor;
  margin-left: 12px;
  margin-bottom: 0.3em;
  vertical-align: baseline;
}
.post-card__meta a {
  color: #959595;
  text-decoration: none;
}
.post-card__meta a:hover {
  color: var(--color-warm);
}
.card-share {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 9px;
}
.card-share__link {
  color: #202020;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  transition: color 0.2s ease;
}
.card-share__link:hover {
  color: var(--color-warm);
}
.pagination {
  margin-top: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.pagination .wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px;
}
.pagination .page-numbers,
.pagination .wp-pagenavi a,
.pagination .wp-pagenavi span {
  display: inline-block;
  padding: 9px 14px;
  border-radius: 3px;
  border: none;
  background: #f0f0f0;
  color: #929292;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.pagination .page-numbers.current,
.pagination .page-numbers.dots,
.pagination a:hover,
.pagination .wp-pagenavi span,
.pagination .wp-pagenavi a:hover {
  background: var(--color-warm);
  color: #fff;
}
.pagination .wp-pagenavi .current,
.pagination .wp-pagenavi .extend {
  cursor: default;
}
.pagination .wp-pagenavi .previouspostslink {
  order: -1;
}
.pagination .wp-pagenavi .nextpostslink {
  order: 1;
}
.pagination .wp-pagenavi .pages {
  display: none;
}
.sidebar {
  position: sticky;
  top: 20px;
  bottom: auto;
  font-family: var(--font-heading);
}
@media (max-width: 900px) {
  .sidebar {
    position: static;
  }
}
.sidebar a {
  color: #4c4c4c;
}
.sidebar a:hover {
  color: var(--color-warm);
}
.widget {
  margin-bottom: 60px;
}
.widget:last-child {
  margin-bottom: 0;
}
.sidebar-banner {
  display: block;
  line-height: 0;
}
.sidebar-banner img {
  display: block;
  width: 100%;
  height: auto;
}
a.sidebar-banner {
  transition: opacity 0.2s ease;
}
a.sidebar-banner:hover {
  opacity: 0.85;
}
.widget__title {
  display: flex;
  align-items: flex-start;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: none;
  color: #383838;
  margin: 0 0 28px;
}
.widget__title::after {
  content: "";
  flex: none;
  width: 18px;
  margin-top: 0.5em;
  margin-left: 15px;
  border-top: 2px solid var(--color-warm);
}
.widget-search {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  border-radius: 10px;
  overflow: hidden;
}
.widget-search__field {
  display: block;
  width: 100%;
  border: none;
  padding: 14px 1em;
  background: var(--color-primary-bg);
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 17px;
  color: var(--color-ink);
}
.widget-search__field::placeholder {
  color: #b5b5b5;
}
.widget-search__field:focus {
  outline: none;
}
.widget-search__submit {
  flex: none;
  border: none;
  cursor: pointer;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 15px 33px;
  transition: background 300ms;
}
.widget-search__submit:hover {
  background: var(--color-primary-dark);
}
.recommended-list {
  list-style: none;
  margin: 0;
  padding: 8px 0 0;
}
.recommended-list__item {
  display: flex;
  align-items: flex-start;
  gap: 23px;
  margin-bottom: 28px;
}
.recommended-list__item:last-child {
  margin-bottom: 0;
}
.recommended-list__thumb {
  flex: none;
  line-height: 0;
  border-radius: 50%;
  overflow: hidden;
}
.recommended-list__thumb img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  display: block;
}
.recommended-list__content {
  min-width: 0;
}
.recommended-list__title {
  display: block;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  color: #383838;
  line-height: 1.5;
  margin-bottom: 6px;
  text-decoration: none;
}
.recommended-list__title:hover {
  color: var(--color-warm);
}
.recommended-list__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 12px;
  font-family: var(--font-body);
  font-size: 11px;
  line-height: 15px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #a0a0a0;
}
.recommended-list__meta a {
  color: #a0a0a0;
}
.category-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 15px;
  font-weight: 500;
}
.category-list li {
  background: #f3f3f3;
  margin-bottom: 8px;
}
.category-list li:last-child {
  margin-bottom: 0;
}
.category-list li a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 17px 25px;
  color: #666;
  font-family: var(--font-heading);
  text-decoration: none;
}
.category-list li a:hover {
  color: #666;
}
.category-list__count {
  flex: none;
  font-size: 12px;
}
.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.tag-cloud a {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #f4f4f4;
  background: #f4f4f4;
  color: #626262;
  font-family: var(--font-body);
  font-size: 10px !important;
  font-weight: 500;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: none;
}
.tag-cloud a:hover {
  color: #626262;
  background: #ececec;
  border-color: #ececec;
}
.widget-video {
  margin: 0;
}
.widget-video__frame {
  position: relative;
  aspect-ratio: 16 / 9;
}
.widget-video__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.widget-video__caption {
  margin-top: 8px;
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.5;
  color: var(--color-ink-muted);
}
.site-footer {
  background: #fff;
  color: #000;
  position: relative;
  margin-top: 0;
}
.site-footer__box {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding: 68px;
}
.site-footer .inBox {
  width: 31%;
  min-width: 0;
}
.site-footer dl {
  margin: 0;
}
.site-footer dl dt {
  font-family: var(--font-heading);
  font-size: 21px;
  font-weight: normal;
  line-height: 1.2;
  color: #000;
}
.site-footer dl dd {
  margin: 17px 0 0;
}
.site-footer dl dd p {
  font-family: var(--font-footer);
  font-size: 12px;
  line-height: 1.618;
  color: #000;
}
.site-footer .caution {
  margin-top: 10px;
  font-size: 10px;
  line-height: 1.2;
  color: #666;
}
.site-footer .caution a {
  color: var(--color-warm);
}
.site-footer .caution a:hover {
  text-decoration: underline;
}
@media (max-width: 900px) {
  .site-footer__box {
    display: block;
    padding: 42px 17px;
  }
  .site-footer .inBox {
    width: 100%;
    margin-top: 42px;
  }
  .site-footer .inBox:first-child {
    margin-top: 0;
  }
  .site-footer .mainBrand dt img {
    margin: 0 auto;
  }
  .site-footer .mainBrand .ttl {
    text-align: center;
  }
  .site-footer .mainBrand .address {
    justify-content: center;
  }
  .site-footer .brandList dt {
    text-align: left;
    padding: 10px 0;
  }
  .site-footer .brandList:last-child {
    padding-bottom: 26px;
  }
}
.mailMagaBox {
  padding: 16px;
}
.mailMagaBox dt {
  text-align: center;
  margin-bottom: 16px;
}
.mailMagaBox p {
  margin-bottom: 14px;
}
.mail-form .mc-field-group {
  margin-bottom: 8px;
}
.mail-form__hp {
  position: absolute;
  left: -5000px;
}
.mail-form input[type="text"],
.mail-form input[type="email"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--color-line);
  border-radius: 4px;
  font-family: var(--font-body);
  font-size: 13px;
  background: #fff;
}
.mail-form input:focus {
  border-color: var(--color-primary);
  outline: none;
}
.mail-form__submit {
  display: inline-block;
  padding: 9px 24px;
  background: var(--color-primary);
  color: #fff;
  border: 0;
  border-radius: 4px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13px;
  cursor: pointer;
  margin-top: 4px;
  transition: background 0.2s ease;
}
.mail-form__submit:hover {
  background: var(--color-primary-dark);
}
.mail-form .send {
  margin-bottom: 12px;
}
.mainBrand dt img {
  display: block;
  max-width: 177px;
  height: auto;
}
.mainBrand__text {
  font-family: var(--font-heading);
  font-size: 21px;
  font-weight: normal;
  color: #000;
}
.site-footer .mainBrand dd {
  margin-top: 26px;
}
.mainBrand .ttl {
  font-family: "Times New Roman", Times, serif;
  font-size: 21px;
  color: #000;
  margin-bottom: 10px;
}
.mainBrand .address {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
}
.mainBrand .address li {
  max-width: 26px;
  margin-right: 17px;
}
.mainBrand .address img {
  display: block;
  width: 100%;
  height: auto;
}
.site-footer .brandList {
  margin-top: 26px;
}
.site-footer .brandList:first-child {
  margin-top: 0;
}
.site-footer .brandList dt {
  line-height: 0;
}
.brandList ul {
  margin: 0;
  padding-left: 2em;
}
.brandList li {
  list-style: disc;
  font-family: var(--font-footer);
  font-size: 12px;
  line-height: 1.8;
  margin-bottom: 9px;
}
.brandList li:last-child {
  margin-bottom: 0;
}
.brandList li a {
  color: #444;
  font-family: var(--font-footer);
  font-size: 12px;
  text-decoration: none;
}
.brandList li a:hover {
  color: var(--color-warm);
  text-decoration: underline;
}
.copy {
  background: #e7e7e7;
  padding: 6px;
}
.copy span {
  display: block;
  text-align: center;
  line-height: 1;
  font-family: var(--font-footer);
  font-size: 10px;
  color: #000;
}
.recent-bar-toggle {
  position: fixed;
  left: 30px;
  bottom: 30px;
  z-index: 50;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}
.recent-bar-toggle:hover {
  background: var(--color-primary-dark);
}
.recent-bar-toggle.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
}
.recent-post-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  padding: 12px 20px 14px;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}
.recent-post-bar.is-open {
  transform: translateY(0);
}
.recent-post-bar[hidden] {
  display: block !important;
  visibility: hidden;
}
.recent-post-bar.is-open[hidden] {
  visibility: visible;
}
.recent-post-bar__close {
  position: absolute;
  right: 12px;
  top: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.recent-post-bar__close:hover {
  background: rgba(255, 255, 255, 0.3);
}
.recent-post-bar__container {
  max-width: 1240px;
  margin: 0 auto;
  padding-right: 40px;
}
.recent-post-bar__title {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 8px;
}
.recent-post-bar__items {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
}
.recent-post-bar__items::-webkit-scrollbar {
  height: 4px;
}
.recent-post-bar__items::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
}
.recent-post-bar__item {
  flex: 0 0 auto;
  width: 160px;
  position: relative;
}
.recent-post-bar__item a {
  display: block;
  line-height: 0;
  position: relative;
  overflow: hidden;
}
.recent-post-bar__item img {
  width: 160px;
  height: 100px;
  object-fit: cover;
  display: block;
}
.recent-post-bar__placeholder {
  width: 160px;
  height: 100px;
  background: var(--color-primary-light);
}
.recent-post-bar__shadow {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent 60%);
}
@media (max-width: 768px) {
  .recent-bar-toggle {
    display: none;
  }
  .recent-post-bar {
    display: none !important;
  }
}
@media (max-width: 600px) {
  .recent-post-bar__item {
    width: 130px;
  }
  .recent-post-bar__item img,
  .recent-post-bar__placeholder {
    width: 130px;
    height: 82px;
  }
}
.scheduled-banner {
  position: fixed;
  right: -500px;
  bottom: 70px;
  z-index: 70;
  max-width: 464px;
  width: calc(100% - 32px);
  transition: right 0.45s ease;
}
.scheduled-banner.is-active {
  right: 16px;
}
.scheduled-banner[hidden] {
  display: block !important;
  visibility: hidden;
}
.scheduled-banner.is-active[hidden] {
  visibility: visible;
}
.scheduled-banner__close {
  position: absolute;
  left: -13px;
  top: -13px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  border: 1px solid #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  padding: 0;
}
.scheduled-banner__close:hover {
  background: #333;
}
.scheduled-banner img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
.scheduled-banner__link {
  display: block;
  line-height: 0;
}
@media (max-width: 600px) {
  .scheduled-banner.is-active {
    right: 12px;
  }
  .scheduled-banner {
    bottom: 70px;
  }
}
.footer-carousel-container {
  width: 100%;
  background: url("assets/images/mg_bg.webp") center top no-repeat;
  background-size: cover;
  padding: 89px 0;
  margin-top: 110px;
  position: relative;
  overflow: hidden;
}
.footer-carousel-container::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.footer-content-wrapper {
  max-width: 1216px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
.footer-carousel-content {
  flex: 1;
  padding: 0 40px;
  color: #fff;
}
.footer-carousel-content h2 {
  font-family: var(--font-heading);
  color: #fff;
  font-size: 68px;
  font-weight: normal;
  line-height: 1.15;
  margin-bottom: 20px;
}
.footer-carousel-content p {
  color: #fff;
  font-family: var(--font-nav);
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.footer-cta-button {
  display: inline-block;
  padding: 10px 20px;
  background: var(--color-cta);
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  font-family: var(--font-nav);
  font-weight: normal;
  transition: background-color 0.2s ease;
}
.footer-cta-button:hover {
  background: var(--color-cta-hover);
  color: #fff;
}
.footer-carousel {
  flex: 1;
  position: relative;
  margin-right: min(0px, calc(608px - 50vw));
  overflow: hidden;
}
.carousel-track {
  display: flex;
  height: 100%;
  will-change: transform;
}
.footer-carousel img {
  flex: none;
  height: 100%;
  width: auto;
  object-fit: cover;
  margin: 0 10px;
  border-radius: 10px;
}
@media (max-width: 1023.98px) {
  .footer-carousel-container {
    margin-top: 40px;
  }
  .footer-content-wrapper {
    flex-direction: column;
    align-items: stretch;
  }
  .footer-carousel-content,
  .footer-carousel {
    flex: none;
  }
  .footer-carousel-content h2 {
    font-size: clamp(40px, 5.5vw, 56px);
  }
  .footer-carousel-content p {
    font-size: 17px;
  }
  .footer-carousel-content br.pctb {
    display: none;
  }
  .footer-carousel {
    margin-top: 42px;
    margin-right: 0;
    width: 100vw;
    height: 136px;
  }
  .footer-carousel img {
    margin: 0 6px;
  }
}
.swiper-pagination-bullet {
  background: rgba(68, 171, 224, 0.4) !important;
}
.swiper-pagination-bullet-active {
  background: var(--color-primary) !important;
}
.swiper-button-next,
.swiper-button-prev {
  color: var(--color-primary) !important;
}
.admin-bar .topHeader {
  padding-top: 100px;
}
@media screen and (max-width: 782px) {
  .admin-bar .topHeader {
    padding-top: 114px;
  }
}
@media (max-width: 1100px) and (min-width: 601px) {
  .mainVisual .box .boxL {
    padding-left: 24px;
    padding-right: 24px;
  }
  .mainVisual .box .boxL h1 {
    font-size: 34px;
  }
  .mainVisual .box .boxL p {
    font-size: 14px;
  }
}
@media (max-width: 1100px) and (min-width: 769px) {
  .mapBox {
    margin-left: 0;
    margin-bottom: 60px;
  }
  .mapBox::before {
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    background-size: contain;
    opacity: 0.5;
  }
  .mapBox .inner {
    height: auto;
    min-height: 0;
    padding-bottom: 24px;
  }
  .mapBox h2 {
    position: static;
    max-width: 100%;
    margin-bottom: 12px;
  }
  .mapBox .mTxt {
    position: static;
    max-width: 100%;
  }
  .mapBox ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 24px;
  }
  .mapBox ul li {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none;
    padding: 0;
  }
  .mapBox ul li > a .pin {
    display: none;
  }
  .mapBox ul li span {
    position: relative !important;
    opacity: 1;
    width: 100%;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
  }
}
.page-layout {
  padding-top: 60px;
  padding-bottom: 60px;
}
.page-article {
  max-width: 820px;
  margin: 0 auto;
}
.page-layout + .container-site .article-comments {
  max-width: 820px;
  margin: 0 auto;
}
.article-body .alignleft {
  float: left;
  margin: 0 24px 16px 0;
  max-width: 50%;
}
.article-body .alignright {
  float: right;
  margin: 0 0 16px 24px;
  max-width: 50%;
}
.article-body .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.article-body p.alignleft,
.article-body p.alignright {
  max-width: none;
  float: none;
  margin: 0;
}
.article-body figure.alignleft,
.article-body figure.alignright {
  max-width: 50%;
}
.article-body .alignwide {
  margin-left: calc(50% - 50vw + 20px);
  margin-right: calc(50% - 50vw + 20px);
  max-width: none;
}
.article-body .alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: none;
}
@media (max-width: 1100px) {
  .article-body .alignwide,
  .article-body .alignfull {
    margin-left: 0;
    margin-right: 0;
  }
}
.article-body .wp-block-cover {
  margin: 32px 0;
  overflow: hidden;
}
.article-body .wp-block-cover .wp-block-cover__inner-container {
  color: #fff;
}
.article-body::after {
  content: "";
  display: table;
  clear: both;
}
.article-body .wp-caption {
  max-width: 100%;
  margin: 24px 0;
}
.article-body .wp-caption-text {
  font-size: 12px;
  color: var(--color-ink-muted);
  text-align: center;
  margin-top: 6px;
}
@media (max-width: 480px) {
  .pagination,
  .pagination .wp-pagenavi {
    gap: 2px;
  }
  .pagination .page-numbers,
  .pagination .wp-pagenavi a,
  .pagination .wp-pagenavi span {
    padding: 7px 10px;
    font-size: 13px;
  }
}
:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.CustomHeader .Header a:focus-visible,
.CustomHeader .Header button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.focus\:not-sr-only:focus,
.not-sr-only {
  position: static !important;
  width: auto;
  height: auto;
  padding: inherit;
  margin: inherit;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
html,
body {
  overflow-x: clip;
}
@media print {
  .topHeader,
  .site-footer,
  .footer-carousel-container,
  .scheduled-banner,
  .recent-post-bar,
  .recent-bar-toggle,
  .back-to-top,
  .archive-sidebar,
  .home-sidebar,
  .single-sidebar,
  .social-share,
  .related-posts {
    display: none !important;
  }
  body {
    background: #fff;
    color: #000;
  }
  .article-body a {
    color: #000;
    text-decoration: underline;
  }
}
@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);
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
  initial-value: rotateX(0);
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
  initial-value: rotateY(0);
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
  initial-value: rotateZ(0);
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
  initial-value: skewX(0);
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
  initial-value: skewY(0);
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}

/*.追加分 */
.article-grid,
.related-posts__grid {
  row-gap: 0;
}
.article-grid > .post-card,
.related-posts__grid > .post-card {
  display: grid;
  grid-row: span 5;
  grid-template-rows: subgrid;
  row-gap: 0;
}
.article-grid > .post-card {
  padding-bottom: 32px;
}
.related-posts__grid > .post-card {
  padding-bottom: 28px;
}
.article-grid > .post-card .post-card__content,
.related-posts__grid > .post-card .post-card__content {
  display: contents;
}
.article-grid > .post-card .post-card__thumb-link,
.related-posts__grid > .post-card .post-card__thumb-link {
  margin-bottom: 35px;
}
.article-grid .post-card__title {
  font-size: 22px;
}
@media (max-width: 768px) {
  .article-grid > .post-card {
    padding-bottom: 28px;
  }
}
