@keyframes hover-line{0%{transform:scaleX(1);transform-origin:right}50%{transform:scaleX(0);transform-origin:right}51%{transform:scaleX(0);transform-origin:left}to{transform-origin:left;transform:scaleX(1)}}*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:1.11112vw;line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth;overflow-x:hidden}@media screen and (max-width:820.98px){html{font-size:8.205vw}}h1,h2,h3,h4,h5,h6{margin:0;padding:0}a{text-decoration:none;color:inherit}p{margin:0;padding:0}ul,ol,li{list-style:none}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;border:none;outline:none;background:none}button{color:inherit;cursor:pointer}table{border-collapse:collapse;border-spacing:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}body{font-family:Outfit,Zen Kaku Gothic New,sans-serif;font-optical-sizing:auto;font-style:normal;font-weight:400;font-size:.875rem;line-height:1.5;letter-spacing:.05em;color:#111;background-color:#fff;margin:0;padding:0}@media screen and (min-width:821px){._sp{display:none}}@media screen and (max-width:820.98px){._pc{display:none}}body{font-size:1vw;min-height:100vh;height:100vh;height:100dvh;scroll-snap-type:y mandatory}.container{width:100%;box-sizing:border-box}@media screen and (min-width:821px){.container{margin-top:1.25rem}}@media screen and (max-width:820.98px){.container{padding-right:1.6666666667rem}}.container main{width:100%}@media screen and (min-width:821px){.container main{max-width:74.6rem}}.header{position:fixed;top:0;right:0;z-index:100;transition:background-color .3s,backdrop-filter .3s}@media screen and (max-width:820.98px){.header{pointer-events:none;width:100%;height:100vh;height:100dvh}}.header.-open{pointer-events:auto}@media screen and (max-width:820.98px){.header.-open{background-color:#ffffff80;backdrop-filter:blur(10px)}}.header h1{font-size:1.125rem;writing-mode:vertical-rl;text-orientation:upright;pointer-events:auto;font-weight:400;margin:0;letter-spacing:.05em}.header h1 svg{width:17px;height:200px;max-width:unset}@media screen and (max-width:820.98px){.header h1{position:absolute;right:0;font-size:.5555555556rem;margin-right:.5185185185rem}}@media screen and (min-width:821px){.header{width:15rem;height:100%;padding-block:1.25rem}}@media screen and (min-width:821px){.header-inner{height:calc(100% - 2.5rem);display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;border-left:1px solid #111;margin-right:1.25rem}}@media screen and (max-width:820.98px){.header-inner{position:absolute;top:0;right:0;margin-top:.3703703704rem;height:calc(100vh - .7407407407rem);height:calc(100dvh - .7407407407rem);width:1.6666666667rem;border-left:1px solid #111}}.header-nav{pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;position:fixed;bottom:1.25rem;right:1.25rem;color:#111}@media screen and (max-width:820.98px){.header-nav{bottom:.7407407407rem;right:.7407407407rem}}.header-nav a{position:relative;letter-spacing:.05em}.header-nav a:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:#111;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}@media(hover:hover)and (pointer:fine){.header-nav a:hover:before{transform:scaleX(1);transform-origin:left}}.header-nav.-open{visibility:visible}.header-nav.-open ul{visibility:visible;opacity:1}.header-nav.-open a{pointer-events:auto}.header-nav.-open .header-nav-spanBorder{transform:scaleY(1);transform-origin:bottom}.header-nav.-open .header-inner{pointer-events:auto}.header-nav ul{display:flex;flex-direction:column;align-items:flex-end;visibility:hidden;opacity:0;transition:visibility .3s,opacity .3s}@media screen and (min-width:821px){.header-nav ul{gap:1.25rem}}@media screen and (max-width:820.98px){.header-nav ul{gap:.2962962963rem;padding-right:1.6666666667rem}}.header-nav li{color:#111;width:fit-content;text-align:right}@media screen and (max-width:820.98px){.header-nav li{font-size:.5555555556rem}}.header-nav li .-en{font-weight:300}.header-nav li .-jp{font-weight:400}.header-nav-spanBorder{width:1px;height:17lvh;background-color:#111;margin-block:1.25rem;transform:scaleY(0);transform-origin:top;transition:transform .3s}@media screen and (max-width:820.98px){.header-nav-spanBorder{opacity:0}}.header-nav-button{pointer-events:auto;color:#111;position:relative;letter-spacing:.05em;margin:0;padding:0}.header-nav-button p{display:inline-block;transition:opacity .8s ease}@media screen and (max-width:820.98px){.header-nav-button p{letter-spacing:.05em;transform:rotate(90deg);transform-origin:bottom right}}@media screen and (max-width:820.98px){.header-nav-button p:first-child{transform:rotate(90deg) translateY(50%)}}.header-nav-button p:last-child{position:absolute;top:0;right:0;opacity:0;pointer-events:none}@media screen and (max-width:820.98px){.header-nav-button p:last-child{right:.2592592593rem}}.header-nav-button p:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:#111;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}@media(hover:hover)and (pointer:fine){.header-nav-button p:hover:before{transform:scaleX(1);transform-origin:left}}@media screen and (max-width:820.98px){.header-nav-button .-jp span{display:inline-block;transform:rotate(-90deg)}}.-open .header-nav-button p:first-child{opacity:0;pointer-events:none}.-open .header-nav-button p:last-child{opacity:1;pointer-events:auto}@media screen and (max-width:820.98px){.header-nav-button{font-size:.5185185185rem;display:block}}.footer{display:flex;justify-content:space-between;align-items:flex-end;line-height:1.6;font-weight:300}@media screen and (min-width:821px){.footer{margin-top:7.5rem;padding:1.25rem;font-size:.8125rem}}@media screen and (max-width:820.98px){.footer{margin-top:4.4444444444rem;overflow-x:hidden;flex-direction:column;align-items:flex-start;gap:.4444444444rem;padding:.7407407407rem .5555555556rem;font-size:.4814814815rem}}.footer .footer-info{display:flex;flex-direction:column;gap:.5rem}@media screen and (max-width:820.98px){.footer .footer-info{width:100%;flex-direction:column;gap:.3703703704rem}}.footer .footer-info p{margin:0;letter-spacing:.05em}.footer .footer-info a{color:inherit;text-decoration:none;position:relative;padding-bottom:.1em}.footer .footer-info a:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:#111;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}@media(hover:hover)and (pointer:fine){.footer .footer-info a:hover:before{transform:scaleX(1);transform-origin:left}}.footer .footer-copyright p{margin:0;white-space:nowrap;letter-spacing:.05em}@keyframes rotateCircle{0%{transform:rotate(calc(var(--var-index) * 40deg)) translateY(-28px) translate(-50%,-50%)}to{transform:rotate(calc(var(--var-index) * 40deg + 360deg)) translateY(-28px) translate(-50%,-50%)}}@media screen and (min-width:821px){body,a,button{cursor:none}}.mouse-stalker{position:fixed;inset:unset;top:0;left:0;width:0;height:0;margin:0;padding:0;border:none;overflow:visible;background-color:transparent;z-index:1200;pointer-events:none}.mouse-stalker__circle{position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;border:1px solid currentColor;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s,transform .3s,background-color .3s,border-color .3s,scale .3s}@media screen and (min-width:821px){.mouse-stalker__circle{opacity:1}}@media screen and (min-width:821px){.mouse-stalker.is-hover span{scale:1;opacity:1}}.mouse-stalker.is-subpage span{display:none}@media screen and (min-width:821px){.mouse-stalker.is-subpage.is-hover .mouse-stalker__circle{background-color:#000;border-color:#000;scale:.6}}.mouse-stalker span{font-size:10px;scale:.5;opacity:0;transition:scale .3s,opacity .3s;position:absolute;top:0;left:0;transform-origin:0 0;mix-blend-mode:difference;transform:rotate(calc(var(--var-index) * 40deg)) translateY(-28px) translate(-50%,-50%);animation:rotateCircle 8s linear infinite}
