@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap";@tailwind base;@tailwind components;@tailwind utilities;*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans JP,sans-serif;line-height:1.6;color:#1e293b}html{scroll-behavior:smooth;scroll-padding-top:80px}.bg-gradient-radial{background:radial-gradient(circle,var(--tw-gradient-stops))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float-delayed{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-delayed{animation:float-delayed 8s ease-in-out infinite;animation-delay:2s}@keyframes drift{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}@keyframes orbital{0%{transform:rotate(0) translate(50px) rotate(0)}to{transform:rotate(360deg) translate(50px) rotate(-360deg)}}@keyframes sway{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(20px) translateY(-10px)}50%{transform:translate(-15px) translateY(15px)}75%{transform:translate(10px) translateY(-20px)}}.animate-drift{animation:drift 12s ease-in-out infinite}.animate-orbital{animation:orbital 20s linear infinite}.animate-sway{animation:sway 8s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-shimmer{background:linear-gradient(90deg,#1e293b 25%,#3b82f6,#1d4ed8,#1e293b);background-size:400% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:shimmer 8s ease-in-out infinite}.animate-gradient-flow{background:linear-gradient(45deg,#1e40af,#3b82f6,#60a5fa,#93c5fd,#dbeafe,#93c5fd,#60a5fa,#3b82f6,#1e40af);background-size:400% 400%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gradient-flow 10s ease-in-out infinite}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes ripple-delayed{0%{transform:scale(0);opacity:.8}to{transform:scale(3);opacity:0}}.animate-ripple{animation:ripple 6s ease-out infinite}.animate-ripple-delayed{animation:ripple-delayed 8s ease-out infinite}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}@keyframes logoFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@keyframes curtainOpen{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes circularExpand{0%{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fff;z-index:9999;display:flex;align-items:center;justify-content:center;transform-origin:top}.splash-logo{animation:logoFadeIn 2s ease-out}.splash-logo.fade-out{animation:logoFadeOut .8s ease-out forwards}.splash-screen.opening{animation:curtainOpen 1.2s ease-out .3s forwards}.splash-screen.circular-expand{animation:circularExpand 1.5s ease-out .3s forwards}.splash-screen.circular-expand:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;clip-path:circle(0% at 50% 50%);animation:circularExpand 1.5s ease-out .3s forwards}.splash-screen.fade-out{animation:fadeOut 1.2s ease-out .3s forwards}@media (max-width: 768px){.animate-float,.animate-float-delayed{animation-duration:8s}.animate-shimmer{animation-duration:12s}.animate-gradient-flow{animation-duration:15s}.animate-spin{animation-duration:30s!important}.animate-bounce{animation-duration:4s!important}}
