:root {
  --store-white: #fff;
  --store-surface: #f4f6f7;
  --store-navy: #17324d;
  --store-navy-dark: #10263a;
  --store-teal: #2f7c78;
  --store-orange: #c96f2d;
  --store-text: #1e2933;
  --store-muted: #5f6b75;
  --store-border: #d8e0e4;
  --store-focus: #d97706;
  --store-shadow: 0 12px 36px rgb(23 50 77 / 9%);
  --store-radius: 12px;
  --store-container: 1280px;
  --store-font-size-min: .8rem;
  --duration-fast: 220ms;
  --duration-normal: 280ms;
  --duration-slow: 600ms;
  --ease-standard: cubic-bezier(.2, .7, .2, 1);
  --hover-lift: -2px;
  --reveal-distance: 12px;
  --header-offset: 104px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; color: var(--store-text); background: var(--store-white); font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; font-size: 1rem; line-height: 1.8; overflow-wrap: break-word; word-break: normal; line-break: strict; }
body.store-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .2em; }
button { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--store-navy); line-height: 1.35; letter-spacing: .025em; }
h1 { font-size: clamp(2.35rem, 4.7vw, 4.35rem); }
h2 { font-size: clamp(1.85rem, 3.5vw, 2.95rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
:focus-visible { outline: 3px solid var(--store-focus); outline-offset: 4px; }
:where(main section[id], footer [id], #store-main) { scroll-margin-top: var(--header-offset); }
.store-container { width: min(calc(100% - 64px), var(--store-container)); margin-inline: auto; }
.store-container--narrow { max-width: 880px; }
.store-section { padding-block: clamp(4.25rem, 7vw, 6.5rem); }
.store-section-heading { max-width: 800px; margin: 0 auto 3rem; text-align: center; }
.store-section-heading--center { margin-inline: auto; text-align: center; }
.store-eyebrow { margin-bottom: .75rem; color: var(--store-teal); font-size: .78rem; font-weight: 700; letter-spacing: .18em; }
.store-only-mobile { display: none; }
.store-only-desktop { display: initial; }
.store-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; margin: -1px !important; padding: 0 !important; border: 0 !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.store-heading-line { display: inline; }
.store-skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 16px; color: white; background: var(--store-navy); transform: translateY(-160%); }
.store-skip-link:focus { transform: translateY(0); }
.js .store-reveal { opacity: 0; transform: translateY(var(--reveal-distance)); transition: opacity var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard); }
.js .store-reveal.is-visible { opacity: 1; transform: none; }
.js .store-reveal-group > .store-reveal:nth-child(2) { transition-delay: 70ms; }
.js .store-reveal-group > .store-reveal:nth-child(3) { transition-delay: 140ms; }
.js .store-reveal-group > .store-reveal:nth-child(4) { transition-delay: 210ms; }
@media (max-width: 767px) {
  :root { --header-offset: 88px; --reveal-distance: 8px; }
  .store-container { width: min(calc(100% - 40px), var(--store-container)); }
  .store-section { padding-block: 3.75rem; }
  .store-only-mobile { display: initial; }
  .store-only-desktop { display: none; }
  .store-heading-line { display: block; }
  h1 { font-size: clamp(2rem, 10vw, 2.75rem); }
  h2 { font-size: clamp(1.55rem, 7vw, 1.85rem); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; transition-delay: 0ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .js .store-reveal { opacity: 1; transform: none; }
}
