@charset "UTF-8";
@layer vendor, reset, base, layout, components, utilities, overrides;
:root {
  --color-primary: #e60016;
  --color-primary-light: rgb(255, 87, 103.0695652174);
  --color-primary-dark: rgb(184, 0, 17.6);
  --color-accent: #10b981;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-50: #fafafa;
  --color-gray-100: #f5f5f5;
  --color-gray-200: #e5e5e5;
  --color-gray-300: #d4d4d4;
  --color-gray-400: #a3a3a3;
  --color-gray-500: #737373;
  --color-gray-600: #525252;
  --color-gray-700: #404040;
  --color-gray-800: #262626;
  --color-gray-900: #171717;
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;
  --color-text: #333;
  --color-text-light: #808080;
  --color-text-subtle: #999;
  --color-text-muted: #9f9f9f;
  --theme-bg: #f6f6f6;
  --theme-bg-subtle: #f5f5f5;
  --theme-bg-muted: #e5e5e5;
  --theme-bg-gray: #dfdfdf;
  --theme-bg-dark: #333;
  --theme-border: #818181;
  --theme-border-subtle: rgba(0, 0, 0, 0.1);
  --theme-surface: #ffffff;
  --theme-surface-raised: #ffffff;
  --theme-link: var(--color-primary);
  --theme-link-hover: var(--color-primary-dark);
  --theme-hover-mix: 85%;
  --theme-shadow-color: rgb(0 0 0 / 10%);
}

@font-face {
  font-family: "LINE Seed JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/LINESeedJP/WOFF2/LINESeedJP_OTF_Rg.woff2") format("woff2"), url("../fonts/LINESeedJP/WOFF/LINESeedJP_OTF_Rg.woff") format("woff");
}
@font-face {
  font-family: "LINE Seed JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/LINESeedJP/WOFF2/LINESeedJP_OTF_Bd.woff2") format("woff2"), url("../fonts/LINESeedJP/WOFF/LINESeedJP_OTF_Bd.woff") format("woff");
}
@font-face {
  font-family: "LINE Seed JP";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/LINESeedJP/WOFF2/LINESeedJP_OTF_Eb.woff2") format("woff2"), url("../fonts/LINESeedJP/WOFF/LINESeedJP_OTF_Eb.woff") format("woff");
}
:root {
  --font-main: 'LINE Seed JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'BIZ UDPGothic', Meiryo, sans-serif;
  --font-sans: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'BIZ UDPGothic', Meiryo, sans-serif;
  --font-serif: 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'BIZ UDPMincho', 'Yu Mincho', serif;
  --font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  --text-xs: clamp(1rem, 0.94rem + 0.15vw, 1.1rem);
  --text-sm: clamp(1.2rem, 1.11rem + 0.24vw, 1.4rem);
  --text-base: clamp(1.4rem, 1.31rem + 0.24vw, 1.6rem);
  --text-md: var(--text-base);
  --text-lg: clamp(1.7rem, 1.58rem + 0.32vw, 2rem);
  --text-xl: clamp(2rem, 1.84rem + 0.42vw, 2.4rem);
  --text-2xl: clamp(2.4rem, 2.17rem + 0.61vw, 3rem);
  --text-3xl: clamp(3rem, 2.69rem + 0.82vw, 3.8rem);
  --text-4xl: clamp(3.6rem, 3.14rem + 1.21vw, 4.8rem);
  --text-5xl: clamp(4.4rem, 3.79rem + 1.6vw, 6rem);
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
  --leading-heading: 1.3;
  --leading-body: 1.8;
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;
  --tracking-ja: 0.04em;
  --tracking-ja-heading: 0.05em;
  --weight-thin: 100;
  --weight-light: 300;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;
  --weight-black: 900;
  --font-size-10: max(1rem, 10px);
  --font-size-11: max(1.1rem, 11px);
  --font-size-12: max(1.2rem, 11px);
  --font-size-13: max(1.3rem, 12px);
  --font-size-14: max(1.4rem, 12px);
  --font-size-15: max(1.5rem, 13px);
  --font-size-16: max(1.6rem, 14px);
  --font-size-17: max(1.7rem, 14px);
  --font-size-18: max(1.8rem, 15px);
  --font-size-19: max(1.9rem, 16px);
  --font-size-20: max(2rem, 17px);
  --font-size-21: max(2.1rem, 17px);
  --font-size-22: max(2.2rem, 18px);
  --font-size-23: max(2.3rem, 19px);
  --font-size-24: max(2.4rem, 19px);
  --font-size-25: max(2.5rem, 20px);
  --font-size-26: max(2.6rem, 21px);
  --font-size-27: max(2.7rem, 22px);
  --font-size-28: max(2.8rem, 23px);
  --font-size-29: max(2.9rem, 24px);
  --font-size-30: max(3rem, 25px);
  --font-size-32: max(3.2rem, 26px);
  --font-size-34: max(3.4rem, 28px);
  --font-size-36: max(3.6rem, 29px);
  --font-size-38: max(3.8rem, 31px);
  --font-size-40: 4rem;
  --font-size-42: 4.2rem;
  --font-size-44: 4.4rem;
  --font-size-46: 4.6rem;
  --font-size-48: 4.8rem;
  --font-size-50: 5rem;
  --font-size-52: 5.2rem;
  --font-size-54: 5.4rem;
  --font-size-56: 5.6rem;
  --font-size-58: 5.8rem;
  --font-size-60: 6rem;
  --font-size-64: 6.4rem;
  --font-size-68: 6.8rem;
  --font-size-70: 7rem;
  --font-size-72: 7.2rem;
  --font-size-76: 7.6rem;
  --font-size-80: 8rem;
  --font-size-84: 8.4rem;
  --font-size-88: 8.8rem;
  --font-size-90: 9rem;
  --font-size-96: 9.6rem;
  --font-size-100: 10rem;
  --font-size-120: 12rem;
}

:root {
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1080px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;
  --breakpoint-home-mv: 540px;
}

:root {
  --space-0: 0;
  --space-4: 0.4rem;
  --space-8: 0.8rem;
  --space-12: 1.2rem;
  --space-16: 1.6rem;
  --space-20: 2rem;
  --space-24: 2.4rem;
  --space-32: 3.2rem;
  --space-40: 4rem;
  --space-48: 4.8rem;
  --space-56: 5.6rem;
  --space-64: 6.4rem;
  --space-72: 7.2rem;
  --space-80: 8rem;
  --space-88: 8.8rem;
  --space-96: 9.6rem;
  --space-104: 10.4rem;
  --space-112: 11.2rem;
  --space-120: 12rem;
  --space-128: 12.8rem;
  --space-136: 13.6rem;
  --space-144: 14.4rem;
  --space-152: 15.2rem;
  --space-160: 16rem;
  --space-section: var(--space-56);
  --space-section-lg: var(--space-80);
  --space-section-sm: var(--space-40);
  --space-component: var(--space-32);
  --space-component-lg: var(--space-40);
  --space-component-sm: var(--space-24);
  --space-element: var(--space-16);
  --space-element-lg: var(--space-24);
  --space-element-sm: var(--space-8);
  --space-inline: var(--space-8);
  --space-inline-lg: var(--space-16);
  --space-inline-sm: var(--space-4);
  --space-container-x: clamp(1.6rem, 5vw, 3.2rem);
  --space-container-y: var(--space-40);
  --gap-4: var(--space-4);
  --gap-8: var(--space-8);
  --gap-12: var(--space-12);
  --gap-16: var(--space-16);
  --gap-24: var(--space-24);
  --gap-32: var(--space-32);
  --gap-40: var(--space-40);
  --gap-48: var(--space-48);
  --radius-none: 0;
  --radius-4: 0.4rem;
  --radius-8: 0.8rem;
  --radius-12: 1.2rem;
  --radius-16: 1.6rem;
  --radius-24: 2.4rem;
  --radius-full: 9999px;
  --z-behind: -1;
  --z-base: 0;
  --z-raised: 10;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-drawer: 300;
  --z-modal: 400;
  --z-popover: 500;
  --z-toast: 600;
  --z-tooltip: 700;
  --z-max: 9999;
}

@media (min-width: 1080px) {
  :root {
    --space-section: var(--space-120);
    --space-section-lg: var(--space-160);
    --space-section-sm: var(--space-80);
    --space-component: var(--space-56);
    --space-component-lg: var(--space-72);
    --space-component-sm: var(--space-40);
  }
}
:root {
  --container-xs: 440px;
  --container-small: 720px;
  --container-medium: 800px;
  --container-default: 1200px;
  --container-xl: 1440px;
  --gutter: 2rem;
  --grid-gap: var(--space-16);
  --grid-gap-lg: var(--space-24);
  --header-height: 6.8rem;
  --z-cover: 199;
  --z-header: 200;
  --z-sp-menu: 100;
  --z-content: 98;
  --z-footer: 99;
  --z-home-mv: 99;
  --z-section: 98;
  --z-page-header: 98;
  --z-page-body: 98;
  --z-section-cvt: 99;
}

@media (min-width: 1080px) {
  :root {
    --gutter: 4rem;
  }
}
:root {
  --duration-instant: 50ms;
  --duration-fast: 100ms;
  --duration-normal: 200ms;
  --duration-slow: 300ms;
  --duration-slower: 500ms;
  --duration-slowest: 700ms;
  --ease-linear: linear;
  --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);
  --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --ease-smooth: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --transition-colors: color var(--duration-fast) var(--ease-out),
    background-color var(--duration-fast) var(--ease-out),
    border-color var(--duration-fast) var(--ease-out);
  --transition-opacity: opacity var(--duration-normal) var(--ease-out);
  --transition-transform: transform var(--duration-normal) var(--ease-out);
  --transition-shadow: box-shadow var(--duration-fast) var(--ease-out);
  --transition-all: all var(--duration-normal) var(--ease-out);
  --delay-none: 0ms;
  --delay-short: 75ms;
  --delay-medium: 150ms;
  --delay-long: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-instant: 0ms;
    --duration-fast: 0ms;
    --duration-normal: 0ms;
    --duration-slow: 0ms;
    --duration-slower: 0ms;
    --duration-slowest: 0ms;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-1rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(1rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@keyframes arrowForward {
  0% {
    translate: 0 0;
    opacity: 1;
  }
  10% {
    opacity: 1;
  }
  48% {
    opacity: 0;
  }
  49% {
    translate: 0.6em 0;
    opacity: 0;
  }
  50% {
    translate: -0.2em 0;
    opacity: 0;
  }
  55% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes arrowBack {
  0% {
    translate: 0 0;
    opacity: 1;
  }
  10% {
    opacity: 1;
  }
  48% {
    opacity: 0;
  }
  49% {
    translate: -0.6em 0;
    opacity: 0;
  }
  50% {
    translate: 0.2em 0;
    opacity: 0;
  }
  55% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
:root {
  --svg-logo-miehigashi: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 290 24"><path fill="%23000000" d="M8 .398h6.217V9.27h9.206V.398h6.218v23.194h-6.22v-9.93h-9.206v9.931H8zM42.976 19.778c-2.77 0-3.91-2.302-3.91-4.875 0-2.617 1.14-4.91 3.91-4.91s3.918 2.292 3.918 4.91c0 2.576-1.139 4.875-3.918 4.875m0 4.214c5.753 0 10.133-3.343 10.133-9.09 0-5.79-4.384-9.136-10.133-9.136-5.75 0-10.126 3.345-10.126 9.137 0 5.746 4.383 9.089 10.126 9.089M61.437 9.402h.068a6.27 6.27 0 0 1 6.092-3.636c4.748 0 6.656 3.345 6.656 6.954v10.874h-6.028v-8.429c0-3.279-1.128-4.384-2.77-4.384-2.476 0-3.743 1.708-3.743 5.454v7.358h-6.019V6.17h5.744zM83.233 14.76c0-2.302 1.302-4.292 3.644-4.292 2.209 0 3.675 1.89 3.675 4.523 0 2.528-1.672 4.417-3.675 4.417-2.27 0-3.644-1.888-3.644-4.648M96.57.398h-6.054v8.11h-.067a6.94 6.94 0 0 0-5.982-2.63c-4.817 0-7.452 4.486-7.452 8.738 0 5.118 2.761 9.373 7.95 9.373a6.46 6.46 0 0 0 5.985-3.49h.07v3.093h5.544zM104.817 18.069c0-1.662 1.609-2.302 3.653-2.302.896 0 1.769.067 2.536.098a3.925 3.925 0 0 1-3.71 4.106c-1.41 0-2.478-.692-2.478-1.906m12.144 5.525a20.6 20.6 0 0 1-.337-4.115v-6.483c0-5.313-3.848-7.225-8.298-7.225A18.2 18.2 0 0 0 101.376 7v4.085c1.746-.9 3.69-1.349 5.655-1.304 2.172 0 3.945.635 3.974 3.01a17.5 17.5 0 0 0-2.799-.236c-3.219 0-9.009.64-9.009 5.955 0 3.783 3.08 5.48 6.53 5.48a5.96 5.96 0 0 0 5.51-3.142h.07c0 .897.099 1.803.138 2.74zM157.406 18.069c0-1.662 1.609-2.302 3.652-2.302.904 0 1.778.067 2.54.097a3.93 3.93 0 0 1-3.706 4.107c-1.407 0-2.481-.692-2.481-1.906m12.138 5.525a22 22 0 0 1-.328-4.115v-6.483c0-5.314-3.847-7.225-8.295-7.225A18.2 18.2 0 0 0 153.976 7v4.085a11.75 11.75 0 0 1 5.642-1.307c2.174 0 3.946.636 3.979 3.01a17.5 17.5 0 0 0-2.803-.236c-3.213 0-8.997.64-8.997 5.956 0 3.782 3.068 5.48 6.521 5.48a5.95 5.95 0 0 0 5.508-3.141h.07c0 .896.109 1.803.138 2.74zM149.113 23.064a23.7 23.7 0 0 1-6.661.928c-6.216 0-13.405-3.12-13.405-11.895C129.047 4.022 134.73 0 142.417 0c2.216.061 4.41.468 6.501 1.206v5.003a12.6 12.6 0 0 0-6.169-1.623c-4.41 0-7.288 3.193-7.288 7.51 0 4.547 3.25 7.313 7.803 7.313a16.6 16.6 0 0 0 5.851-1.206zM195.38 23.991a21.1 21.1 0 0 1-7.083-1.013v-4.494a15.34 15.34 0 0 0 6.75 1.488c1.424 0 2.082-.609 2.082-1.353 0-3.009-9.076-1.022-9.076-7.264 0-3.398 3.167-5.59 7.183-5.59a19.1 19.1 0 0 1 6.701 1.096v4.274a13.04 13.04 0 0 0-5.805-1.357c-1.467 0-2.417.517-2.417 1.23 0 2.605 9.401.359 9.401 7.296 0 2.688-1.802 5.686-7.736 5.686M186.044 11.01a11.4 11.4 0 0 0-2.328-.226c-3.021 0-4.647 1.972-4.647 5.452v7.357h-6.028V6.17h5.486v3.212h.067a5.594 5.594 0 0 1 5.416-3.617q1.023.021 2.031.204zM216.725 5.713a25 25 0 0 1 3.584-.151h12.422a30 30 0 0 1 3.604.151v-4.21a29 29 0 0 1-3.629.152h-12.452a26 26 0 0 1-3.529-.152zm1.664 8.319a24 24 0 0 1 3.251-.153h9.881c1.205 0 2.067.05 3.201.152V9.796a34 34 0 0 1-3.226.151h-9.931a21.6 21.6 0 0 1-3.178-.151zm19.585 4.588a37 37 0 0 1-4.008.176H219.17a35 35 0 0 1-4.055-.176v4.285a40 40 0 0 1 4.181-.177h14.795a29.5 29.5 0 0 1 3.882.177zm11.771-14.117h-6.226c-1.134 0-2.092-.05-3-.126v3.151a24 24 0 0 1 3-.126h6.226v.731h-5.243a32 32 0 0 1-2.016-.05q.113.904.1 1.815v4.915q.01.886-.1 1.765c.428-.026 1.033-.05 2.016-.05h5.243v.756h-5.117c-1.084 0-2.092-.05-2.999-.127v2.925a24 24 0 0 1 2.999-.126h5.117v.73h-6.604a36 36 0 0 1-3-.125v3.251a23 23 0 0 1 3-.126h17.315q1.479-.03 2.949.126v-3.247c-.882.076-1.789.126-2.949.126h-6.93v-.731h5.444q1.479-.034 2.949.126v-2.928a32 32 0 0 1-2.949.126h-5.444v-.757h5.495c.957 0 1.562.025 2.016.05a11.4 11.4 0 0 1-.101-1.764V9.898q-.02-.912.101-1.815a32 32 0 0 1-2.016.05h-5.495v-.73h6.528q1.479-.031 2.949.125v-3.15a32 32 0 0 1-2.949.125h-6.528v-.882c2.924-.101 2.924-.101 4.663-.252 1.991-.177 3.178-.278 3.529-.303L259.55.07c-1.84.554-8.318.958-14.947.958-.832 0-.832 0-3.428-.025.483.881.856 1.82 1.109 2.793 3.178 0 3.178 0 7.461-.075zm0 5.924v.908h-3.398v-.908zm3.781 0h3.705v.908h-3.705zm-3.781 2.899v.933h-3.398v-.933zm3.781 0h3.705v.933h-3.705zm21.45-7.638v.958h-4.89a23 23 0 0 1-2.722-.101q.113 1.233.101 2.47v5.143c-.026 1.462-.026 1.462-.026 1.588-.05.63-.05.63-.075.877a19 19 0 0 1 2.747-.101h2.042a17.47 17.47 0 0 1-7.36 3.58 18.4 18.4 0 0 1 1.915 3.604 19.25 19.25 0 0 0 8.343-5.319c-.05.933-.075 1.437-.075 1.535v1.058q-.001 1.48-.177 2.95h4.235a21 21 0 0 1-.176-2.95v-1.008c0-.454-.026-.877-.051-1.588a20.6 20.6 0 0 0 8.671 5.319 23 23 0 0 1 1.916-3.781 15.9 15.9 0 0 1-7.638-3.398h2.218q1.364-.023 2.723.1a21 21 0 0 1-.101-2.47V9.013c0-.781.025-1.534.101-2.445q-1.36.112-2.723.076h-5.116v-.958h6.629c1.134 0 2.142.05 3.15.126V2.108a30 30 0 0 1-3.451.154h-6.328q.014-.937.151-1.863h-4.184q.135.927.151 1.863H268.8a31 31 0 0 1-3.397-.151v3.705a40 40 0 0 1 3.1-.126zm0 3.705v.933h-3.726v-.933zm3.882 0h3.957v.933h-3.957zm-3.882 3.48v.957h-3.726v-.958zm3.882 0h3.957v.957h-3.957z"/></svg>');
  --svg-logo-owari: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 267 24"><path fill="%23000" d="M8 .398h6.217V9.27h9.205V.398h6.219v23.195h-6.22v-9.931h-9.206v9.932H8zM42.976 19.778c-2.77 0-3.91-2.302-3.91-4.875 0-2.617 1.14-4.91 3.91-4.91 2.769 0 3.918 2.292 3.918 4.91 0 2.576-1.14 4.875-3.918 4.875m0 4.214c5.753 0 10.132-3.343 10.132-9.09 0-5.79-4.383-9.136-10.132-9.136-5.75 0-10.126 3.345-10.126 9.137 0 5.746 4.383 9.089 10.126 9.089M61.435 9.401h.068a6.27 6.27 0 0 1 6.092-3.635c4.747 0 6.655 3.345 6.655 6.954v10.874h-6.027v-8.429c0-3.279-1.128-4.384-2.77-4.384-2.476 0-3.743 1.708-3.743 5.454v7.358h-6.019V6.17h5.744zM83.23 14.76c0-2.302 1.303-4.292 3.644-4.292 2.21 0 3.676 1.89 3.676 4.523 0 2.528-1.672 4.417-3.675 4.417-2.27 0-3.644-1.888-3.644-4.648M96.57.397h-6.054v8.111h-.067a6.94 6.94 0 0 0-5.982-2.63c-4.817 0-7.452 4.486-7.452 8.738 0 5.119 2.761 9.373 7.95 9.373a6.46 6.46 0 0 0 5.985-3.49h.07v3.093h5.544zM104.815 18.069c0-1.662 1.609-2.302 3.653-2.302.896 0 1.768.067 2.536.098a3.919 3.919 0 0 1-3.71 4.107c-1.41 0-2.478-.693-2.478-1.907m12.144 5.525a20.6 20.6 0 0 1-.337-4.115v-6.483c0-5.314-3.848-7.225-8.298-7.225A18.2 18.2 0 0 0 101.374 7v4.085c1.746-.9 3.69-1.35 5.655-1.304 2.172 0 3.945.635 3.973 3.01a17.4 17.4 0 0 0-2.798-.236c-3.219 0-9.009.64-9.009 5.955 0 3.783 3.08 5.48 6.53 5.48a5.95 5.95 0 0 0 5.51-3.142h.07c0 .897.099 1.803.138 2.74zM157.406 18.069c0-1.662 1.608-2.302 3.652-2.302.904 0 1.778.067 2.539.098a3.924 3.924 0 0 1-3.705 4.106c-1.407 0-2.481-.692-2.481-1.906m12.138 5.525a22 22 0 0 1-.329-4.115v-6.483c0-5.314-3.846-7.225-8.294-7.225A18.2 18.2 0 0 0 153.976 7v4.085a11.75 11.75 0 0 1 5.642-1.307c2.173 0 3.945.636 3.978 3.01a17.4 17.4 0 0 0-2.802-.236c-3.213 0-8.997.64-8.997 5.956 0 3.783 3.068 5.48 6.52 5.48a5.95 5.95 0 0 0 5.508-3.14h.071c0 .896.109 1.802.138 2.74zM149.113 23.065a23.7 23.7 0 0 1-6.661.928c-6.216 0-13.405-3.122-13.405-11.896C129.047 4.022 134.73 0 142.417 0c2.216.061 4.41.468 6.501 1.206v5.003a12.6 12.6 0 0 0-6.169-1.623c-4.41 0-7.288 3.194-7.288 7.51 0 4.547 3.249 7.313 7.803 7.313a16.6 16.6 0 0 0 5.851-1.205zM195.378 23.992a21.1 21.1 0 0 1-7.083-1.014v-4.494a15.35 15.35 0 0 0 6.75 1.489c1.424 0 2.082-.61 2.082-1.354 0-3.009-9.076-1.021-9.076-7.264 0-3.398 3.167-5.59 7.183-5.59a19.1 19.1 0 0 1 6.701 1.096v4.274a13.04 13.04 0 0 0-5.805-1.356c-1.467 0-2.417.516-2.417 1.228 0 2.607 9.401.36 9.401 7.297 0 2.688-1.802 5.687-7.736 5.687M186.044 11.01a11.4 11.4 0 0 0-2.328-.226c-3.021 0-4.648 1.972-4.648 5.452v7.358h-6.027V6.17h5.486v3.212h.067a5.594 5.594 0 0 1 5.416-3.617q1.023.021 2.03.204zM229.484 10.833c4.038-.372 6.179-.62 8.212-.944l-1.498-2.657h2.006V.452H215.28v11.302c0 5.215-1.444 7.448-2.167 8.567l3.639 3.227c2.006-2.855 2.834-6.73 2.834-11.82V7.232h15.648a126 126 0 0 1-15.247 1.142l.722 3.03c.456-.024 2.756-.174 4.548-.298v.87l-5.06.248.106 2.757 4.954-.249v.844l-5.623.249.188 3.228 5.435-.3v2.334c0 1.192.802 2.058 2.567 2.058h7.971a2.76 2.76 0 0 0 2.489-1.51c.286-.844.475-1.72.562-2.607l-2.969-.843 3.076-.15-.106-3.079-9.362.423v-.844l8.293-.423V11.38l-8.293.397zm.695 8.743c-.695 0-.695-.124-.695-1.044l5.249-.273c-.137.97-.16 1.317-.99 1.317zm3.638-14.902h-14.231V3.631h14.231zm15.461 18.577c.616-.05 5.778-.348 9.309-.92v-2.73a13.8 13.8 0 0 0 5.162 3.819l2.407-3.596a13.4 13.4 0 0 1-2.943-1.235 15.5 15.5 0 0 0 2.489-1.994l-2.331-1.912h2.274v-3.378h-10.509v-1.043h9.095V7.88h-9.095v-.945h9.095v-2.21h-9.095V3.83h9.976V.453h-14.176v10.852h-1.234v3.378h1.234v4.595l-2.032.074a52 52 0 0 0 .481-7.923h-4.628c.081-.423.137-1.068.214-1.764h4.333V.451h-9.04v3.843h5.083v1.784h-4.281a62 62 0 0 1-.802 9.195h5.136a28 28 0 0 1-.381 3.631c-.161.473-.669.497-1.151.497h-2.909l.749 4.018h3.692c2.595 0 3.076-1.167 3.428-3.6zm6.929-8.568c.321 1.453.91 2.834 1.737 4.07-.562.05-2.139.2-2.782.275v-4.345zm6.419 0q-.949.93-2.006 1.737a8 8 0 0 1-1.097-1.739z"/></svg>');
}

/*! kiso.css v1.2.2 | MIT License | https://github.com/tak-dcxi/kiso.css */
@layer reset {
  /* ======================================================
  //  MARK: Universal
  // ====================================================== */
  *,
  ::before,
  ::after {
    /*
    * Includes `padding` and `border` in the element's specified dimensions.
    * It is highly recommended to set `box-sizing: border-box;` by default, as it makes styling much easier, especially when specifying `width: 100%;`.
    */
    box-sizing: border-box;
  }
  /* ======================================================
  //  MARK: Document and Body Elements
  // ====================================================== */
  :where(:root) {
    /* In Safari, if `font-family` is not specified, a serif font is applied by default, so `sans-serif` is set as the default here. */
    font-family: sans-serif;
    /*
    * For accessibility, it is recommended to set the `line-height` to at least 1.5 times the text size within paragraphs.
    * @see https://waic.jp/translations/WCAG21/#visual-presentation
    */
    line-height: 1.5;
    /* Remove space when punctuation marks are adjacent, and also remove leading spaces in a line. */
    text-spacing-trim: trim-start;
    /* Improves readability by inserting a small space between Japanese and alphanumeric characters. */
    text-autospace: normal;
    /* Prevents misreading by applying strict line-breaking rules. */
    line-break: strict;
    /* Wraps English words mid-word. Specifying `anywhere` also prevents content from overflowing in layouts like `flex` or `grid`. */
    overflow-wrap: anywhere;
    /*
    * Mobile browsers have an algorithm that automatically adjusts font sizes to prevent text from becoming too small.
    * This controls the auto-adjustment feature to prevent unwanted resizing.
    */
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
         text-size-adjust: 100%;
    /* Prevents layout shift caused by the appearance or disappearance of the scrollbar. */
    scrollbar-gutter: stable;
    /* Suppresses the tap highlight on iOS. */
    -webkit-tap-highlight-color: transparent;
  }
  :where(body) {
    /*
    * When creating a sticky footer, a minimum height is often required.
    * Setting the `min-block-size` to the dynamic viewport height ensures enough space for the footer.
    */
    min-block-size: 100dvb;
    /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
    margin: unset;
  }
  /* ======================================================
  // MARK: Sections
  // ------------------------------------------------------ */
  :where(h1, h2, h3, h4, h5, h6) {
    /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
    text-wrap: pretty;
  }
  :where(h1) {
    /*
    * Adjusts user agent (UA) styles for `h1` elements within sectioning content.
    * This addresses DevTools warnings that appear when `h1` elements nested within sectioning content lack `font-size` and `margin` properties.
    * @see https://html.spec.whatwg.org/#sections-and-headings
    */
    margin-block: 0.67em;
    font-size: 2em;
  }
  :where(h2, h3, h4, h5, h6) {
    /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
    margin-block: unset;
  }
  :where(search) {
    /*
    * The `<search>` element is supported from Safari 17.
    * This prevents it from being displayed as an inline element in unsupported environments.
    */
    display: block flow;
  }
  /* ======================================================
  //  MARK: Grouping content
  // ====================================================== */
  :where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
    /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
    margin-block: unset;
  }
  :where(blockquote, figure) {
    /* The `margin-inline` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
    margin-inline: unset;
  }
  :where(p:lang(en)) {
    /*
    * In English, a single word on the last line is called a "widow" or "orphan" and is considered something to avoid as it makes the text harder to read.
    * Therefore, when lang="en", this prevents the last line from ending with a single word.
    */
    text-wrap: pretty;
  }
  :where(address:lang(ja)) {
    /* Italic style is not common in Japanese, so the `font-style` is reset. */
    font-style: unset;
  }
  :where(ul, ol, menu) {
    /* The `padding-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
    padding-inline-start: unset;
    /*
    * In Safari, using `list-style: none` prevents screen readers from announcing lists.
    * `list-style-type: ""` is used to hide markers without affecting accessibility.
    * @see https://matuzo.at/blog/2023/removing-list-styles-without-affecting-semantics
    */
    list-style-type: "";
  }
  :where(dt) {
    /* It is common to display `<dt>` elements in bold, so `font-weight: bolder;` is set by default. */
    font-weight: bolder;
  }
  :where(dd) {
    /* The `margin-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
    margin-inline-start: unset;
  }
  :where(pre) {
    /*
    * Since `text-spacing-trim` can affect spacing in `<pre>` elements even with its initial value, the final rendering may depend on the user's font settings.
    * To ensure consistent alignment, `space-all` is explicitly specified and inheritance is prevented.
    */
    text-spacing-trim: space-all;
    /* Set to `no-autospace` as it can cause misalignment with monospaced fonts. */
    text-autospace: no-autospace;
  }
  /* ======================================================
  //  MARK: Text-level semantics
  // ====================================================== */
  :where(em:lang(ja)) {
    /* In Japanese, emphasis is commonly represented by bold text, so `font-weight: bolder;` is set by default. */
    font-weight: bolder;
  }
  :where(:is(i, cite, em, dfn, var):lang(ja)) {
    /* Italic style is not common in Japanese, so the `font-style` is reset. */
    font-style: unset;
  }
  :where(code, kbd, samp) {
    /*
    * Set a monospace font family referencing Tailwind.
    * @see https://tailwindcss.com/docs/font-family
    */
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    /* Font feature settings can have adverse effects on monospaced fonts, so their values are explicitly set to `initial` to prevent inheritance. */
    font-feature-settings: initial;
    font-variation-settings: initial;
    /* Resets the `font-size` specified in the UA stylesheet to allow inheritance. */
    font-size: unset;
    /*
    * Disables font ligatures for programming fonts (like Fira Code)
    * to prevent character combinations like `=>` from being rendered as a single symbol (e.g., `⇒`).
    */
    font-variant-ligatures: none;
  }
  :where(abbr[title]) {
    /*
    * The `<abbr>` element with the `title` attribute isn't helpful regarding accessibility because support is inconsistent, and it's only accessible to some users.
    * This rule shows a dotted underline on abbreviations in all browsers (there's a bug in Safari) and changes the cursor.
    * @see https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
    */
    text-decoration-line: underline;
    text-decoration-style: dotted;
    cursor: help;
  }
  :where(time) {
    /* Set to `no-autospace` because date notations in typography do not include spaces. */
    text-autospace: no-autospace;
  }
  @media (forced-colors: active) {
    :where(mark) {
      /*
      * In forced-colors mode, the color of the mark element may not change, which can be problematic. Use system colors in forced-colors mode.
      * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
      */
      background-color: Highlight;
      color: HighlightText;
    }
  }
  @media print {
    :where(mark) {
      /*
      * Not all printers support color, and users might print in grayscale.
      * It's worth adding a non-disruptive style that scales with the text, as an alternative to relying only on background color.
      * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkPrint
      */
      border-width: 1px;
      border-style: dotted;
    }
  }
  /* ======================================================
  //  MARK: Links
  // ====================================================== */
  :where(a:-moz-any-link) {
    /* The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance. */
    color: unset;
    /*
    * While link underlines can be useful, they are often obstructive.
    * They are disabled by default.
    * If needed, restore them using `text-decoration-line: revert;`.
    */
    text-decoration-line: unset;
    /* Set the underline thickness to the font's default thickness. */
    text-decoration-thickness: from-font;
  }
  :where(a:any-link) {
    /* The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance. */
    color: unset;
    /*
    * While link underlines can be useful, they are often obstructive.
    * They are disabled by default.
    * If needed, restore them using `text-decoration-line: revert;`.
    */
    text-decoration-line: unset;
    /* Set the underline thickness to the font's default thickness. */
    text-decoration-thickness: from-font;
  }
  /* ======================================================
  //  MARK: Embedded content
  // ====================================================== */
  :where(img, svg, picture, video, canvas, model, audio, iframe, embed, object) {
    /* Automatically adjust block size based on content. */
    block-size: auto;
    /* Prevents overflow by setting the maximum width to `100%`. */
    max-inline-size: 100%;
    /* Prevents extra space from appearing at the bottom of the element. */
    vertical-align: bottom;
  }
  :where(iframe) {
    /* The `border` specified in the UA stylesheet is often unnecessary, so it is reset. */
    border: unset;
  }
  /* ======================================================
  //  MARK: Tabular data
  // ====================================================== */
  :where(table) {
    /* Collapse borders for a more refined table design. */
    border-collapse: collapse;
  }
  :where(caption, th) {
    /* The `text-align` specified in the UA stylesheet is often unnecessary, so it is reset. */
    text-align: unset;
  }
  :where(caption) {
    /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
    text-wrap: pretty;
  }
  /* ======================================================
  //  MARK: Forms
  // ====================================================== */
  :where(button, input, select, textarea),
  ::file-selector-button {
    /*
    * These elements are often styled with a border, so a `1px` border is applied by default for consistency.
    * This ensures readability even for unstyled elements.
    * When resetting, it's recommended to use `border-color: transparent` instead of `border: none` to account for forced color modes.
    */
    border-width: 1px;
    border-style: solid;
    /* These styles specified in the UA stylesheet are often unnecessary, so they are reset to allow for inheritance. */
    border-color: unset;
    border-radius: unset;
    color: unset;
    font: unset;
    letter-spacing: unset;
    text-align: unset;
  }
  :where(input:is([type=radio i], [type=checkbox i])) {
    /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
    margin: unset;
  }
  :where(input[type=file i]) {
    /* The `border` is often unnecessary, so it is reset here. */
    border: unset;
  }
  :where(input[type=search i]) {
    /* Remove the rounded corners of search inputs on macOS and normalize the background color. */
    -webkit-appearance: textfield;
  }
  @supports (-webkit-touch-callout: none) {
    :where(input[type=search i]) {
      /* normalize the background color on iOS. */
      background-color: Canvas;
    }
  }
  :where(input:is([type=tel i], [type=url i], [type=email i], [type=number i]):not(:-moz-placeholder-shown)) {
    /*
    * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
    * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
    * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
    */
    direction: ltr;
  }
  :where(input:is([type=tel i], [type=url i], [type=email i], [type=number i]):not(:placeholder-shown)) {
    /*
    * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
    * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
    * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
    */
    direction: ltr;
  }
  :where(textarea) {
    /* The `margin-block` specified in Firefox's UA stylesheet is often unnecessary, so it is reset. */
    margin-block: unset;
    /* Allows vertical resizing for `<textarea>` elements. */
    resize: block;
  }
  :where(input:not([type=button i], [type=submit i], [type=reset i]), textarea, [contenteditable]) {
    /* Set to `no-autospace` because `text-autospace` can insert spaces during input, potentially causing erratic behavior. */
    text-autospace: no-autospace;
  }
  :where(button, input:is([type=button i], [type=submit i], [type=reset i])),
  ::file-selector-button {
    /* The `background-color` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
    background-color: unset;
  }
  :where(button, input:is([type=button i], [type=submit i], [type=reset i]), [role=tab i], [role=button i], [role=option i]),
  ::file-selector-button {
    /*
    * On iOS, double-tapping a button can cause zooming, which harms usability.
    * `touch-action: manipulation` is specified to disable zooming on double-tap.
    * Third-party plugins such as Swiper sometimes use div elements with these roles as buttons, since double-tapping a div can still trigger zooming, it's advisable to specify this property.
    */
    touch-action: manipulation;
  }
  :where(button:enabled, label[for], select:enabled, input:is([type=button i], [type=submit i], [type=reset i], [type=radio i], [type=checkbox i]):enabled, [role=tab i], [role=button i], [role=option i]),
  :where(:enabled)::file-selector-button {
    /* Indicate clickable elements with a pointer cursor. */
    cursor: pointer;
  }
  :where(fieldset) {
    /*
    * Prevent fieldset from causing overflow.
    * Reset the default `min-inline-size: min-content` to prevent children from stretching fieldset.
    * @see https://github.com/twbs/bootstrap/issues/12359
    */
    min-inline-size: 0;
    /* The following default styles are often unnecessary, so they are reset. */
    margin-inline: unset;
    padding: unset;
    border: unset;
  }
  :where(legend) {
    /* The default `padding-inline` is often unnecessary, so it is reset. */
    padding-inline: unset;
  }
  :where(progress) {
    /* Resets the vertical alignment of the `<progress>` element to its initial value. */
    vertical-align: unset;
  }
  ::-moz-placeholder {
    /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
    opacity: unset;
  }
  ::placeholder {
    /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
    opacity: unset;
  }
  /* ======================================================
  //  MARK: Interactive elements
  // ====================================================== */
  :where(summary) {
    /* The default triangle marker is often unnecessary, so it is disabled. */
    list-style-type: "";
    /* Changing the cursor to a pointer clarifies the clickability of the element. */
    cursor: pointer;
  }
  :where(summary)::-webkit-details-marker {
    /* In Safari versions earlier than 18.4 (released in April 2025), a triangle icon is displayed using the -webkit-details-marker CSS pseudo-element, so it should be removed. */
    display: none;
  }
  :where(dialog, [popover]) {
    /*
    * When these fixed-position elements are scrolled, preventing scroll chaining on the underlying page and bounce effects on mobile improves usability.
    * Disabling block-direction scroll chaining is recommended.
    */
    overscroll-behavior-block: contain;
    /* The following default styles are often unnecessary, so they are reset. */
    padding: unset;
    border: unset;
  }
  :where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
    /*
    * These elements can be easily displayed by explicitly setting their `display` property.
    * To prevent them from appearing when not in an open state, they are forcibly hidden.
    */
    display: none !important;
  }
  :where(dialog) {
    /*
    * The max width and height of a `<dialog>` element are typically determined by the design.
    * These UA stylesheet properties are reset as they can be obstructive, especially when trying to make the dialog full-screen.
    */
    max-inline-size: unset;
    max-block-size: unset;
  }
  :where(dialog)::backdrop {
    /* Normalize the background color of the `::backdrop` element. */
    background-color: oklch(0% 0 0deg / 0.3);
  }
  :where([popover]) {
    /*
    * While the UA stylesheet's `margin` for `<dialog>` elements is useful for centering with `inset: 0`,
    * but `margin` for `popover` elements is often obstructive as they frequently use Anchor Positioning.
    */
    margin: unset;
  }
  /* ======================================================
  //  MARK: Focus Styles
  // ====================================================== */
  :where(:focus-visible) {
    /* Add space between the content and the focus outline. */
    outline-offset: 3px;
  }
  [tabindex="-1"]:focus {
    /* Prevent programmatically focused elements from displaying an outline unless they are naturally focusable. */
    outline: none !important;
  }
  /* ======================================================
  //  MARK: Misc
  // ====================================================== */
  :where(:disabled, [aria-disabled=true i]) {
    /* Display the default cursor on disabled elements to reflect their non-interactive state. */
    cursor: default;
  }
  [hidden]:not([hidden=until-found i]) {
    /* Ensure that elements intended to be hidden are not displayed, improving clarity and layout control. */
    display: none !important;
  }
}
@layer base {
  html {
    font-size: 62.5%;
  }
  :root {
    font-family: var(--font-main);
    color: var(--color-text);
    background-color: var(--theme-bg);
    interpolate-size: allow-keywords;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 3.6rem);
  }
  body {
    font-size: var(--font-size-16);
    line-height: var(--leading-body);
    letter-spacing: var(--tracking-ja);
    font-family: var(--font-main);
    font-optical-sizing: auto;
    hanging-punctuation: allow-end;
    text-spacing-trim: trim-start;
    text-autospace: normal;
    text-underline-offset: 0.25em;
    line-break: strict;
    scrollbar-gutter: stable;
  }
  @media (min-resolution: 2dppx) {
    body {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
  }
  html.lenis,
  html.lenis body {
    height: auto;
  }
  .lenis.lenis-smooth {
    scroll-behavior: auto !important;
  }
  .lenis.lenis-stopped {
    overflow: hidden;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    letter-spacing: var(--tracking-ja-heading);
  }
  a {
    color: var(--theme-link);
    transition: var(--transition-colors);
  }
  @media (hover: hover) {
    a:hover {
      color: var(--theme-link-hover);
    }
  }
  ::-moz-selection {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  ::selection {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  svg path {
    fill: currentColor;
  }
}
@layer layout {
  .l-site {
    display: block grid;
    position: relative;
    container: l-site/inline-size;
    grid-template: "header" auto "main" 1fr "footer" auto/minmax(0, 1fr);
    min-block-size: 100vh;
  }
  .l-site__obj {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
  }
  .l-site__obj-innr {
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    inline-size: 70rem;
    aspect-ratio: 1/1;
  }
  @container l-site (min-inline-size: 64rem ) {
    .l-site__obj-innr {
      inline-size: 108vw;
    }
    @media (orientation: portrait) {
      .l-site__obj-innr {
        inline-size: auto;
        block-size: 100svh;
      }
    }
  }
  .l-site__obj-innr svg {
    display: block;
    inline-size: 100%;
    block-size: 100%;
  }
  .l-site__obj-innr svg path {
    fill: none;
  }
  .l-site__obj-innr.-sp {
    display: block;
  }
  @container l-site (min-inline-size: 64rem ) {
    .l-site__obj-innr.-sp {
      display: none;
    }
  }
  .l-site__obj-innr.-pc {
    display: none;
  }
  @container l-site (min-inline-size: 64rem ) {
    .l-site__obj-innr.-pc {
      display: block;
    }
  }
}
@layer layout {}
@layer layout {
  .l-header {
    --_logo-width: 22rem;
    --_logo-height: auto;
    --_text-color: var(--color-text);
  }
  @media (min-width: 1080px) {
    .l-header {
      --_logo-width: 27.5rem;
    }
  }
  .l-header {
    grid-area: header;
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: var(--z-header);
    block-size: var(--header-height);
    color: var(--_text-color);
  }
  .admin-bar .l-header {
    inset-block-start: var(--wp-admin--admin-bar--height, 32px);
  }
  @media (max-width: 767px) {
    .-is-nav-open .l-header, .-is-nav-open.-first-view-done .l-header.-color-light {
      --_text-color: #fff;
    }
  }
  .l-header.-color-light {
    --_text-color: #fff;
  }
  .-first-view-done .l-header.-color-light {
    --_text-color: var(--color-text);
  }
  .l-header__innr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    block-size: 100%;
    margin-inline: auto;
    padding-inline: var(--gutter);
    max-inline-size: var(--container-xl);
  }
  .l-header__logo {
    margin: unset;
    line-height: 1;
    inline-size: var(--_logo-width);
  }
  .l-header__logo svg {
    display: block;
    inline-size: 100%;
    block-size: var(--_logo-height);
  }
  .l-header__logo-link {
    display: block;
    color: inherit;
    transition: opacity 100ms linear;
  }
  .mouse-is-active .l-header__logo-link:hover, .l-header__logo-link.touched, .l-header__logo-link:focus-visible {
    opacity: 0.8;
  }
  .l-header.-ready .l-header__logo-link {
    transition: color 100ms linear;
  }
  .l-header__nav {
    display: none;
  }
  @media (min-width: 768px) {
    .l-header__nav {
      display: block;
    }
  }
  @media (min-width: 768px) {
    .l-header__toggle {
      display: none;
    }
  }
}
@layer layout {
  .l-sp-menu {
    --_color-bg: #cc0010;
    position: fixed;
    inset: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: var(--z-sp-menu);
    overflow-y: scroll;
    overscroll-behavior: contain;
    background-color: var(--_color-bg);
    color: var(--color-white);
    transition: all 200ms linear;
    transition-property: opacity, visibility;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  @media (min-width: 768px) {
    .l-sp-menu {
      display: none;
    }
  }
  .l-sp-menu__innr {
    min-block-size: calc(100% + 1px);
    display: grid;
    place-items: center;
    position: relative;
    z-index: 3;
  }
  .l-sp-menu__nav {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    padding-block: 2.4rem;
    padding-inline: 2.4rem;
    min-inline-size: 29.6rem;
  }
  .l-sp-menu__nav a {
    color: var(--color-white);
  }
  .l-sp-menu__list {
    margin: unset;
    padding: unset;
    display: flex;
    flex-direction: column;
    gap: 0rem;
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
  }
  .l-sp-menu__item {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin: unset;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding-block: 1.2rem;
  }
  .l-sp-menu__item .l-sp-menu__parent, .l-sp-menu__item > a {
    font-size: var(--font-size-15);
    font-weight: var(--weight-bold);
    line-height: normal;
    text-decoration: none;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2.4rem;
    inline-size: 100%;
  }
  .l-sp-menu__item a::after {
    content: "arrow_forward";
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-20);
    font-weight: var(--weight-medium);
    line-height: 1;
    display: block;
  }
  .l-sp-menu__item a[target=_blank]::after {
    content: "open_in_new";
    transform: scale(0.7);
  }
  .l-sp-menu__child {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin: unset;
    padding-block: 0;
    padding-inline: 1.6rem 0;
    list-style: none;
  }
  .l-sp-menu__child-item {
    display: block;
    margin: unset;
    padding: unset;
  }
  .l-sp-menu__child-item:last-child {
    border-bottom: none;
  }
  .l-sp-menu__child-link {
    font-size: var(--font-size-12);
    font-weight: var(--weight-bold);
    line-height: normal;
    text-decoration: none;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2.4rem;
    width: 100%;
    padding-block: 0;
  }
  .l-sp-menu__s-list {
    margin: unset;
    padding: unset;
    display: grid;
    grid-template-columns: minmax(auto, 1fr) minmax(auto, 1fr);
    gap: 0.8rem 2.4rem;
    list-style: none;
  }
  .l-sp-menu__s-list li {
    display: block;
    margin: unset;
    padding: unset;
  }
  .l-sp-menu__s-list li a {
    font-size: var(--font-size-11);
    font-weight: var(--weight-normal);
    line-height: normal;
    text-decoration: none;
    display: block;
    width: 100%;
  }
  .l-sp-menu__obj {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
  }
  .l-sp-menu__obj-innr {
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    inline-size: 70rem;
    aspect-ratio: 1/1;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .l-sp-menu__obj-innr {
      max-inline-size: 108vw;
      inline-size: 147.7rem;
    }
    @media (orientation: portrait) {
      .l-sp-menu__obj-innr {
        inline-size: auto;
        block-size: 100svh;
      }
    }
  }
  .l-sp-menu__obj-innr svg {
    display: block;
    inline-size: 100%;
    block-size: 100%;
  }
  .l-sp-menu__obj-innr svg path {
    fill: none;
  }
  body.-is-nav-open .l-sp-menu {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
  }
}
@layer layout {
  .l-content {
    grid-area: main;
    inline-size: 100%;
    overflow-inline: clip;
    opacity: 0.001;
    position: relative;
    z-index: var(--z-content);
  }
  .-dom-ready .l-content {
    opacity: 1;
    transition: opacity 600ms linear;
  }
  .-transitioning .l-content {
    transition: opacity 200ms linear 50ms;
    opacity: 0;
  }
}
@layer layout {
  .l-footer {
    --_padding-block: 6.4rem;
    --_logo-inline-size: 27.5rem;
    grid-area: footer;
    background-color: var(--theme-bg-dark);
    color: var(--color-white);
    overflow: clip;
    position: relative;
    z-index: var(--z-footer);
  }
  .l-footer__innr {
    display: grid;
    grid-template: "info" "nav" "submenu" "bnrs" "copyright";
    gap: 4.8rem 3.2rem;
    block-size: 100%;
    margin-inline: auto;
    padding-inline: 3.2rem;
    max-inline-size: calc(var(--container-xs) + 2 * var(--gutter));
    padding-block: var(--_padding-block);
  }
  @media (min-width: 768px) {
    .l-footer__innr {
      max-inline-size: calc(var(--container-small) + 2 * var(--gutter));
      grid-template: "info info" "nav submenu" "bnrs bnrs" "copyright copyright"/1fr auto auto;
    }
  }
  @media (min-width: 1080px) {
    .l-footer__innr {
      padding-inline: var(--gutter);
      max-inline-size: calc(var(--container-default) + 2 * var(--gutter));
      grid-template: "info nav submenu" "bnrs copyright copyright"/1fr auto auto;
      gap: 4.8rem 8rem;
    }
  }
  .l-footer__info {
    grid-area: info;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  .l-footer__nav {
    grid-area: nav;
  }
  .l-footer__submenu {
    grid-area: submenu;
  }
  @media (min-width: 1080px) {
    .l-footer__submenu {
      display: grid;
      place-items: start start;
    }
  }
  .l-footer__sub-text {
    color: var(--color-text-subtle);
    margin: unset;
    letter-spacing: 0;
  }
  .l-footer__bnrs {
    grid-area: bnrs;
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
    justify-content: center;
  }
  .l-footer__bnr-item {
    inline-size: 22.8rem;
  }
  .l-footer__copyright {
    grid-area: copyright;
  }
  .l-footer__logo {
    inline-size: var(--_logo-inline-size);
    margin-inline: auto;
    transition: opacity 100ms linear;
  }
  .mouse-is-active .l-footer__logo:hover, .l-footer__logo.touched, .l-footer__logo:focus-visible {
    opacity: 0.8;
  }
  .l-footer__logo-link {
    color: var(--color-white);
    display: block;
  }
  .l-footer__logo-link svg {
    display: block;
    inline-size: 100%;
    block-size: auto;
  }
  .l-footer__sub {
    text-align: center;
  }
  .l-footer__copyright-text {
    font-size: var(--font-size-10);
    margin: unset;
    text-align: center;
    color: var(--color-text-subtle);
  }
  .l-footer__copyright-text small {
    font-size: inherit;
    display: block;
    line-height: 1.4;
  }
  @media (min-width: 1080px) {
    .l-footer__logo {
      margin: unset;
    }
    .l-footer__nav {
      display: flex;
      justify-content: end;
    }
    .l-footer__sub {
      text-align: start;
    }
    .l-footer__copyright {
      align-self: end;
    }
    .l-footer__copyright-text {
      text-align: end;
    }
    .l-footer__bnrs {
      justify-content: start;
    }
  }
  .-dom-ready .l-footer {
    opacity: 1;
    transition: opacity 400ms linear;
  }
  .-transitioning .l-footer {
    transition: opacity 100ms linear;
    opacity: 0;
  }
}
@layer layout {
  .l-container {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: var(--space-container-x);
  }
  .l-container.-narrow {
    max-width: 800px;
  }
  .l-container.-wide {
    max-width: 1400px;
  }
  .l-container.-full {
    max-width: none;
  }
  .l-section {
    padding-block: var(--space-section);
  }
  .l-section.-sm {
    padding-block: var(--space-section-sm);
  }
}
@layer layout {
  .l-section {
    position: relative;
    z-index: var(--z-section);
    --_space-block-section: 9.6rem;
    --_gap: 4.8rem;
    padding-inline: var(--gutter);
    padding-block: var(--_space-block-section);
    margin-inline: auto;
    max-inline-size: calc(var(--container-xs) + 2 * var(--gutter));
    display: flex;
    flex-direction: column;
    gap: var(--_gap);
  }
  @media (min-width: 768px) {
    .l-section {
      max-inline-size: calc(var(--container-small) + 2 * var(--gutter));
    }
  }
  @media (min-width: 1080px) {
    .l-section {
      --_space-block-section: 16rem;
      --_gap: 8rem;
      max-inline-size: calc(var(--container-default) + 2 * var(--gutter));
    }
  }
  .l-section.-overflow-hidden {
    overflow: hidden;
  }
  .l-section.-no-block-padding {
    --_space-block-section: 0;
  }
  .l-section.-home-marquee {
    padding-block: 8rem 0;
  }
  @media (min-width: 1080px) {
    .l-section.-home-marquee {
      padding-block: 12rem 0;
    }
  }
  .l-section.-fluid {
    --_negative-margin: calc(50% - 50cqi);
    margin-inline: var(--_negative-margin);
    padding-inline: abs(var(--_negative-margin));
    max-inline-size: none;
  }
  .l-section:has(+ .l-section) {
    padding-block-end: 0rem;
  }
  @media (min-width: 768px) {
    .l-section:has(.l-section__footer):has(.l-section__header):has(.l-section__main) {
      display: grid;
      grid-template: "header footer" auto "main main" 1fr/1fr auto;
    }
  }
  .l-section__header > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }
  .l-section__header.-aboutus {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  @media (min-width: 1080px) {
    .l-section__header.-aboutus {
      gap: 4rem;
    }
  }
  .l-section__main {
    grid-area: main;
  }
  .l-section__footer {
    grid-area: footer;
  }
}
@layer layout {
  .l-stack {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .l-stack > * + * {
    margin-block-start: var(--stack-space, var(--space-fluid-md));
  }
  .l-stack.-xs {
    --stack-space: var(--space-fluid-xs);
  }
  .l-stack.-sm {
    --stack-space: var(--space-fluid-sm);
  }
  .l-stack.-md {
    --stack-space: var(--space-fluid-md);
  }
  .l-stack.-lg {
    --stack-space: var(--space-fluid-lg);
  }
  .l-stack.-xl {
    --stack-space: var(--space-fluid-xl);
  }
  .l-stack.-recursive * + * {
    margin-block-start: var(--stack-space, var(--space-fluid-md));
  }
  .l-stack[data-split-after="1"] > :nth-child(1) {
    margin-block-end: auto;
  }
  .l-stack[data-split-after="2"] > :nth-child(2) {
    margin-block-end: auto;
  }
  .l-stack[data-split-after="3"] > :nth-child(3) {
    margin-block-end: auto;
  }
}
@layer layout {
  .l-box {
    padding: var(--box-padding, var(--space-fluid-md));
    border: var(--box-border, 0 solid var(--theme-border));
    background-color: var(--box-bg, transparent);
    color: var(--box-color, inherit);
    border-radius: var(--box-radius, var(--radius-md));
  }
  .l-box > *:first-child {
    margin-block-start: 0;
  }
  .l-box > *:last-child {
    margin-block-end: 0;
  }
  .l-box.-xs {
    --box-padding: var(--space-fluid-xs);
  }
  .l-box.-sm {
    --box-padding: var(--space-fluid-sm);
  }
  .l-box.-md {
    --box-padding: var(--space-fluid-md);
  }
  .l-box.-lg {
    --box-padding: var(--space-fluid-lg);
  }
  .l-box.-bordered {
    --box-border: 1px solid var(--theme-border);
  }
  .l-box.-filled {
    --box-bg: var(--theme-bg-subtle);
  }
  .l-box.-raised {
    --box-bg: var(--theme-surface-raised);
    box-shadow: 0 2px 8px var(--theme-shadow-color);
  }
  .l-box.-invert {
    --box-bg: var(--color-neutral-900);
    --box-color: var(--color-neutral-100);
  }
  .l-box.-sharp {
    --box-radius: 0;
  }
  .l-box.-rounded {
    --box-radius: var(--radius-lg);
  }
  .l-box.-pill {
    --box-radius: var(--radius-full);
  }
}
@layer layout {
  .l-center {
    box-sizing: content-box;
    max-inline-size: var(--center-max, 60ch);
    margin-inline: auto;
    padding-inline: var(--center-gutter, var(--space-container-x));
  }
  .l-center.-narrow {
    --center-max: 45ch;
  }
  .l-center.-wide {
    --center-max: 80ch;
  }
  .l-center.-full {
    --center-max: none;
  }
  .l-center.-intrinsic {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .l-center.-text {
    text-align: center;
  }
}
@layer layout {
  .l-cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cluster-space, var(--gap-sm));
    align-items: var(--cluster-align, center);
    justify-content: var(--cluster-justify, flex-start);
  }
  .l-cluster.-xs {
    --cluster-space: var(--gap-xs);
  }
  .l-cluster.-sm {
    --cluster-space: var(--gap-sm);
  }
  .l-cluster.-md {
    --cluster-space: var(--gap-md);
  }
  .l-cluster.-lg {
    --cluster-space: var(--gap-lg);
  }
  .l-cluster.-center {
    --cluster-justify: center;
  }
  .l-cluster.-end {
    --cluster-justify: flex-end;
  }
  .l-cluster.-between {
    --cluster-justify: space-between;
  }
  .l-cluster.-top {
    --cluster-align: flex-start;
  }
  .l-cluster.-bottom {
    --cluster-align: flex-end;
  }
  .l-cluster.-stretch {
    --cluster-align: stretch;
  }
}
@layer layout {
  .l-sidebar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sidebar-gap, var(--gap-lg));
  }
  .l-sidebar > :first-child {
    flex-basis: var(--sidebar-width, 300px);
    flex-grow: 1;
  }
  .l-sidebar > :last-child {
    flex-basis: 0;
    flex-grow: 999;
    min-inline-size: var(--sidebar-threshold, 50%);
  }
  .l-sidebar.-end {
    flex-direction: row-reverse;
  }
  .l-sidebar.-narrow {
    --sidebar-width: 200px;
  }
  .l-sidebar.-wide {
    --sidebar-width: 400px;
  }
  .l-sidebar.-sticky-sidebar > :first-child {
    position: sticky;
    top: var(--space-4);
    align-self: start;
  }
}
@layer layout {
  .l-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: var(--switcher-gap, var(--gap-md));
  }
  .l-switcher > * {
    flex-grow: 1;
    flex-basis: calc((var(--switcher-threshold, 30rem) - 100%) * 999);
  }
  .l-switcher.-sm {
    --switcher-threshold: 20rem;
  }
  .l-switcher.-md {
    --switcher-threshold: 30rem;
  }
  .l-switcher.-lg {
    --switcher-threshold: 40rem;
  }
  .l-switcher.-limit-4 > :nth-child(n+5) {
    flex-basis: 100%;
  }
  .l-switcher.-limit-3 > :nth-child(n+4) {
    flex-basis: 100%;
  }
}
@layer layout {
  .l-grid {
    display: grid;
    gap: var(--grid-gap, var(--gap-md));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-min, 250px), 100%), 1fr));
  }
  .l-grid.-sm {
    --grid-min: 150px;
  }
  .l-grid.-md {
    --grid-min: 250px;
  }
  .l-grid.-lg {
    --grid-min: 350px;
  }
  .l-grid.-gap-sm {
    --grid-gap: var(--gap-sm);
  }
  .l-grid.-gap-lg {
    --grid-gap: var(--gap-lg);
  }
  .l-grid.-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid.-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid.-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@layer layout {
  .l-frame {
    aspect-ratio: var(--frame-ratio, 16/9);
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .l-frame > img,
  .l-frame > video,
  .l-frame > iframe,
  .l-frame > picture {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: var(--frame-fit, cover);
       object-fit: var(--frame-fit, cover);
    -o-object-position: var(--frame-position, center);
       object-position: var(--frame-position, center);
  }
  .l-frame.-square {
    --frame-ratio: 1 / 1;
  }
  .l-frame.-portrait {
    --frame-ratio: 3 / 4;
  }
  .l-frame.-landscape {
    --frame-ratio: 4 / 3;
  }
  .l-frame.-wide {
    --frame-ratio: 16 / 9;
  }
  .l-frame.-ultrawide {
    --frame-ratio: 21 / 9;
  }
  .l-frame.-golden {
    --frame-ratio: 1.618 / 1;
  }
  .l-frame.-contain {
    --frame-fit: contain;
  }
  .l-frame.-fill {
    --frame-fit: fill;
  }
}
@layer layout {
  .l-reel {
    display: flex;
    gap: var(--reel-gap, var(--gap-md));
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-color: var(--color-text-muted) var(--theme-bg-subtle);
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--reel-padding, var(--space-container-x));
    padding-inline: var(--reel-padding, var(--space-container-x));
    margin-inline: calc(var(--reel-padding, var(--space-container-x)) * -1);
  }
  .l-reel > * {
    flex: 0 0 var(--reel-item-width, auto);
    scroll-snap-align: start;
  }
  .l-reel > img {
    block-size: var(--reel-height, 100%);
    flex-basis: auto;
    inline-size: auto;
  }
  .l-reel.-no-scrollbar {
    scrollbar-width: none;
  }
  .l-reel.-no-scrollbar::-webkit-scrollbar {
    display: none;
  }
  .l-reel.-sm {
    --reel-item-width: 200px;
  }
  .l-reel.-md {
    --reel-item-width: 300px;
  }
  .l-reel.-lg {
    --reel-item-width: 400px;
  }
  .l-reel.-no-snap {
    scroll-snap-type: none;
  }
  .l-reel.-no-snap > * {
    scroll-snap-align: none;
  }
  .l-reel-wrapper {
    position: relative;
  }
  .l-reel-wrapper::after {
    content: "";
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    inline-size: var(--space-12);
    background: linear-gradient(to right, transparent, var(--theme-bg));
    pointer-events: none;
  }
  .l-reel-wrapper[data-scroll-end]::after {
    opacity: 0;
  }
}
@layer components {
  .c-gnav {
    --_gap: 3.2rem;
    --_font-size: var(--font-size-15);
    --_font-weight: var(--weight-bold);
    --_color-base: var(--color-text);
    --_child-bg: var(--color-white);
    --_child-shadow: 0 0.2rem 0.4rem 0 rgb(0 0 0 / 0.08);
    --_child-radius: 0.6rem;
    --_child-padding-block: 0.8rem;
    --_child-gap: 0rem;
    display: flex;
    align-items: center;
    font-size: var(--_font-size);
    gap: var(--_gap);
    font-weight: var(--_font-weight);
  }
  .c-gnav__item {
    list-style: none;
    display: block;
    margin: unset;
    padding: unset;
  }
  .c-gnav__item > a {
    color: inherit;
    text-decoration: none;
    display: block;
    padding-block: 0.5em;
    text-box: trim-both cap alphabetic;
    text-decoration: none;
    transition: opacity 100ms linear;
  }
  .mouse-is-active .c-gnav__item > a:hover, .c-gnav__item > a.touched, .c-gnav__item > a:focus-visible {
    opacity: 0.8;
  }
  .c-gnav__item--has-children {
    position: relative;
  }
  .c-gnav__parent {
    display: flex;
    align-items: center;
    gap: 0.4em;
    padding-block: 0.5em;
    text-box: trim-both cap alphabetic;
    cursor: default;
  }
  .c-gnav__parent::after {
    content: "keyboard_arrow_down";
    font-family: "Material Symbols Sharp";
    display: block;
    line-height: 1;
    text-box: trim-both cap alphabetic;
    font-size: var(--font-size-18);
    transition: transform 200ms ease;
  }
  .c-gnav__child {
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: 0%;
    min-inline-size: 10rem;
    background: var(--_child-bg);
    border-radius: var(--_child-radius);
    box-shadow: var(--_child-shadow);
    padding-block: var(--_child-padding-block);
    margin: unset;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--_child-gap);
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.8rem);
    transition: opacity 200ms linear, visibility 200ms ease, transform 200ms ease;
    z-index: 100;
  }
  .c-gnav__item--has-children:hover .c-gnav__child, .c-gnav__item--has-children:focus-within .c-gnav__child {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .-transitioning .c-gnav__child {
    opacity: 0 !important;
    visibility: hidden !important;
  }
  .c-gnav__child-item {
    white-space: nowrap;
  }
  .c-gnav__child-link {
    display: flex;
    align-items: center;
    padding-block: 0.4rem;
    padding-inline: 1.6rem;
    color: var(--_color-base);
    font-size: var(--font-size-12);
    font-weight: var(--weight-bold);
    text-decoration: none;
    line-height: 1.6;
    transition: background-color 100ms linear, opacity 100ms linear;
  }
  .mouse-is-active .c-gnav__child-link:hover, .c-gnav__child-link.touched, .c-gnav__child-link:focus-visible {
    opacity: 0.8;
  }
  .c-gnav__child-link[target=_blank]::after {
    content: "open_in_new";
    font-family: "Material Symbols Sharp";
    display: block;
    font-size: var(--font-size-12);
    line-height: 1;
    margin-inline-start: 0.4rem;
    vertical-align: middle;
    text-box: trim-both cap alphabetic;
  }
}
@layer components {
  .c-fnav {
    --_gap-y: 1.6rem;
    --_gap-x: 4rem;
    --_font-size: var(--font-size-15);
    --_link-color: var(--color-white);
    --_font-weight: 700;
    --_child-gap: 0.8rem;
    font-size: var(--_font-size);
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--_gap-y) var(--_gap-x);
  }
  @media (min-width: 1080px) {
    .c-fnav {
      --_gap-x: 8rem;
      grid-template-columns: auto auto;
    }
  }
  .c-fnav__list {
    margin: unset;
    padding: unset;
    list-style: none;
    display: block;
  }
  .c-fnav__item {
    padding: unset;
    margin-block: 0 var(--_gap-y);
    display: block;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  .c-fnav__item > a {
    display: block;
    color: var(--_link-color);
    text-decoration: none;
    line-height: 1.6;
    font-weight: var(--_font-weight);
    transition: opacity 100ms linear;
  }
  .mouse-is-active .c-fnav__item > a:hover, .c-fnav__item > a.touched, .c-fnav__item > a:focus-visible {
    opacity: 0.8;
  }
  .c-fnav__item--has-children {
    display: flex;
    flex-direction: column;
    gap: var(--_child-gap);
  }
  .c-fnav__parent {
    display: block;
    color: var(--color-text-muted);
    font-weight: var(--_font-weight);
    line-height: 1.6;
  }
  .c-fnav__child {
    display: flex;
    flex-direction: column;
    gap: var(--_child-gap);
    margin: unset;
    padding: unset;
    list-style: none;
    font-size: var(--font-size-12);
    padding-inline: 2.1rem 0;
  }
  .c-fnav__child-link {
    font-weight: 700;
    display: flex;
    align-items: center;
    color: var(--_link-color);
    transition: opacity 100ms linear;
  }
  .mouse-is-active .c-fnav__child-link:hover, .c-fnav__child-link.touched, .c-fnav__child-link:focus-visible {
    opacity: 0.8;
  }
  .c-fnav__child-link[target=_blank]::after {
    content: "open_in_new";
    font-family: "Material Symbols Sharp";
    display: block;
    font-size: var(--font-size-12);
    line-height: 1;
    margin-inline-start: 0.4rem;
    vertical-align: middle;
    text-box: trim-both cap alphabetic;
  }
}
@layer components {
  .c-policy-nav {
    --_gap-y: 0.8rem;
    --_gap-x: 4rem;
    --_font-size: var(--font-size-11);
    --_link-color: var(--color-white);
    font-size: var(--_font-size);
  }
  .c-policy-nav__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--_gap-y) var(--_gap-x);
    margin: unset;
    padding: unset;
    list-style: none;
  }
  @media (min-width: 1080px) {
    .c-policy-nav__list {
      display: flex;
      flex-direction: column;
    }
  }
  .c-policy-nav li {
    margin: unset;
    padding: unset;
    display: block flex;
  }
  .c-policy-nav li a {
    display: block;
    color: var(--_link-color);
    text-decoration: none;
    transition: opacity 100ms linear;
  }
  .mouse-is-active .c-policy-nav li a:hover, .c-policy-nav li a.touched, .c-policy-nav li a:focus-visible {
    opacity: 0.8;
  }
}
@layer components {
  .c-hamburger {
    --_color: var(--color-text);
    --_inline-size: 4.4rem;
    --_block-size: 4.4rem;
    --_border: 1px solid var(--_color);
    --_border-radius: 0.8rem;
    --_background-color: var(--theme-bg);
    --_bar-inline-size: 1.6rem;
    --_bar-block-size: 0.2rem;
    --_bar-border-radius: 0;
    --_bar-gap: 0.4rem;
    --_bar-color: var(--_color);
    --_transition-duration: 0.3s;
    --_transition-easing: ease-in-out;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: unset;
    padding: unset;
    border: none;
    background: transparent;
    font: inherit;
    cursor: pointer;
    position: relative;
    background-color: var(--_background-color);
    border: var(--_border);
    border-radius: var(--_border-radius);
    inline-size: var(--_inline-size);
    block-size: var(--_block-size);
    display: block grid;
  }
  .c-hamburger__bar {
    inline-size: var(--_bar-inline-size);
    block-size: var(--_bar-block-size);
    transition: all var(--_transition-duration) var(--_transition-easing);
    border-radius: var(--_bar-border-radius);
    background-color: var(--_bar-color);
    position: absolute;
    inset: 50% auto auto 50%;
  }
  .c-hamburger__bar:nth-child(1) {
    transform: translate(-50%, calc(-50% - var(--_bar-gap) / 2 - var(--_bar-block-size) / 2));
  }
  .c-hamburger__bar:nth-child(2) {
    transform: translate(-50%, calc(-50% + var(--_bar-gap) / 2 + var(--_bar-block-size) / 2));
  }
  .c-hamburger__bar:nth-child(3) {
    display: none;
  }
  .c-hamburger.-is-close .c-hamburger__bar:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .c-hamburger.-is-close .c-hamburger__bar:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
@layer components {
  .c-innrlinks {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem 2.4rem;
    margin-block: 0 6.4rem;
  }
  @media (min-width: 1080px) {
    .c-innrlinks {
      margin-block: 0 8rem;
    }
  }
  .c-innrlinks__link {
    color: inherit;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    font-size: var(--font-size-16);
    line-height: 1.3;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
  }
  .c-innrlinks__icon {
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: var(--color-white);
    display: grid;
    place-items: center;
    transform: rotate(90deg);
  }
  .c-innrlinks__icon::before {
    content: "arrow_forward";
    display: block;
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-13);
    font-weight: var(--weight-medium);
    line-height: 1;
    text-align: center;
  }
  .mouse-is-active .c-innrlinks__link:hover .c-innrlinks__text, .c-innrlinks__link.touched .c-innrlinks__text, .c-innrlinks__link:focus-visible .c-innrlinks__text {
    opacity: 0.8;
  }
  .mouse-is-active .c-innrlinks__link:hover .c-innrlinks__icon, .c-innrlinks__link.touched .c-innrlinks__icon, .c-innrlinks__link:focus-visible .c-innrlinks__icon {
    background-color: color-mix(in srgb, var(--color-primary) var(--theme-hover-mix), white);
  }
  .mouse-is-active .c-innrlinks__link:hover .c-innrlinks__icon::before, .c-innrlinks__link.touched .c-innrlinks__icon::before, .c-innrlinks__link:focus-visible .c-innrlinks__icon::before {
    animation: arrowForward 400ms ease-out;
  }
}
@layer components {
  .c-pagelinks {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }
  @media (min-width: 768px) {
    .c-pagelinks {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 2.4rem 5.6rem;
    }
  }
  .c-pagelinks__item {
    border-bottom: 1px solid var(--theme-border-subtle);
    padding-block: 0 0.8rem;
  }
  .c-pagelinks__link {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none;
    box-shadow: none;
    background: none;
    padding: unset;
    margin: unset;
    font-size: normal;
    color: inherit;
    font-weight: var(--weight-bold);
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 3.2rem;
    gap: 2.4rem;
    letter-spacing: 0;
    font-feature-settings: "palt";
    inline-size: 100%;
  }
  @media (min-width: 1080px) {
    .c-pagelinks__link {
      font-size: var(--font-size-24);
      inline-size: auto;
    }
  }
  .c-pagelinks__title {
    text-box: trim-both cap alphabetic;
    display: block;
    padding-block: 0.4rem;
    transition: opacity 100ms linear;
  }
  .c-pagelinks__icon {
    inline-size: 3.2rem;
    aspect-ratio: 1/1;
    background-color: var(--color-primary);
    color: var(--color-white);
    border-radius: 50%;
    display: grid;
    place-items: center;
    transition: background-color 200ms ease-out;
  }
  .c-pagelinks__icon::after {
    content: "arrow_forward";
    display: block;
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-20);
    font-weight: var(--weight-medium);
    line-height: 1;
  }
  .mouse-is-active .c-pagelinks__link:hover .c-pagelinks__title, .c-pagelinks__link.touched .c-pagelinks__title, .c-pagelinks__link:focus-visible .c-pagelinks__title {
    opacity: 0.8;
  }
  .mouse-is-active .c-pagelinks__link:hover .c-pagelinks__icon, .c-pagelinks__link.touched .c-pagelinks__icon, .c-pagelinks__link:focus-visible .c-pagelinks__icon {
    background-color: color-mix(in srgb, var(--color-primary) var(--theme-hover-mix), white);
  }
  .mouse-is-active .c-pagelinks__link:hover .c-pagelinks__icon::after, .c-pagelinks__link.touched .c-pagelinks__icon::after, .c-pagelinks__link:focus-visible .c-pagelinks__icon::after {
    animation: arrowForward 400ms ease-out;
  }
}
@layer components {
  .c-btn {
    --_min-block-size: 4.8rem;
    --_bg-color: var(--color-primary);
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font: inherit;
    padding-inline: 3.2rem;
    padding-block: 0.6rem;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    min-block-size: var(--_min-block-size);
    display: flex;
    gap: 0.8rem;
    background-color: var(--_bg-color);
    color: var(--color-white);
    transition: background-color 200ms linear;
    align-items: center;
    border-radius: calc(infinity * 1px);
    font-size: normal;
    font-weight: var(--weight-bold);
    line-height: 1.3;
    justify-content: center;
    text-decoration: none;
  }
  .c-btn::before, .c-btn::after {
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-20);
    font-weight: var(--weight-medium);
    line-height: 1;
  }
  .c-btn::after {
    content: "arrow_forward";
    display: block;
  }
  .c-btn.-fluid {
    inline-size: 100%;
  }
  @media (min-width: 1080px) {
    .c-btn.-fluid {
      --_min-block-size: 6.4rem;
    }
  }
  .c-btn.-black {
    --_bg-color: var(--color-text);
  }
  .c-btn.-loadmore {
    --_min-block-size: 6.4rem;
  }
  .c-btn.-loadmore::after {
    content: "add";
    transition: transform 400ms ease-out;
  }
  .mouse-is-active .c-btn.-loadmore:hover::after, .c-btn.-loadmore.touched::after, .c-btn.-loadmore:focus-visible::after {
    animation: none;
    transform: rotate(90deg);
  }
  .c-btn.-cf7 {
    --_min-block-size: 6.4rem;
    min-inline-size: 22.8rem;
  }
  .c-btn.-cf7 span {
    min-inline-size: 3.5em;
    font-size: var(--font-size-16);
  }
  .c-btn.-h-l {
    --_min-block-size: 6.4rem;
  }
  .c-btn.-back {
    --_min-block-size: 6.4rem;
    min-inline-size: 22.8rem;
  }
  .c-btn.-back::before {
    content: "arrow_back";
  }
  .c-btn.-back::after {
    display: none;
  }
  .mouse-is-active .c-btn.-back:hover::before, .c-btn.-back.touched::before, .c-btn.-back:focus-visible::before {
    animation: arrowBack 400ms ease-out;
  }
  .c-btn span {
    text-box: trim-both cap alphabetic;
  }
  .mouse-is-active .c-btn:hover, .c-btn.touched, .c-btn:focus-visible {
    background-color: color-mix(in srgb, var(--_bg-color) var(--theme-hover-mix), white);
  }
  .mouse-is-active .c-btn:hover::after, .c-btn.touched::after, .c-btn:focus-visible::after {
    animation: arrowForward 400ms ease-out;
  }
}
@layer components {
  .c-checkbox {
    display: block flex;
    align-items: start;
    gap: 0 1.2rem;
    cursor: pointer;
    position: relative;
    padding-inline: 1rem 0;
    padding-block: 1rem;
  }
  .c-checkbox::before {
    content: "";
    display: block;
    inline-size: 2rem;
    block-size: 2rem;
    border-radius: 0.4rem;
    border: 1px solid var(--theme-border);
    background: #fff no-repeat 50% 50%;
    background-size: 1.3rem 1rem;
    flex-shrink: 0;
  }
  .c-checkbox:has(.c-checkbox__input:checked)::before {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.6 9.396'%3E%3Cpath fill='white' d='M4.279 9.211.185 5.116a.63.63 0 0 1 0-.891l.891-.891a.63.63 0 0 1 .891 0l2.758 2.759L10.633.185a.63.63 0 0 1 .891 0l.891.891a.63.63 0 0 1 0 .891L5.17 9.211a.63.63 0 0 1-.891 0Z' data-name='Icon awesome-check'/%3E%3C/svg%3E");
  }
  .c-checkbox:has(.c-checkbox__input:focus)::before {
    border-color: var(--color-primary);
  }
  .c-checkbox__input {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    block-size: 1px;
    inline-size: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
  }
  .c-checkbox__txt {
    display: flex;
    align-items: start;
    gap: 0 0.4rem;
    font-size: var(--font-size-16);
    position: relative;
    line-height: 1.2;
  }
  .c-checkbox__txt:has(.-mark) {
    flex-direction: column;
    gap: 0.4rem;
  }
  .c-checkbox__txt a {
    color: inherit;
  }
  .c-checkbox__t-icon {
    display: block;
    inline-size: 2rem;
    block-size: 2rem;
  }
  .c-checkbox__t-icon.-mark {
    block-size: 2.4rem;
    inline-size: auto;
    margin-block-start: -0.2rem;
    margin-block-end: 0.4rem;
  }
  .c-checkbox__t-summary {
    font-size: var(--font-size-14);
    color: var(--color-text-subtle);
    line-height: 1.3;
  }
}
@layer components {
  .c-cat-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 2.4rem;
    margin-block: 0 4.8rem;
  }
  .c-cat-filter__label {
    display: block;
    color: var(--color-primary);
    font-size: var(--font-size-12);
    line-height: normal;
    font-weight: var(--weight-bold);
    padding-block: 0.2rem 0;
  }
  .c-cat-filter__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .c-cat-filter__btn {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: var(--font-size-12);
    font-weight: var(--weight-bold);
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    display: flex;
    align-items: center;
    border-radius: calc(infinity * 1px);
    padding-inline: 1.2rem;
    block-size: 2.4rem;
  }
  .c-cat-filter__btn span {
    text-box: trim-both cap alphabetic;
    display: block;
  }
  .c-cat-filter__btn {
    transition: background-color var(--duration-instant) linear, color var(--duration-instant) linear;
  }
  .c-cat-filter__btn.-active {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
}
@layer components {
  .c-loadmore {
    --_margin-block-start: 4rem;
    margin-block: var(--_margin-block-start) 0;
    display: flex;
    justify-content: center;
  }
  @media (min-width: 1080px) {
    .c-loadmore {
      --_margin-block-start: 8rem;
    }
  }
}
@layer components {
  .c-card-news {
    --_gap: 1.2rem;
    display: block;
    block-size: 100%;
    background-color: var(--color-white);
    border-radius: 0.6rem;
    overflow: hidden;
  }
  .c-card-news.-is-inview .c-card-news__v-innr {
    transform: scale(1);
    opacity: 1;
    transition: transform var(--duration-slowest) var(--ease-smooth), opacity var(--duration-slowest) linear;
    transition-delay: 250ms;
  }
  .c-card-news__link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    block-size: 100%;
  }
  .mouse-is-active .c-card-news__link:hover .c-card-news__img, .c-card-news__link.touched .c-card-news__img, .c-card-news__link:focus-visible .c-card-news__img {
    transform: scale(1.08);
    opacity: 0.7;
  }
  .c-card-news__visual {
    margin: 0;
    aspect-ratio: 3/2;
    overflow: hidden;
    background-color: var(--theme-bg-gray);
  }
  .c-card-news__v-innr {
    inline-size: 100%;
    block-size: 100%;
    opacity: 0.001;
    transform: scale(1.07);
  }
  .c-card-news__img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transform: scale(1.0005);
    transition: transform var(--duration-slow) var(--ease-smooth), opacity var(--duration-slow) var(--ease-smooth);
  }
  .c-card-news__body {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    padding-inline: 2rem;
    padding-block: 2.4rem;
    flex-grow: 1;
  }
  .c-card-news__cat {
    margin: unset;
    display: flex;
  }
  .c-card-news__cat-link {
    display: flex;
    padding-inline: 1.2rem;
    padding-block: 0.4rem;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: var(--font-size-12);
    font-weight: var(--weight-bold);
    line-height: 1;
    padding-block: 0.6rem;
    padding-inline: 1.2rem;
    border-radius: calc(infinity * 1px);
    cursor: pointer;
  }
  .c-card-news__cat-link span {
    text-box: trim-both cap alphabetic;
  }
  .c-card-news__title {
    margin: 0;
    font-size: normal;
    font-weight: var(--weight-bold);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    flex-grow: 1;
    transition: color var(--duration-normal) var(--ease-smooth);
  }
  .c-card-news__date {
    font-size: var(--font-size-12);
    color: var(--color-text-subtle);
    line-height: 1.3;
    font-weight: var(--weight-bold);
  }
}
@layer components {
  .c-card-shop {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .c-card-shop.-hidden {
    display: none;
  }
  .c-card-shop__visual {
    border-radius: 0.6rem;
    overflow: hidden;
    aspect-ratio: 295/147;
  }
  .c-card-shop__v-link {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    position: relative;
  }
  .mouse-is-active .c-card-shop__v-link:hover .c-card-shop__img, .c-card-shop__v-link.touched .c-card-shop__img, .c-card-shop__v-link:focus-visible .c-card-shop__img {
    transform: scale(1.08);
    opacity: 0.7;
  }
  .mouse-is-active .c-card-shop__v-link:hover .c-card-shop__v-icon, .c-card-shop__v-link.touched .c-card-shop__v-icon, .c-card-shop__v-link:focus-visible .c-card-shop__v-icon {
    background-color: color-mix(in srgb, var(--color-primary) var(--theme-hover-mix), white);
  }
  .mouse-is-active .c-card-shop__v-link:hover .c-card-shop__v-icon::after, .c-card-shop__v-link.touched .c-card-shop__v-icon::after, .c-card-shop__v-link:focus-visible .c-card-shop__v-icon::after {
    animation: arrowForward 400ms ease-out;
  }
  .c-card-shop__v-icon {
    position: absolute;
    inset: auto 1.6rem 1.6rem auto;
    inline-size: 3.2rem;
    aspect-ratio: 1/1;
    display: grid;
    place-items: center;
    background-color: var(--color-primary);
    color: var(--color-white);
    border-radius: 50%;
  }
  .c-card-shop__v-icon::after {
    content: "arrow_forward";
    display: block;
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-18);
    font-weight: var(--weight-medium);
    line-height: 1;
  }
  .c-card-shop__img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transform: scale(1.0005);
    transition: transform var(--duration-slow) var(--ease-smooth), opacity var(--duration-slow) var(--ease-smooth);
  }
  .c-card-shop__name {
    font-size: var(--font-size-20);
    font-weight: var(--weight-bold);
    line-height: 1.3;
    color: var(--color-text);
    letter-spacing: 0.02em;
    margin: unset;
  }
  .c-card-shop__n-link {
    text-decoration: none;
    color: inherit;
  }
  .c-card-shop__tel-btn {
    border: 1px solid var(--color-text);
    color: var(--color-text);
    text-decoration: none;
    block-size: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    padding-inline: 1.7rem 2rem;
    padding-block: 0.4rem;
    border-radius: calc(infinity * 1px);
    font-weight: var(--weight-bold);
    font-size: var(--font-size-14);
    transition: opacity 100ms linear;
  }
  .mouse-is-active .c-card-shop__tel-btn:hover, .c-card-shop__tel-btn.touched, .c-card-shop__tel-btn:focus-visible {
    opacity: 0.8;
  }
  .c-card-shop__tel-btn::before {
    content: "phone";
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-20);
    font-weight: var(--weight-medium);
    line-height: 1;
    display: block;
  }
  .c-card-shop__tel-btn-num {
    text-box: trim-both cap alphabetic;
    display: block;
  }
  .c-card-shop__i-marks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .c-card-shop__i-mark {
    display: block;
    inline-size: auto;
    border: 1px solid var(--theme-border-subtle);
    border-radius: 0.6rem;
    padding-inline: 1.4rem;
    padding-block: 0.4rem;
  }
  .c-card-shop__i-mark img {
    inline-size: auto;
    block-size: 3.2rem;
  }
}
@layer components {
  .c-card-shopinfo {
    container: card-shopinfo/inline-size;
    box-shadow: 0.3rem 0.6rem 2rem rgba(0, 0, 0, 0.12);
    border-radius: 1.6rem;
    background-color: var(--color-white);
  }
  @media (min-width: 1080px) {
    .c-card-shopinfo {
      box-shadow: 0.3rem 0.6rem 8rem rgba(0, 0, 0, 0.12);
    }
  }
  .c-card-shopinfo__visual {
    display: block;
  }
  .c-card-shopinfo__img {
    inline-size: 100%;
    block-size: auto;
  }
  .c-card-shopinfo__body {
    --_padding-inline: 2rem;
    --_padding-block: 2.4rem;
    padding-block: var(--_padding-block);
    padding-inline: var(--_padding-inline);
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
  @container card-shopinfo (min-inline-size: 46rem) {
    .c-card-shopinfo__body {
      --_padding-inline: 9rem;
      --_padding-block: 5.6rem;
    }
  }
  .c-card-shopinfo__panes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 2.4rem 1.6rem;
  }
  .c-card-shopinfo__btn-wrap {
    display: grid;
  }
}
@layer components {
  .c-list-news {
    gap: 1.6rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(29.5rem, 100%), 1fr));
  }
  @media (min-width: 1080px) {
    .c-list-news {
      gap: 2.4rem;
    }
  }
}
@layer components {
  .c-list-shop {
    gap: 4.8rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(27rem, 100%), 1fr));
  }
  @media (min-width: 1080px) {
    .c-list-shop {
      gap: 5.6rem;
    }
  }
}
@layer components {
  .c-dl-info {
    display: grid;
    grid-template-columns: fit-content(10rem) minmax(0, 1fr);
    letter-spacing: 0;
    border-top: 1px solid var(--theme-border-subtle);
    font-size: normal;
    line-height: 1.5;
  }
  @media (min-width: 768px) {
    .c-dl-info {
      grid-template-columns: fit-content(20rem) minmax(0, 1fr);
    }
  }
  .c-dl-info__group {
    padding-block: 1.6rem;
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 0 2.4rem;
    border-bottom: 1px solid var(--theme-border-subtle);
  }
  .c-dl-info__dt {
    font-weight: var(--weight-bold);
    color: var(--color-text-subtle);
  }
  @media (min-width: 768px) {
    .c-dl-info__dt {
      min-inline-size: 12rem;
    }
  }
}
@layer components {
  .c-dl-shop {
    --_icon-size: 2.4rem;
    --_line-height: 1.3;
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    font-size: var(--font-size-14);
    gap: 0.8rem 0.4rem;
    letter-spacing: 0;
  }
  @media (min-width: 1080px) {
    .c-dl-shop.-pc-st {
      display: flex;
      gap: 0.8rem 4rem;
      flex-wrap: wrap;
    }
    .c-dl-shop.-pc-st .c-dl-shop__group {
      grid-template-columns: max-content minmax(0, 1fr);
    }
  }
  .c-dl-shop__group {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 0.8rem 0.6rem;
  }
  .c-dl-shop__dt {
    display: grid;
    align-items: center;
    grid-template-columns: var(--_icon-size) minmax(0, 1fr) auto;
    margin: unset;
    padding: unset;
    gap: 0.8em;
    line-height: 1.3;
    white-space: nowrap;
    font-weight: 700;
  }
  .c-dl-shop__dt.-address::before {
    background-image: url(../img/shop/icon_pin.svg);
  }
  .c-dl-shop__dt.-hour::before {
    background-image: url(../img/shop/icon_clock.svg);
  }
  .c-dl-shop__dt.-calendar::before, .c-dl-shop__dt.-holiday::before {
    background-image: url(../img/shop/icon_calendar.svg);
  }
  .c-dl-shop__dt.-facility::before {
    background-image: url(../img/shop/icon_shop.svg);
  }
  .c-dl-shop__dt.-phone::before {
    background-image: url(../img/shop/icon_phone.svg);
  }
  .c-dl-shop__dt::before {
    content: "";
    display: block;
    inline-size: var(--_icon-size);
    aspect-ratio: 1;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .c-dl-shop__dt::after {
    content: "：";
    display: block;
  }
  .c-dl-shop__dt-txt {
    display: block;
    text-box: trim-both cap alphabetic;
  }
  .c-dl-shop__dd {
    margin: unset;
    padding: unset;
    text-box: trim-both text;
    line-height: 1.3;
    min-block-size: var(--_icon-size);
    vertical-align: baseline;
  }
  .c-dl-shop__dd:has(.c-dl-shop__dd-txt) {
    padding-block: calc(var(--_icon-size) - 1em * var(--_line-height)) 0;
  }
  .c-dl-shop__dd-txt {
    display: block;
    text-box: trim-both cap alphabetic;
  }
  .c-dl-shop__facility-marks {
    display: grid;
    grid-template-columns: repeat(auto-fit, var(--_icon-size));
    gap: 0.7rem 0.4rem;
  }
  .c-dl-shop__facility-marks img {
    display: block;
    inline-size: var(--_icon-size);
  }
}
@layer components {
  .c-details__summary {
    --_block-size: 5.6rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font: inherit;
    padding-inline: 3.2rem;
    padding-block: 0.6rem;
    inline-size: 100%;
    block-size: var(--_block-size);
    display: flex;
    gap: 1rem;
    background-color: var(--color-white);
    color: inherit;
    align-items: center;
    justify-content: center;
    border-radius: 0.6rem;
    border: 1px solid var(--theme-border);
    font-size: normal;
    font-weight: var(--weight-bold);
    line-height: 1.3;
    justify-content: center;
    cursor: pointer;
  }
  @media (min-width: 1080px) {
    .c-details__summary {
      --_block-size: 6.4rem;
    }
  }
  .c-details__summary span {
    text-box: trim-both cap alphabetic;
  }
  .c-details__summary::after {
    content: "keyboard_arrow_down";
    display: block;
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-24);
    font-weight: var(--weight-medium);
    line-height: 1;
  }
  .c-details::details-content {
    overflow: clip;
    transition-duration: 300ms;
    transition-property: content-visibility, block-size;
    transition-behavior: allow-discrete;
  }
  .c-details:not([open])::details-content {
    block-size: 0;
  }
}
@layer components {
  .c-circle-slider {
    --slider-duration: 2000ms;
    --slider-zoom-duration: 9s;
    position: relative;
    block-size: 100%;
    inline-size: 100%;
  }
  .c-circle-slider__item {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 1;
  }
  .c-circle-slider__item.-is-active {
    opacity: 1;
    z-index: 2;
  }
  .c-circle-slider__item.-is-active .c-circle-slider__img {
    animation: c-circle-slider-zoom-out var(--slider-zoom-duration) ease-out forwards;
  }
  .c-circle-slider__item.-is-revealing {
    --_reveal-size: 0%;
    z-index: 3;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, black calc(var(--_reveal-size) - 46%), transparent var(--_reveal-size));
            mask-image: radial-gradient(circle at 50% 50%, black calc(var(--_reveal-size) - 46%), transparent var(--_reveal-size));
    animation: c-circle-slider-reveal var(--slider-duration) ease-out forwards;
  }
  .c-circle-slider__img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    transform: scale(1.18);
  }
}
@property --_reveal-size {
  syntax: "<percentage>";
  initial-value: 0%;
  inherits: false;
}
@keyframes c-circle-slider-reveal {
  from {
    --_reveal-size: 0%;
  }
  to {
    --_reveal-size: 170%;
  }
}
@keyframes c-circle-slider-zoom-out {
  to {
    transform: scale(1);
  }
}
@layer components {
  .c-news-slider {
    --_item-width: 28.2rem;
    --_progress-height: 2px;
    --_arrow-size: 4.8rem;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  .c-news-slider .splide__sr {
    position: absolute;
  }
  .c-news-slider__track {
    overflow: visible;
  }
  .c-news-slider__list {
    display: flex;
  }
  .c-news-slider__item {
    flex-shrink: 0;
  }
  .c-news-slider__controls {
    display: flex;
    align-items: center;
    gap: 2.4rem;
    margin: unset;
  }
  .c-news-slider__progress {
    flex: 1;
    block-size: var(--_progress-height);
    background-color: var(--theme-border-subtle);
    border-radius: calc(infinity * 1px);
    overflow: hidden;
  }
  .c-news-slider__progress-bar {
    block-size: 100%;
    background-color: var(--color-text);
    transition: width 0.3s ease-out;
  }
  .c-news-slider__arrows {
    display: flex;
    gap: 0.8rem;
  }
  .c-news-slider__arrow {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--_arrow-size);
    block-size: var(--_arrow-size);
    background-color: var(--color-white);
    cursor: pointer;
    border-radius: 50%;
    transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
  }
  .c-news-slider__arrow .material-symbols-sharp {
    font-size: 2.2rem;
  }
  .c-news-slider__arrow:disabled {
    opacity: 0.3;
    pointer-events: none;
  }
  .c-news-slider.-no-overflow .c-news-slider__list {
    justify-content: start;
  }
  .c-news-slider.-no-overflow .c-news-slider__controls {
    display: none;
  }
}
@layer components {
  .c-about-slider {
    --_negative-margin: calc(50% - 50cqi);
    --_padding-block: 2.8rem;
    margin-inline: var(--_negative-margin);
    position: relative;
    padding-block: var(--_padding-block);
    overflow: hidden;
  }
  @media (min-width: 768px) {
    .c-about-slider {
      --_padding-block: 6.5rem;
    }
  }
  .c-about-slider__track {
    overflow: visible;
  }
  .c-about-slider__item {
    inline-size: 37.5rem;
    background-color: var(--color-white);
  }
  @media (min-width: 768px) {
    .c-about-slider__item {
      inline-size: 100%;
      max-inline-size: 72rem;
    }
  }
  .c-about-slider__item.is-active .c-about-slider__name {
    opacity: 1;
    transform: translateY(0);
    transition: opacity var(--duration-slower) linear, transform var(--duration-slower) var(--ease-out);
    transition-delay: 600ms;
  }
  .c-about-slider__link {
    display: block;
    text-decoration: none;
    color: inherit;
    display: grid;
    overflow: hidden;
    transition: opacity var(--duration-normal) linear;
  }
  .mouse-is-active .c-about-slider__link:hover, .c-about-slider__link.touched, .c-about-slider__link:focus-visible {
    opacity: 0.8;
  }
  .mouse-is-active .c-about-slider__link:hover .c-about-slider__img, .c-about-slider__link.touched .c-about-slider__img, .c-about-slider__link:focus-visible .c-about-slider__img {
    transform: scale(1.05);
  }
  .c-about-slider__visual {
    position: relative;
    z-index: 1;
    grid-area: 1/1;
    aspect-ratio: 72/43;
    margin: 0;
    inline-size: 100%;
    overflow: hidden;
  }
  .c-about-slider__item-content {
    position: relative;
    z-index: 2;
    grid-area: 1/1;
    display: grid;
    justify-content: center;
    align-items: end;
    padding-block: 0 7.4666666667%;
  }
  @media (min-width: 768px) {
    .c-about-slider__item-content {
      padding-block: 0 8.3333333333%;
    }
  }
  .c-about-slider__name {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    opacity: 0;
    transform: translateY(2rem);
    transition: opacity var(--duration-normal) linear, transform var(--duration-slow) var(--ease-out) var(--duration-slow);
  }
  .c-about-slider__name span {
    background-color: var(--color-white);
    color: var(--color-primary);
    font-size: var(--font-size-12);
    font-weight: var(--weight-bold);
    line-height: 1;
    padding-block: 0.4rem;
    padding-inline: 0.8rem;
  }
  @media (min-width: 768px) {
    .c-about-slider__name span {
      padding-block: 0.6rem;
      font-size: var(--font-size-16);
    }
  }
  .c-about-slider__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transform: scale(1.0005);
    transition: transform var(--duration-slow) var(--ease-out);
  }
  .c-about-slider__controls {
    position: absolute;
    inset: 0 0 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 4.2666666667%;
    pointer-events: none;
  }
  @media (min-width: 768px) {
    .c-about-slider__controls {
      padding-inline: 4.4444444444%;
      gap: 2rem;
    }
  }
  .c-about-slider__arrow {
    --_inline-size: 4.8rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font: inherit;
    inline-size: var(--_inline-size);
    aspect-ratio: 1/1;
    display: grid;
    place-items: center;
    color: var(--color-primary);
    pointer-events: auto;
    transition: opacity 100ms linear;
  }
  .c-about-slider__arrow.-prev {
    transform: rotate(180deg);
  }
  @media (min-width: 768px) {
    .c-about-slider__arrow {
      --_inline-size: 12rem;
    }
  }
  .mouse-is-active .c-about-slider__arrow:hover .material-symbols-sharp, .c-about-slider__arrow.touched .material-symbols-sharp, .c-about-slider__arrow:focus-visible .material-symbols-sharp {
    transform: translateX(1rem);
  }
  .c-about-slider__arrow .material-symbols-sharp {
    --_font-size: var(--font-size-48);
    font-size: var(--_font-size);
    font-weight: var(--weight-bold);
    -webkit-text-stroke-color: var(--color-primary);
    -webkit-text-stroke-width: 0.2rem;
    transition: transform var(--duration-normal) var(--ease-smooth);
  }
  @media (min-width: 768px) {
    .c-about-slider__arrow .material-symbols-sharp {
      -webkit-text-stroke-width: 0.4rem;
      --_font-size: var(--font-size-120);
    }
  }
  .c-about-slider__obj {
    display: block;
    aspect-ratio: 1/1;
    block-size: 100%;
  }
  .c-about-slider__obj-img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@layer components {
  .c-form__global-error {
    font-size: var(--font-size-14);
    color: var(--color-primary);
    text-align: center;
    margin-block: 3.2rem 0;
    border: 1px solid var(--color-primary);
    border-radius: 0.6rem;
    padding: 1.6rem 2.4rem;
    font-weight: var(--weight-bold);
  }
  .c-form__steps {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    justify-content: center;
    margin-block: 0 4.8rem;
  }
  .c-form__step-line {
    inline-size: 2.4rem;
    block-size: 1px;
    background-color: var(--theme-border-subtle);
  }
  .c-form__step {
    --_color: var(--color-text-subtle);
    inline-size: 7.2rem;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 0.8rem solid var(--_color);
    display: grid;
    place-items: center;
    color: var(--_color);
    font-weight: var(--weight-extrabold);
  }
  .c-form__step span {
    text-box: trim-both cap alphabetic;
  }
  .c-form__step.-active {
    --_color: var(--color-primary);
  }
  .c-form__step.-done {
    --_color: #f3c5c9;
  }
  .c-form__body {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  .c-form__item {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .c-form__item.-hosoku textarea {
    height: 11.1rem;
  }
  .c-form__item.-checkbox {
    text-align: center;
    align-items: center;
  }
  .c-form__item.-checkbox .wpcf7-acceptance label {
    display: block flex;
    align-items: start;
    gap: 0 1.2rem;
    cursor: pointer;
    position: relative;
    padding-inline: 1rem 0;
    padding-block: 1rem;
  }
  .c-form__item.-checkbox .wpcf7-acceptance label::before {
    content: "";
    display: block;
    inline-size: 2rem;
    block-size: 2rem;
    border-radius: 0.4rem;
    border: 1px solid var(--theme-border);
    background: #fff no-repeat 50% 50%;
    background-size: 1.3rem 1rem;
    flex-shrink: 0;
  }
  .c-form__item.-checkbox .wpcf7-acceptance label:has(input:checked)::before {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.6 9.396'%3E%3Cpath fill='white' d='M4.279 9.211.185 5.116a.63.63 0 0 1 0-.891l.891-.891a.63.63 0 0 1 .891 0l2.758 2.759L10.633.185a.63.63 0 0 1 .891 0l.891.891a.63.63 0 0 1 0 .891L5.17 9.211a.63.63 0 0 1-.891 0Z' data-name='Icon awesome-check'/%3E%3C/svg%3E");
  }
  .c-form__item.-checkbox .wpcf7-acceptance label:has(input:focus)::before {
    border-color: var(--color-primary);
  }
  .c-form__item.-checkbox .wpcf7-acceptance input {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    block-size: 1px;
    inline-size: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
  }
  .c-form__item.-checkbox .wpcf7-acceptance .wpcf7-list-item-label {
    font-size: var(--font-size-16);
    line-height: 1.2;
  }
  .c-form__item.-checkbox .wpcf7-acceptance .wpcf7-list-item-label a {
    color: inherit;
  }
  .c-form__item.is-error select,
  .c-form__item.is-error input[type=text],
  .c-form__item.is-error input[type=email],
  .c-form__item.is-error input[type=tel],
  .c-form__item.is-error textarea {
    background-color: #f3c5c9;
  }
  .c-form__label {
    display: flex;
    align-items: center;
    gap: 1.6rem;
  }
  .c-form__label-text {
    font-size: var(--size-16);
    line-height: 1.3;
    font-weight: var(--weight-bold);
  }
  .c-form__label-optional, .c-form__label-required {
    font-size: var(--font-size-11);
    line-height: 1.3;
    padding-inline: 0.6rem;
    block-size: 2rem;
    display: grid;
    place-items: center;
    border-radius: 0.6rem;
  }
  .c-form__label-required {
    background-color: var(--color-text);
    color: var(--color-white);
  }
  .c-form__label-optional {
    border: 1px solid var(--color-text);
    color: var(--color-text);
  }
  .c-form__th {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
  .c-form__note {
    font-size: var(--font-size-12);
    line-height: 1.3;
  }
  .c-form__select-wrap {
    position: relative;
  }
  .c-form__select-wrap::after {
    content: "expand_more";
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-24);
    font-weight: var(--weight-medium);
    line-height: 1;
    position: absolute;
    top: 50%;
    right: 1.2rem;
    transform: translateY(-45%);
    pointer-events: none;
    color: var(--color-border-gray);
  }
  .c-form select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none transparent;
    background-clip: padding-box;
    color: inherit;
    font-size: inherit;
    vertical-align: middle;
    box-sizing: border-box;
    outline: none;
    box-shadow: none;
    background-color: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 0.6rem;
    width: 100%;
    padding-inline: 1.6rem;
    padding-block: 1.6rem;
    line-height: 1.6;
    font-size: max(1.6rem, 16px);
  }
  .c-form input[type=text],
  .c-form input[type=email],
  .c-form input[type=tel],
  .c-form textarea {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none transparent;
    background-clip: padding-box;
    color: inherit;
    font-size: inherit;
    vertical-align: middle;
    box-sizing: border-box;
    outline: none;
    box-shadow: none;
    background-color: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 0.6rem;
    resize: none;
    width: 100%;
    padding-inline: 1.6rem;
    padding-block: 1.6rem;
    line-height: 1.6;
    font-size: max(1.6rem, 16px);
  }
  .c-form input[type=text]:placeholder-shown, .c-form input[type=text]::-webkit-input-placeholder, .c-form input[type=text]:-moz-placeholder, .c-form input[type=text]::-moz-placeholder, .c-form input[type=text]:-ms-input-placeholder,
  .c-form input[type=email]:placeholder-shown,
  .c-form input[type=email]::-webkit-input-placeholder,
  .c-form input[type=email]:-moz-placeholder,
  .c-form input[type=email]::-moz-placeholder,
  .c-form input[type=email]:-ms-input-placeholder,
  .c-form input[type=tel]:placeholder-shown,
  .c-form input[type=tel]::-webkit-input-placeholder,
  .c-form input[type=tel]:-moz-placeholder,
  .c-form input[type=tel]::-moz-placeholder,
  .c-form input[type=tel]:-ms-input-placeholder,
  .c-form textarea:placeholder-shown,
  .c-form textarea::-webkit-input-placeholder,
  .c-form textarea:-moz-placeholder,
  .c-form textarea::-moz-placeholder,
  .c-form textarea:-ms-input-placeholder {
    color: var(--color-border-gray);
  }
  .c-form input[type=text]::-ms-clear, .c-form input[type=text]::-ms-reveal, .c-form input[type=text]::-ms-expand,
  .c-form input[type=email]::-ms-clear,
  .c-form input[type=email]::-ms-reveal,
  .c-form input[type=email]::-ms-expand,
  .c-form input[type=tel]::-ms-clear,
  .c-form input[type=tel]::-ms-reveal,
  .c-form input[type=tel]::-ms-expand,
  .c-form textarea::-ms-clear,
  .c-form textarea::-ms-reveal,
  .c-form textarea::-ms-expand {
    display: none;
  }
  .c-form textarea {
    height: 16.9rem;
  }
  .c-form__confirm {
    display: none;
  }
  .c-form__actions {
    margin-block: 2.4rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.2rem;
  }
  .c-form__complete {
    display: none;
  }
  .c-form__c-btn-wrap {
    display: flex;
    justify-content: center;
    margin-block: 4.8rem 0;
  }
  .c-form__c-text {
    font-size: var(--font-size-16);
  }
  .c-form.-step1 [data-step="2"],
  .c-form.-step1 [data-step="3"] {
    display: none;
  }
  .c-form.-step2 [data-step="1"],
  .c-form.-step2 [data-step="3"] {
    display: none;
  }
  .c-form.-step2 .c-form__field {
    display: none;
  }
  .c-form.-step2 .c-form__label-optional,
  .c-form.-step2 .c-form__label-required,
  .c-form.-step2 .c-form__note {
    display: none;
  }
  @media (min-width: 1080px) {
    .c-form.-step2 .c-form__item {
      display: grid;
      grid-template-columns: 18rem minmax(0, 1fr);
      gap: 1.6rem;
    }
  }
  .c-form.-step2 .c-form__item.-checkbox {
    display: none;
  }
  .c-form.-step2 .c-form__confirm {
    display: block;
  }
  .c-form.-step3 [data-step="1"],
  .c-form.-step3 [data-step="2"] {
    display: none;
  }
  .c-form.-step3 .c-form__body,
  .c-form.-step3 .c-form__actions {
    display: none;
  }
  .c-form.-step3 .c-form__complete {
    display: block;
  }
  .c-form .wpcf7-not-valid-tip {
    display: none !important;
  }
  .c-form .c-form__error {
    display: inline-block;
    font-size: var(--font-size-13);
    color: var(--color-primary);
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    padding-inline: 0.8rem;
    padding-block: 0.4rem;
    line-height: 1.2;
    letter-spacing: 0;
    border-radius: calc(infinity * 1px);
  }
}
@layer components {
  .c-section-title {
    --_gap: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: var(--_gap);
    padding-inline: 2rem 0;
    border-left: 0.8rem solid var(--color-primary);
    margin-block: 9.6rem 4.8rem;
    letter-spacing: 0;
  }
  @media (min-width: 1080px) {
    .c-section-title {
      margin-block: 16rem 8rem;
    }
  }
  .c-section-title__sub {
    --_font-size: var(--font-size-32);
    text-box: trim-both cap alphabetic;
    font-size: var(--_font-size);
    font-weight: var(--weight-extrabold);
    line-height: 1.1;
  }
  .c-section-title__main {
    --_font-size: var(--font-size-16);
    text-box: trim-both cap alphabetic;
    font-size: var(--_font-size);
    font-weight: var(--weight-bold);
  }
  @media (min-width: 1080px) {
    .c-section-title {
      --_gap: 2.4rem;
      padding-inline: 3.2rem 0;
      flex-direction: row;
      align-items: center;
      gap: 2.4rem;
    }
    .c-section-title__sub {
      --_font-size: var(--font-size-56);
    }
    .c-section-title__main {
      --_font-size: var(--font-size-20);
    }
  }
  .c-section-title.-jp {
    font-size: var(--font-size-32);
    line-height: 1.1;
    margin-block: 6.4rem 3.2rem;
    font-weight: var(--weight-extrabold);
  }
  @media (min-width: 1080px) {
    .c-section-title.-jp {
      font-size: var(--font-size-56);
      margin-block: 12rem 4rem;
    }
  }
  .c-section-title.-h2 {
    font-size: var(--font-size-24);
    padding-inline: 1.2rem 0;
    line-height: 1.3;
    margin-block: 6.4rem 3.2rem;
  }
  @media (min-width: 1080px) {
    .c-section-title.-h2 {
      padding-inline: 1.6rem 0;
      font-size: var(--font-size-32);
      margin-block: 12rem 4rem;
    }
  }
  .c-section-title.-h3 {
    font-size: var(--font-size-20);
    padding-inline: 1.2rem 0;
    line-height: 1.3;
    margin-block: 6.4rem 3.2rem;
  }
  @media (min-width: 1080px) {
    .c-section-title.-h3 {
      padding-inline: 1.6rem 0;
      font-size: var(--font-size-24);
      margin-block: 12rem 4rem;
    }
  }
}
@layer components {
  .c-section-cvt {
    position: relative;
    z-index: 2;
    border-top: 1px solid var(--theme-border-subtle);
    background-color: var(--theme-bg);
    z-index: var(--z-section-cvt);
  }
  .mouse-is-active .c-section-cvt__content {
    color: var(--color-text);
  }
  .mouse-is-active .c-section-cvt__bg {
    opacity: 0.0001;
  }
  .mouse-is-active .c-section-cvt:hover .c-section-cvt__content {
    color: var(--color-white);
  }
  .mouse-is-active .c-section-cvt:hover .c-section-cvt__bg {
    opacity: 1;
  }
  .c-section-cvt__innr {
    position: relative;
    z-index: 2;
    padding-block: 14.4rem 9.6rem;
    padding-inline: var(--gutter);
    display: grid;
    place-items: center;
  }
  @media (min-width: 1080px) {
    .c-section-cvt__innr {
      padding-block: 15.1rem;
    }
  }
  .c-section-cvt__content {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    align-items: center;
    color: var(--color-white);
    transition: color var(--duration-slow) linear;
  }
  .c-section-cvt__copy {
    --_font-size: var(--font-size-40);
    font-size: var(--_font-size);
    font-weight: var(--weight-extrabold);
    text-align: center;
    white-space: auto-phrase;
    word-break: keep-all;
    line-height: 1.3;
    font-feature-settings: "palt";
  }
  @media (min-width: 1080px) {
    .c-section-cvt__copy {
      --_font-size: var(--font-size-56);
    }
  }
  .c-section-cvt__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    transition: opacity var(--duration-slow) linear;
  }
  .c-section-cvt__img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@layer components {
  .c-heading-circle {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    padding-block: 0 1.6rem;
    font-size: var(--font-size-16);
    line-height: normal;
    font-weight: var(--weight-bold);
    gap: 0.8rem;
    border-bottom: 1px solid var(--theme-border-subtle);
    margin-block: 5.6rem 3.2rem;
  }
  .c-heading-circle::before {
    content: "";
    inline-size: 1em;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 0.4rem solid var(--color-primary);
    position: relative;
    top: 0.25em;
  }
}
@layer components {
  .c-marquee {
    --_duration: 120s;
    --_gap: 1.2rem;
    display: flex;
    overflow: clip;
    pointer-events: none;
  }
  @media (min-width: 768px) {
    .c-marquee {
      --_duration: 140s;
      --_gap: 2.4rem;
    }
  }
  .c-marquee__track {
    display: flex;
  }
  .c-marquee__item {
    color: var(--theme-border-subtle);
    opacity: 0.5;
    font-size: var(--font-size-80);
    line-height: normal;
    white-space: nowrap;
    flex-shrink: 0;
    font-weight: var(--weight-extrabold);
    padding-inline: var(--_gap);
    display: flex;
    gap: calc(var(--_gap) * 2);
    animation: c-marquee var(--_duration) linear infinite;
  }
  @media (min-width: 768px) {
    .c-marquee__item {
      padding-inline: 2.8rem;
      font-size: 15.2rem;
    }
  }
  @keyframes c-marquee {
    to {
      translate: -100% 0;
    }
  }
}
@layer components {
  .c-page-header {
    --_max-block-size: 80rem;
    position: relative;
    z-index: var(--z-page-header);
    container: page-header/inline-size;
  }
  .c-page-header.-home {
    padding-block-start: 50svh;
  }
  .c-page-header.-home .c-page-header__innr {
    clip-path: none;
    max-block-size: var(--_max-block-size);
  }
  .c-page-header.-home .c-page-header__wrap {
    position: relative;
    inset: auto;
  }
  .c-page-header.-home .c-page-header__en {
    --_color: var(--color-primary);
  }
  .c-page-header.-home .c-page-header__title {
    --_font-size: var(--font-size-48);
  }
  @media (min-width: 1080px) {
    .c-page-header.-home .c-page-header__title {
      --_font-size: var(--font-size-80);
    }
  }
  @media (min-width: 1080px) {
    .c-page-header.-home .c-page-header__content {
      --_gap: 3.2rem;
    }
  }
  .c-page-header.-short, .c-page-header.-post {
    --_max-block-size: 17.6rem;
  }
  @media (min-width: 1080px) {
    .c-page-header.-short, .c-page-header.-post {
      --_max-block-size: 25.6rem;
    }
  }
  .c-page-header.-short .c-page-header__innr, .c-page-header.-post .c-page-header__innr {
    clip-path: none;
    max-block-size: var(--_max-block-size);
  }
  .c-page-header.-short .c-page-header__wrap, .c-page-header.-post .c-page-header__wrap {
    position: relative;
    inset: auto;
  }
  .c-page-header:has(.c-page-header__bg) .c-page-header__title {
    color: #fff;
  }
  .c-page-header__innr {
    position: relative;
    z-index: 2;
    block-size: max(100svh, 54rem);
    padding-inline: var(--gutter);
    clip-path: inset(0);
  }
  .c-page-header__wrap {
    display: grid;
    place-items: center;
    block-size: 100%;
    position: fixed;
    inset: 0;
  }
  .c-page-header__content {
    --_gap: 0.8rem;
    display: flex;
    flex-direction: column;
    gap: var(--_gap);
    font-weight: var(--weight-extrabold);
  }
  .c-page-header__en {
    --_font-size: var(--font-size-16);
    --_color: var(--color-white);
    font-size: var(--_font-size);
    color: var(--_color);
    text-align: center;
    padding-inline: 1.6rem;
    word-break: auto-phrase;
  }
  .c-page-header__en span {
    display: inline-block;
  }
  @media (min-width: 1080px) {
    .c-page-header__en {
      --_font-size: var(--font-size-24);
    }
  }
  .c-page-header__title {
    --_font-size: var(--font-size-40);
    font-size: var(--_font-size);
    line-height: 1.3;
    text-align: center;
    letter-spacing: 0;
    word-break: auto-phrase;
    font-feature-settings: "palt";
  }
  @media (min-width: 1080px) {
    .c-page-header__title {
      --_font-size: var(--font-size-56);
    }
  }
  .c-page-header__title.-whitespace-nowrap {
    white-space: nowrap;
  }
  .c-page-header__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    clip-path: inset(0);
  }
  .c-page-header__bg-innr {
    position: fixed;
    inset: 0;
    background-color: var(--theme-bg-muted);
  }
  .c-page-header__bg-img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transform: translate(0, 0) scale(1.07);
    opacity: 0.001;
  }
  .c-page-header__obj {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
  }
  .c-page-header__obj-innr {
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    inline-size: 70rem;
    aspect-ratio: 1/1;
  }
  @container page-header (min-inline-size: 64rem ) {
    .c-page-header__obj-innr {
      inline-size: 108vw;
    }
    @media (orientation: portrait) {
      .c-page-header__obj-innr {
        inline-size: auto;
        block-size: 100svh;
      }
    }
  }
  .c-page-header__obj-innr svg {
    display: block;
    inline-size: 100%;
    block-size: 100%;
  }
  .c-page-header__obj-innr svg path {
    fill: none;
  }
  .c-page-header__obj-innr.-sp {
    display: block;
  }
  @container page-header (min-inline-size: 64rem ) {
    .c-page-header__obj-innr.-sp {
      display: none;
    }
  }
  .c-page-header__obj-innr.-pc {
    display: none;
  }
  @container page-header (min-inline-size: 64rem ) {
    .c-page-header__obj-innr.-pc {
      display: block;
    }
  }
  .-dom-ready .c-page-header__bg-img {
    transform: translate(0, 0);
    transition: opacity 500ms linear 100ms, transform 1500ms var(--ease-smooth) 100ms;
    opacity: 1;
  }
}
@layer components {
  .c-page-body {
    overflow: clip;
    background-color: var(--theme-bg);
    position: relative;
    z-index: var(--z-page-body);
  }
  .c-page-body__innr {
    margin-inline: auto;
    padding-inline: var(--gutter);
    padding-block: 6.4rem 3.2rem;
    max-inline-size: calc(var(--container-xs) + 2 * var(--gutter));
  }
  @media (min-width: 768px) {
    .c-page-body__innr {
      max-inline-size: calc(var(--container-small) + 2 * var(--gutter));
    }
  }
  @media (min-width: 1080px) {
    .c-page-body__innr {
      max-inline-size: calc(var(--container-default) + 2 * var(--gutter));
      padding-block: 16rem 4.7rem;
    }
  }
  .c-page-body__innr:has(.c-innrlinks) {
    padding-block: 4rem 3.2rem;
  }
  @media (min-width: 1080px) {
    .c-page-body__innr:has(.c-innrlinks) {
      padding-block: 6.4rem 4.8rem;
    }
  }
  .c-page-body__innr:has(+ .l-section) {
    padding-block-end: 0;
  }
  @media (min-width: 1080px) {
    .c-page-body__innr:has(+ .l-section) {
      padding-block-end: 0;
    }
  }
}
@layer components {
  .c-post-header {
    overflow: clip;
    position: relative;
    z-index: var(--z-page-body);
    margin-block: 0 4rem;
  }
  @media (min-width: 1080px) {
    .c-post-header {
      margin-block: 0 8rem;
    }
  }
  @media (min-width: 768px) {
    body:has(.c-page-header.-short) .c-post-header .c-post-header__innr {
      max-inline-size: calc(var(--container-medium) + 2 * var(--gutter));
    }
  }
  body:has(.c-page-header.-short) .c-post-header .c-post-header__title {
    --_font-size: var(--font-size-28);
    font-weight: var(--weight-extrabold);
    text-align: center;
    word-break: keep-all;
    overflow-wrap: anywhere;
    letter-spacing: 0;
    text-wrap: balance;
  }
  @media (min-width: 768px) {
    body:has(.c-page-header.-short) .c-post-header .c-post-header__title {
      --_font-size: var(--font-size-40);
    }
  }
  .c-post-header__innr {
    margin-inline: auto;
    padding-inline: var(--gutter);
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
  @media (min-width: 768px) {
    .c-post-header__innr {
      max-inline-size: calc(var(--container-small) + 2 * var(--gutter));
    }
  }
  .c-post-header__label {
    font-size: var(--font-size-12);
    font-weight: var(--weight-bold);
    background-color: var(--color-primary);
    color: var(--color-white);
    display: flex;
    align-items: center;
    border-radius: calc(infinity * 1px);
    padding-inline: 1.2rem;
    block-size: 2.4rem;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }
  .c-post-header__label span {
    text-box: trim-both cap alphabetic;
  }
  .c-post-header__title {
    --_font-size: var(--font-size-24);
    line-height: 1.5;
    font-size: var(--_font-size);
    font-weight: var(--weight-bold);
    margin-block: 0;
  }
  @media (min-width: 1080px) {
    .c-post-header__title {
      --_font-size: var(--font-size-32);
    }
  }
  .c-post-header__date {
    --_font-size: var(--font-size-12);
    font-size: var(--_font-size);
    color: var(--color-text-subtle);
    font-weight: var(--weight-bold);
    margin-block: 0;
  }
}
@layer components {
  .c-post-body {
    overflow: clip;
    position: relative;
    z-index: var(--z-page-body);
  }
  @media (min-width: 768px) {
    body:has(.c-page-header.-short) .c-post-body .c-post-body__innr {
      max-inline-size: calc(var(--container-medium) + 2 * var(--gutter));
    }
  }
  .c-post-body__innr {
    margin-inline: auto;
    padding-inline: var(--gutter);
    padding-block: 0 3.2rem;
  }
  @media (min-width: 768px) {
    .c-post-body__innr {
      max-inline-size: calc(var(--container-small) + 2 * var(--gutter));
    }
  }
  @media (min-width: 1080px) {
    .c-post-body__innr {
      padding-block: 0 4.7rem;
    }
  }
  .c-post-body__btn-wrap {
    margin-block: 6.4rem 0;
    display: flex;
    justify-content: center;
  }
  @media (min-width: 1080px) {
    .c-post-body__btn-wrap {
      margin-block: 12rem 0;
    }
  }
}
@layer base {
  .wysiwyg {
    line-height: 1.8;
    font-feature-settings: "palt";
  }
  .wysiwyg > * + * {
    margin-block-start: 1.5em;
  }
  .wysiwyg h2:not([class]),
  .wysiwyg h2.wp-block-heading {
    font-weight: var(--weight-bold);
    line-height: 1.3;
    border-left: 0.8rem solid var(--color-primary);
    font-size: var(--font-size-20);
    padding-inline: 1.2rem 0;
    line-height: 1.3;
    margin-block: 6.4rem 3.2rem;
  }
  @media (min-width: 1080px) {
    .wysiwyg h2:not([class]),
    .wysiwyg h2.wp-block-heading {
      padding-inline: 1.6rem 0;
      font-size: var(--font-size-24);
      margin-block: 12rem 4rem;
    }
  }
  .wysiwyg h2:not([class]):first-child,
  .wysiwyg h2.wp-block-heading:first-child {
    margin-block-start: 0;
  }
  .wysiwyg h4 {
    margin-block-start: 1.5em;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .wysiwyg h4:first-child {
    margin-block-start: 0;
  }
  .wysiwyg a {
    color: var(--color-primary);
    text-decoration: underline;
  }
  .wysiwyg a:hover {
    text-decoration: none;
  }
  .wysiwyg ul,
  .wysiwyg ol {
    padding-inline-start: 1.5em;
  }
  .wysiwyg ul {
    list-style: disc;
  }
  .wysiwyg ul ul {
    list-style: circle;
  }
  .wysiwyg ol {
    list-style: decimal;
  }
  .wysiwyg li {
    margin-block-start: 0.5em;
  }
  .wysiwyg li:first-child {
    margin-block-start: 0;
  }
  .wysiwyg blockquote {
    margin-inline: 0;
    padding: 1.5em;
    border-inline-start: 4px solid var(--color-primary);
    background-color: var(--color-bg-light, #f8f8f8);
  }
  .wysiwyg table {
    inline-size: 100%;
    border-collapse: collapse;
  }
  .wysiwyg th,
  .wysiwyg td {
    padding: 1em;
    border: 1px solid var(--color-border, #ddd);
    text-align: start;
  }
  .wysiwyg th {
    background-color: var(--color-bg-light, #f8f8f8);
    font-weight: 700;
  }
  .wysiwyg img {
    max-inline-size: 100%;
    block-size: auto;
  }
  .wysiwyg figure {
    margin-inline: 0;
  }
  .wysiwyg figcaption {
    margin-block-start: 0.5em;
    font-size: 1.4rem;
    color: var(--color-text-muted, #666);
  }
  .wysiwyg hr {
    margin-block: 3em;
    border: none;
    border-block-start: 1px solid var(--color-border, #ddd);
  }
  .wysiwyg code {
    padding: 0.2em 0.4em;
    background-color: var(--color-bg-light, #f8f8f8);
    border-radius: 3px;
    font-family: monospace;
    font-size: 0.9em;
  }
  .wysiwyg pre {
    padding: 1.5em;
    background-color: var(--color-bg-light, #f8f8f8);
    border-radius: 4px;
    overflow-x: auto;
  }
  .wysiwyg pre code {
    padding: 0;
    background-color: transparent;
  }
}
@layer components {
  .c-search-map {
    container: search-map/inline-size;
  }
  .c-search-map.-searched .c-search-map__result {
    display: block;
  }
  .c-search-map__form {
    --_input-height: 4rem;
    --_border-radius: 0.6rem;
    --_button-width: auto;
    display: grid;
    inline-size: 100%;
    grid-template-columns: minmax(0, 1fr) var(--_button-width);
    gap: 0.8rem;
  }
  @container search-map (min-inline-size: 54rem) {
    .c-search-map__form {
      --_input-height: 4.8rem;
      --_button-width: 18.4rem;
    }
  }
  .c-search-map__form input {
    --_placeholder-color: var(--color-text-muted);
    inline-size: 100%;
    block-size: var(--_input-height);
    padding-inline: 1.6rem;
    border: 0;
    letter-spacing: 0;
    background-color: var(--color-white);
    font-size: normal;
    line-height: var(--_input-height);
    border-radius: var(--_border-radius);
    border: 1px solid var(--theme-border);
  }
  .c-search-map__form input::-moz-placeholder {
    color: var(--_placeholder-color);
    opacity: 1;
  }
  .c-search-map__form input::placeholder {
    color: var(--_placeholder-color);
    opacity: 1;
  }
  .c-search-map__form button {
    display: grid;
    place-items: center;
    border-radius: var(--_border-radius);
    block-size: var(--_input-height);
    padding-inline: 1.6rem;
    border-radius: var(--_border-radius);
    white-space: nowrap;
    background-color: var(--color-text);
    color: var(--color-white);
    font-size: var(--font-size-14);
    font-weight: var(--weight-bold);
    border: none;
  }
  .c-search-map__form button span {
    text-box: trim-both cap alphabetic;
  }
  .c-search-map__map {
    --_map-height: 48rem;
    display: block;
    block-size: var(--_map-height);
    position: relative;
    letter-spacing: 0;
    overflow: hidden;
    z-index: 1;
  }
  .lenis.lenis-smooth .c-search-map__map {
    point-events: none;
  }
  .c-search-map__map .leaflet-control-zoom {
    display: none;
  }
  .c-search-map__map .leaflet-control-attribution svg {
    width: 0;
  }
  .c-search-map__result {
    display: none;
  }
  .c-search-map__result-title {
    font-size: var(--font-size-20);
    font-weight: var(--weight-bold);
    margin-block: 0 1.6rem;
  }
  .c-search-map__result-title span {
    font-weight: var(--weight-normal);
    font-size: var(--font-size-16);
    padding-inline: 0.8rem 0;
  }
  @media (min-width: 1080px) {
    .c-search-map__result-title {
      font-size: var(--font-size-24);
      margin-block: 0 2.4rem;
    }
  }
  .c-search-map__result-list {
    display: flex;
    flex-direction: column;
    margin: unset;
    padding: unset;
    list-style: none;
    gap: 1.6rem;
  }
  .c-search-map__result-item {
    border-radius: 0.6rem;
    background-color: var(--theme-bg-subtle);
    padding-block: 2.4rem;
    padding-inline: 1.6rem;
    border-radius: 0.6rem;
    display: none;
  }
  @media (min-width: 1080px) {
    .c-search-map__result-item {
      padding-block: 2.4rem;
      padding-inline: 3rem;
    }
  }
  .c-search-map__result-item.-show {
    display: block;
  }
  .c-search-map__result-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--theme-border-subtle);
    padding-block: 0 2rem;
    margin-block: 0 2rem;
    gap: 0 1rem;
  }
  .c-search-map__result-name {
    font-size: var(--font-size-20);
    font-weight: var(--weight-bold);
    margin: unset;
    line-height: 1.3;
    text-box: trim-both cap alphabetic;
  }
  @media (min-width: 1080px) {
    .c-search-map__result-name {
      font-size: var(--font-size-24);
    }
  }
  .c-search-map__r-link {
    display: grid;
    color: inherit;
    grid-template-columns: auto auto;
    text-decoration: none;
    align-items: center;
    gap: 1.6rem;
  }
  .c-search-map__r-icon {
    display: grid;
    place-items: center;
    border-radius: 50%;
    inline-size: 2rem;
    aspect-ratio: 1;
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .c-search-map__r-icon::after {
    content: "arrow_forward";
    display: block;
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-13);
    font-weight: var(--weight-medium);
    line-height: 1;
    text-box: trim-both cap alphabetic;
  }
  .c-search-map__result-distance {
    font-size: var(--font-size-14);
    white-space: nowrap;
    margin: unset;
    font-weight: var(--weight-bold);
    text-align: right;
    line-height: 1.3;
  }
  .c-search-map__result-distance span {
    font-size: var(--font-size-12);
    padding-inline: 0.4rem 0;
  }
  @media (min-width: 1080px) {
    .c-search-map__result-distance {
      font-size: var(--font-size-16);
    }
  }
  .c-search-map__result-body {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
  .c-search-map__btns {
    margin: unset;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  @media (min-width: 1080px) {
    .c-search-map__btns {
      flex-direction: row;
    }
  }
  .c-search-map__btn {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font: inherit;
    padding-inline: 2rem;
    padding-block: 0.6rem;
    min-block-size: 4rem;
    display: flex;
    gap: 0.8rem;
    transition: background-color 200ms ease-out;
    align-items: center;
    border-radius: calc(infinity * 1px);
    font-size: normal;
    font-weight: var(--weight-bold);
    line-height: 1.3;
    justify-content: center;
    text-decoration: none;
    transition: opacity 100ms linear;
  }
  .mouse-is-active .c-search-map__btn:hover, .c-search-map__btn.touched, .c-search-map__btn:focus-visible {
    opacity: 0.8;
  }
  .c-search-map__btn span {
    text-box: trim-both cap alphabetic;
  }
  .c-search-map__btn.-tel {
    color: var(--color-text);
    border: 1px solid currentColor;
  }
  .c-search-map__btn.-tel::before {
    content: "phone";
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-20);
    font-weight: var(--weight-medium);
    line-height: 1;
    display: block;
  }
  .c-search-map__btn.-contact {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .c-search-map__btn.-contact::before {
    content: "email";
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-20);
    font-weight: var(--weight-medium);
    line-height: 1;
    display: block;
  }
  .c-search-map__btn-txt-sp {
    display: block;
  }
  @media (min-width: 768px) {
    .c-search-map__btn-txt-sp {
      display: none;
    }
  }
  .c-search-map__btn-txt-pc {
    display: none;
  }
  @media (min-width: 768px) {
    .c-search-map__btn-txt-pc {
      display: block;
    }
  }
  .c-search-map__names {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-block: 1.6rem 0;
  }
  @media (min-width: 768px) {
    .c-search-map__names {
      flex-direction: row;
      gap: 4rem;
    }
  }
  .c-search-map__name {
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }
  .c-search-map__name-icon {
    inline-size: 1.4rem;
    block-size: 2.2rem;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .c-search-map__name-txt {
    font-size: var(--font-size-14);
    letters-spacing: 0;
    font-weight: var(--weight-bold);
    line-height: 1.3;
    text-box: trim-both cap alphabetic;
  }
  @media (min-width: 1080px) {
    .c-search-map__name-txt {
      font-size: var(--font-size-18);
    }
  }
}
@layer components {
  .c-map-popup {
    font-size: var(--font-size-12);
  }
}
@layer components {
  .c-refine__block {
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
  @media (min-width: 1080px) {
    .c-refine__block {
      gap: 6rem;
    }
  }
  .c-refine__form {
    --_form-gap: 3.2rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  @media (min-width: 1080px) {
    .c-refine__form {
      --_form-gap: 4.8rem;
      padding-block-end: 2rem;
    }
  }
  .c-refine__form-group {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  @media (min-width: 1080px) {
    .c-refine__form-group {
      display: grid;
      grid-template-columns: max-content minmax(0, 1fr);
      gap: 3.6rem;
    }
  }
  @media (min-width: 1080px) {
    .c-refine__form-group.-pc-col-2 {
      grid-template-columns: max-content minmax(0, 1fr) max-content minmax(0, 1fr);
      gap: 1rem 8rem;
    }
    .c-refine__form-group.-pc-col-2 > .c-refine__f-wrap {
      grid-column: span 2;
      gap: 1.6rem 2.8rem;
      align-items: center;
    }
  }
  .c-refine__inputs {
    display: grid;
    gap: var(--_gap);
    grid-template-columns: repeat(auto-fill, minmax(min(24rem, 100%), 1fr));
    margin: unset;
    padding: unset;
    list-style: none;
  }
  .c-refine__inputs.-category {
    grid-template-columns: repeat(auto-fill, minmax(min(40rem, 100%), 1fr));
  }
  .c-refine__input-item {
    margin: unset;
    padding: unset;
  }
  .c-refine__input-item.-nsx {
    display: none;
  }
  body:has(.c-card-shop__i-mark.-nsx) .c-refine__input-item.-nsx {
    display: block;
  }
  .c-refine__input-item.-u-select {
    display: none;
  }
  body:has(.c-card-shop__i-mark.-uselect) .c-refine__input-item.-u-select {
    display: block;
  }
  .c-refine__label-dscr {
    font-size: var(---font-size-13);
    line-height: 1.6153846154;
    margin-block: 0.6rem 0;
    color: var(--color-text-subtle);
    letter-spacing: 0.1em;
  }
  @media (min-width: 1080px) {
    .c-refine__label-dscr {
      margin-block: 1.5rem 0;
    }
  }
  .c-refine__f-wrap {
    inline-size: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  @media (min-width: 1080px) {
    .c-refine__f-wrap {
      display: grid;
      grid-template-columns: subgrid;
      grid-column: 1/-1;
      gap: 1.6rem 2.8rem;
    }
  }
  @media (min-width: 1080px) {
    .c-refine__f-wrap.-color {
      grid-column: span 4 !important;
      padding-block: 1.2rem;
    }
    .c-refine__f-wrap.-color .c-refine__inputs-group {
      grid-column: span 3;
    }
  }
  .c-refine__f-title {
    font-size: var(--font-size-16);
    font-weight: var(--weight-bold);
    line-height: 1.3;
    margin: unset;
  }
  @media (min-width: 1080px) {
    .c-refine__f-title {
      padding-block: 1.1rem 0;
    }
  }
  .c-refine__inputs-group {
    --_gap: 0.8rem;
    inline-size: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--_gap);
  }
  .c-refine__range {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.8rem;
  }
  .c-refine__footer {
    border-top: 1px solid var(--theme-border-subtle);
    margin: unset;
    padding-block: var(--_form-gap) 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    justify-content: center;
    align-items: center;
  }
  .c-refine__f-btn {
    border: 0;
    box-shadow: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    inline-size: min(100%, 18rem);
    block-size: 4rem;
    display: grid;
    place-content: center;
    border-radius: calc(infinity * 1px);
    font-weight: var(--weight-bold);
    background-color: var(--color-text);
    color: var(--color-white);
  }
  .c-refine__f-btn span {
    text-box: trim-both cap alphabetic;
  }
  @media (min-width: 1080px) {
    .c-refine__f-btn {
      inline-size: min(100%, 20rem);
    }
  }
  .c-refine__f-reset {
    border: 0;
    box-shadow: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    inline-size: min(100%, 18rem);
    block-size: 4rem;
    display: grid;
    place-content: center;
    font-weight: var(--weight-bold);
    text-decoration: none;
  }
  .c-refine__f-reset span {
    text-box: trim-both cap alphabetic;
  }
  .c-refine__res-title {
    font-size: var(--font-size-22);
    margin-block: 0 2.4rem;
    line-height: 1.2;
    display: none;
  }
  @media (min-width: 1080px) {
    .c-refine__res-title {
      font-size: var(--font-size-24);
    }
  }
  .c-refine__res-title.-show {
    display: block;
  }
  .c-refine__panel {
    border-radius: 0.6rem;
    border: 1px solid var(--theme-border);
    padding: 1.6rem;
  }
  @media (min-width: 1080px) {
    .c-refine__panel {
      padding: 2rem 4.8rem;
    }
  }
  .c-refine__panel::details-content {
    overflow: clip;
    transition-duration: 300ms;
    transition-property: content-visibility, block-size;
    transition-behavior: allow-discrete;
  }
  .c-refine__panel:not([open])::details-content {
    block-size: 0;
  }
  .c-refine__panel:is([open]) .c-refine__p-toggle::after {
    content: "keyboard_arrow_up";
  }
  .c-refine__p-toggle {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font: inherit;
    font-size: var(--font-size-16);
    line-height: 1.3;
    font-weight: var(--weight-bold);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    transition: opacity 100ms linear;
  }
  .mouse-is-active .c-refine__p-toggle:hover, .c-refine__p-toggle.touched, .c-refine__p-toggle:focus-visible {
    opacity: 0.8;
  }
  .c-refine__p-toggle::after {
    content: "keyboard_arrow_down";
    display: block;
    font-family: "Material Symbols Sharp";
    font-size: var(--font-size-24);
    font-weight: var(--weight-medium);
    line-height: 1.3em;
  }
  .c-refine__p-body {
    padding-block: 3.2rem 0;
  }
  @media (min-width: 1080px) {
    .c-refine__p-body {
      padding-block: 6.4rem 0;
    }
  }
}
@layer components {
  .c-panels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
    gap: 4rem;
  }
  @media (min-width: 1080px) {
    .c-panels {
      gap: 9.6rem;
    }
  }
  .c-panels__item {
    block-size: 100%;
  }
  .c-panels.-home-mv {
    margin-block-start: -17.4rem;
  }
  @media (min-width: 1080px) {
    .c-panels.-home-mv {
      margin-block-start: -10rem;
    }
  }
}
@layer components {
  .c-pane-number {
    border: 1px solid var(--theme-border-subtle);
    border-radius: 0.6rem;
    padding-block: 2.8rem 1.6rem;
    padding-inline: 0.8rem;
    position: relative;
    white-space: nowrap;
  }
  .c-pane-number__title {
    font-size: inherit;
    font-weight: var(--weight-bold);
    text-align: center;
    text-box: trim-both cap alphabetic;
    padding-block: 0.25em;
    padding-inline: 1rem;
    background-color: var(--color-white);
    white-space: nowrap;
    position: absolute;
    inset: 0 auto auto 50%;
    transform: translate(-50%, -50%);
  }
  @media (min-width: 1080px) {
    .c-pane-number__title {
      font-size: var(--font-size-18);
    }
  }
  .c-pane-number__number {
    font-size: var(--font-size-20);
    font-weight: var(--weight-bold);
    text-align: center;
    line-height: inherit;
    letter-spacing: 0;
  }
  .c-pane-number__number > span {
    color: var(--color-primary);
    font-size: var(--font-size-40);
    line-height: 1;
    font-weight: var(--weight-extrabold);
    margin-inline: 0 0.8rem;
    letter-spacing: 0;
  }
  @media (min-width: 1080px) {
    .c-pane-number__number > span {
      font-size: var(--font-size-56);
    }
  }
}
@layer components {
  .c-pane-recruit {
    border-radius: 0.6rem;
    padding-block: 4.8rem;
    padding-inline: 2rem;
    display: flex;
    flex-direction: column;
    background-color: var(--theme-bg-subtle);
    gap: 3.2rem;
    inline-size: 100%;
  }
  @media (min-width: 1080px) {
    .c-pane-recruit {
      padding-inline: 4.8rem;
    }
  }
  .c-pane-recruit__header {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    text-align: center;
  }
  .c-pane-recruit__title {
    margin: unset;
    font-size: var(--font-size-28);
    line-height: 1.5;
    font-weight: var(--weight-extrabold);
    word-break: auto-phrase;
    overflow-wrap: anywhere;
    line-break: strict;
    text-wrap: pretty;
  }
  .c-pane-recruit__subtitle {
    font-size: var(--font-size-16);
    font-weight: var(--weight-normal);
    word-break: auto-phrase;
    overflow-wrap: anywhere;
    line-break: strict;
    text-wrap: pretty;
  }
  .c-pane-recruit__list {
    margin: unset;
    padding: unset;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
  @media (min-width: 1080px) {
    .c-pane-recruit__list {
      flex-direction: row;
      gap: 3.2rem;
    }
  }
  .c-pane-recruit__card {
    margin: unset;
    padding: unset;
    border: none;
    background-color: var(--color-white);
    border-radius: 1.6rem;
  }
  .c-pane-recruit__c-head {
    padding-block: 2.4rem 2.1rem;
    border-bottom: 1px solid var(--theme-border-subtle);
    text-align: center;
  }
  .c-pane-recruit__c-title {
    margin: unset;
    font-size: var(--font-size-20);
    font-weight: var(--weight-bold);
    word-break: auto-phrase;
    overflow-wrap: anywhere;
    line-break: strict;
    text-wrap: pretty;
    letter-spacing: 0;
  }
  .c-pane-recruit__c-visual {
    inline-size: 100%;
    max-inline-size: 33.6rem;
    margin-inline: auto;
    display: block;
  }
  .c-pane-recruit__c-body {
    padding-block: 1.6rem 3.2rem;
    padding-inline: 2rem;
  }
  @media (min-width: 1080px) {
    .c-pane-recruit__c-body {
      padding-block: 1.6rem 3.2rem;
      padding-inline: 3.2rem;
    }
  }
  .c-pane-recruit__c-mtitle {
    text-align: center;
    font-size: var(--font-size-12);
    margin-block: 0 0.4rem;
    line-height: 1.5;
    font-weight: var(--weight-bold);
    letter-spacing: 0;
  }
  .c-pane-recruit__c-place {
    text-align: center;
    font-size: var(--font-size-14);
    margin: unset;
    line-height: 1.5;
    word-break: auto-phrase;
    overflow-wrap: anywhere;
    line-break: strict;
    text-wrap: pretty;
  }
  .c-pane-recruit__link {
    --_bg-color: var(--color-primary);
    display: block grid;
    font-size: var(--font-size-13);
    letter-spacing: 0;
    font-weight: var(--weight-bold);
    background-color: var(--color-primary);
    color: var(--color-white);
    text-align: center;
    padding-block: 1.8rem;
    padding-inline: 3.2rem;
    inline-size: 100%;
    border-radius: calc(infinity * 1px);
    margin-block: 3.2rem 0;
  }
  @media (min-width: 1080px) {
    .c-pane-recruit__link {
      font-size: var(--font-size-16);
    }
  }
  .c-pane-recruit__link span {
    text-box: trim-both cap alphabetic;
  }
  .c-pane-recruit__link {
    transition: background-color 200ms linear;
  }
  .mouse-is-active .c-pane-recruit__link:hover, .c-pane-recruit__link.touched, .c-pane-recruit__link:focus-visible {
    background-color: color-mix(in srgb, var(--_bg-color) var(--theme-hover-mix), white);
  }
}
@layer components {
  .c-countup {
    --countup-duration: 1.5s;
    --countup-easing: cubic-bezier(0.16, 1, 0.3, 1);
    display: inline-flex;
  }
  .c-countup__digit {
    display: inline-block;
    block-size: 1em;
    overflow: hidden;
    line-height: 1;
  }
  .c-countup__digit.-symbol {
    overflow: visible;
  }
  .c-countup__reel {
    display: flex;
    flex-direction: column;
    transition: transform var(--countup-duration) var(--countup-easing);
    transition-delay: var(--countup-delay, 0s);
  }
  .c-countup__num {
    display: block;
    block-size: 1em;
    line-height: 1;
  }
  .c-countup.-is-animated .c-countup__reel {
    transform: translateY(calc(-1em * var(--countup-target)));
  }
}
@layer components {
  .c-box {
    --_padding-inline: 2rem;
    --_padding-block: 4rem;
    padding-block: var(--_padding-block);
    padding-inline: var(--_padding-inline);
    border-radius: 0.6rem;
  }
  @media (min-width: 768px) {
    .c-box {
      --_padding-inline: 4.8rem;
      --_padding-block: 4.8rem;
    }
  }
  .c-box > *:first-child {
    margin-block-start: 0;
  }
  .c-box > *:last-child {
    margin-block-end: 0;
  }
  .c-box:has(+ .c-box) {
    margin-block-end: 4rem;
  }
  @media (min-width: 1080px) {
    .c-box:has(+ .c-box) {
      margin-block-end: 6.4rem;
    }
  }
  .c-box.-bg-white {
    background-color: var(--color-white);
  }
  .c-box__fluid {
    border-top: 1px solid var(--theme-border-subtle);
    margin-inline: calc(-1 * var(--_padding-inline));
    padding-inline: var(--_padding-inline);
    padding-block: var(--_padding-block);
    margin-block-start: var(--_padding-block);
  }
}
@layer components {
  .c-entry > *:first-child {
    margin-block-start: 0;
  }
  .c-entry > *:last-child {
    margin-block-end: 0;
  }
}
@layer components {
  .c-home-mv {
    --_line-height-base: 1.6;
    --_color: #fff;
    position: relative;
    background-color: var(--theme-bg);
    z-index: var(--z-home-mv);
    overflow-inline: clip;
    color: var(--_color);
    container: home-mv/inline-size;
    margin-block-end: -100svh;
    transition: opacity 500ms linear, visibility 500ms linear;
  }
  .-first-view-done .c-home-mv {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .c-home-mv__wrap {
    display: grid;
    position: relative;
    z-index: auto;
    grid-template: "head" "body" "main"/minmax(0, 1fr);
  }
  .c-home-mv__head {
    grid-area: head;
    position: relative;
    z-index: 4;
    block-size: max(100svh, 54rem);
    display: flex;
    align-items: end;
  }
  .c-home-mv__h-content {
    --_gap-inline: 1.6rem;
    --_gap-bottom: 2.28rem;
    display: flex;
    inline-size: 100%;
    flex-direction: column;
    padding-inline: var(--_gap-inline);
    padding-block-end: var(--_gap-bottom);
    position: relative;
    margin-inline: auto;
    max-inline-size: var(--container-xs);
  }
  @supports (animation-timeline: view()) {
    .c-home-mv__h-content {
      animation: home-mv-h-content-fade-out linear both;
      animation-timeline: view(block 5% 50%);
      animation-range: entry;
    }
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__h-content {
      --_gap-inline: 4.5rem;
      --_gap-bottom: 2.7rem;
      max-inline-size: var(--container-xl);
      gap: 2.6rem;
    }
  }
  @keyframes home-mv-h-content-fade-out {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  .c-home-mv__h-catch {
    opacity: 0.001;
    transform: translateY(1.8rem);
  }
  .-dom-ready .c-home-mv__h-catch {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 700ms linear 800ms, transform 700ms var(--ease-smooth) 800ms;
  }
  .c-home-mv__h-c {
    color: var(--_color);
    filter: drop-shadow(0 0 7.2rem rgba(0, 0, 0, 0.18));
  }
  .c-home-mv__h-c.-portrait {
    display: block;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__h-c.-portrait {
      display: none;
    }
  }
  .c-home-mv__h-c.-horizontal {
    display: none;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__h-c.-horizontal {
      display: block;
    }
  }
  .c-home-mv__h-label {
    display: none;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__h-label {
      display: block;
      font-size: var(font-size-13);
      font-weight: 800;
      letter-spacing: 0;
      line-height: var(--_line-height-base);
      position: relative;
      left: 2%;
    }
  }
  .c-home-mv__h-label {
    opacity: 0.001;
    transform: translateY(1.8rem);
  }
  .-dom-ready .c-home-mv__h-label {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 700ms linear 700ms, transform 700ms var(--ease-smooth) 700ms;
  }
  .c-home-mv__body {
    --_gap-inline: 3.7rem;
    grid-area: body;
    position: relative;
    z-index: 2;
  }
  .c-home-mv__b-content {
    padding-inline: var(--_gap-inline);
    margin-inline: auto;
    max-inline-size: var(--container-xs);
    padding-block: 45svh 80svh;
    display: flex;
    flex-direction: column;
    gap: 5.854rem;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__b-content {
      max-inline-size: 38rem;
      padding-inline: 0;
      gap: 10.564rem;
    }
  }
  @container home-mv (min-inline-size: 102.4rem ) {
    .c-home-mv__b-content {
      max-inline-size: 62rem;
    }
  }
  @container home-mv (min-inline-size: 112rem ) {
    .c-home-mv__b-content {
      max-inline-size: 68rem;
    }
  }
  @supports (animation-timeline: view()) {
    .c-home-mv__b-sentense {
      animation: home-mv-m-sentense-fade-in linear both;
      animation-timeline: view(block 40% 20%);
      animation-range: entry;
    }
  }
  .c-home-mv__b-sentense img {
    display: block;
    inline-size: 100%;
    block-size: auto;
  }
  @keyframes home-mv-m-sentense-fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .c-home-mv__b-s-img {
    display: block;
    height: auto;
  }
  .c-home-mv__scroller {
    inline-size: 9rem;
    aspect-ratio: 1/1;
    position: absolute;
    inset: -7rem 2rem auto auto;
    z-index: 3;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__scroller {
      inline-size: 12.2rem;
      inset: -4rem 4rem auto auto;
    }
  }
  .c-home-mv__scroller {
    opacity: 0.001;
    transform: scale(0.6);
  }
  .-dom-ready .c-home-mv__scroller {
    opacity: 1;
    transform: scale(1);
    transition: opacity 700ms linear 1400ms, transform 700ms var(--ease-smooth) 1400ms;
  }
  .c-home-mv__scroller-img {
    display: block;
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: auto;
  }
  .c-home-mv__scroller-img.-circle {
    animation: scroll-rotate 30s linear infinite;
  }
  @keyframes scroll-rotate {
    from {
      transform: rotateZ(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .c-home-mv__obj {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
  }
  .c-home-mv__obj-innr {
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    inline-size: 70rem;
    aspect-ratio: 1/1;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__obj-innr {
      inline-size: 108vw;
    }
    @media (orientation: portrait) {
      .c-home-mv__obj-innr {
        inline-size: auto;
        block-size: 100svh;
      }
    }
  }
  .c-home-mv__obj-innr svg {
    display: block;
    inline-size: 100%;
    block-size: 100%;
  }
  .c-home-mv__obj-innr svg path {
    fill: none;
  }
  .c-home-mv__obj-innr.-sp {
    display: block;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__obj-innr.-sp {
      display: none;
    }
  }
  .c-home-mv__obj-innr.-pc {
    display: none;
  }
  @container home-mv (min-inline-size: 64rem ) {
    .c-home-mv__obj-innr.-pc {
      display: block;
    }
  }
  .c-home-mv__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .c-home-mv__bg-overlay {
    position: fixed;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
    z-index: 2;
  }
  @supports (animation-timeline: scroll()) {
    .c-home-mv__bg-overlay {
      opacity: 0;
      animation: home-mv-overlay-fade-in linear forwards;
      animation-timeline: scroll();
      animation-range: 10svh 50svh;
    }
  }
  @keyframes home-mv-overlay-fade-in {
    to {
      opacity: 1;
    }
  }
  .c-home-mv__bg-innr {
    position: fixed;
    inset: 0 0 auto;
    block-size: 100svh;
    z-index: 1;
  }
  .c-home-mv__bg-innr-wrap {
    inline-size: 100%;
    block-size: 100%;
    overflow: hidden;
    opacity: 0.001;
    transform: scale(1.02);
  }
  .-dom-ready .c-home-mv__bg-innr-wrap {
    opacity: 1;
    transform: scale(1);
    transition: opacity 800ms linear 400ms, transform 800ms var(--ease-smooth) 400ms;
  }
}
@layer components {
  .c-message-main {
    --_gap-block: 4rem;
    margin-block: 4rem 9.6rem;
    display: grid;
    grid-template: "catch" "visual" "main"/minmax(0, 1fr);
    gap: var(--_gap-block);
  }
  @media (min-width: 768px) {
    .c-message-main {
      align-items: start;
      gap: 4rem 4rem;
      grid-template: "catch catch" "visual main"/26rem minmax(0, 1fr);
    }
  }
  @media (min-width: 1080px) {
    .c-message-main {
      margin-block: 8rem 16rem;
      gap: 8rem 12rem;
      grid-template: "catch catch" "visual main"/40rem minmax(0, 1fr);
    }
  }
  .c-message-main__catch {
    grid-area: catch;
    font-size: var(--font-size-26);
    font-weight: var(--weight-extrabold);
    line-height: 1.5;
    font-feature-settings: "palt";
    margin: unset;
  }
  @media (min-width: 1080px) {
    .c-message-main__catch {
      font-size: var(--font-size-36);
    }
  }
  .c-message-main__visual {
    grid-area: visual;
    display: flex;
    justify-content: center;
    border-radius: 0.6rem;
    overflow: hidden;
    max-inline-size: 20rem;
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .c-message-main__visual {
      margin-inline: unset;
      max-inline-size: none;
    }
  }
  .c-message-main__v-img {
    display: block;
    inline-size: 100%;
    height: auto;
  }
  .c-message-main__content {
    grid-area: main;
    font-size: normal;
    line-height: 1.8;
  }
}
@layer components {
  .c-message-phil__box {
    --_padding-inline: 2rem;
    --_padding-block: 3.2rem;
    padding-block: var(--_padding-block);
    padding-inline: var(--_padding-inline);
    border-radius: 0.6rem;
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  @media (min-width: 768px) {
    .c-message-phil__box {
      --_padding-inline: 4.8rem;
      --_padding-block: 4.8rem;
    }
  }
  @media (min-width: 1080px) {
    .c-message-phil__box {
      --_padding-inline: 8rem;
      --_padding-block: 8rem;
      gap: 6.4rem;
    }
  }
  .c-message-phil__box:has(+ .c-message-phil__box) {
    margin-block-end: 4rem;
  }
  @media (min-width: 1080px) {
    .c-message-phil__box:has(+ .c-message-phil__box) {
      margin-block-end: 6.4rem;
    }
  }
  .c-message-phil__header {
    padding-block: 0 3.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem 3.2rem;
    border-bottom: 1px solid var(--theme-border-subtle);
  }
  @media (min-width: 1080px) {
    .c-message-phil__header {
      flex-direction: row;
      justify-content: space-between;
    }
  }
  @media (min-width: 1080px) {
    .c-message-phil__header {
      padding-block: 0 4rem;
    }
  }
  .c-message-phil__hgroup {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 0 1.2rem;
  }
  @media (min-width: 1080px) {
    .c-message-phil__hgroup {
      gap: 0 2.4rem;
    }
  }
  .c-message-phil__hgroup::before {
    content: "";
    inline-size: 2.4rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 0.5rem solid var(--color-primary);
    position: relative;
    top: 0.25em;
  }
  @media (min-width: 1080px) {
    .c-message-phil__hgroup::before {
      inline-size: 3.2rem;
      border-width: 0.8rem;
    }
  }
  .c-message-phil__en {
    font-size: var(--font-size-28);
    font-weight: var(--weight-extrabold);
    line-height: 1.1;
    margin: unset;
    text-box: trim-both cap alphabetic;
  }
  @media (min-width: 1080px) {
    .c-message-phil__en {
      font-size: var(--font-size-40);
    }
  }
  .c-message-phil__title {
    font-size: var(--font-size-12);
    color: var(--color-text-subtle);
    line-height: 1.5;
  }
  @media (min-width: 1080px) {
    .c-message-phil__title {
      font-size: var(--font-size-15);
    }
  }
  .c-message-phil__dscr {
    font-size: var(--font-size-13);
    line-height: 1.5;
    margin: unset;
  }
  @media (min-width: 1080px) {
    .c-message-phil__dscr {
      font-size: var(--font-size-14);
    }
  }
  .c-message-phil__f-row {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  @media (min-width: 1080px) {
    .c-message-phil__f-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 40rem;
      gap: 4.8rem;
    }
  }
  .c-message-phil__f-content {
    font-size: normal;
    line-height: 1.8;
    color: var(--color-text-light);
    font-weight: var(--weight-bold);
  }
  .c-message-phil__spr {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
  }
  @media (min-width: 1080px) {
    .c-message-phil__spr {
      flex-direction: row;
      gap: 6.4rem;
    }
  }
  .c-message-phil__spr-item {
    display: block;
  }
  .c-message-phil__spr-visual {
    margin-block: 0 2.4rem;
    margin-inline: auto;
    inline-size: 12rem;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1.6rem solid var(--color-primary);
    display: grid;
    place-items: center;
    color: var(--color-primary);
  }
  .c-message-phil__spr-visual .material-symbols-sharp {
    font-size: var(--font-size-44);
    font-weight: var(--weight-medium);
  }
  .c-message-phil__spr-idx {
    font-size: var(--font-size-14);
    font-weight: var(--weight-bold);
    line-height: 1.1;
    margin-block: 0 1.2rem;
    color: var(--color-primary);
    font-feature-settings: "palt";
  }
  .c-message-phil__spr-idx span {
    padding-inline: 0.3em;
    letter-spacing: 0;
    font-size: var(--font-size-20);
  }
  .c-message-phil__spr-hgroup {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-block: 0 2.8rem;
  }
  .c-message-phil__spr-title {
    font-size: var(--font-size-24);
    font-weight: var(--weight-extrabold);
    line-height: 1.5;
    margin: unset;
    word-break: auto-phrase;
  }
  @media (min-width: 1080px) {
    .c-message-phil__spr-title {
      font-size: var(--font-size-28);
    }
  }
  .c-message-phil__spr-subtitle {
    font-size: var(--font-size-16);
    font-weight: var(--weight-bold);
    line-height: 1.5;
    margin: unset;
  }
  .c-message-phil__spr-dscr {
    font-size: normal;
    line-height: 1.8;
    font-size: var(--font-size-14);
    color: var(--color-text-light);
    font-weight: var(--weight-bold);
  }
}
@layer components {
  @media (max-width: 575px) {
    .c-timeline {
      --_negative-margin: calc(50% - 50cqi);
      margin-inline: var(--_negative-margin);
    }
  }
  .c-timeline__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  .c-timeline__tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 2px solid var(--color-primary);
    gap: 0.5rem;
  }
  @media (min-width: 1080px) {
    .c-timeline__tabs {
      display: none;
    }
  }
  .c-timeline__tab {
    padding-block: 1.75rem;
    padding-inline: 1rem;
    cursor: pointer;
    overflow: hidden;
    background-color: var(--theme-border-subtle);
    color: var(--color-text);
    border-radius: 0.6rem 0.6rem 0 0;
  }
  .c-timeline__tab[for=timeline-tab-mie] .c-timeline__tab-logo::before {
    -webkit-mask: var(--svg-logo-miehigashi) no-repeat center/contain;
            mask: var(--svg-logo-miehigashi) no-repeat center/contain;
  }
  .c-timeline__tab[for=timeline-tab-owari] .c-timeline__tab-logo::before {
    -webkit-mask: var(--svg-logo-owari) no-repeat center/contain;
            mask: var(--svg-logo-owari) no-repeat center/contain;
  }
  @media (max-width: 575px) {
    .c-timeline__tab:first-child {
      border-radius: 0 0.6rem 0 0;
    }
  }
  @media (max-width: 575px) {
    .c-timeline__tab:last-child {
      border-radius: 0.6rem 0 0 0;
    }
  }
  .c-timeline__tab-txt {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .c-timeline__tab-logo {
    display: block;
    block-size: 1.4rem;
  }
  .c-timeline__tab-logo::before {
    content: "";
    display: block;
    inline-size: 100%;
    block-size: 100%;
    background-color: currentColor;
  }
  .c-timeline #timeline-tab-mie:checked ~ .c-timeline__tabs .c-timeline__tab[for=timeline-tab-mie],
  .c-timeline #timeline-tab-owari:checked ~ .c-timeline__tabs .c-timeline__tab[for=timeline-tab-owari] {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  @media (min-width: 1080px) {
    .c-timeline__body {
      display: grid;
      grid-template-columns: max-content auto max-content minmax(0, 1fr) 4rem max-content auto max-content minmax(0, 1fr);
    }
  }
  .c-timeline__col {
    background-color: var(--color-white);
    display: none;
    padding-block: 3.2rem;
    padding-inline: 1.6rem;
  }
  @media (max-width: 575px) {
    .c-timeline__col {
      padding-inline: 2.6rem;
    }
  }
  @media (min-width: 1080px) {
    .c-timeline__col {
      display: grid;
      grid-template-columns: subgrid;
      grid-template-rows: subgrid;
      grid-row: 1/-1;
      padding-block: 2rem;
      padding-inline: 4rem;
    }
    .c-timeline__col[data-col=mie] {
      grid-column: 1/span 4;
    }
    .c-timeline__col[data-col=owari] {
      grid-column: 6/span 4;
    }
  }
  @media (max-width: 1079px) {
    .c-timeline #timeline-tab-mie:checked ~ .c-timeline__body [data-col=mie],
    .c-timeline #timeline-tab-owari:checked ~ .c-timeline__body [data-col=owari] {
      display: block;
    }
  }
  .c-timeline__title {
    display: none;
  }
  @media (min-width: 1080px) {
    .c-timeline__title {
      display: block;
      grid-column: span 4;
      height: 2.4rem;
      margin-block: 6rem 5.6rem;
      overflow: hidden;
      color: var(--color-text);
    }
    .c-timeline__title::before {
      content: "";
      display: block;
      inline-size: 100%;
      block-size: 100%;
      background-color: currentColor;
    }
    .c-timeline__title.-mie::before {
      -webkit-mask: var(--svg-logo-miehigashi) no-repeat left center/contain;
              mask: var(--svg-logo-miehigashi) no-repeat left center/contain;
    }
    .c-timeline__title.-owari::before {
      -webkit-mask: var(--svg-logo-owari) no-repeat left center/contain;
              mask: var(--svg-logo-owari) no-repeat left center/contain;
    }
  }
  .c-timeline__lines {
    display: grid;
    gap: 1.6rem 0;
    position: relative;
    overflow-y: clip;
    overflow-x: visible;
  }
  @media (max-width: 1079px) {
    .c-timeline__lines {
      grid-template-rows: inherit !important;
    }
  }
  @media (min-width: 1080px) {
    .c-timeline__lines {
      padding-block: 1.2rem 0;
      grid-template-columns: subgrid;
      grid-column: span 4;
      grid-template-rows: subgrid;
      grid-row: 2/-1;
    }
  }
  .c-timeline__group {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 4;
    gap: 1.2rem;
  }
  @media (max-width: 1079px) {
    .c-timeline__group {
      grid-row: auto !important;
    }
  }
  .c-timeline__group.-em {
    background: linear-gradient(157deg, #e60016 25.81%, #b20011 75.37%);
    color: var(--color-white);
    margin-inline: -0.8rem;
    padding-inline: 0.8rem;
    padding-block: 1.2rem;
    border-radius: 0.6rem;
  }
  @media (min-width: 1080px) {
    .c-timeline__group.-em {
      margin-inline: -2rem;
      padding-inline: 2rem;
      padding-block: 2rem;
      margin-block-start: 2.4rem;
    }
  }
  .c-timeline__group.-em .c-timeline__dot::after {
    background-color: var(--color-primary);
    border-color: var(--color-white);
    position: relative;
    z-index: 1;
  }
  .c-timeline__group:last-child .c-timeline__dot::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -300vh auto 0 50%;
    inline-size: 1px;
    background-color: var(--color-text);
    transform: translateX(-50%);
  }
  .c-timeline__item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 4;
    gap: 1.6rem;
    align-items: start;
  }
  .c-timeline__year {
    font-size: var(--font-size-12);
    font-weight: var(--weight-bold);
    white-space: nowrap;
    line-height: 1;
    text-align: right;
  }
  .c-timeline__year span {
    letter-spacing: 0;
    font-size: var(--font-size-18);
  }
  .c-timeline__dot {
    inline-size: 1.6rem;
    block-size: 1.6rem;
    position: relative;
  }
  .c-timeline__dot::after {
    content: "";
    display: block;
    position: relative;
    z-index: 2;
    inline-size: 100%;
    block-size: 100%;
    border-radius: 50%;
    background-color: var(--color-white);
    border: 4px solid var(--color-primary);
  }
  .c-timeline__month {
    font-size: var(--font-size-12);
    font-weight: var(--weight-bold);
    white-space: nowrap;
    line-height: 1;
    text-align: right;
  }
  .c-timeline__month span {
    letter-spacing: 0;
    font-size: var(--font-size-18);
  }
  .c-timeline__text {
    font-size: var(--font-size-14);
    line-height: 1.5;
    margin: unset;
    word-break: auto-phrase;
    overflow-wrap: anywhere;
    line-break: strict;
    text-wrap: pretty;
  }
}
@layer components {
  .c-sdgs {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
  }
  @media (min-width: 1080px) {
    .c-sdgs {
      gap: 12rem;
    }
  }
  .c-sdgs__section > *:first-child {
    margin-block-start: 0;
  }
  .c-sdgs__section.-bg-white {
    --_negative-margin: calc(50% - 50cqi);
    margin-inline: var(--_negative-margin);
    padding-inline: abs(var(--_negative-margin));
    background-color: var(--color-white);
    padding-block: 6.4rem;
  }
  @media (min-width: 1080px) {
    .c-sdgs__section.-bg-white {
      padding-block: 12rem;
    }
  }
  .c-sdgs__list-card {
    display: flex;
    flex-direction: column;
    gap: 3.7rem;
    margin-block: 4.8rem;
  }
  @media (min-width: 1080px) {
    .c-sdgs__list-card {
      margin-block: 8rem 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8rem 6.4rem;
    }
  }
  .c-sdgs__card {
    block-size: 100%;
    display: flex;
    flex-direction: column;
    background-color: var(--color-white);
    border-radius: 0.6rem;
    overflow: hidden;
  }
  .c-sdgs__visual {
    display: block;
    inline-size: 100%;
    aspect-ratio: 332/136;
    overflow: hidden;
  }
  @media (min-width: 1080px) {
    .c-sdgs__visual {
      aspect-ratio: auto;
      aspect-ratio: 568/200;
    }
  }
  .c-sdgs__img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .c-sdgs__body {
    padding-inline: 2rem;
    padding-block: 3.2rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
  @media (min-width: 1080px) {
    .c-sdgs__body {
      padding-inline: 4rem;
      padding-block: 4rem 3.2rem;
    }
  }
  .c-sdgs__body p {
    margin: unset;
    line-height: 1.8;
  }
  .c-sdgs__body ul {
    margin: unset;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .c-sdgs__body li {
    margin: unset;
    line-height: 1.5;
  }
  .c-sdgs__footer {
    margin-top: auto;
    padding-inline: 2rem;
    padding-block: 0 3.2rem;
  }
  @media (min-width: 1080px) {
    .c-sdgs__footer {
      padding-block: 0 4rem;
    }
  }
  .c-sdgs__label-list {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(auto-fit, 8.8rem);
  }
  .c-sdgs__label-img {
    display: block;
    inline-size: 100%;
    aspect-ratio: 1/1;
  }
  .c-sdgs__title {
    font-size: var(--font-size-20);
    font-weight: var(--weight-bold);
    line-height: 1.5;
    margin: 0;
    letter-spacing: 0;
  }
  @media (min-width: 1080px) {
    .c-sdgs__title {
      font-size: var(--font-size-28);
    }
  }
  .c-sdgs__subtitle {
    font-size: var(--font-size-16);
    font-weight: var(--weight-bold);
    line-height: 1.5;
    margin: 0;
    letter-spacing: 0;
  }
  @media (min-width: 1080px) {
    .c-sdgs__subtitle {
      font-size: var(--font-size-18);
    }
  }
  .c-sdgs__section-lead {
    font-feature-settings: "palt";
    font-size: var(--font-size-18);
    font-weight: var(--weight-bold);
    line-height: 1.8;
    text-decoration-line: underline;
    text-decoration-style: solid;
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
    text-decoration-color: var(--color-primary);
    text-decoration-thickness: 4%;
    text-underline-offset: 25%;
    text-underline-position: from-font;
  }
  @media (min-width: 1080px) {
    .c-sdgs__section-lead {
      font-size: var(--font-size-28);
    }
  }
  .c-sdgs__box {
    border-radius: 0.6rem;
    border: 0.6rem solid var(--theme-border-subtle);
    padding: 3.2rem;
    display: flex;
    flex-direction: column;
    margin-block: 4.8rem 0;
    gap: 5.6rem;
  }
  @media (min-width: 1080px) {
    .c-sdgs__box {
      padding: 8rem;
      gap: 8rem;
      margin-block: 8rem 0;
    }
  }
  .c-sdgs__box > * {
    margin-block: 0 !important;
  }
  .c-sdgs__b-title {
    font-size: var(--font-size-20);
    font-weight: var(--weight-bold);
    line-height: 1.5;
    text-align: center;
    margin: 0;
    letter-spacing: 0;
  }
  @media (min-width: 1080px) {
    .c-sdgs__b-title {
      font-size: var(--font-size-28);
    }
  }
  .c-sdgs__b-stack {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  .c-sdgs__b-stack > * {
    margin-block: 0 !important;
  }
  .c-sdgs__b-subtitle {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    padding-block: 0 1.6rem;
    font-size: var(--font-size-16);
    line-height: normal;
    font-weight: var(--weight-bold);
    gap: 0.8rem;
    border-bottom: 1px solid var(--theme-border-subtle);
  }
  @media (min-width: 1080px) {
    .c-sdgs__b-subtitle {
      font-size: var(--font-size-20);
    }
  }
  .c-sdgs__b-subtitle::before {
    content: "";
    inline-size: 1.6rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 0.4rem solid var(--color-primary);
    position: relative;
    top: 0.25em;
  }
  @media (min-width: 1080px) {
    .c-sdgs__b-subtitle::before {
      top: 0.37em;
    }
  }
  .c-sdgs__b-list {
    display: grid;
    list-style: none;
    margin: unset;
    padding: unset;
    counter-reset: sdgs-counter;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 1.2rem 1.6rem;
  }
  .c-sdgs__b-list li {
    counter-increment: sdgs-counter;
    position: relative;
    padding-left: 3.2rem;
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    font-size: var(--font-size-16);
    font-weight: var(--weight-bold);
    line-height: 1.5;
    margin: unset;
    padding: unset;
  }
  .c-sdgs__b-list li::before {
    content: counter(sdgs-counter, decimal-leading-zero);
    display: block;
    letter-spacing: 0;
    color: var(--color-primary);
  }
  .c-sdgs__b-note {
    line-height: 1.5;
    margin: 0;
    text-align: right;
  }
  @media (min-width: 1080px) {
    .c-sdgs__br-01 {
      display: none;
    }
  }
}
@layer components {
  .c-health__epl {
    display: grid;
    background-color: var(--color-white);
    padding-block: 3.2rem;
    padding-inline: 2rem;
    gap: 4rem;
    border-radius: 0.6rem;
  }
  @media (min-width: 1080px) {
    .c-health__epl {
      padding-block: 8rem;
      padding-inline: 8rem;
      gap: 6.4rem;
    }
  }
  .c-health__epl-head {
    display: grid;
    gap: 2.4rem;
    grid-template: "visual" "dscr"/minmax(0, 1fr);
  }
  @media (min-width: 768px) {
    .c-health__epl-head {
      grid-template: "dscr visual"/auto fit-content(43.7rem);
      align-items: center;
      justify-content: space-between;
    }
  }
  .c-health__epl-dscr {
    grid-area: dscr;
    font-size: normal;
    line-height: 1.8;
  }
  @media (min-width: 1080px) {
    .c-health__epl-dscr {
      word-break: keep-all;
      overflow-wrap: anywhere;
    }
  }
  .c-health__epl-visual {
    grid-area: visual;
  }
  .c-health__epl-img {
    display: block;
    inline-size: 100%;
    height: auto;
  }
  .c-health__epl-box {
    border-radius: 0.6rem;
    border: 0.6rem solid var(--theme-border-subtle);
    padding-block: 4rem;
    padding-inline: 2rem;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  @media (min-width: 1080px) {
    .c-health__epl-box {
      padding-block: 6.4rem;
      padding-inline: 8rem;
      gap: 4.8rem;
    }
  }
  .c-health__epl-box > * {
    margin-block: 0 !important;
  }
  .c-health__b-title {
    font-size: var(--font-size-24);
    font-weight: var(--weight-extrabold);
    line-height: 1.1;
    text-align: center;
    margin: 0;
    letter-spacing: 0;
  }
  @media (min-width: 1080px) {
    .c-health__b-title {
      font-size: var(--font-size-32);
    }
  }
  .c-health__b-stack {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
  .c-health__b-dscr {
    font-size: normal;
    line-height: 1.8;
    font-weight: var(--weight-bold);
  }
  @media (min-width: 1080px) {
    .c-health__b-dscr {
      word-break: keep-all;
      overflow-wrap: anywhere;
      text-align: center;
      padding-inline: 3rem;
    }
  }
  .c-health__b-note {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 2.4rem;
    letter-spacing: 0;
    text-align: center;
    line-height: 1.5;
  }
  .c-health__str {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
  }
  @media (min-width: 768px) {
    .c-health__str {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: center;
    }
  }
  .c-health__s-img {
    display: block;
    inline-size: 100%;
    height: auto;
    max-inline-size: 49.9rem;
  }
  @media (min-width: 768px) {
    .c-health__s-dscr {
      display: flex;
      justify-content: center;
    }
  }
  .c-health__s-dscr br {
    display: none;
  }
  @media (min-width: 1080px) {
    .c-health__s-dscr br {
      display: initial;
    }
  }
  .c-health__s-img {
    display: block;
    inline-size: 100%;
    height: auto;
  }
  .c-health__ky-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
  @media (min-width: 768px) {
    .c-health__ky-list {
      gap: 3.2rem;
    }
  }
  @media (min-width: 1080px) {
    .c-health__ky-list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6.4rem;
    }
  }
  .c-health__k-card {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  @media (min-width: 1080px) {
    .c-health__k-card {
      gap: 1.6rem;
    }
  }
  .c-health__k-visual {
    border-radius: 0.6rem;
    overflow: hidden;
    inline-size: 100%;
    aspect-ratio: 157/86.35;
  }
  .c-health__k-img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .c-health__k-dscr {
    text-align: center;
    font-weight: var(--weight-bold);
    font-size: var(--font-size-12);
    line-height: 1.5;
    margin: unset;
  }
  @media (min-width: 768px) {
    .c-health__k-dscr {
      font-size: var(--font-size-16);
    }
  }
}
@layer components {
  .c-health-act {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
  .c-health-act__block {
    background-color: var(--color-white);
    padding-inline: 2rem;
    padding-block: 3.2rem;
    border-radius: 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
  @media (min-width: 1080px) {
    .c-health-act__block {
      padding-inline: 6.4rem;
      padding-block: 4.8rem;
    }
  }
  .c-health-act__header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4rem 2.4rem;
  }
  @media (min-width: 1080px) {
    .c-health-act__header {
      gap: 4rem 4.8rem;
    }
  }
  .c-health-act__h-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 2.4rem;
    line-height: 1.5;
    font-size: var(--font-size-20);
    word-break: auto-phrase;
    overflow-wrap: anywhere;
    line-break: strict;
    text-wrap: pretty;
    min-inline-size: 20rem;
  }
  @media (min-width: 1080px) {
    .c-health-act__h-title {
      font-size: var(--font-size-24);
    }
  }
  .c-health-act__h-label {
    inline-size: 6.4rem;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 0.4rem solid var(--color-primary);
    color: var(--color-primary);
    display: grid;
    place-items: center;
  }
  .c-health-act__h-label span {
    display: block;
    text-box: trim-both cap alphabetic;
    font-weight: var(--weight-extrabold);
    font-size: var(--font-size-24);
  }
  .c-health-act__h-dscr {
    font-size: var(--font-size-16);
    line-height: 1.5;
    margin: unset;
    letter-spacing: 0;
  }
  .c-health-act__body {
    border-bottom: 1px solid var(--theme-border-subtle);
    display: flex;
    flex-direction: column;
  }
  .c-health-act__card {
    border-top: 1px solid var(--theme-border-subtle);
    padding-block: 4rem;
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
  @media (min-width: 768px) {
    .c-health-act__card {
      display: grid;
      grid-template: "goal goal" "content visual"/minmax(0, 1fr) fit-content(18rem);
    }
  }
  @media (min-width: 1080px) {
    .c-health-act__card {
      display: grid;
      grid-template: "goal visual" "content visual"/minmax(0, 1fr) fit-content(20rem);
    }
  }
  .c-health-act__goal {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    grid-area: goal;
  }
  @media (min-width: 1080px) {
    .c-health-act__goal {
      flex-direction: row;
      align-items: flex-start;
    }
  }
  .c-health-act__g-label {
    font-size: var(--font-size-16);
    font-weight: var(--weight-bold);
    margin: unset;
    letter-spacing: 0;
    color: var(--color-white);
    background-color: var(--color-primary);
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    padding-block: 0.8rem;
    border-radius: calc(infinity * 1px);
    padding-inline: 1.6rem;
    text-align: center;
    min-inline-size: 8rem;
  }
  .c-health-act__g-label span {
    display: block;
    text-box: trim-both cap alphabetic;
  }
  .c-health-act__g-pack {
    font-size: var(--font-size-16);
    line-height: 1.5;
    margin: unset;
    letter-spacing: 0;
    font-weight: var(--weight-bold);
  }
  @media (min-width: 1080px) {
    .c-health-act__g-pack {
      padding-block: 0.2rem 0;
      font-size: var(--font-size-18);
    }
  }
  .c-health-act__content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    grid-area: content;
  }
  .c-health-act__c-title {
    color: var(--color-primary);
    font-size: var(--font-size-14);
    font-weight: var(--weight-bold);
    line-height: 1.5;
    margin: unset;
  }
  .c-health-act__c-timeline {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    font-size: var(--font-size-14);
    gap: 1.2rem 0.8rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
  @media (min-width: 1080px) {
    .c-health-act__c-timeline {
      font-size: var(--font-size-16);
    }
  }
  .c-health-act__visual {
    border-radius: 0.6rem;
    overflow: hidden;
    aspect-ratio: 295/160;
    grid-area: visual;
  }
  @media (min-width: 768px) {
    .c-health-act__visual {
      aspect-ratio: 1/1;
    }
  }
  .c-health-act__visual img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@layer components {
  .c-modal {
    --_modal-duration: var(--duration-slow);
    --_modal-easing: var(--ease-out);
    --_modal-backdrop-color: rgb(0 0 0 / 60%);
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 2rem;
    inline-size: 100%;
    block-size: 100%;
    max-inline-size: none;
    max-block-size: none;
    border: none;
    background: transparent;
    overflow: hidden;
  }
  .c-modal::backdrop {
    background: transparent;
  }
  .c-modal:not([open]) {
    display: none;
  }
  .c-modal::before {
    content: "";
    position: fixed;
    inset: 0;
    background-color: var(--_modal-backdrop-color);
    opacity: 0;
    transition: opacity var(--_modal-duration) var(--_modal-easing);
    backdrop-filter: blur(1.4rem);
    z-index: -1;
  }
  .c-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 10;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    padding: 0;
    background-color: var(--color-white);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: var(--color-text);
    font-size: 0;
    box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.2);
    transition: background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), opacity var(--_modal-duration) var(--_modal-easing);
    opacity: 0;
    transform: scale(0.8);
  }
  .c-modal__close:hover {
    background-color: var(--theme-bg-subtle);
  }
  .c-modal__close:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }
  .c-modal__close::before, .c-modal__close::after {
    content: "";
    position: absolute;
    width: 1.6rem;
    height: 2px;
    background-color: currentColor;
    border-radius: 1px;
  }
  .c-modal__close::before {
    transform: rotate(45deg);
  }
  .c-modal__close::after {
    transform: rotate(-45deg);
  }
  .c-modal__innr {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    overflow: auto;
    overscroll-behavior: contain;
    background-color: var(--theme-bg-subtle);
    border-radius: 0.6rem;
    opacity: 0;
    transform: translateY(2rem) scale(0.96);
    transition: opacity var(--_modal-duration) var(--_modal-easing), transform var(--_modal-duration) var(--ease-out-back);
  }
  .c-modal[data-active=true]::before {
    opacity: 1;
  }
  .c-modal[data-active=true] .c-modal__close {
    opacity: 1;
    transform: scale(1);
  }
  .c-modal[data-active=true] .c-modal__innr {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  .c-modal[data-active=false]::before {
    opacity: 0;
  }
  .c-modal[data-active=false] .c-modal__close {
    opacity: 0;
    transform: scale(0.8);
  }
  .c-modal[data-active=false] .c-modal__innr {
    opacity: 0;
    transform: translateY(1rem) scale(0.98);
    transition: opacity var(--_modal-duration) var(--_modal-easing), transform var(--_modal-duration) var(--ease-in);
  }
}
@layer utilities {
  .u-block {
    display: block !important;
  }
  .u-inline-block {
    display: inline-block !important;
  }
  .u-inline {
    display: inline !important;
  }
  .u-flex {
    display: flex !important;
  }
  .u-inline-flex {
    display: inline-flex !important;
  }
  .u-grid {
    display: grid !important;
  }
  .u-hidden {
    display: none !important;
  }
  .u-invisible {
    visibility: hidden !important;
  }
  .u-visible {
    visibility: visible !important;
  }
  .u-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .u-flex-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .u-flex-wrap {
    flex-wrap: wrap !important;
  }
  .u-flex-nowrap {
    flex-wrap: nowrap !important;
  }
  .u-items-start {
    align-items: flex-start !important;
  }
  .u-items-center {
    align-items: center !important;
  }
  .u-items-end {
    align-items: flex-end !important;
  }
  .u-justify-start {
    justify-content: flex-start !important;
  }
  .u-justify-center {
    justify-content: center !important;
  }
  .u-justify-end {
    justify-content: flex-end !important;
  }
  .u-justify-between {
    justify-content: space-between !important;
  }
  .u-gap-4 {
    gap: var(--gap-4) !important;
  }
  .u-gap-8 {
    gap: var(--gap-8) !important;
  }
  .u-gap-16 {
    gap: var(--gap-16) !important;
  }
  .u-gap-24 {
    gap: var(--gap-24) !important;
  }
  .u-gap-32 {
    gap: var(--gap-32) !important;
  }
  @media (min-width: 768px) {
    .u-sp-only {
      display: none !important;
    }
  }
  @media (max-width: 767px) {
    .u-tb-up {
      display: none !important;
    }
  }
  @media (max-width: 1079px) {
    .u-pc-up {
      display: none !important;
    }
  }
  @media (max-width: 767px) {
    .u-hidden-sp {
      display: none !important;
    }
  }
  @media (min-width: 768px) {
    .u-hidden-tb-up {
      display: none !important;
    }
  }
}
@layer utilities {
  .u-mt-0 {
    margin-block-start: 0rem !important;
  }
  .u-mb-0 {
    margin-block-end: 0rem !important;
  }
  .u-mt-1 {
    margin-block-start: 1rem !important;
  }
  .u-mb-1 {
    margin-block-end: 1rem !important;
  }
  .u-mt-1\.6 {
    margin-block-start: 1.6rem !important;
  }
  .u-mb-1\.6 {
    margin-block-end: 1.6rem !important;
  }
  .u-mt-2 {
    margin-block-start: 2rem !important;
  }
  .u-mb-2 {
    margin-block-end: 2rem !important;
  }
  .u-mt-2\.4 {
    margin-block-start: 2.4rem !important;
  }
  .u-mb-2\.4 {
    margin-block-end: 2.4rem !important;
  }
  .u-mt-3 {
    margin-block-start: 3rem !important;
  }
  .u-mb-3 {
    margin-block-end: 3rem !important;
  }
  .u-mt-3\.2 {
    margin-block-start: 3.2rem !important;
  }
  .u-mb-3\.2 {
    margin-block-end: 3.2rem !important;
  }
  .u-mt-4 {
    margin-block-start: 4rem !important;
  }
  .u-mb-4 {
    margin-block-end: 4rem !important;
  }
  .u-mt-4\.8 {
    margin-block-start: 4.8rem !important;
  }
  .u-mb-4\.8 {
    margin-block-end: 4.8rem !important;
  }
  .u-mt-5 {
    margin-block-start: 5rem !important;
  }
  .u-mb-5 {
    margin-block-end: 5rem !important;
  }
  .u-mt-5\.6 {
    margin-block-start: 5.6rem !important;
  }
  .u-mb-5\.6 {
    margin-block-end: 5.6rem !important;
  }
  .u-mt-6 {
    margin-block-start: 6rem !important;
  }
  .u-mb-6 {
    margin-block-end: 6rem !important;
  }
  .u-mt-6\.4 {
    margin-block-start: 6.4rem !important;
  }
  .u-mb-6\.4 {
    margin-block-end: 6.4rem !important;
  }
  .u-mt-7 {
    margin-block-start: 7rem !important;
  }
  .u-mb-7 {
    margin-block-end: 7rem !important;
  }
  .u-mt-8 {
    margin-block-start: 8rem !important;
  }
  .u-mb-8 {
    margin-block-end: 8rem !important;
  }
  .u-mt-9 {
    margin-block-start: 9rem !important;
  }
  .u-mb-9 {
    margin-block-end: 9rem !important;
  }
  .u-mt-9\.6 {
    margin-block-start: 9.6rem !important;
  }
  .u-mb-9\.6 {
    margin-block-end: 9.6rem !important;
  }
  .u-mt-10 {
    margin-block-start: 10rem !important;
  }
  .u-mb-10 {
    margin-block-end: 10rem !important;
  }
  .u-mt-11 {
    margin-block-start: 11rem !important;
  }
  .u-mb-11 {
    margin-block-end: 11rem !important;
  }
  .u-mt-12 {
    margin-block-start: 12rem !important;
  }
  .u-mb-12 {
    margin-block-end: 12rem !important;
  }
  .u-mt-13 {
    margin-block-start: 13rem !important;
  }
  .u-mb-13 {
    margin-block-end: 13rem !important;
  }
  .u-mt-14 {
    margin-block-start: 14rem !important;
  }
  .u-mb-14 {
    margin-block-end: 14rem !important;
  }
  @media (min-width: 1080px) {
    .pc\:u-mt-0 {
      margin-block-start: 0rem !important;
    }
    .pc\:u-mb-0 {
      margin-block-end: 0rem !important;
    }
    .pc\:u-mt-1 {
      margin-block-start: 1rem !important;
    }
    .pc\:u-mb-1 {
      margin-block-end: 1rem !important;
    }
    .pc\:u-mt-1\.6 {
      margin-block-start: 1.6rem !important;
    }
    .pc\:u-mb-1\.6 {
      margin-block-end: 1.6rem !important;
    }
    .pc\:u-mt-2 {
      margin-block-start: 2rem !important;
    }
    .pc\:u-mb-2 {
      margin-block-end: 2rem !important;
    }
    .pc\:u-mt-2\.4 {
      margin-block-start: 2.4rem !important;
    }
    .pc\:u-mb-2\.4 {
      margin-block-end: 2.4rem !important;
    }
    .pc\:u-mt-3 {
      margin-block-start: 3rem !important;
    }
    .pc\:u-mb-3 {
      margin-block-end: 3rem !important;
    }
    .pc\:u-mt-3\.2 {
      margin-block-start: 3.2rem !important;
    }
    .pc\:u-mb-3\.2 {
      margin-block-end: 3.2rem !important;
    }
    .pc\:u-mt-4 {
      margin-block-start: 4rem !important;
    }
    .pc\:u-mb-4 {
      margin-block-end: 4rem !important;
    }
    .pc\:u-mt-4\.8 {
      margin-block-start: 4.8rem !important;
    }
    .pc\:u-mb-4\.8 {
      margin-block-end: 4.8rem !important;
    }
    .pc\:u-mt-5 {
      margin-block-start: 5rem !important;
    }
    .pc\:u-mb-5 {
      margin-block-end: 5rem !important;
    }
    .pc\:u-mt-5\.6 {
      margin-block-start: 5.6rem !important;
    }
    .pc\:u-mb-5\.6 {
      margin-block-end: 5.6rem !important;
    }
    .pc\:u-mt-6 {
      margin-block-start: 6rem !important;
    }
    .pc\:u-mb-6 {
      margin-block-end: 6rem !important;
    }
    .pc\:u-mt-6\.4 {
      margin-block-start: 6.4rem !important;
    }
    .pc\:u-mb-6\.4 {
      margin-block-end: 6.4rem !important;
    }
    .pc\:u-mt-7 {
      margin-block-start: 7rem !important;
    }
    .pc\:u-mb-7 {
      margin-block-end: 7rem !important;
    }
    .pc\:u-mt-8 {
      margin-block-start: 8rem !important;
    }
    .pc\:u-mb-8 {
      margin-block-end: 8rem !important;
    }
    .pc\:u-mt-9 {
      margin-block-start: 9rem !important;
    }
    .pc\:u-mb-9 {
      margin-block-end: 9rem !important;
    }
    .pc\:u-mt-9\.6 {
      margin-block-start: 9.6rem !important;
    }
    .pc\:u-mb-9\.6 {
      margin-block-end: 9.6rem !important;
    }
    .pc\:u-mt-10 {
      margin-block-start: 10rem !important;
    }
    .pc\:u-mb-10 {
      margin-block-end: 10rem !important;
    }
    .pc\:u-mt-11 {
      margin-block-start: 11rem !important;
    }
    .pc\:u-mb-11 {
      margin-block-end: 11rem !important;
    }
    .pc\:u-mt-12 {
      margin-block-start: 12rem !important;
    }
    .pc\:u-mb-12 {
      margin-block-end: 12rem !important;
    }
    .pc\:u-mt-13 {
      margin-block-start: 13rem !important;
    }
    .pc\:u-mb-13 {
      margin-block-end: 13rem !important;
    }
    .pc\:u-mt-14 {
      margin-block-start: 14rem !important;
    }
    .pc\:u-mb-14 {
      margin-block-end: 14rem !important;
    }
  }
}
@layer utilities {
  .u-text-left {
    text-align: left !important;
  }
  .u-text-center {
    text-align: center !important;
  }
  .u-text-right {
    text-align: right !important;
  }
  .u-text-xs {
    font-size: var(--text-xs) !important;
  }
  .u-text-sm {
    font-size: var(--text-sm) !important;
  }
  .u-text-base {
    font-size: var(--text-base) !important;
  }
  .u-text-lg {
    font-size: var(--text-lg) !important;
  }
  .u-text-xl {
    font-size: var(--text-xl) !important;
  }
  .u-text-2xl {
    font-size: var(--text-2xl) !important;
  }
  .u-font-normal {
    font-weight: var(--weight-normal) !important;
  }
  .u-font-medium {
    font-weight: var(--weight-medium) !important;
  }
  .u-font-bold {
    font-weight: var(--weight-bold) !important;
  }
  .u-text-primary {
    color: var(--color-primary) !important;
  }
  .u-text-muted {
    color: var(--color-text-muted) !important;
  }
  .u-text-subtle {
    color: var(--color-text-subtle) !important;
  }
  .u-uppercase {
    text-transform: uppercase !important;
  }
  .u-lowercase {
    text-transform: lowercase !important;
  }
  .u-capitalize {
    text-transform: capitalize !important;
  }
  .u-underline {
    text-decoration: underline !important;
  }
  .u-no-underline {
    text-decoration: none !important;
  }
  .u-line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .u-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .u-line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.u-list-none {
  list-style: none;
}
.u-list-disc {
  list-style: disc;
}
.u-list-decimal {
  list-style: decimal;
}
.u-list-circle {
  list-style: circle;
}
.u-list-square {
  list-style: square;
}
.u-list-lower-alpha {
  list-style: lower-alpha;
}
.u-list-upper-alpha {
  list-style: upper-alpha;
}
.u-list-lower-roman {
  list-style: lower-roman;
}
.u-list-upper-roman {
  list-style: upper-roman;
}

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

@layer vendor {
  @keyframes splide-loading {
    0% {
      transform: rotate(0);
    }
    to {
      transform: rotate(1turn);
    }
  }
  .splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
         user-select: none;
  }
  .splide__track--fade > .splide__list > .splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0;
  }
  .splide__track--fade > .splide__list > .splide__slide.is-active {
    opacity: 1;
    z-index: 1;
  }
  .splide--rtl {
    direction: rtl;
  }
  .splide__track--ttb > .splide__list {
    display: block;
  }
  .splide__container {
    box-sizing: border-box;
    position: relative;
  }
  .splide__list {
    backface-visibility: hidden;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }
  .splide.is-initialized:not(.is-active) .splide__list {
    display: block;
  }
  .splide__pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    pointer-events: none;
  }
  .splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto;
  }
  .splide:not(.is-overflow) .splide__pagination {
    display: none;
  }
  .splide__progress__bar {
    width: 0;
  }
  .splide {
    position: relative;
    visibility: hidden;
  }
  .splide.is-initialized,
  .splide.is-rendered {
    visibility: visible;
  }
  .splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative;
  }
  .splide__slide img {
    vertical-align: bottom;
  }
  .splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
  }
  .splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .splide__toggle.is-active .splide__toggle__play,
  .splide__toggle__pause {
    display: none;
  }
  .splide__toggle.is-active .splide__toggle__pause {
    display: inline;
  }
  .splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0;
  }
}