.vel-fade-enter-active,.vel-fade-leave-active{transition:all .3s}.vel-fade-enter-from,.vel-fade-leave-to{opacity:0}.vel-img-swiper{display:block;position:relative}.vel-modal{z-index:9998;background:#00000080;margin:0;position:fixed;inset:0}.vel-img-wrapper{-webkit-transform:translate(-50% -50%);transform:translate(-50% -50%);will-change:transform opacity;margin:0;transition:all .3s linear;position:absolute;top:50%;left:50%}.vel-img,.vel-img-wrapper{-webkit-user-select:none;user-select:none}.vel-img{background-color:#000000b3;max-width:80vw;max-height:80vh;transition:transform .3s ease-in-out;display:block;position:relative;box-shadow:0 5px 20px 2px #000000b3}@media (width<=750px){.vel-img{max-width:85vw;max-height:95vh}}.vel-btns-wrapper{position:static}.vel-btns-wrapper .btn__close,.vel-btns-wrapper .btn__next,.vel-btns-wrapper .btn__prev{-webkit-tap-highlight-color:transparent;color:#fff;cursor:pointer;opacity:.6;-webkit-user-select:none;user-select:none;outline:none;font-size:32px;transition:all .15s linear;position:absolute;top:50%;transform:translateY(-50%)}.vel-btns-wrapper .btn__close:hover,.vel-btns-wrapper .btn__next:hover,.vel-btns-wrapper .btn__prev:hover{opacity:1}.vel-btns-wrapper .btn__close.disable,.vel-btns-wrapper .btn__close.disable:hover,.vel-btns-wrapper .btn__next.disable,.vel-btns-wrapper .btn__next.disable:hover,.vel-btns-wrapper .btn__prev.disable,.vel-btns-wrapper .btn__prev.disable:hover{cursor:default;opacity:.2}.vel-btns-wrapper .btn__next{right:12px}.vel-btns-wrapper .btn__prev{left:12px}.vel-btns-wrapper .btn__close{top:24px;right:10px}@media (width<=750px){.vel-btns-wrapper .btn__next,.vel-btns-wrapper .btn__prev{font-size:20px}.vel-btns-wrapper .btn__close{font-size:24px}.vel-btns-wrapper .btn__next{right:4px}.vel-btns-wrapper .btn__prev{left:4px}}.vel-modal.is-rtl .vel-btns-wrapper .btn__next{left:12px;right:auto}.vel-modal.is-rtl .vel-btns-wrapper .btn__prev{left:auto;right:12px}@media (width<=750px){.vel-modal.is-rtl .vel-btns-wrapper .btn__next{left:4px;right:auto}.vel-modal.is-rtl .vel-btns-wrapper .btn__prev{left:auto;right:4px}}.vel-modal.is-rtl .vel-img-title{direction:rtl}.vel-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vel-loading .ring{width:64px;height:64px;display:inline-block}.vel-loading .ring:after{content:" ";border:5px solid #ffffffb3;border-color:#ffffffb3 #0000;border-radius:50%;width:46px;height:46px;margin:1px;animation:1.2s linear infinite ring;display:block}@keyframes ring{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.vel-on-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vel-on-error .icon{color:#aaa;font-size:80px}.vel-img-title{color:#ccc;cursor:default;opacity:.8;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:80%;font-size:12px;line-height:1;transition:opacity .15s;position:absolute;bottom:60px;left:50%;overflow:hidden;transform:translate(-50%)}.vel-img-title:hover{opacity:1}.vel-icon{fill:currentColor;vertical-align:-.15em;width:1em;height:1em;overflow:hidden}.vel-toolbar{opacity:.9;border-radius:4px;padding:0;display:flex;position:absolute;bottom:8px;left:50%;overflow:hidden;transform:translate(-50%)}.vel-toolbar,.vel-toolbar .toolbar-btn{-webkit-user-select:none;user-select:none;background-color:#2d2d2d}.vel-toolbar .toolbar-btn{-webkit-tap-highlight-color:transparent;color:#fff;cursor:pointer;outline:none;flex-shrink:0;padding:6px 10px;font-size:20px}.vel-toolbar .toolbar-btn:active,.vel-toolbar .toolbar-btn:hover{background-color:#3d3d3d}*{box-sizing:border-box;border:0;outline:none;margin:0;padding:0}:root{--color-bg:#eaeeee;--color-text:#000;--color-text-secondary:#777;--color-border:#999;--color-selection-bg:#000;--color-selection-text:#fff;--font-serif:"Noto Serif SC", "游明朝体", "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Georgia", serif;--sidebar-width:360px;--content-padding:18px;--sidebar-padding:50px;--font-size-base:14px;--font-size-sm:12px;--font-size-lg:16px;--font-size-h1:28px;--font-size-h2:22px;--font-size-nav:14px;--font-size-lang:13px;--font-size-footer:13px;--font-size-logo:15px;--line-height:1.6em;--transition-fast:.2s ease;--transition-normal:.3s ease;--transition-slow:.5s ease-in-out}::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}html{font-size:62.5%}body{font-family:var(--font-serif);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color 1s ease-in-out}a{color:var(--color-text);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-text-secondary)}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-serif);color:var(--color-text);cursor:pointer;background:0 0;border:none}.app-sidebar{width:var(--sidebar-width);background:var(--color-bg);height:100vh;padding:var(--sidebar-padding);z-index:100;border-right:1px solid #0000000f;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-logo{font-size:var(--font-size-logo);letter-spacing:.05em;margin-bottom:40px;font-weight:600;display:block}.sidebar-logo a{color:var(--color-text)}.sidebar-nav{flex-wrap:wrap;display:flex}.sidebar-nav-column{margin-right:40px}.sidebar-nav a{font-size:var(--font-size-nav);padding:4px 0;display:block;position:relative}.sidebar-nav a.router-link-active:before{content:"";background:var(--color-text);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:-1em;transform:translateY(-50%)}.sidebar-subnav{border-top:1px solid #00000014;margin-top:16px;padding-top:16px}.sidebar-subnav a{font-size:var(--font-size-nav);color:var(--color-text-secondary);padding:4px 0;display:block}.sidebar-subnav a:hover,.sidebar-subnav a.router-link-active{color:var(--color-text)}.sidebar-subnav a.router-link-active:before{background:var(--color-text-secondary)}.sidebar-lang{font-size:var(--font-size-lang);margin-top:40px}.sidebar-lang a{padding:0 2px;display:inline-block}.sidebar-lang a+a:before{content:" / ";color:var(--color-text)}.mobile-header{padding:var(--content-padding);background:var(--color-bg);z-index:200;display:none;position:relative}.mobile-header-inner{justify-content:space-between;align-items:center;display:flex}.mobile-logo{font-size:var(--font-size-logo);letter-spacing:.05em;font-weight:600}.mobile-menu-toggle{font-size:var(--font-size-nav);padding:4px 8px}.mobile-overlay{background:var(--color-bg);z-index:10000;width:100%;height:100%;padding:var(--sidebar-padding);flex-direction:column;justify-content:center;display:none;position:fixed;top:0;left:0}.mobile-overlay.active{display:flex}.mobile-overlay-close{top:var(--content-padding);right:var(--content-padding);font-size:var(--font-size-nav);padding:4px 8px;position:absolute}.mobile-overlay-nav a{opacity:0;padding:8px 0;font-size:18px;animation:.5s forwards fadeInUp;display:block}.mobile-overlay-nav a:first-child{animation-delay:.1s}.mobile-overlay-nav a:nth-child(2){animation-delay:.15s}.mobile-overlay-nav a:nth-child(3){animation-delay:.2s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-content{margin-left:var(--sidebar-width);min-height:100vh;padding:var(--content-padding)}.app-footer{bottom:var(--content-padding);left:var(--sidebar-padding);font-size:var(--font-size-footer);color:var(--color-text-secondary);z-index:50;position:fixed}.app-footer a{color:var(--color-text-secondary)}.app-footer a:hover{color:var(--color-text)}.works-grid{max-width:1200px}.works-grid-item{cursor:pointer;margin-bottom:5em}.works-grid-item img{width:100%;margin-bottom:.8em}.works-grid-item h2{font-size:var(--font-size-base);margin-bottom:.2em;font-weight:500}.work-detail-title{font-size:var(--font-size-h2);margin-bottom:.3em;font-weight:500}.work-info-toggle{font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-fast);border-bottom:1px solid #0000;margin-bottom:1.5em;padding:4px 0;display:inline-block}.work-info-toggle:hover{border-bottom-color:var(--color-text-secondary)}.work-info-table{border-top:1px solid #00000026;width:100%;max-width:800px;margin-bottom:4em;padding-top:1em;display:table}.work-info-row{display:table-row}.work-info-label{width:140px;font-size:var(--font-size-base);color:var(--color-text-secondary);vertical-align:top;white-space:nowrap;padding:3px 0;display:table-cell}.work-info-value{font-size:var(--font-size-base);padding:3px 0 3px 1em;display:table-cell}.case-tabs{border-bottom:1px solid #0000001a;gap:0;margin-bottom:2em;display:flex}.case-tab{font-size:var(--font-size-base);color:var(--color-text-secondary);transition:color var(--transition-fast), border-color var(--transition-fast);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 20px}.case-tab:hover{color:var(--color-text)}.case-tab.active{color:var(--color-text);border-bottom-color:var(--color-text)}.photo-grid{gap:var(--content-padding);flex-direction:column;display:flex}.photo-grid-img{cursor:pointer;width:100%;transition:opacity var(--transition-fast);display:block}.photo-grid-img:hover{opacity:.85}.biography-page{max-width:800px}.biography-page h1{font-size:var(--font-size-h1);margin-bottom:1em;font-weight:500}.biography-section{padding-top:var(--content-padding);margin-bottom:4em}.biography-section-title{font-size:var(--font-size-lg);margin-bottom:1em;font-weight:600}.contact-page{max-width:800px}.contact-page h1{font-size:var(--font-size-h1);margin-bottom:1em;font-weight:500}.contact-section{margin-bottom:2em}.contact-section p{line-height:var(--line-height);margin-bottom:.5em}.contact-section a{color:var(--color-text)}.contact-section a:hover{color:var(--color-text-secondary)}.loading{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-base);padding:4em}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}@media screen and (width<=1365px){.app-content{width:70%}}@media screen and (width<=1023px){.app-sidebar{display:none}.app-content{width:100%;margin-left:0}.mobile-header{display:block}.app-footer{padding:6em var(--content-padding) var(--content-padding);position:relative;bottom:auto;left:auto}}@media screen and (width<=480px){:root{--sidebar-padding:24px;--content-padding:12px}}
