*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}:root{--bg: #f8f6f3;--text: #2a2a2a;--text-light: #6b6560;--text-lighter: #9e9790;--border: #e0dcd7;--serif: "Hiragino Mincho ProN", "YuMincho", "Noto Serif JP", "Georgia", serif;--sans: "Hiragino Kaku Gothic ProN", "YuGothic", "Noto Sans JP", "Helvetica Neue", sans-serif}html{scroll-behavior:smooth}body{font-family:var(--serif);background:var(--bg);color:var(--text);line-height:1.8;-webkit-font-smoothing:antialiased;text-wrap:pretty;word-break:auto-phrase}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:20px 40px;gap:16px;transition:background .4s,backdrop-filter .4s}.nav.scrolled,.nav.solid{background:#f8f6f3eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav .logo{display:flex;align-items:center;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.15em;color:var(--text)}.nav .logo-img{height:32px;width:auto;display:block;transition:filter .4s}.nav .logo.inverted .logo-img{filter:brightness(0) invert(1)}.nav .nav-links{display:flex;align-items:center;gap:28px;list-style:none}.nav .nav-links a{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.12em;color:var(--text);transition:opacity .2s}.nav .nav-links a.inverted{color:#fff}.nav .nav-links a:hover{opacity:.6}.nav .nav-links a.shop-link{font-size:12px;letter-spacing:.1em;padding:8px 14px;border:1px solid var(--text);border-radius:2px}.nav .nav-links a.shop-link.inverted{border-color:#ffffffb3}.nav .lang-switcher{margin-left:4px;padding-left:16px;border-left:1px solid var(--border)}.nav .nav-links a.lang-link{font-size:12px;font-weight:600;letter-spacing:.15em;padding:4px 8px}.nav.solid .lang-switcher{border-left-color:var(--border)}.nav:not(.solid):not(.scrolled) .lang-switcher{border-left-color:#ffffff4d}.menu-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:10px 6px;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:6px}.menu-toggle span{display:block;width:24px;height:1.5px;background:var(--text);transition:transform .3s,opacity .3s,background .3s}.menu-toggle.inverted span{background:#fff}.menu-toggle.open span{background:var(--text)}.menu-toggle.open span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}.menu-toggle.open span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;background:var(--bg);z-index:99;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;display:flex;align-items:center;justify-content:center;padding:80px 24px 40px;overflow-y:auto}.mobile-menu.open{opacity:1;visibility:visible}.mobile-nav-links{list-style:none;text-align:center;width:100%;max-width:400px}.mobile-nav-links li{margin-bottom:28px}.mobile-nav-links a{display:inline-block;font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.12em;color:var(--text);padding:6px 12px}.mobile-nav-links .mobile-shop{margin-top:36px;padding-top:28px;border-top:1px solid var(--border)}.mobile-nav-links .mobile-shop a{font-family:var(--sans);font-size:14px;letter-spacing:.12em}.mobile-nav-links .mobile-lang a{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.18em;border:1px solid var(--border);border-radius:100px;padding:6px 18px}@media (max-width: 1180px){.nav{padding:18px 24px;gap:12px}.nav .nav-links{gap:18px}.nav .nav-links a{font-size:12px;letter-spacing:.08em}.nav .nav-links a.shop-link{font-size:11px;padding:6px 10px;white-space:nowrap}.nav .lang-switcher{padding-left:12px;margin-left:0}}@media (max-width: 1080px){.nav .nav-links{display:none}.menu-toggle{display:flex}}@media (prefers-reduced-motion: reduce){.mobile-menu,.menu-toggle span{transition:none}}.hero-image,.page-hero img,.article-hero img,.work-hero img{opacity:0;animation:heroImageFadeIn 1.6s ease-out .1s forwards}@keyframes heroImageFadeIn{to{opacity:1}}@media (prefers-reduced-motion: reduce){.hero-image,.page-hero img,.article-hero img,.work-hero img{opacity:1;animation:none}}.footer-wrap{max-width:1100px;margin:0 auto;padding:48px 40px 32px;border-top:1px solid var(--border)}.footer-top{display:flex;justify-content:space-between;align-items:flex-start}.footer-logo{display:inline-block}.footer-logo img{height:30px;width:auto;display:block}.footer-address{font-family:var(--sans);font-size:12px;color:var(--text-lighter);margin-top:14px;line-height:1.9}.footer-address .address-link{color:inherit;transition:color .2s}.footer-address .address-link:hover{color:var(--text)}.footer-links{display:flex;gap:24px;list-style:none}.footer-links a{font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:var(--text-lighter);transition:color .2s}.footer-links a:hover{color:var(--text)}.footer-bottom{text-align:center;margin-top:40px;font-family:var(--sans);font-size:12px;color:var(--text-lighter)}.section{max-width:1100px;margin:0 auto;padding:100px 40px}.section-label{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-lighter);margin-bottom:48px}@media (max-width: 768px){.nav{padding:14px 20px}.nav .logo-img{height:26px}.section{padding:64px 24px}.footer-wrap{padding:36px 24px 24px}.footer-top{flex-direction:column;gap:24px}.footer-links{flex-wrap:wrap;gap:16px 20px}}
