@font-face{font-family:'Moderniz';src:url('/fonts/Moderniz.otf') format('opentype');font-weight:normal;font-style:normal}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Cormorant Garamond','Noto Serif JP',serif;color:#222;background:#f0ede8;overflow-x:hidden;scroll-behavior:smooth}#loading{position:fixed;width:100%;height:100vh;background:#f0ede8;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000;transition:opacity 1.5s ease-out}#loading h1{font-family:'Cormorant Garamond','Noto Serif JP',serif;font-size:2.4rem;font-weight:300;color:#222;margin-bottom:16px;letter-spacing:.15em}.loading-bar{width:80px;height:1px;background:rgba(0,0,0,0.25);animation:loading-animation 1.5s infinite ease-in-out}@keyframes loading-animation{0%{transform:scaleX(0)}50%{transform:scaleX(1)}100%{transform:scaleX(0)}}.hidden{opacity:0;pointer-events:none}.side-nav{position:fixed;left:0;top:0;height:100vh;width:60px;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgba(0,0,0,0.08);background:#f0ede8}.side-nav-logo{writing-mode:vertical-rl;font-family:'Cormorant Garamond',serif;font-size:.85rem;font-weight:400;letter-spacing:.2em;color:rgba(0,0,0,0.45);text-decoration:none;position:absolute;top:28px;transition:opacity .3s}.side-nav-logo:hover{opacity:.5}.side-nav-links{display:flex;flex-direction:column;align-items:center;gap:0}.side-nav-links a{writing-mode:vertical-rl;text-orientation:mixed;color:rgba(0,0,0,0.55);text-decoration:none;font-size:.78rem;letter-spacing:.2em;font-weight:400;padding:18px 0;transition:color .3s;font-family:'Cormorant Garamond',serif}.side-nav-links a:hover{color:#111}#mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:#f0ede8;border-bottom:1px solid rgba(0,0,0,0.08);z-index:100;align-items:center;justify-content:space-between;padding:0 20px}.mobile-logo{font-family:'Cormorant Garamond',serif;font-size:.9rem;letter-spacing:.2em;color:rgba(0,0,0,0.45);text-decoration:none}#menu-icon{font-size:20px;color:#111;cursor:pointer;padding:8px}#mobile-menu{display:none;position:fixed;top:56px;left:0;right:0;background:#f0ede8;border-bottom:1px solid rgba(0,0,0,0.08);z-index:99;flex-direction:column;padding:16px 20px}#mobile-menu.open{display:flex}#mobile-menu a{color:rgba(0,0,0,0.6);text-decoration:none;font-size:.85rem;letter-spacing:.15em;padding:12px 0;border-bottom:1px solid rgba(0,0,0,0.04);font-family:'Noto Sans JP',sans-serif}#mobile-menu a:hover{color:#111}.hero{margin-left:60px;height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.hero-left{display:flex;flex-direction:column;justify-content:center;padding:80px 60px 80px 80px}.hero-issue{font-family:'Cormorant Garamond',serif;font-size:.75rem;font-weight:300;letter-spacing:.35em;color:rgba(0,0,0,0.45);margin-bottom:40px}.hero-title{font-family:'Cormorant Garamond',serif;font-size:6rem;font-weight:300;line-height:1.0;letter-spacing:.02em;color:#222;margin-bottom:24px}.hero-desc{font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:300;font-style:italic;color:rgba(0,0,0,0.5);line-height:2;max-width:360px;letter-spacing:.03em}.hero-right{position:relative;overflow:hidden}.hero-img-wrap{position:absolute;inset:40px 60px 40px 0;border-radius:2px;overflow:hidden}.hero-source{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.hero-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.works{margin-left:60px;padding:120px 80px}.works-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:80px;padding-bottom:24px;border-bottom:1px solid rgba(0,0,0,0.08)}.works-header h2{font-family:'Cormorant Garamond',serif;font-size:3.2rem;font-weight:300;letter-spacing:.05em}.works-header span{font-size:.7rem;letter-spacing:.3em;color:rgba(0,0,0,0.3);font-family:'Noto Sans JP',sans-serif}.works-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;max-width:1100px}.works-item{position:relative;cursor:pointer}.works-item:nth-child(2){margin-top:80px}.works-item:nth-child(4){margin-top:-40px}.works-label{position:absolute;top:-10px;left:-8px;font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:rgba(0,0,0,0.06);letter-spacing:.05em;z-index:2;pointer-events:none}.works-img-wrap{overflow:hidden;border-radius:2px}.works-img-wrap img{width:100%;display:block;transition:transform .8s cubic-bezier(0.25,0.46,0.45,0.94)}.works-item:nth-child(1) .works-img-wrap img{aspect-ratio:4/3;object-fit:cover}.works-item:nth-child(2) .works-img-wrap img{aspect-ratio:1/1;object-fit:cover}.works-item:nth-child(3) .works-img-wrap img{aspect-ratio:3/2;object-fit:cover}.works-item:nth-child(4) .works-img-wrap img{aspect-ratio:4/5;object-fit:cover}.works-item:hover .works-img-wrap img{transform:scale(1.04)}.works-name{margin-top:16px;font-size:1.1rem;letter-spacing:.15em;font-weight:400}.works-cat{font-size:.7rem;color:rgba(0,0,0,0.35);letter-spacing:.2em;margin-top:4px;font-family:'Noto Sans JP',sans-serif}.site-footer{margin-left:60px;padding:60px 80px;border-top:1px solid rgba(0,0,0,0.06);display:flex;justify-content:space-between;align-items:center}.site-footer p{font-size:.7rem;color:rgba(0,0,0,0.25);letter-spacing:.2em}.footer-social{display:flex;gap:24px;flex-wrap:wrap}.footer-social a{font-size:.75rem;color:rgba(0,0,0,0.3);text-decoration:none;letter-spacing:.1em;font-family:'Noto Sans JP',sans-serif;transition:color .3s}.footer-social a:hover{color:#111}.page-content{margin-left:60px;padding:100px 80px 60px;min-height:100vh;display:flex;flex-direction:column;align-items:center}.page-content>*{width:100%;max-width:1200px}.photo-title,.design-title,.mmv-title,.about-title,.contact-title,.product-title,.blog-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,4rem);font-weight:300;color:#222;margin:0 0 48px 0;text-align:left;letter-spacing:.1em}.about-title,.contact-title{max-width:600px}.product-title{max-width:900px}.photo-gallery{display:block;padding:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:1200px}.photo-grid img{width:100%;height:auto;object-fit:cover;cursor:pointer;transition:transform .5s cubic-bezier(0.25,0.46,0.45,0.94);border-radius:2px}.photo-grid img:hover{transform:scale(1.03)}#photo-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);justify-content:center;align-items:center;flex-direction:column;z-index:1000}#photo-modal.show{display:flex}#modal-img{max-width:90vw;max-height:90vh;box-shadow:0 4px 40px rgba(0,0,0,0.5);transition:transform .3s ease-in-out}#prev,#next{position:absolute;top:50%;transform:translateY(-50%);font-size:2rem;color:#f0ede8;cursor:pointer;background:rgba(0,0,0,0.4);padding:12px 16px;border-radius:2px;transition:background .3s}#prev:hover,#next:hover{background:rgba(0,0,0,0.7)}#prev{left:20px}#next{right:20px}#close-modal{position:absolute;top:20px;right:20px;font-size:2rem;color:#f0ede8;cursor:pointer;background:rgba(0,0,0,0.4);padding:8px 16px;border-radius:2px}.design-gallery{display:flex;justify-content:center;padding:0}.design-grid{display:grid;grid-template-columns:1fr;gap:12px;max-width:1200px;width:100%}@media(min-width:900px){.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.design-gallery .design-grid video,.design-gallery .design-grid .design-item{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:2px;display:block;cursor:pointer;background:#ddd;transition:transform .5s cubic-bezier(0.25,0.46,0.45,0.94)}.design-gallery .design-grid video:hover,.design-gallery .design-grid .design-item:hover{transform:scale(1.02)}.mmv-gallery{display:flex;justify-content:center;padding:0}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1200px;width:100%}.video-item{position:relative;cursor:pointer}.thumbnail-container{position:relative;width:100%;overflow:hidden;border-radius:2px}.thumbnail-container img{width:100%;height:auto;border-radius:2px;transition:transform .5s cubic-bezier(0.25,0.46,0.45,0.94)}.thumbnail-container:hover img{transform:scale(1.03)}.video-title{font-family:'Noto Sans JP',sans-serif;font-size:.85rem;font-weight:300;color:rgba(0,0,0,0.6);text-align:left;margin-top:10px;letter-spacing:.1em}.mmv-disclaimer{margin-top:60px;padding-top:24px;border-top:1px solid rgba(0,0,0,0.08);max-width:1200px;width:100%}.mmv-disclaimer p{font-family:'Noto Sans JP',sans-serif;font-size:.75rem;font-weight:300;color:rgba(0,0,0,0.4);line-height:1.8}.about-content{max-width:600px;padding:0;text-align:left;color:#222;line-height:2}.about-name{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:400;margin-bottom:16px;letter-spacing:.05em}.about-intro{font-size:1rem;color:rgba(0,0,0,0.65);margin-bottom:8px;font-family:'Noto Sans JP',sans-serif;font-weight:300}.about-section{margin-top:40px}.about-section-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;letter-spacing:.08em;color:#222;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,0.1)}.about-tags{display:flex;flex-wrap:wrap;gap:6px 20px}.about-tag{font-family:'Noto Sans JP',sans-serif;font-size:.85rem;font-weight:300;color:rgba(0,0,0,0.6);letter-spacing:.03em}#about-social-links{display:flex;flex-wrap:wrap;gap:16px}.about-social-link{font-size:.85rem;font-weight:300;text-decoration:none;color:rgba(0,0,0,0.5);padding:10px 20px;border:1px solid rgba(0,0,0,0.1);border-radius:2px;transition:all .3s;font-family:'Noto Sans JP',sans-serif}.about-social-link:hover{color:#111;border-color:rgba(0,0,0,0.3)}.contact-container{text-align:left;margin-top:0;max-width:600px}.contact-text{font-size:1rem;color:rgba(0,0,0,0.65);margin-bottom:24px;font-family:'Noto Sans JP',sans-serif;font-weight:300;line-height:2}.contact-email{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:#111;text-decoration:none;display:inline-block;padding:12px 24px;border:1px solid rgba(0,0,0,0.15);border-radius:2px;transition:all .3s;letter-spacing:.05em}.contact-email:hover{border-color:rgba(0,0,0,0.4);background:rgba(0,0,0,0.03)}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px}.product-card{display:block;text-decoration:none;color:#222;padding:32px;border:1px solid rgba(0,0,0,0.08);border-radius:2px;transition:all .4s;background:transparent}.product-card:hover{border-color:rgba(0,0,0,0.2);background:rgba(0,0,0,0.015)}.product-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.product-num{font-family:'Cormorant Garamond',serif;font-size:.8rem;color:rgba(0,0,0,0.2);letter-spacing:.1em}.product-lang{font-family:'Noto Sans JP',sans-serif;font-size:.65rem;color:rgba(0,0,0,0.3);letter-spacing:.15em;padding:4px 10px;border:1px solid rgba(0,0,0,0.1);border-radius:2px}.product-name{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;letter-spacing:.05em;margin-bottom:12px}.product-desc{font-family:'Noto Sans JP',sans-serif;font-size:.8rem;font-weight:300;color:rgba(0,0,0,0.55);line-height:1.8;margin-bottom:20px}.product-link{font-family:'Noto Sans JP',sans-serif;font-size:.75rem;color:rgba(0,0,0,0.45);letter-spacing:.1em;transition:color .3s}.product-card:hover .product-link{color:#111}#load-more-btn{margin:40px auto;display:block;padding:12px 32px;font-size:.85rem;font-family:'Noto Sans JP',sans-serif;background:transparent;color:rgba(0,0,0,0.4);border:1px solid rgba(0,0,0,0.15);border-radius:2px;cursor:pointer;transition:all .3s;letter-spacing:.15em}#load-more-btn:hover{color:#111;border-color:rgba(0,0,0,0.4)}.section-content{opacity:0;transform:translateY(30px);transition:opacity 1s ease-out,transform 1s ease-out}.section-content.active{opacity:1;transform:translateY(0)}@media(max-width:768px){.side-nav{display:none}#mobile-header{display:flex}#menu-icon{display:none}#mobile-menu{display:flex !important;position:fixed;top:auto;bottom:0;left:0;right:0;flex-direction:row;overflow-x:auto;white-space:nowrap;padding:0 12px;padding-bottom:env(safe-area-inset-bottom,0);gap:0;border-top:1px solid rgba(0,0,0,0.08);border-bottom:0;background:#f0ede8;z-index:99;-webkit-overflow-scrolling:touch;scrollbar-width:none}#mobile-menu::-webkit-scrollbar{display:none}#mobile-menu a{display:inline-block;padding:12px 14px;border-bottom:0;white-space:nowrap;font-size:.72rem;letter-spacing:.12em}.hero{margin-left:0;height:auto;min-height:100vh;grid-template-columns:1fr;padding-bottom:56px}.hero-left{padding:76px 24px 40px;order:1}.hero-title{font-size:4rem}.hero-right{order:2;height:auto;position:relative}.hero-img-wrap{position:relative;inset:auto;margin:0 24px 24px;aspect-ratio:3/2}.works{margin-left:0;padding:60px 24px}.works-grid{grid-template-columns:1fr}.works-item:nth-child(2){margin-top:0}.works-item:nth-child(4){margin-top:0}.page-content{margin-left:0;padding:76px 24px 72px}.site-footer{margin-left:0;padding:40px 24px 72px;flex-direction:column;gap:16px;text-align:center}.photo-grid{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr}.design-grid{grid-template-columns:1fr !important}#about-social-links{flex-direction:column;align-items:flex-start}.about-social-link{width:100%;text-align:center}.product-grid{grid-template-columns:1fr}.photo-title,.design-title,.mmv-title,.about-title,.contact-title,.product-title,.blog-title{font-size:clamp(1.5rem,8vw,3rem)}.blog-card{padding:24px 0}.blog-card:hover{padding-left:0}.article-title{font-size:clamp(1rem,4.5vw,1.3rem)}.article-nav{flex-direction:column}.article-nav a{max-width:100%}.article-body pre{padding:16px;font-size:.78rem}}.blog-grid{display:grid;grid-template-columns:1fr;gap:0;max-width:900px;width:100%}.blog-card{display:block;text-decoration:none;color:#222;padding:32px 0;border-bottom:1px solid rgba(0,0,0,0.08);transition:all .3s}.blog-card:first-child{border-top:1px solid rgba(0,0,0,0.08)}.blog-card:hover{background:rgba(0,0,0,0.015);padding-left:16px}.blog-card-meta{display:flex;align-items:center;gap:16px;margin-bottom:8px}.blog-card-date{font-family:'Cormorant Garamond',serif;font-size:.8rem;color:rgba(0,0,0,0.35);letter-spacing:.1em}.blog-card-tags{display:flex;gap:8px;flex-wrap:wrap}.blog-tag{font-family:'Noto Sans JP',sans-serif;font-size:.65rem;color:rgba(0,0,0,0.35);letter-spacing:.1em;padding:2px 8px;border:1px solid rgba(0,0,0,0.1);border-radius:2px}.blog-card-title{font-family:'Noto Sans JP',sans-serif;font-size:1rem;font-weight:400;letter-spacing:.03em;margin-bottom:8px;line-height:1.6}.blog-card-excerpt{font-family:'Noto Sans JP',sans-serif;font-size:.8rem;font-weight:300;color:rgba(0,0,0,0.5);line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-title{font-family:'Noto Sans JP',sans-serif;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:400;color:#222;margin:0 0 16px 0;text-align:left;letter-spacing:.02em;line-height:1.7;max-width:780px}.article-meta{display:flex;align-items:center;gap:16px;margin-bottom:48px;max-width:780px}.article-date{font-family:'Cormorant Garamond',serif;font-size:.85rem;color:rgba(0,0,0,0.35);letter-spacing:.1em}.article-tags{display:flex;gap:8px;flex-wrap:wrap}.article-body{max-width:780px;width:100%;font-family:'Noto Sans JP',sans-serif;font-weight:300;font-size:.95rem;line-height:2;color:rgba(0,0,0,0.7)}.article-body h1{font-family:'Noto Sans JP',sans-serif;font-size:1.6rem;font-weight:400;color:#222;margin:56px 0 24px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,0.1);letter-spacing:.03em}.article-body h2{font-family:'Noto Sans JP',sans-serif;font-size:1.3rem;font-weight:400;color:#222;margin:48px 0 20px;padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,0.06);letter-spacing:.03em}.article-body h3{font-family:'Noto Sans JP',sans-serif;font-size:1.1rem;font-weight:400;color:#222;margin:40px 0 16px}.article-body h4,.article-body h5,.article-body h6{font-family:'Noto Sans JP',sans-serif;font-size:1rem;font-weight:400;color:#222;margin:32px 0 12px}.article-body p{margin:0 0 24px}.article-body a{color:rgba(0,0,0,0.7);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(0,0,0,0.2);transition:text-decoration-color .3s}.article-body a:hover{text-decoration-color:rgba(0,0,0,0.6)}.article-body img{max-width:100%;height:auto;border-radius:2px;margin:24px 0;display:block}.article-body ul,.article-body ol{margin:0 0 24px 24px}.article-body li{margin-bottom:8px}.article-body code{font-family:'Consolas','Monaco','Courier New',monospace;font-size:.85em;background:rgba(0,0,0,0.04);padding:2px 6px;border-radius:2px;color:rgba(0,0,0,0.75)}.article-body pre{margin:0 0 24px;padding:24px;background:#2d2d2d;border-radius:2px;overflow-x:auto;line-height:1.6}.article-body pre code{background:0;padding:0;color:#ccc;font-size:.85rem}.article-body table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:.85rem}.article-body th,.article-body td{padding:10px 16px;border:1px solid rgba(0,0,0,0.1);text-align:left}.article-body th{background:rgba(0,0,0,0.03);font-weight:400}.article-body blockquote{margin:0 0 24px;padding:16px 24px;border-left:3px solid rgba(0,0,0,0.12);color:rgba(0,0,0,0.55);font-style:italic}.article-body blockquote p:last-child{margin-bottom:0}.article-body hr{border:0;border-top:1px solid rgba(0,0,0,0.08);margin:40px 0}.article-nav{display:flex;justify-content:space-between;max-width:780px;width:100%;margin-top:60px;padding-top:24px;border-top:1px solid rgba(0,0,0,0.08);gap:24px}.article-nav a{font-family:'Noto Sans JP',sans-serif;font-size:.8rem;font-weight:300;color:rgba(0,0,0,0.5);text-decoration:none;letter-spacing:.05em;transition:color .3s;max-width:45%}.article-nav a:hover{color:#111}.article-back-link{display:inline-block;margin-top:40px;max-width:780px;font-family:'Noto Sans JP',sans-serif;font-size:.8rem;font-weight:300;color:rgba(0,0,0,0.45);text-decoration:none;letter-spacing:.1em;transition:color .3s}.article-back-link:hover{color:#111}