/* Reset CSS - Enhanced for modern browsers and new page compatibility */

/* 全要素のデフォルトスタイルをリセット */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box; /* 新規追加: ボックスサイズの標準化 */
}

/* HTML5要素の標準化 */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

/* ベースの設定 */
body {
    line-height: 1.5; /* 読みやすさを向上 */
    -webkit-font-smoothing: antialiased; /* フォントの滑らかさを向上 */
    text-rendering: optimizeLegibility; /* レンダリングの最適化 */
}

/* リストのスタイルをリセット */
ol, ul {
    list-style: none;
}

/* 引用タグのスタイルをリセット */
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

/* テーブルの標準化 */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* リンクの装飾をリセット */
a {
    text-decoration: none;
    color: inherit; /* 親要素の色を継承 */
}

/* フォーム要素の標準化 */
button, input, select, textarea {
    margin: 0;
    padding: 0;
    font: inherit; /* 親のフォント設定を継承 */
    color: inherit; /* 親の色設定を継承 */
    border: none; /* デフォルトのボーダーをリセット */
    background: none; /* 背景色をリセット */
    box-shadow: none; /* シャドウをリセット */
    outline: none; /* アウトラインをリセット */
}

/* 画像の標準化 */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ボックスサイズ設定のリセット */
*, *::before, *::after {
    box-sizing: inherit;
}
