@import url(https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=M+PLUS+2:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Quicksand:wght@300..700&display=swap);
.override-serif lang-en{font-family:"Playfair Display",serif}.override-serif lang-ja{font-family:"Noto Serif JP",serif}.override-sans lang-en{font-family:"Quicksand",sans-serif}.override-sans lang-ja{font-family:"M PLUS 2",sans-serif}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:"Quicksand",sans-serif;background-color:#1a1a2e;color:#f5f5f5;overflow-x:hidden;min-height:100vh}body.lang-ja{font-family:"Noto Serif JP",serif}body.lang-ja .section-title .lang-ja{font-family:"M PLUS 2",sans-serif}body.lang-ja .nav-brand .lang-ja{font-family:"Playfair Display",serif}body.lang-en{font-family:"Quicksand",sans-serif}body.lang-en .section-title .lang-en{font-family:"Playfair Display",serif}body.lang-en .nav-brand .lang-en{font-family:"Playfair Display",serif}#root{min-height:100vh}.lang-en,.lang-ja{display:inline-block;transition:transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94),opacity .4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}body.lang-en .lang-ja{display:none}body.lang-ja .lang-en{display:none}.lang-toggle-track .lang-toggle-en,.lang-toggle-track .lang-toggle-ja{display:inline-block !important}.lang-slide-out-left{animation:slideOutLeft .3s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards}.lang-slide-out-right{animation:slideOutRight .3s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards}.lang-slide-in-left{animation:slideInFromRight .35s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards}.lang-slide-in-right{animation:slideInFromLeft .35s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards}@keyframes slideOutLeft{0%{transform:translateX(0);opacity:1}100%{transform:translateX(-30px);opacity:0}}@keyframes slideOutRight{0%{transform:translateX(0);opacity:1}100%{transform:translateX(30px);opacity:0}}@keyframes slideInFromRight{0%{transform:translateX(30px);opacity:0}100%{transform:translateX(0);opacity:1}}@keyframes slideInFromLeft{0%{transform:translateX(-30px);opacity:0}100%{transform:translateX(0);opacity:1}}.main-nav{display:none}@media(min-width: 1024px){.main-nav{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:100;padding:.8rem 2.5rem;background:linear-gradient(180deg, rgba(26, 26, 46, 0.95) 0%, rgba(26, 26, 46, 0.7) 100%);backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,154,108,.15)}}.nav-brand .lang-en,.nav-brand .lang-ja{font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:#c49a6c;letter-spacing:.05em}.nav-links{display:flex;align-items:center;gap:2rem}.nav-link{text-decoration:none;color:#b8b8cc;font-size:.95rem;font-weight:500;letter-spacing:.03em;position:relative;padding:.3rem 0;transition:color .4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.nav-link::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#c49a6c;transition:width .4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.nav-link:hover,.nav-link.nav-link--active{color:#f5f5f5}.nav-link:hover::after,.nav-link.nav-link--active::after{width:100%}.lang-toggle{cursor:pointer;user-select:none}.lang-toggle-track{position:relative;display:flex;align-items:center;width:70px;height:32px;background:#16213e;border-radius:16px;border:1px solid rgba(196,154,108,.3);padding:0 4px;transition:background .4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.lang-toggle-label{flex:1;text-align:center;font-size:.7rem;font-weight:600;color:#b8b8cc;z-index:1;transition:color .4s cubic-bezier(0.25, 0.46, 0.45, 0.94);pointer-events:none}.lang-toggle-thumb{position:absolute;top:2px;left:2px;width:28px;height:26px;background:#c49a6c;border-radius:13px;transition:transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.lang-toggle-thumb.lang-toggle-thumb--ja{transform:translateX(36px)}.mobile-menu-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;position:fixed;bottom:2rem;right:2rem;z-index:1000;width:56px;height:56px;border-radius:50%;border:1px solid rgba(196,154,108,.3);background:#1a1a2e;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.4);transition:all .4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}@media(min-width: 1024px){.mobile-menu-btn{display:none}}.mobile-menu-btn .hamburger-line{display:block;width:22px;height:2px;background:#c49a6c;border-radius:1px;transition:all .3s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.mobile-menu-btn.mobile-menu-btn--open{background:#c49a6c;border-color:#c49a6c}.mobile-menu-btn.mobile-menu-btn--open .hamburger-line{background:#1a1a2e}.mobile-menu-btn.mobile-menu-btn--open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-btn.mobile-menu-btn--open .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn.mobile-menu-btn--open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:flex;position:fixed;inset:0;z-index:999;background:rgba(26,26,46,.97);backdrop-filter:blur(20px);justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(0.25, 0.46, 0.45, 0.94),visibility .4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}@media(min-width: 1024px){.mobile-menu{display:none !important}}.mobile-menu.mobile-menu--open{opacity:1;visibility:visible}.mobile-menu.mobile-menu--open .mobile-menu-link,.mobile-menu.mobile-menu--open .lang-toggle--mobile{opacity:1;transform:translateY(0)}.mobile-menu-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.mobile-menu-link{text-decoration:none;color:#f5f5f5;font-size:1.6rem;font-weight:500;letter-spacing:.05em;opacity:0;transform:translateY(20px);transition:opacity .4s cubic-bezier(0.25, 0.46, 0.45, 0.94),transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94),color .3s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.mobile-menu-link:hover{color:#c49a6c}.lang-toggle--mobile{opacity:0;transform:translateY(20px);transition:opacity .4s cubic-bezier(0.25, 0.46, 0.45, 0.94),transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94);margin-top:1rem}.carousel{display:none}@media(min-width: 1024px){.carousel{display:block;position:relative;width:100vw;height:100vh;overflow:hidden}}.carousel-track{display:flex;height:100%;transition:transform .7s cubic-bezier(0.22, 1, 0.36, 1)}.carousel-slide{display:flex;min-width:100vw;height:100vh;position:relative}.slide-text{flex:1;display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem 4rem;z-index:2}.slide-text.slide-text--left{padding-right:3rem}.slide-text.slide-text--right{padding-left:3rem}.section-title .lang-en,.section-title .lang-ja{font-family:"Playfair Display",serif;font-size:3rem;font-weight:700;color:#c49a6c;line-height:1.2;margin-bottom:.5rem;display:block}.section-title{margin-bottom:2rem}.section-body .lang-en,.section-body .lang-ja{font-size:1.05rem;line-height:1.8;color:#f5ebe0;display:block}.slide-image{flex:1;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;position:relative}.slide-image img{width:100%;max-width:500px;height:auto;max-height:75vh;object-fit:cover;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}.slide-image::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle, rgba(196, 154, 108, 0.08) 0%, transparent 70%);z-index:0}.video-container{position:relative;width:100%;max-width:480px;padding-top:56.25%;margin-top:2rem;border-radius:8px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.3)}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.carousel-nav{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1.5rem;z-index:50}.carousel-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(196,154,108,.4);background:rgba(26,26,46,.8);color:#c49a6c;font-size:1.2rem;cursor:pointer;transition:all .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);backdrop-filter:blur(8px)}.carousel-btn:hover:not(:disabled){background:#c49a6c;color:#1a1a2e;border-color:#c49a6c}.carousel-btn:disabled{opacity:.3;cursor:not-allowed}.carousel-dots{display:flex;gap:.6rem}.carousel-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(196,154,108,.5);background:rgba(0,0,0,0);cursor:pointer;transition:all .3s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.carousel-dot.carousel-dot--active{background:#c49a6c;border-color:#c49a6c;transform:scale(1.2)}.carousel-dot:hover:not(.carousel-dot--active){background:rgba(196,154,108,.3)}.mobile-sections{display:block}@media(min-width: 1024px){.mobile-sections{display:none}}.mobile-section{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.mobile-section-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}.mobile-section-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(26, 26, 46, 0.3) 0%, rgba(26, 26, 46, 0.85) 60%, rgba(26, 26, 46, 0.95) 100%)}.mobile-section-content{position:relative;z-index:1;padding:2rem 1.5rem 3rem;background:rgba(26,26,46,.82);backdrop-filter:blur(6px);border-top:1px solid rgba(196,154,108,.15)}.mobile-section-content .section-title{margin-bottom:1.2rem}.mobile-section-content .section-title .lang-en,.mobile-section-content .section-title .lang-ja{font-size:2rem}.mobile-section-content .section-body .lang-en,.mobile-section-content .section-body .lang-ja{font-size:.95rem;line-height:1.7}.mobile-section-content .video-container{max-width:100%;margin-top:1.5rem}.section-bio,.mobile-section-bio{background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)}.section-technical,.mobile-section-technical{background:linear-gradient(135deg, #16213e 0%, #0f3460 100%)}.section-creative,.mobile-section-creative{background:linear-gradient(135deg, #0f3460 0%, #1a1a2e 100%)}.section-contact,.mobile-section-contact{background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#1a1a2e}::-webkit-scrollbar-thumb{background:#a67c52;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#c49a6c}
