/* リセット（最小限・必須の image: height auto 含む） */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; max-width: 100vw; }
body { overflow-x: hidden; max-width: 100vw; position: relative; }
body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

/* 画像系（指示書§0★最重要） */
img, svg, video {
    max-width: 100%;
    height: auto;
    display: block;
}
iframe {
    border: 0;
    display: block;
    max-width: 100%;
}

table { border-collapse: collapse; }
input, textarea, select, button { font-family: inherit; }
:focus-visible { outline: 2px solid var(--c-green); outline-offset: 2px; }
