@charset "UTF-8";

/**
 * html5reset.css (Modified for 2026)
 * Based on YUI 3 Reset + HTML5 Elements
 */

/* すべての要素でサイズ計算を直感的にする (paddingを幅に含める) */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    color: #000;
    background: #FFF;
    -webkit-text-size-adjust: 100%;
    /* iOSの横向き時のフォントサイズ自動調整防止 */
}

/* マージン・パディングの初期化 */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

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

body {
    line-height: 1.6;
    /* 標準的な読みやすさを確保 */
}

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;
}

/* 画像のレスポンシブ対応の基礎 */
img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}

/* フォーム要素のフォント継承 */
input,
select,
textarea,
button {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* リンクの初期化 */
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
    color: inherit;
}

/* 水平線の初期化 */
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
}