html{font-size:16px}body{font-family:Inter, 'Noto Sans JP', Helvetica, Arial, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.6;color:rgb(15,23,42)}img,video{max-width:100%;height:auto;display:block;object-fit:cover}a{color:inherit}button{font-family:inherit}button:disabled,button[aria-disabled='true']{opacity:.5;cursor:not-allowed;transform:none}:focus{outline:none}:focus-visible{outline:3px solid rgba(59,130,246,.25);outline-offset:3px;border-radius:.25rem}.container{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}#mobileMenu{transition:opacity .28s ease,transform .28s ease}#mobileMenu .animate-slideup{animation:slideup .48s cubic-bezier(.22,.9,.28,1) both}@keyframes slideup{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}@keyframes beam{0%{transform:translateY(0);opacity:.6}50%{transform:translateY(-6px);opacity:1}100%{transform:translateY(0);opacity:.6}}.animate-beam{animation:beam 3s ease-in-out infinite}.rounded-2xl{border-radius:1rem}.rounded-xl{border-radius:.75rem}.shadow-md{box-shadow:0 6px 18px rgba(15,23,42,.06)}.shadow-lg{box-shadow:0 18px 50px rgba(15,23,42,.08)}.focus-ring{box-shadow:0 0 0 4px rgba(59,130,246,.12);border-radius:.5rem}.grid-equal{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.card-hover{transition:transform .22s ease,box-shadow .22s ease}.card-hover:focus-visible,.card-hover:focus{transform:translateY(-4px)}.card-hover:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(2,6,23,.08)}.cookie-banner{min-width:18rem;max-width:20rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-scroll{height:100%;overflow:hidden !important}.modal-backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(6px)}@media(prefers-reduced-motion:reduce){*{animation-duration:0s !important;transition-duration:0s !important}}