*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
img, video { display: block; max-width: 100%; height: auto; }
svg { display: block; } /* height:auto を SVG に適用しない */
p, h1, h2, h3, h4, h5, h6, figure, blockquote, dl, dd { margin: 0; }
ul[role="list"], ol[role="list"] { list-style: none; padding: 0; margin: 0; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; padding: 0; font: inherit; }
input, textarea, select { font: inherit; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
