:root{--ink: #000000;--ink-raised: #0B0A08;--gold: #7B5F30;--gold-bright: #A8843F;--gold-deep: #5A4623;--bone: #FAF7F2;--bone-soft: rgba(250, 247, 242, .74);--bone-dim: rgba(250, 247, 242, .46);--bone-faint: rgba(250, 247, 242, .22);--hairline-gold: rgba(123, 95, 48, .34);--hairline-bone: rgba(250, 247, 242, .1);--focus: #C79A4E;--font-display: "Marcellus", "Noto Serif JP", serif;--font-body: "Noto Serif JP", "Marcellus", serif;--font-util: "Inter Tight", system-ui, -apple-system, sans-serif;--fs-hero: clamp(2.75rem, 7vw, 6rem);--fs-display: clamp(2rem, 4.6vw, 3.4rem);--fs-title: clamp(1.4rem, 2.6vw, 2rem);--fs-lead: clamp(1.125rem, 1.6vw, 1.4rem);--fs-body: clamp(1rem, 1.05vw, 1.0625rem);--fs-small: .875rem;--fs-eyebrow: .72rem;--lh-tight: 1.12;--lh-snug: 1.4;--lh-body: 1.95;--ls-eyebrow: .32em;--ls-caps: .16em;--ls-wordmark: .2em;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1.25rem;--space-md: 2rem;--space-lg: 3.5rem;--space-xl: 6rem;--space-2xl: clamp(6rem, 14vh, 11rem);--gutter: clamp(1.5rem, 6vw, 6rem);--measure: 42rem;--maxw: 80rem;--ease: cubic-bezier(.22, .61, .36, 1);--dur-slow: .9s;--dur-med: .6s;--dur-fast: .3s}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}img,svg,picture{display:block;max-width:100%}a{color:inherit;text-decoration:none}body{background:var(--ink);color:var(--bone-soft);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:hidden}.display{font-family:var(--font-display);font-weight:400;line-height:var(--lh-tight);color:var(--bone);letter-spacing:var(--ls-caps)}.eyebrow{font-family:var(--font-util);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold-bright)}.lead{font-size:var(--fs-lead);line-height:var(--lh-snug);color:var(--bone)}.caption{font-family:var(--font-util);font-size:var(--fs-small);color:var(--bone-dim);letter-spacing:.02em}.frame{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.measure{max-width:var(--measure)}.rule{height:1px;border:0;background:var(--hairline-gold)}.rule--bone{background:var(--hairline-bone)}.link{color:var(--bone);border-bottom:1px solid var(--hairline-gold);padding-bottom:1px;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.link:hover{color:var(--gold-bright);border-color:var(--gold-bright)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:1px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}::selection{background:#a8843f52;color:var(--bone)}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);will-change:opacity,transform}.js [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-reveal],.js [data-reveal]{opacity:1;transform:none}}.skip-link[data-astro-cid-37fxchfa]{position:absolute;left:1rem;top:-3rem;z-index:100;padding:.6rem 1rem;background:var(--gold);color:var(--ink);font-family:var(--font-util);font-size:var(--fs-small);transition:top var(--dur-fast) var(--ease)}.skip-link[data-astro-cid-37fxchfa]:focus{top:1rem}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1rem var(--gutter);transition:background var(--dur-med) var(--ease),border-color var(--dur-med) var(--ease);border-bottom:1px solid transparent}.site-header.is-scrolled{background:#000000b8;backdrop-filter:saturate(120%) blur(8px);border-bottom-color:var(--hairline-bone)}.site-header__brand{display:flex;align-items:center;gap:9px}.site-header__brand .brand-mark{height:23px;width:auto;display:block}.site-header__brand .brand-type{height:19px;width:auto;display:block}.site-nav{display:flex;gap:clamp(1.2rem,3vw,2.4rem)}.site-nav a{font-family:var(--font-util);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:#faf7f29e;transition:color var(--dur-fast) var(--ease)}.site-nav a:hover{color:var(--gold-bright)}@media (max-width:560px){.site-header__brand{display:none}.site-header{justify-content:center}.site-nav{gap:1.4rem}}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(1.6rem,4vh,2.6rem);padding:6rem var(--gutter) 4rem;overflow:hidden}.playzone{position:relative;width:clamp(260px,58vw,500px);touch-action:manipulation}.wordmark{width:100%}.wordmark svg{width:100%;height:auto;display:block;overflow:visible}.ltr{cursor:pointer}.ltr rect{fill:transparent}.actor{position:absolute;left:50%;bottom:-64px;width:66px;height:66px;line-height:0;pointer-events:none;will-change:transform,bottom}.actor svg{width:100%;height:100%;display:block;overflow:visible}.hero__descriptor{font-family:var(--font-util);font-size:.8rem;color:var(--bone-dim);letter-spacing:.3em}.fx{position:absolute;inset:0;overflow:visible;pointer-events:none}.dust{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--gold-bright);opacity:0}.dust-ring{position:absolute;width:140px;height:140px;border:1px solid var(--gold-bright);border-radius:50%;opacity:0;pointer-events:none}.hero__hint{position:absolute;bottom:8vh;left:0;right:0;text-align:center;font-family:var(--font-util);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bone-faint);transition:opacity .8s var(--ease)}@media (prefers-reduced-motion: reduce){.actor{display:none}}.section{padding:var(--space-2xl) 0;border-top:1px solid var(--hairline-bone)}.section .frame{display:block}.section .eyebrow{display:block;margin-bottom:2.6rem}.svc{list-style:none;padding:0;margin:0;border-top:1px solid var(--hairline-gold)}.svc li{display:flex;align-items:baseline;gap:1.6rem;padding:1.3rem 0;border-bottom:1px solid var(--hairline-gold)}.svc .en{font-family:var(--font-util);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-bright);min-width:12.5rem}.svc .ja{font-family:var(--font-display);color:var(--bone);font-size:clamp(.8rem,1.68vw,1.12rem);letter-spacing:.08em}@media (max-width:560px){.svc li{flex-direction:column;gap:.3rem}.svc .en{min-width:0}}.news{list-style:none;padding:0;margin:0;border-top:1px solid var(--hairline-gold)}.news li{display:flex;align-items:baseline;gap:1.6rem;padding:1.2rem 0;border-bottom:1px solid var(--hairline-gold)}.news__date{font-family:var(--font-util);font-size:.72rem;letter-spacing:.18em;color:var(--gold-bright);min-width:6rem;flex-shrink:0}.news__title{color:var(--bone-soft)}.news-empty{color:var(--bone-dim)}@media (max-width:560px){.news li{flex-direction:column;gap:.3rem}.news__date{min-width:0}}.company{margin:0}.company>div{display:flex;gap:1.6rem;padding:1.1rem 0;border-bottom:1px solid var(--hairline-bone)}.company dt{font-family:var(--font-util);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim);min-width:8rem;flex-shrink:0}.company dd{margin:0;color:var(--bone-soft)}@media (max-width:560px){.company>div{flex-direction:column;gap:.3rem}}.contact{display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start}.mail{font-family:var(--font-display);color:var(--bone);font-size:clamp(.8rem,1.68vw,1.12rem);letter-spacing:.06em;border-bottom:1px solid var(--hairline-gold);padding-bottom:.25rem;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.mail:hover{color:var(--gold-bright);border-color:var(--gold-bright)}.contact .note{font-family:var(--font-util);font-size:.8rem;color:var(--bone-dim);letter-spacing:.02em}.site-footer{border-top:1px solid var(--hairline-bone);padding:var(--space-xl) 0 var(--space-lg)}.site-footer .frame{display:flex;flex-direction:column;gap:1.4rem;align-items:flex-start}.site-footer__brand{display:flex;align-items:center;gap:11px}.site-footer__brand .brand-mark{height:30px;width:auto;display:block}.site-footer__brand .brand-type{height:25px;width:auto;display:block}.site-footer p{font-family:var(--font-util);font-size:.78rem;color:var(--bone-dim);letter-spacing:.04em;line-height:1.8}.site-footer .copy{color:var(--bone-faint);letter-spacing:.18em;text-transform:uppercase;font-size:.68rem}
