/******************************************************************************
** reset.css
** -- box-sizingをborder-boxで統一
** -- タップ時のハイライトを無効化
** -- テキストサイズの自動調整を無効化
** -- line-heightは単位なしで指定
** -- 見出しタグはfont-size:100%でリセット
******************************************************************************/

/* === Base === */
* {
    box-sizing: border-box;
}

html {
    color: #111;
    line-height: 1.6;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    word-spacing: normal;
}

body {
    margin: 0;
    padding: 0;
}

body, input, button, textarea, select {
    font-family: 'Noto Sans JP', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: normal;
    margin: 0;
    padding: 0;
}

p {
    margin: 0;
    padding: 0;
}

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

img {
    border: 0;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

address {
    font-style: normal;
}

/* === Typography === */
b, strong {
    font-weight: bold;
}

blockquote {
    margin: 0;
}

small {
    font-size: 75%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* === Lists === */
ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

dd, dt, dl {
    margin: 0;
}

/* === Figures === */
figure {
    margin: 0;
}

/* === Forms === */
form {
    margin: 0;
}

fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

legend {
    padding: 0;
}

button, input, select, textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
}

button, input {
    line-height: normal;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

/* === Tables === */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

th, td {
    padding: 0;
    text-align: left;
    vertical-align: middle;
}

/* === HTML5 element display === */
article, aside, details, figcaption, figure,
footer, header, hgroup, nav, section {
    display: block;
}
