:root{--bg: #f7f5f2;--bg-elevated: #ffffff;--ink: #1a1a1a;--ink-muted: #555555;--line: #d9d5cf;--accent: #ff5500;--accent-soft: rgba(255, 85, 0, .12);--hero-label: #6e6e6e;--header-h: 90px;--content: 1080px;--ease: cubic-bezier(.22, 1, .36, 1);--font-display: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-body: "Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-script: "Great Vibes", "Segoe Script", "Apple Chancery", cursive}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{margin:0;font-family:var(--font-body);font-weight:400;color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(255,85,0,.06),transparent 55%),radial-gradient(900px 500px at 100% 20%,rgba(0,0,0,.04),transparent 50%),var(--bg);line-height:1.75;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--accent)}.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}.site-main{min-height:calc(100svh - var(--header-h))}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:#f7f5f2db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s var(--ease),background .3s var(--ease)}.site-header.is-scrolled{border-bottom-color:var(--line);background:#fffffff0}.site-header__inner{max-width:calc(var(--content) + 4rem);margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.site-logo{display:block;line-height:0;flex-shrink:0}.site-logo img{height:48px;width:auto}.site-nav{display:flex;align-items:center;gap:1.75rem}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem 1.5rem}.site-nav a{font-size:.95rem;letter-spacing:.04em;text-decoration:none;color:#333;position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-.35em;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.site-nav a:hover:after,.site-nav a:focus-visible:after,.site-nav a.active:after{transform:scaleX(1)}.site-nav a.active,.mobile-nav a.active{color:var(--accent)}.lang-switcher{display:inline-flex;border:1px solid var(--line);background:var(--bg-elevated)}.lang-switcher button{appearance:none;border:0;background:transparent;padding:.35rem .7rem;font:inherit;font-size:.75rem;letter-spacing:.06em;cursor:pointer;color:var(--ink-muted);transition:background .2s,color .2s}.lang-switcher button.is-active{background:var(--ink);color:#fff}.lang-switcher button:not(.is-active):hover{color:var(--ink);background:var(--accent-soft)}.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:0;cursor:pointer;position:relative}.nav-toggle span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s}.nav-toggle span:nth-child(1){top:15px}.nav-toggle span:nth-child(2){top:21px}.nav-toggle span:nth-child(3){top:27px}.nav-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-nav{display:none}.hero{position:relative;min-height:100svh;display:grid;align-items:center;isolation:isolate;overflow:hidden}.hero__media{position:absolute;inset:0;z-index:-2}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:70% 30%;animation:hero-drift 28s var(--ease) infinite alternate}.hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0000008c,#00000040 45%,#00000026),linear-gradient(180deg,rgba(0,0,0,.2),transparent 40%,rgba(0,0,0,.35))}.hero__content{max-width:calc(var(--content) + 4rem);margin:0 auto;padding:calc(var(--header-h) + 2rem) 1.5rem 4rem;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}.hero__brand,.hero__tagline{margin:0}.hero__brand{position:relative;isolation:isolate;line-height:0;animation:rise-in .9s var(--ease) both}.hero__brand-glow{position:absolute;z-index:-1;left:-8%;top:-35%;width:116%;height:170%;border-radius:40%;background:radial-gradient(ellipse at center,#000000b8,#00000073 42%,#0000 72%);filter:blur(18px);pointer-events:none}.hero__wordmark{position:relative;width:min(100%,28rem);height:auto;filter:drop-shadow(0 1px 0 rgba(255,255,255,.25)) drop-shadow(0 2px 4px rgba(0,0,0,.85)) drop-shadow(0 8px 18px rgba(0,0,0,.75)) drop-shadow(0 18px 40px rgba(0,0,0,.55))}.hero__tagline{position:relative;isolation:isolate;max-width:min(100%,34rem);margin:0;font-family:var(--font-script);font-size:clamp(1.55rem,3.4vw,2.35rem);font-weight:400;font-style:normal;line-height:1.35;letter-spacing:.02em;color:#fff;animation:rise-in .9s var(--ease) both;animation-delay:.15s;text-shadow:0 1px 0 rgba(255,255,255,.25),0 2px 4px rgba(0,0,0,.85),0 8px 18px rgba(0,0,0,.75),0 18px 40px rgba(0,0,0,.55)}.hero__tagline:before{content:"";position:absolute;z-index:-1;left:-6%;top:-40%;width:112%;height:180%;border-radius:40%;background:radial-gradient(ellipse at center,#000000b8,#00000073 42%,#0000 72%);filter:blur(18px);pointer-events:none}.hero__tagline span{display:inline;background:none;color:inherit;padding:0;line-height:inherit;animation:none}.hero__concept{position:relative;isolation:isolate;max-width:min(100%,30rem);margin:.75rem 0 0;font-family:var(--font-body);font-size:clamp(.85rem,1.6vw,1rem);font-weight:400;line-height:1.6;letter-spacing:.02em;color:#fff;animation:rise-in .9s var(--ease) both;animation-delay:.3s;text-shadow:0 1px 0 rgba(255,255,255,.2),0 2px 4px rgba(0,0,0,.85),0 8px 18px rgba(0,0,0,.75)}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{0%{transform:scale(1.04) translateZ(0)}to{transform:scale(1.1) translate3d(-1.5%,-1%,0)}}.section{max-width:calc(var(--content) + 4rem);margin:0 auto;padding:4.5rem 1.5rem}.section-heading{text-align:center;margin-bottom:3rem;padding:1.25rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);animation:rise-in .8s var(--ease) both}.section-heading h2{margin:0;display:flex;flex-direction:column;gap:.15rem;font-weight:700;line-height:1.3}.section-heading__ja{font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,1.75rem);letter-spacing:.12em}.section-heading__en{font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.split{display:grid;gap:2rem 3rem;align-items:center;margin-bottom:4rem}.split:last-child{margin-bottom:0}.split__media{overflow:hidden;background:#111}.split__media img{width:100%;aspect-ratio:4 / 5;object-fit:cover;transition:transform .8s var(--ease)}.split:hover .split__media img{transform:scale(1.03)}.split__copy h3{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.35rem);letter-spacing:.06em;line-height:1.5}.split__copy p{margin:0 0 1rem;color:var(--ink-muted)}.split__list-title{font-weight:700;color:var(--ink)!important;margin-top:1.25rem!important}.split__copy ul{margin:0;padding-left:1.2rem;color:var(--ink-muted)}.split__copy li+li{margin-top:.35rem}@media(min-width:800px){.split{grid-template-columns:.9fr 1.1fr}.split--image-left .split__media{order:0}.split--image-right .split__media{order:2}}.company-about{max-width:42rem;margin:0 auto 3rem}.company-about h3{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.35rem);letter-spacing:.06em;line-height:1.5}.company-about ul{margin:0;padding-left:1.2rem;color:var(--ink-muted)}.company-about li+li{margin-top:.35rem}.company-table-wrap{background:var(--bg-elevated);border:1px solid var(--line);padding:clamp(1rem,3vw,2rem)}.company-table{width:100%;border-collapse:collapse;font-size:.95rem}.company-table th,.company-table td{padding:1.1rem .75rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.company-table tr:last-child th,.company-table tr:last-child td{border-bottom:0}.company-table th{width:8.5rem;font-weight:700;letter-spacing:.06em;white-space:nowrap}.company-table ol{margin:0;padding-left:1.2rem}.company-table a{font-weight:700;color:var(--accent)}.contact__intro{text-align:center;max-width:36rem;margin:-1rem auto 2.5rem;color:var(--ink-muted)}.contact-form{max-width:36rem;margin:0 auto;display:grid;gap:1.25rem;background:var(--bg-elevated);border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem)}.contact-form label{display:grid;gap:.4rem}.contact-form label>span{font-size:.85rem;font-weight:700;letter-spacing:.04em}.contact-form em{color:var(--accent);font-style:normal;margin-left:.2em}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:#faf9f7;padding:.75rem .9rem;font:inherit;color:var(--ink);transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.contact-form button{appearance:none;border:0;background:var(--ink);color:#fff;font:inherit;font-weight:700;letter-spacing:.12em;padding:.95rem 1.25rem;cursor:pointer;transition:background .25s var(--ease),transform .25s var(--ease)}.contact-form button:hover{background:var(--accent);transform:translateY(-1px)}.contact-form__status{margin:0;font-size:.9rem;color:var(--ink-muted)}.site-footer{border-top:1px solid var(--line);background:var(--bg-elevated);color:var(--ink-muted);font-size:.9rem}.site-footer__inner{max-width:calc(var(--content) + 4rem);margin:0 auto;padding:3rem 1.5rem 2rem;display:grid;gap:2.5rem;grid-template-columns:1.2fr .8fr 1.2fr}.site-footer__brand{display:flex;flex-direction:column;gap:.75rem}.site-footer__logo{display:inline-block;line-height:0;text-decoration:none}.site-footer__logo img{height:44px;width:auto}.site-footer__name{margin:0;font-weight:700;color:var(--ink);line-height:1.5}.site-footer__tagline{margin:0;font-size:.85rem;letter-spacing:.02em}.site-footer__sitemap h2,.site-footer__company h2{margin:0 0 1rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.site-footer__sitemap ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.site-footer__sitemap a{text-decoration:none;letter-spacing:.04em}.site-footer__sitemap a:hover{color:var(--accent)}.site-footer__company dl{margin:0;display:grid;gap:.85rem}.site-footer__company dl>div{display:grid;gap:.15rem}.site-footer__company dt{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--ink)}.site-footer__company dd{margin:0;line-height:1.6}.site-footer__company a{text-decoration:none}.site-footer__company a:hover{color:var(--accent)}.site-footer__bottom{border-top:1px solid var(--line);padding:1.25rem 1.5rem;text-align:center;font-size:.8rem;letter-spacing:.04em}.site-footer__bottom p{margin:0}@media(max-width:899px){.site-footer__inner{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem}}@media(max-width:799px){.site-nav{display:none}.nav-toggle{display:block}.mobile-nav{display:block;position:fixed;inset:var(--header-h) 0 0;background:#fffffffa;padding:1.5rem;transform:translateY(-.5rem);opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}.mobile-nav.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.mobile-nav[hidden]{display:none}.mobile-nav.is-open[hidden]{display:block}.mobile-nav ul{list-style:none;margin:0 0 1.5rem;padding:0}.mobile-nav a{display:block;padding:.9rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:1.1rem;letter-spacing:.06em}.hero__content{padding-top:calc(var(--header-h) + 5rem)}.company-table th,.company-table td{display:block;width:100%;padding:.35rem 0}.company-table th{padding-top:1rem}.company-table tr{border-bottom:1px solid var(--line);display:block;padding-bottom:.75rem}.company-table tr:last-child{border-bottom:0}.company-table td{border-bottom:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__media img,.hero__brand,.hero__tagline,.hero__concept,.section-heading,.split__media img{animation:none!important;transition:none!important}}
