@property --theme-reveal-radius{syntax:"<length>";inherits:false;initial-value:0}@media screen and (forced-colors:none){html:not([data-theme=dark]) .activity-field[data-renderer=webgl] .activity-field__light{opacity:.32;filter:saturate(.72)contrast(.94);mix-blend-mode:multiply}html:not([data-theme=dark]) .activity-field__veil{background:linear-gradient(#f4f7fc33,#f4f7fc14 50%,#f4f7fc3d)}html:not([data-theme=dark]) .home-hero:before{background:radial-gradient(ellipse closest-side at 50% 50%, var(--canvas) 20%, #f4f7fcf0 45%, #f4f7fc99 68%, transparent 100%);inset:-5rem -6rem}html:not([data-theme=dark]) .home-hero__support{color:var(--ink-muted)}html:not([data-theme=dark]) .home-hero__actions a:not(.home-hero__primary){border-color:var(--border-strong);box-shadow:var(--shadow-rest)}html:not([data-theme=dark]) .home-hero__skills>summary{border-radius:var(--radius-sm);background:#ffffffc2}html:not([data-theme=dark]) .home-hero__domains{padding-inline:var(--space-2)}html:not([data-theme=dark]) .home-hero__skill-panel,html:not([data-theme=dark]) .home-hero__domain-icon{background:var(--surface)}html:not([data-theme=dark]) .home-hero__domain[data-tone=web] .home-hero__domain-icon{color:var(--route-web-ink)}html:not([data-theme=dark]) .home-hero__domain[data-tone=vr] .home-hero__domain-icon{color:var(--route-vr-ink)}html:not([data-theme=dark]) :is(.home-map,.work-card){background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-float)}html:not([data-theme=dark]) .work-card:hover{border-color:var(--work-accent);box-shadow:var(--shadow-lift)}html:not([data-theme=dark]) .site-header{box-shadow:0 2px 14px #1f3d650d}html:not([data-theme=dark]) :is(.activity-scene-control,.contact-route--social){border-color:var(--border);box-shadow:var(--shadow-rest);background:#fffffff0}html:not([data-theme=dark]) .activity-scene-control__index{color:var(--ink-muted)}html:not([data-theme=dark]) .impact-filters a{background:var(--surface);border-color:var(--border-strong);color:var(--ink-muted)}html:not([data-theme=dark]) .impact-filters a[aria-current=true]{color:var(--white);background:var(--action-fill);border-color:var(--action-fill);box-shadow:0 3px 8px #165db42b}html:not([data-theme=dark]) .impact-filters a:hover:not([aria-current=true]){color:var(--route-identity-ink);background:var(--route-identity-soft);border-color:var(--route-identity-line)}html:not([data-theme=dark]) .impact-item__achievement{color:#70410c;background:#fff0cf;border-color:#70410c2e}html:not([data-theme=dark]) :is(.work-dialog,.impact-dialog){border-color:var(--border);box-shadow:0 24px 90px #1125403d}html:not([data-theme=dark]) :is(.work-dialog,.impact-dialog)::backdrop{background:#11254075}}html[data-theme=dark]{color-scheme:dark;--canvas:#111923;--canvas-deep:#0b121c;--surface:#192431;--surface-soft:#151f2b;--surface-muted:#243244;--ink:#ecf1f7;--ink-muted:#b5c2d3;--ink-faint:#9aadc2;--border:#b1c8e12e;--border-strong:#b1c8e152;--scrim:#00050e94;--route-identity-ink:#8fc7ff;--route-identity-line:#63b1ff;--route-identity-soft:#1c3550;--route-identity-glow:#4399f62b;--route-web-ink:#83dccb;--route-web-line:#4bc1ad;--route-web-soft:#173b39;--route-web-glow:#29af9824;--route-ai-ink:#83dccb;--route-ai-line:#64cbbc;--route-ai-soft:#173b39;--route-ai-glow:#38a79b24;--route-vr-ink:#c3a9f4;--route-vr-line:#ae8de5;--route-vr-soft:#332845;--route-vr-glow:#9475cc2b;--route-origin-ink:#f7bd77;--route-origin-line:#e49b43;--route-origin-soft:#3b2d20;--route-trap-ink:#92cdff;--route-trap-line:#57aff4;--route-trap-soft:#1b354b;--route-learning-ink:#f5aeb9;--route-learning-line:#dc8d9b;--route-learning-soft:#3d2937;--route-school-ink:#d6beb3;--route-school-line:#af9385;--route-school-soft:#332e30;--route-link-ink:#a3d4f8;--route-link-line:#75b8ee;--route-link-soft:#203348;--status-verified:#85d8b3;--status-self:#e9bf77;--status-review:#b6acc0;--status-error:#ffadb9;--action-fill:#2164a3;--shadow-rest:0 1px 2px #0000002e, 0 8px 24px #00000029;--shadow-float:0 3px 8px #00000038, 0 14px 32px #0000003d;--shadow-lift:0 2px 4px #00000038, 0 16px 36px #0000003d}html[data-theme-transition]::view-transition-old(root),html[data-theme-transition]::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-theme-transition]::view-transition-image-pair(root){isolation:isolate}html[data-theme-transition]::view-transition-old(root){z-index:1}html[data-theme-transition]::view-transition-new(root){z-index:2;mask-image:radial-gradient(circle at var(--theme-origin-x) var(--theme-origin-y), #000 calc(var(--theme-reveal-radius) - 28px), transparent var(--theme-reveal-radius))}html[data-theme-transition] *,html[data-theme-transition] :before,html[data-theme-transition] :after{transition:none!important}html[data-theme=dark] :is(.work-dialog,.impact-dialog,.home-map,.work-card){box-shadow:var(--shadow-float)}html[data-theme=dark] :is(.work-dialog__close,.impact-dialog__close,.work-card__open,.work-card__kind,.activity-scene-control){color:var(--ink);background:color-mix(in srgb, var(--surface) 94%, transparent);border-color:var(--border-strong)}html[data-theme=dark] :is(.profile-links__leading-icon,.profile-links__panel-icon):has(img){background:#fffaf2;border-color:#0000}@media print{html[data-theme=dark]{color-scheme:light;--canvas:#fff;--canvas-deep:#fff;--surface:#fff;--surface-soft:#fff;--surface-muted:#eee;--ink:#111;--ink-muted:#333;--ink-faint:#444;--route-identity-ink:#0f5fae;--route-link-ink:#245b86}}@media (forced-colors:active){html[data-theme=dark]{--canvas:Canvas;--canvas-deep:Canvas;--surface:Canvas;--surface-soft:Canvas;--surface-muted:Canvas;--ink:CanvasText;--ink-muted:CanvasText;--ink-faint:CanvasText;--border:ButtonBorder;--border-strong:ButtonText;--route-identity-ink:LinkText;--route-link-ink:LinkText}}[data-map-poster-theme=dark],html[data-theme=dark] [data-map-poster-theme=light]{display:none}html[data-theme=dark] [data-map-poster-theme=dark]{display:block}html[data-theme=dark] :is(.home-map__loading,.immersive-map-body,.immersive-map-document){color:var(--ink);background:var(--surface)}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/m-plus-rounded-1c-latin-700-normal.BYs1YzuX.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{text-size-adjust:100%}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}body{min-height:100vh}img,picture,svg,video,canvas{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{margin:0}table{border-collapse:collapse}summary{cursor:pointer}[hidden]{display:none!important}@layer tokens{:root{color-scheme:light;--canvas:#f4f7fc;--canvas-deep:#e7eef7;--surface:#fff;--surface-soft:#f8fafd;--surface-muted:#eaf0f7;--ink:#172b43;--ink-muted:#4a5e76;--ink-faint:#5c6d82;--border:#24416326;--border-strong:#24416345;--scrim:#11254052;--white:#fff;--action-fill:#165db4;--route-identity-ink:#165db4;--route-identity-line:#2b73c7;--route-identity-soft:#e5effc;--route-identity-glow:#1a76d229;--route-web-ink:#086c64;--route-web-line:#168a7e;--route-web-soft:#e2f4ef;--route-web-glow:#00958826;--route-ai-ink:#086c64;--route-ai-line:#38a79b;--route-ai-soft:#e5f7f4;--route-ai-glow:#38a79b24;--route-vr-ink:#6241a5;--route-vr-line:#9475cc;--route-vr-soft:#f0eafa;--route-vr-glow:#9475cc2b;--route-origin-ink:#9a4a00;--route-origin-line:#ff9802;--route-origin-soft:#fff0d5;--route-origin-glow:#ff980229;--route-trap-ink:#0b5fa8;--route-trap-line:#2296f3;--route-trap-soft:#e1f2ff;--route-trap-glow:#2296f326;--route-learning-ink:#a13e50;--route-learning-line:#e57373;--route-learning-soft:#fce7ea;--route-learning-glow:#e5737324;--route-school-ink:#675750;--route-school-line:#a1887f;--route-school-soft:#eee8e5;--route-school-glow:#a1887f21;--route-link-ink:#245b86;--route-link-line:#64b5f7;--route-link-soft:#e7f3fe;--route-link-glow:#64b5f721;--status-verified:#236c4f;--status-self:#8a5400;--status-review:#6d6571;--status-error:#9c3d48;--font-display:"M PLUS Rounded 1c", "Noto Sans JP", "BIZ UDPGothic", "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--font-body:"Noto Sans JP", "BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:var(--font-body);--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-hero:clamp(3.5rem, 5.6vw, 5rem);--text-section:clamp(2.5rem, 4.4vw, 4rem);--text-h3:clamp(1.5rem, 2.2vw, 2rem);--text-route:clamp(1.125rem, 1.7vw, 1.375rem);--text-lead:clamp(1.0625rem, 1.4vw, 1.25rem);--text-body:1rem;--text-ui:.9375rem;--text-small:.875rem;--text-meta:.8125rem;--text-caption:.75rem;--text-mono:.8125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--page-gutter:clamp(1.25rem, 4.7vw, 4.5rem);--content-max:76rem;--stage-max:90rem;--section-block:clamp(5rem, 9vw, 9rem);--section-compact:clamp(3.5rem, 6vw, 6rem);--header-height:calc(4.5rem + env(safe-area-inset-top));--control-min:2.75rem;--control-primary:3rem;--radius-xs:.375rem;--radius-sm:.625rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-xl:1.75rem;--radius-round:999px;--shadow-rest:0 1px 2px #1f3d650d, 0 8px 24px #1f3d6512;--shadow-float:0 3px 8px #1f3d6512, 0 14px 32px #1f3d651c;--shadow-lift:0 2px 4px #1f3d6512, 0 16px 36px #1f3d651a;--shadow-selected:0 0 0 2px var(--route-identity-soft), 0 12px 32px #1f3d651a;--focus-ring:0 0 0 2px var(--canvas), 0 0 0 5px var(--route-identity-ink);--z-canvas:0;--z-ambient:5;--z-signal:10;--z-surface:20;--z-content:30;--z-sticky:40;--z-popover:50;--z-dialog-scrim:60;--z-dialog:70;--z-urgent:100;--wire-core-dormant:1.25px;--wire-core-related:1.5px;--wire-core-focused:2px;--wire-core-selected:2.5px;--wire-under:4.5px;--wire-under-selected:6px;--duration-instant:0s;--duration-press:80ms;--duration-tap-answer:.14s;--duration-hover:.18s;--duration-focus-route:.22s;--duration-small-enter:.28s;--duration-section-near:.36s;--duration-close:.4s;--duration-work-open:.52s;--duration-section-far:.6s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-draw:cubic-bezier(.22, 1, .36, 1)}@media (width<=47.999rem){:root{--header-height:calc(4rem + env(safe-area-inset-top));--page-gutter:clamp(1.25rem, 5vw, 1.5rem);--section-block:clamp(4.5rem, 17vw, 6rem);--text-hero:clamp(3rem, 15vw, 4rem);--text-section:clamp(2.5rem, 12vw, 3rem)}}@media (prefers-reduced-motion:reduce){:root{--duration-press:0s;--duration-tap-answer:0s;--duration-hover:0s;--duration-focus-route:0s;--duration-small-enter:0s;--duration-section-near:0s;--duration-close:0s;--duration-work-open:0s;--duration-section-far:0s}}html[data-motion=reduced]{--duration-press:0s;--duration-tap-answer:0s;--duration-hover:0s;--duration-focus-route:0s;--duration-small-enter:0s;--duration-section-near:0s;--duration-close:0s;--duration-work-open:0s;--duration-section-far:0s}}html{scrollbar-gutter:stable;min-width:0;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;scroll-padding-block-start:calc(var(--header-height) + var(--space-4))}body{min-width:0;color:var(--ink);background:var(--canvas);font-family:var(--font-body);font-size:var(--text-body);line-height:1.8;overflow-x:clip}main{outline:none;min-block-size:70dvb}a{color:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{color:var(--ink);background:var(--route-identity-soft)}button,input,select,textarea{color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:is(h1,h2,h3){text-wrap:balance}dialog{margin:auto}dialog:not([open]){display:none}html:has(dialog:modal){overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html[data-motion=reduced] *,html[data-motion=reduced] :before,html[data-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (forced-colors:active){:root{--canvas:Canvas;--canvas-deep:Canvas;--surface:Canvas;--surface-soft:Canvas;--ink:CanvasText;--ink-muted:CanvasText;--ink-faint:CanvasText;--border:ButtonBorder;--border-strong:ButtonText}:focus-visible{outline-offset:3px;box-shadow:none!important;outline:2px solid highlight!important}}
