*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Shippori Mincho,Times New Roman,serif;font-weight:400;font-size:14px;line-height:2;color:#222;background:#fff;-webkit-font-smoothing:antialiased;font-feature-settings:"palt"}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}#loader{position:fixed;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .8s ease,visibility .8s ease}.loader-icon{width:50px;height:50px;object-fit:cover;border-radius:50%;transform-origin:center center;opacity:.65;animation-name:spin-reverse;animation-duration:3.5s;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes spin-reverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}#loader.hidden{opacity:0;visibility:hidden}header{position:fixed;top:0;left:0;right:0;z-index:100;background:#ffffff80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid #e8e8e8}.header-inner{max-width:1200px;margin:0 auto;padding:0 40px;height:64px;display:flex;align-items:center;justify-content:space-between}.site-name{display:flex;align-items:center}.header-logo{height:54px;width:auto}.header-logo-text{font-family:Poppins,sans-serif;font-weight:900;font-size:18px;letter-spacing:.05em;color:#222;white-space:nowrap}nav{display:flex;align-items:center;gap:32px}nav ul{display:flex;gap:36px}.header-social{display:flex;gap:16px;align-items:center}.header-social a{display:flex;align-items:center;color:#555;transition:color .2s}.header-social a:hover{color:#222}nav a{font-family:Poppins,sans-serif;font-size:11px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:#555;transition:color .2s}nav a:hover{color:#222}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.menu-toggle span{display:block;width:22px;height:1px;background:#222;transition:transform .3s,opacity .3s}main{padding-top:64px;opacity:0;transition:opacity 1.6s ease}main.visible{opacity:1}section{padding:100px 40px;max-width:1200px;margin:0 auto}.section-title{font-family:Poppins,sans-serif;font-size:15px;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:#333;margin-bottom:60px}.section-title:after,.works-subtitle:after{content:" |";color:#aaa}#hero{padding:0;max-width:100%;height:100vh;margin-top:-64px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}#hero:before{content:"";position:absolute;inset:0;background:url(/bg.jpg) center center / cover no-repeat;transform:scaleY(-1);z-index:0}#hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(to bottom,transparent,#fff);pointer-events:none;z-index:1}.hero-content{text-align:center;position:relative;z-index:2}.hero-content h1{font-family:Shippori Mincho,serif;font-size:clamp(28px,4vw,46px);font-weight:400;letter-spacing:.4em;color:#222;margin-bottom:16px}.hero-content p{font-size:12px;letter-spacing:.2em;color:#888;text-transform:uppercase}.hero-logo{width:clamp(140px,25vw,300px);height:auto;margin:0 auto}.news-schedule-wrap{background:linear-gradient(to bottom,#fff,#edf3f8,#f3f7fa 60%,#fff)}.news-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}#news{padding:0;max-width:100%;margin:0}.news-list{display:flex;flex-direction:column;gap:0}.news-item{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid #e8e8e8;align-items:baseline}.news-date{font-size:11px;letter-spacing:.05em;color:#aaa;white-space:nowrap}.news-text{font-size:14px;color:#333;line-height:1.7}.news-text a{border-bottom:1px solid #ccc;transition:border-color .2s}.news-text a:hover{border-color:#222}#schedule{padding:0;max-width:100%;margin:0}#schedule .section-title,#news .section-title{padding-top:2em;margin-bottom:calc(60px - 2em)}.schedule-inner{max-width:1200px;margin:0 auto}.schedule-list{display:flex;flex-direction:column;gap:0}.schedule-item{display:grid;grid-template-columns:140px 1fr auto;gap:24px;padding:28px 0;border-bottom:1px solid #e0e0e0;align-items:baseline}.schedule-date{font-size:11px;color:#888;letter-spacing:.05em}.schedule-info h3{font-size:14px;font-weight:400;color:#222;margin-bottom:4px}.schedule-info p{font-size:12px;color:#888}.schedule-title-link{color:inherit}.schedule-link{font-size:14px;letter-spacing:.1em;color:#aaa;text-transform:uppercase;border-bottom:1px solid #ddd;padding-bottom:1px;transition:color .2s,border-color .2s}.schedule-link:hover{color:#222;border-color:#222}.more-link{font-family:Poppins,sans-serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#aaa;border-bottom:1px solid #ddd;padding-bottom:1px;transition:color .2s,border-color .2s}.more-link:hover{color:#222;border-color:#222}.no-schedule{font-size:13px;color:#aaa;padding:40px 0}#instagram{max-width:100%;padding:24px 40px 80px}.instagram-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ig-iframe{width:100%;height:480px;border:none;border-radius:3px}.profile-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}.profile-image{aspect-ratio:3/4;background:#efefef;overflow:hidden}.profile-image img{width:100%;height:100%;object-fit:cover}.profile-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#bbb;letter-spacing:.1em;min-height:400px}.profile-name-row{display:flex;align-items:baseline;gap:16px;margin-bottom:20px}.profile-text h2{font-family:Cormorant Garamond,Shippori Mincho,serif;font-size:22px;font-weight:300;letter-spacing:.2em;color:#222;line-height:1.2;margin-bottom:0}.profile-text .en-name{font-size:12px;letter-spacing:.2em;color:#222;margin-bottom:0;text-transform:uppercase}.profile-text p{font-size:14px;color:#444;line-height:2;margin-bottom:12px}#works{background:linear-gradient(to bottom,#fff 0%,transparent 15%,transparent 85%,#fff 100%),url(/bg-works.jpg) center center / cover no-repeat;max-width:100%;padding:0}.works-inner{max-width:1200px;margin:0 auto}.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.work-item{display:flex;flex-direction:column;gap:16px}.work-thumb{aspect-ratio:1/1;background:#e8e8e8;overflow:hidden;position:relative}.work-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.work-item:hover .work-thumb img{transform:scale(1.03)}.work-thumb-placeholder{width:100%;height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#bbb;letter-spacing:.1em}.work-info h3{font-size:13px;font-weight:400;color:#222;line-height:1.6}.work-info p{font-size:12px;color:#888;margin-top:4px}.works-subtitle{font-family:Poppins,sans-serif;font-size:15px;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:#333;margin:80px 0 60px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.video-item{width:100%}.video-embed{position:relative;width:100%;aspect-ratio:16/9}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.video-thumb{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;cursor:pointer;background:#111}.video-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s}.video-thumb:hover img{opacity:.7}.play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#fff;opacity:0;transition:opacity .3s}.video-thumb:hover .play-btn{opacity:1}.video-title{font-size:12px;color:#555;margin-top:10px;line-height:1.6}.video-item{display:flex;flex-direction:column}.video-placeholder{width:100%;height:100%;min-height:180px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#bbb;letter-spacing:.1em}.contact-lead{font-size:13px;color:#888;margin-bottom:48px;letter-spacing:.05em}.contact-form{max-width:560px;display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#aaa}.form-group input,.form-group textarea{border:none;border-bottom:1px solid #ddd;padding:10px 0;font-family:Poppins,sans-serif;font-size:14px;font-weight:300;color:#222;background:transparent;outline:none;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#222}.form-group textarea{resize:vertical;min-height:120px}.form-submit{margin-top:8px;align-self:flex-start}.btn{display:inline-block;padding:12px 40px;font-family:Poppins,sans-serif;font-size:11px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:#999;border:none;cursor:pointer;transition:background .2s}.btn:hover{background:#777}.form-success{display:none;font-size:14px;color:#888;padding:20px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.contact-right{display:flex;justify-content:flex-end;align-items:flex-end}.totop-contact{display:inline-block;transition:opacity .2s}.totop-contact:hover{opacity:.6}.totop-contact img{width:120px;height:auto;display:block}footer{border-top:1px solid #e8e8e8;padding:48px 40px}.footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.social-links{display:flex;gap:20px;align-items:center}.social-links a{display:flex;align-items:center;color:#555;transition:color .2s}.social-links a:hover{color:#222}.copyright{font-size:11px;color:#ccc;letter-spacing:.1em}.fade-in{opacity:0;transform:translateY(16px);transition:opacity 1.4s ease,transform 1.4s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media(max-width:768px){.news-schedule-grid{grid-template-columns:1fr;gap:60px}.header-inner{padding:0 20px}.menu-toggle{display:flex}nav{position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid #e8e8e8;padding:0 20px;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}nav.open{max-height:400px;padding:20px}nav ul{flex-direction:column;gap:20px}section{padding:72px 20px}#hero{height:100vh}.profile-grid{grid-template-columns:1fr;gap:40px}.works-grid{grid-template-columns:repeat(2,1fr);gap:24px}.video-grid{grid-template-columns:1fr}.schedule-item{grid-template-columns:1fr;gap:8px}#schedule,#works{padding:72px 20px}.footer-inner{flex-direction:column;gap:20px;text-align:center}.social-links{gap:20px}}@media(max-width:480px){.works-grid{grid-template-columns:1fr}}
