@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--bg-color:#f9f7f1;--text-color:#444444;--accent-color:#c2a37a;--white:#ffffff;--light-gray:#f5f5f5;--border-color:#e0e0e0}html{scroll-behavior:smooth}body{font-family:Zen Kaku Gothic New,Poppins,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;font-size:16px}.en{font-family:Poppins,sans-serif}.jp{font-family:Zen Kaku Gothic New,sans-serif}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{position:fixed;top:0;left:0;right:0;background-color:rgba(249,247,241,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:20px 0;transition:all .3s ease}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:20px;font-weight:600;color:var(--text-color);text-decoration:none;transition:color .3s ease}.logo:hover{color:var(--accent-color)}.nav{display:flex;gap:40px}.nav-link{color:var(--text-color);text-decoration:none;font-weight:400;position:relative;transition:color .3s ease}.nav-link:hover{color:var(--accent-color)}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--accent-color);transition:width .3s ease}.nav-link:hover:after{width:100%}.hamburger{display:none;flex-direction:column;justify-content:space-around;width:30px;height:30px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger span{width:100%;height:3px;background-color:var(--text-color);border-radius:2px;transition:all .3s ease;transform-origin:center}.hamburger.active span:first-child{transform:rotate(45deg) translate(7px,7px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.nav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:999;display:none}.main{margin-top:80px;min-height:calc(100vh - 160px)}.footer{background-color:var(--text-color);color:var(--bg-color);padding:40px 0;text-align:center}.footer-content{justify-content:space-between;align-items:center;flex-wrap:wrap}.footer-content,.social-links{display:flex;gap:20px}.social-link{color:var(--bg-color);text-decoration:none;font-size:18px;transition:color .3s ease}.social-link:hover{color:var(--accent-color)}.btn{display:inline-block;padding:12px 30px;background-color:var(--accent-color);color:var(--white);text-decoration:none;border-radius:30px;font-weight:500;transition:all .3s ease;border:none;cursor:pointer}.btn:hover{background-color:var(--text-color);transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.btn-outline{background-color:transparent;color:var(--accent-color);border:2px solid var(--accent-color)}.btn-outline:hover{background-color:var(--accent-color);color:var(--white)}.card{background-color:var(--white);padding:30px;box-shadow:0 5px 20px rgba(0,0,0,.05)}.card,.card-2{border-radius:15px;transition:all .3s ease}.card-2{padding:20px}.card-3{border-radius:15px;transition:all .3s ease}.card-2:hover,.card-3:hover,.card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}.grid{display:grid;grid-gap:30px;gap:30px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fade-in{animation:fadeIn .8s ease-out}.slide-in{animation:slideIn .8s ease-out}.bounce{animation:bounce 2s infinite}.pulse{animation:pulse 2s infinite}.float{animation:float 3s ease-in-out infinite}.interactive-hover{transition:all .3s ease;cursor:pointer}.interactive-hover:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,.1)}.emoji-hover{transition:transform .3s ease;display:inline-block}.emoji-hover:hover{transform:scale(1.2) rotate(10deg)}.scroll-reveal{opacity:0;transform:translateY(50px);transition:all .6s ease}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}@media (max-width:768px){.container{padding:0 15px}.header-content{flex-direction:row;gap:0}.hamburger{display:flex}.nav{position:fixed;top:0;right:-100%;width:280px;height:100vh;background-color:var(--white);flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:100px 30px 30px;gap:30px;transition:right .3s ease;box-shadow:-5px 0 15px rgba(0,0,0,.1);z-index:1000}.nav.nav-open{right:0}.nav-link{font-size:18px;font-weight:500;width:100%;padding:15px 0;border-bottom:1px solid var(--border-color)}.nav-link:last-child{border-bottom:none}.nav-overlay{display:block}.footer-content{flex-direction:column;text-align:center}.grid-2,.grid-3{grid-template-columns:1fr}}@media (max-width:480px){.nav{width:100%;right:-100%}.nav.nav-open{right:0}.btn{padding:10px 25px;font-size:14px}}.image-protection{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;pointer-events:none}.image-protection::selection{background:transparent}.image-protection::-moz-selection{background:transparent}.no-context-menu{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-link:hover{background-color:var(--accent-color)!important;color:white!important}@media print{.image-protection{display:none!important}}