@charset "utf-8";

*, *::before, *::after { 
    box-sizing: border-box; 
}
* { 
    margin: 0; 
}
body { 
    line-height: 1.5; 
    -webkit-font-smoothing: antialiased;    /* Chrome, Safari, 新版 Edge */
    -moz-osx-font-smoothing: grayscale;     /* Firefox on macOS */
    min-height: 100vh; 
}
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%; 
}
input, button, textarea, select { 
    font: inherit; 
}
p, h1, h2, h3, h4, h5, h6 { 
    overflow-wrap: break-word; 
}

ul, ol { 
    list-style: none; 
    padding: 0; 
    margin: 0;
}
a { 
    text-decoration: none; 
    color: inherit; 
}
button { 
    cursor: pointer; 
    border: none; 
    background: none; 
}

table { 
    border-collapse: collapse; 
}
textarea { 
    resize: vertical;
}