/* Modern CSS Reset */
*,
*::before,
*::after {
    box-sizing: border-box;
}

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,
font,
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,
main,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}

/* 独自のdisplayルールを統一 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block;
}

/* HTML5要素をサポートしていないブラウザのため */
html {
    line-height: 1.15;
    /* デフォルト行間を若干拡大 */
    -webkit-text-size-adjust: 100%;
    /* モバイルでの文字サイズ自動調整無効化 */
}

/* タイポグラフィ関連 */
body {
    font-family: system-ui, sans-serif;
    background: #fff;
    color: #000;
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

hr {
    height: 0;
    color: inherit;
    border-top: 1px solid;
}

/* 主に印刷物等で使用される元々のstylesをリセット */
abbr[title] {
    border-bottom: none;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

/* 画像などのmax-widthを制御 */
img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

/* form要素の初期化 */
input,
button,
textarea,
select {
    font: inherit;
    color: inherit;
}

button,
select {
    text-transform: none;
}

/* textareaのスペースを整合性あるものに */
textarea {
    white-space: pre-wrap;
}

/* ユーザーエージェントスタイルの削除 */
ul,
ol {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

/* disable animations/transitions for people who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}