@font-face{font-family:Higure Gothic;src:url(/fonts/HigureGothic-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Higure Gothic;src:url(/fonts/HigureGothic-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Higure Gothic;src:url(/fonts/HigureGothic-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Higure Gothic JA;src:url(/fonts/HigureGothic-Regular.ttf)format("truetype");font-weight:400;font-display:swap;size-adjust:92%;unicode-range:U+30??,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:Higure Gothic JA;src:url(/fonts/HigureGothic-Medium.ttf)format("truetype");font-weight:500;font-display:swap;size-adjust:92%;unicode-range:U+30??,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:Higure Gothic JA;src:url(/fonts/HigureGothic-Bold.ttf)format("truetype");font-weight:700;font-display:swap;size-adjust:92%;unicode-range:U+30??,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}:root{--bg:#131312;--surface:#1c1c1a;--border:#3a3a37;--border-hover:#55524d;--hairline:#262624;--hover-bg:#2a2a27;--text:#e9e6e1;--text-secondary:#c8c4bd;--text-body:#b5b1aa;--text-label:#a8a49d;--text-muted:#8a8781;--text-footer:#6f6c66;--accent:oklch(75% .12 60);--accent-hover:oklch(78% .12 60);--link-hover:oklch(75% .11 210);--pill-pressed-bg:oklch(35% .06 210);--pill-pressed-border:oklch(42% .07 210);--error:#e05c5c;--pill-bg:#1c1c1ab8;--font-stack:"Higure Gothic JA", "Higure Gothic", "Noto Sans JP", sans-serif;--chev-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='16' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='8 14 2 8 8 2'/%3E%3C/svg%3E");--chev-r:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='16' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 14 8 8 2 2'/%3E%3C/svg%3E")}html,body{background:var(--bg);margin:0;padding:0}html{scrollbar-gutter:stable}body{min-height:100vh;color:var(--text);font-family:var(--font-stack);flex-direction:column;display:flex}::selection{background:var(--accent);color:var(--bg)}html[data-lang=en] [data-i18n=ja],html[data-lang=ja] [data-i18n=en]{display:none!important}.txt-link{color:var(--text-label);text-underline-offset:3px;text-decoration:underline 1px;transition:color .15s}.txt-link:hover{color:var(--link-hover)}.page-title{text-align:center;margin:26px 0 6px;font-size:30px;font-weight:500;line-height:1.2}.page-title--sub{margin:12px 0 26px}.topbar-wrap{z-index:800;background:var(--bg);border-bottom:1px solid var(--hairline);position:sticky;top:0}.topbar{box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;max-width:1300px;height:50px;margin:0 auto;padding:0 20px;display:flex}.topbar-logo{align-items:center;text-decoration:none;display:flex}.topbar-logo .logo-mark{background-color:#fff;width:130px;height:30px;display:block;mask:url(/logo_white.png) 0/contain no-repeat}.topbar-right{align-items:center;gap:20px;display:flex}.nav-desktop{align-items:center;gap:14px;display:flex}.hd-link{color:#fff;text-align:center;white-space:nowrap;padding-bottom:4px;font-size:18px;line-height:1;text-decoration:none;transition:color .15s}.hd-link.on{font-weight:700}.hd-link:hover{color:var(--link-hover)}.soc-link{border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.soc-link:hover{background:#e9e6e124}.soc-link img{width:25px;height:25px;display:block}.soc-link{position:relative}.soc-link:after{content:attr(data-tip);background:var(--surface);border:1px solid var(--border);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;z-index:500;border-radius:4px;padding:6px 9px;font-size:13px;line-height:1;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-2px)}.soc-link:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.burger{cursor:pointer;min-width:44px;min-height:44px;color:var(--text);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;transition:color .15s;display:none}.burger:hover{color:var(--link-hover)}.burger span{background:currentColor;width:22px;height:3px;display:block}@media (width<=800px){.nav-desktop{display:none}.burger{display:flex}}.lang-wrap{position:relative}.lang-btn{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);width:104px;color:var(--text-secondary);font-family:var(--font-stack);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:7px;height:32px;padding:0 14px;font-size:16px;display:flex}.lang-btn:hover{border-color:var(--border-hover)}.lang-btn .caret{color:var(--text-muted);font-size:8px}.lang-menu{z-index:950;background:var(--surface);border:1px solid var(--border);box-sizing:border-box;border-radius:6px;width:104px;display:none;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.lang-menu[data-open=true]{display:block}.lang-menu button{width:100%;color:var(--text-secondary);font-family:var(--font-stack);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;padding:8px 14px;font-size:16px;transition:color .15s;display:block}.lang-menu button:hover{background:var(--hover-bg);color:var(--link-hover)}html[data-lang=en] [data-lang-option=en],html[data-lang=ja] [data-lang-option=ja]{display:none}.mobile-menu{z-index:900;background:#131312f7;flex-direction:column;padding:0 20px 20px;display:flex;position:fixed;inset:0}.mobile-menu[hidden]{display:none}.mobile-menu-close-row{flex:none;justify-content:flex-end;align-items:center;height:54px;display:flex}.mobile-menu-close{color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;transition:color .15s;display:flex}.mobile-menu-close:hover{color:var(--link-hover)}.mobile-menu-close .x-mark{width:26px;height:26px;display:block;position:relative}.mobile-menu-close .x-mark span{background:currentColor;width:26px;height:3px;position:absolute;top:50%;left:0}.mobile-menu-close .x-mark span:first-child{transform:translateY(-50%)rotate(45deg)}.mobile-menu-close .x-mark span:last-child{transform:translateY(-50%)rotate(-45deg)}.mobile-menu nav{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:34px;display:flex}.mobile-menu nav a.mm-link{color:var(--text);font-size:28px;font-weight:500;text-decoration:none;transition:color .15s}.mobile-menu nav a.mm-link:hover,.mobile-menu nav a.mm-link:active{color:var(--link-hover)}.mobile-menu .mm-socials{align-items:center;gap:30px;margin-top:8px;display:flex}.mobile-menu .soc-link{width:40px;height:40px}.mobile-menu .soc-link img{width:32px;height:32px}.page-works{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:1300px;margin:0 auto;display:flex}.cat-filter{flex-wrap:wrap;gap:10px;padding:14px 20px 11px;display:flex}.cat-pill{box-sizing:border-box;cursor:pointer;border:1px solid var(--border);background:var(--surface);height:32px;color:var(--text-secondary);font-family:var(--font-stack);border-radius:6px;justify-content:center;align-items:center;padding:0 20px;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.cat-pill:hover{border-color:var(--border-hover);background:var(--hover-bg);color:var(--link-hover)}.cat-pill[data-active=true]{border-color:var(--pill-pressed-border);background:var(--pill-pressed-bg);color:var(--text);cursor:default}.wall{flex:1;grid-template-columns:repeat(4,1fr);align-content:start;gap:6px;padding:3px 20px 20px;display:grid}@media (width<=1100px){.wall{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.wall{grid-template-columns:repeat(2,1fr)}}@media (width<=460px){.wall{grid-template-columns:repeat(1,1fr)}}.tile{aspect-ratio:1;cursor:pointer;background:var(--surface);color:var(--text);border-radius:6px;text-decoration:none;display:block;position:relative;overflow:hidden}.tile[hidden]{display:none}.tile img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tile:after,.gwrap:after{content:"";pointer-events:none;z-index:5;box-shadow:inset 0 0 0 2px var(--link-hover);opacity:0;border-radius:6px;transition:opacity .15s;position:absolute;inset:0}.gwrap:after{border-radius:8px}.tile:hover:after,.gwrap:hover:after{opacity:1}.tile .ovl{opacity:0;pointer-events:none;background:linear-gradient(#0000 45%,#0a0a09d9);align-items:flex-end;padding:14px;transition:opacity .18s;display:flex;position:absolute;inset:0}.tile:hover .ovl{opacity:1}.tile .ovl-title{font-size:22px;font-weight:500}.tile .ovl-meta{flex-wrap:nowrap;align-items:center;gap:6px;margin-top:6px;display:flex}.tile .ovl-cat{color:var(--accent);letter-spacing:.04em;font-size:15px}.tile .ovl-sep{color:var(--text);font-size:15px}.tile .ovl-year{color:var(--text);letter-spacing:.04em;font-size:15px}.tile .ovl-tools{align-items:center;gap:9px;display:flex}.tile .ovl-more{color:var(--text);opacity:.85;letter-spacing:.03em;font-size:13px}.wall-sentinel{grid-column:1/-1;height:2px}.tool-ic{box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:relative}.tool-ic .tool-glyph{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;overflow:hidden}.tool-ic[hidden]{display:none}.tool-ic:after{content:attr(data-tip);background:var(--surface);border:1px solid var(--border);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;z-index:500;border-radius:4px;padding:6px 9px;font-size:13px;line-height:1;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(2px)}.tool-ic:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.detail-main{box-sizing:border-box;flex:1;width:100%;max-width:1300px;margin:0 auto;padding:14px 20px 18px}.detail-head{flex-direction:column;gap:5px;margin:12px 0 4px;display:flex}.detail-title{text-align:left;margin:0;font-size:32px;font-weight:500;line-height:1.15}.detail-info{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;display:flex}.detail-cat{color:var(--accent);letter-spacing:.04em;font-size:16px}.detail-sep{color:var(--text)}.detail-year{color:var(--text);letter-spacing:.04em;font-size:16px}.detail-tools{align-items:center;gap:12px;display:flex}.detail-desc{color:var(--text-body);margin:15px 0 30px;font-size:19px;line-height:1.5}.detail-desc p{margin:0}.detail-desc p+p{margin-top:1em}.detail-desc .desc-head{color:var(--text);margin:0 0 4px;font-weight:500}.detail-desc .desc-head+p{margin-top:0}.detail-desc .dcols{gap:20px 32px;margin:18px 0;display:grid}.detail-desc .dcols p{margin:0}.detail-desc .dcols p+p{margin-top:.6em}@media (width<=700px){.detail-desc .dcols{grid-template-columns:1fr!important}}.media-list{flex-direction:column;gap:8px;display:flex}.masonry{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:8px;grid-auto-flow:dense;gap:8px;display:grid}@media (width<=800px){.masonry{grid-template-columns:repeat(3,1fr)!important}}.masonry .gwrap{cursor:zoom-in;position:relative;overflow:hidden}.masonry .gwrap img{object-fit:cover;border-radius:8px;width:100%;height:100%;position:absolute;inset:0}.mrow{gap:8px;display:grid}.mrow .gwrap{cursor:zoom-in;position:relative;overflow:hidden}.mrow .gwrap img{object-fit:cover;border-radius:8px;width:100%;height:100%;position:absolute;inset:0}@media (width<=1100px){.mrow-4,.mrow-5,.mrow-6{grid-template-columns:repeat(3,1fr)!important}}@media (width<=760px){.mrow-3,.mrow-4,.mrow-5,.mrow-6{grid-template-columns:repeat(2,1fr)!important}}.gwrap{border-radius:8px;position:relative;overflow:hidden}.media-image{cursor:zoom-in;display:block}.media-image img{border-radius:8px;width:100%;height:auto;display:block}.media-placeholder{aspect-ratio:16/9;border:1px dashed var(--border);width:100%;color:var(--text-footer);border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}.vthumb{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;position:relative;overflow:hidden}.vthumb iframe{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.post-nav{z-index:600;justify-content:space-between;align-items:center;gap:12px;margin-top:36px;padding-top:18px;display:flex;position:sticky;bottom:28px}.pn-btn{box-sizing:border-box;background:var(--pill-bg);-webkit-backdrop-filter:blur(4px);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-stack);white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;height:32px;padding:0 14px;font-size:16px;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.pn-btn:hover{color:var(--link-hover);background:#2a2a27e6;border-color:#6a675f}.pn-home-mobile{text-align:center;margin:10px 0 0;display:none}.pn-home-mobile a{color:var(--text);align-items:center;height:44px;font-size:21px;text-decoration:none;transition:color .15s;display:inline-flex}.pn-home-mobile a:hover{color:var(--link-hover)}@media (width<=800px){.pn-home,.pn-word{display:none}.pn-home-mobile{display:block}.pn-btn.pn-l:before,.pn-btn.pn-r:after{content:"";width:14px;height:21px;-webkit-mask:var(--chev) center / contain no-repeat;mask:var(--chev) center / contain no-repeat;background:currentColor;display:block}.pn-btn.pn-l{--chev:var(--chev-l)}.pn-btn.pn-r{--chev:var(--chev-r)}}.lightbox{z-index:1000;box-sizing:border-box;cursor:zoom-out;background:#080807f0;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox-close{z-index:2;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;transition:color .15s;display:flex;position:absolute;top:5px;right:20px}.lightbox-close .x-mark{width:26px;height:26px;display:block;position:relative}.lightbox-close .x-mark span{background:currentColor;width:26px;height:3px;position:absolute;top:50%;left:0}.lightbox-close .x-mark span:first-child{transform:translateY(-50%)rotate(45deg)}.lightbox-close .x-mark span:last-child{transform:translateY(-50%)rotate(-45deg)}.lightbox-arrow{z-index:2;width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;bottom:5px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-prev:before,.lightbox-next:after{content:"";width:14px;height:21px;-webkit-mask:var(--chev) center / contain no-repeat;mask:var(--chev) center / contain no-repeat;background:currentColor;display:block}.lightbox-prev{--chev:var(--chev-l)}.lightbox-next{--chev:var(--chev-r)}.lightbox-arrow:hover,.lightbox-close:hover{color:var(--link-hover)}.lightbox-caption{z-index:1;text-align:center;height:54px;color:var(--text-secondary);pointer-events:none;justify-content:center;align-items:center;font-size:16px;line-height:1.4;display:flex;position:absolute;bottom:0;left:80px;right:80px}@media (width<=760px){.lightbox-caption{display:none}}.lightbox-image{cursor:default;display:block;box-shadow:0 20px 80px #0009}.lightbox-video{cursor:default;box-shadow:0 20px 80px #0009}.lightbox-video iframe{border:none;width:100%;height:100%;display:block}.about-main,.contact-main{box-sizing:border-box;flex:1;width:100%;max-width:1300px;margin:0 auto;padding:14px 20px 48px}.about-row{flex-wrap:wrap;align-items:flex-start;gap:44px;max-width:960px;margin:0 auto;display:flex}.about-portrait{object-fit:cover;border-radius:8px;flex:none;width:300px;height:300px;display:block}.about-portrait--placeholder{border:1px dashed var(--border);color:var(--text-footer);box-sizing:border-box;background:var(--surface);justify-content:center;align-items:center;font-size:16px;display:flex}.about-text{flex:1;min-width:280px}.about-name{font-size:24px;font-weight:500;line-height:1.2}.about-role{color:var(--accent);letter-spacing:.04em;margin-top:8px;font-size:16px}.about-bio{color:var(--text-body);margin:24px 0 0;font-size:18px;line-height:1.5}@media (width<=800px){.about-portrait{aspect-ratio:5/6;width:100%;height:auto}}.contact-inner{max-width:760px;margin:0 auto}.contact-form{flex-direction:column;gap:20px;display:flex}.contact-form[hidden]{display:none}.contact-form label{color:var(--text-label);flex-direction:column;gap:8px;font-size:16px;display:flex}.contact-form .req{color:var(--error)}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-stack);border-radius:4px;outline:none;padding:12px 14px;font-size:21px}.contact-form input[type=text]:focus,.contact-form input[type=email]:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form textarea{resize:vertical}.contact-form input[type=file]{color:var(--text-secondary);font-family:var(--font-stack);font-size:16px}.field-error{color:var(--error);font-size:15px}.field-error[hidden]{display:none}.contact-form .pn-btn[type=submit]{align-self:flex-start;padding:0 20px}.form-failed{border:1px solid var(--error);color:var(--error);background:#e05c5c14;border-radius:6px;margin-bottom:16px;padding:14px 16px;font-size:16px}.form-failed[hidden]{display:none}.form-sent{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:10px;padding:26px 24px;display:flex}.form-sent[hidden]{display:none}.form-sent .sent-title{color:var(--text);font-size:21px;font-weight:500}.form-sent .sent-body{color:var(--text-label);font-size:16px}.site-footer{border-top:1px solid var(--hairline);color:var(--text-footer);justify-content:space-between;align-items:center;padding:6px 24px;font-size:14px;display:flex}.site-footer span{text-align:center;align-self:center;width:100%;height:100%;padding-top:6px;padding-bottom:6px;font-weight:400}.mt-curtain{z-index:2000;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0}.mt-logo{width:150px;max-width:60vw;height:auto;margin-bottom:10px}.mt-msg{color:var(--text);font-size:16px;line-height:1.8}.mt-socials{gap:18px;margin-top:14px;display:flex}.mt-socials img{width:22px;height:22px;display:block}html:has(.mt-curtain){overflow:hidden}
