@import "https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;700&family=Shippori+Mincho:wght@600;700&display=swap";
:root{--color-white:#fff;--color-ice:#f7f9fb;--color-paper:#eef3f6;--color-ink:#071623;--color-navy:#0b1e31;--color-navy-deep:#06111d;--color-blue:#0075b8;--color-blue-soft:#e4f3fb;--color-gray-900:#17212b;--color-gray-700:#53606c;--color-gray-500:#87919b;--color-gray-300:#d8e0e6;--color-gray-200:#e8eef2;--color-gold:#c8aa62;--font-body:"Noto Sans JP", sans-serif;--font-en:"Inter", sans-serif;--font-serif:"Shippori Mincho", serif;--font-display:clamp(3.25rem, 6.8vw, 6.75rem);--font-marquee:clamp(4.5rem, 12vw, 11rem);--font-section-en:clamp(4.2rem, 9vw, 7.5rem);--font-heading:clamp(2rem, 4vw, 3.65rem);--font-subheading:clamp(1.45rem, 2.5vw, 2.4rem);--font-body-size:clamp(.95rem, 1.05vw, 1.05rem);--font-small:clamp(.78rem, .9vw, .88rem);--font-caption:clamp(.72rem, .8vw, .8rem);--leading-tight:1.08;--leading-heading:1.35;--leading-body:2;--space-2xs:clamp(.35rem, .5vw, .5rem);--space-xs:clamp(.6rem, .8vw, .8rem);--space-sm:clamp(1rem, 1.2vw, 1.25rem);--space-md:clamp(1.5rem, 2vw, 2rem);--space-lg:clamp(2.5rem, 4vw, 4rem);--space-xl:clamp(4.5rem, 8vw, 7.5rem);--space-2xl:clamp(6rem, 12vw, 11rem);--content-width:1180px;--content-pad:clamp(1.25rem, 4vw, 3rem);--header-height:76px;--radius-xs:4px;--radius-sm:8px;--radius-full:999px;--transition-base:.42s cubic-bezier(.22, 1, .36, 1);--transition-slow:.9s cubic-bezier(.22, 1, .36, 1);--z-header:20;--z-overlay:2}@media (max-width:480px){:root{--font-section-en:clamp(2.7rem, 14vw, 4.2rem)}}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;overflow-x:hidden}body{background:var(--color-white);color:var(--color-ink);font-family:var(--font-body);font-size:var(--font-body-size);line-height:var(--leading-body);letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;overflow-x:hidden}:where(h1,h2,h3,h4,.heading-copy){line-break:strict;text-wrap:balance}@supports (word-break:auto-phrase){:where(h1,h2,h3,h4,.heading-copy){word-break:auto-phrase}}img,svg,video,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:#0075b82e}.l-container{width:min(100% - (var(--content-pad) * 2), var(--content-width));margin-inline:auto}.section{padding-block:var(--space-2xl);background:var(--color-white);position:relative;overflow:clip}.section--light{background:radial-gradient(circle at 8% 12%, #0075b80e, transparent 28%), linear-gradient(135deg, #07162309 0 1px, transparent 1px 26px), var(--color-white)}.section--paper{background:radial-gradient(ellipse at 85% 16%, #0075b812, transparent 34%), linear-gradient(160deg, #07162309, transparent 42%), var(--color-ice)}.section--dark{background:var(--color-navy-deep);color:var(--color-white)}.section__header{gap:var(--space-sm);margin-bottom:var(--space-lg);display:grid}.section__eyebrow{color:var(--color-blue);font-family:var(--font-en);font-size:var(--font-caption);text-transform:uppercase;font-weight:800;line-height:1}.section__title-en{color:#07162314;font-family:var(--font-en);font-size:var(--font-section-en);text-transform:uppercase;white-space:nowrap;margin:0;font-weight:800;line-height:.86}.section--dark .section__title-en{color:#ffffff1c}.section__title-ja{font-family:var(--font-serif);font-size:var(--font-heading);font-weight:700;line-height:var(--leading-heading);margin:0}.section__lead{max-width:640px;color:var(--color-gray-700);margin:0}.section--dark .section__lead{color:#ffffffb8}[data-scramble]{font-variant-ligatures:none;min-height:.9em}.button{box-sizing:border-box;border-radius:var(--radius-xs);min-height:54px;font-family:var(--font-en);font-size:var(--font-small);transition:color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base);background-color:#0000;border:1px solid #0000;justify-content:center;align-items:center;padding:.85rem 1.45rem;font-weight:800;line-height:1.1;display:inline-flex;position:relative}.button:after{content:"→";transition:transform var(--transition-base);margin-left:1rem}.button:hover,.button:focus-visible{border-width:1px;border-color:var(--color-navy);background-color:var(--color-navy);color:var(--color-white);outline:none}.button:hover>*,.button:focus-visible>*{color:inherit}.button:hover:after,.button:focus-visible:after{transform:translate(6px)}.button--primary{background:var(--color-blue);color:var(--color-white)}.button--outline{background:#ffffff0a;border-color:currentColor}.section--dark .button:hover,.section--dark .button:focus-visible{border-width:1px;border-color:var(--color-white);background-color:var(--color-white);color:var(--color-navy-deep)}.button--text{border:0;border-radius:0;min-height:auto;padding:0}.image-frame{background:var(--color-paper);position:relative;overflow:hidden}.image-frame img,.image-frame video{object-fit:cover;width:100%;height:100%}.marquee{color:#07162314;width:max-content;font-family:var(--font-en);font-size:var(--font-marquee);white-space:nowrap;gap:.22em;font-weight:800;line-height:.86;animation:34s linear infinite marquee;display:flex}.reveal{opacity:1;transition:opacity var(--transition-slow), transform var(--transition-slow), clip-path var(--transition-slow);will-change:opacity, transform, clip-path;transform:none}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(88px)}.reveal.visible{opacity:1;transform:translate(0,0)}.reveal--clip{clip-path:inset(0)}.motion-ready .reveal--clip:not(.visible){clip-path:inset(0 0 100%);transform:translateY(42px)}.reveal--clip.visible{clip-path:inset(0)}.motion-ready .reveal--left:not(.visible){transform:translate(-120px)}.motion-ready .reveal--right:not(.visible){transform:translate(120px)}.motion-ready .reveal--scale:not(.visible){transform:scale(.86)}.reveal--delay-1{transition-delay:.12s}.reveal--delay-2{transition-delay:.24s}.reveal--delay-3{transition-delay:.36s}.reveal--delay-4{transition-delay:.48s}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.reveal{opacity:1;clip-path:none;transform:none}}@media (max-width:768px){.section{padding-block:var(--space-xl)}.button{width:100%}}
