/*!
 * ress.css • v1.1.2
 * MIT License
 * github.com/filipelinhares/ress
 */


/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-y: scroll;
    /* すべてのブラウザで、スクロールバーのオーバーレイを無し。 */
    -webkit-text-size-adjust: 100%;
    /* iOS 8+ */
}

*,
::before,
::after {
    box-sizing: inherit;
}

::before,
::after {
    text-decoration: inherit;
    /* 「::before」と「::after」に、「text-decoration」と「vertical-align」を継承。 */
    vertical-align: inherit;
}


/* Remove margin, padding of all elements and set background-no-repeat as default */

* {
    background-repeat: no-repeat;
    /* すべての要素に、「background-repeat: no-repeat;」を指定。 */
    padding: 0;
    /* すべての要素に、「padding」と「margin」をリセット。 */
    margin: 0;
}


/* # =================================================================
   # General elements
   # ================================================================= */


/* iOS 4-7に、正しいdisplayを設定。*/

audio:not([controls]) {
    display: none;
    height: 0;
}

hr {
    overflow: visible;
    /* EdgeとIEに、「overflow: visible;」を定義。 */
}


/*
 * IE8/9に、displayプロパティを定義。
 * IE10/11とFirefoxのdetail要素とsummary要素に、displayプロパティを定義。
 * IE11のmain要素に、displayプロパティを定義。
*/

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

summary {
    display: list-item;
    /* Add the correct display in all browsers */
}

small {
    font-size: 80%;
    /* small要素に、フォントサイズ「80%」を定義。 */
}

[hidden],
template {
    display: none;
    /* IEに、displayプロパティを定義。 */
}

abbr[title] {
    border-bottom: 1px dotted;
    /* すべてのブラウザに、点線を定義。 */
    text-decoration: none;
    /* Firefox40+に、テキストの装飾を削除。 */
}

a {
    background-color: transparent;
    /* IE10に、アクティブリンクのグレーの背景を削除。 */
    -webkit-text-decoration-skip: objects;
    /* iOS8+とSafari8+に、リンクの下線のギャップを削除。 */
}

a:active,
a:hover {
    outline-width: 0;
    /* すべてのブラウザに、ホバー時のアウトラインを削除。 */
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    /* コード要素に、フォントファミリーを指定。 */
}

b,
strong {
    font-weight: bolder;
    /* Edge12+, Safari6.2+, Chrome18+に、「bold」を適用。 */
}

dfn {
    font-style: italic;
    /* SafariとChromeに、定義。 */
}


/* IE8/9に、定義。 */

mark {
    background-color: #ff0;
    color: #000;
}


/* https://gist.github.com/unruthless/413930 */

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

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}


/* # =================================================================
   # Forms
   # ================================================================= */

input {
    border-radius: 0;
}


/* Apply cursor pointer to button elements */

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
    cursor: pointer;
}


/* Replace pointer cursor in disabled elements */

[disabled] {
    cursor: default;
}

[type="number"] {
    width: auto;
    /* Firefox 36+ */
}

[type="search"] {
    -webkit-appearance: textfield;
    /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    /* Safari 8 */
}

textarea {
    overflow: auto;
    /* Internet Explorer 11+ */
    resize: vertical;
    /* textarea要素に、垂直方向のリサイズを指定。 */
}

button,
input,
optgroup,
select,
textarea {
    font: inherit;
    /* フォーム要素に、フォントの継承を指定。 */
}

optgroup {
    font-weight: bold;
    /* 前の指定により、フォントのウェイトを再定義。 */
}

button {
    overflow: visible;
    /* IE8/9/10/11に、overflow時にhiddenを設定。 */
}


/* Firefox4+に、内側のpaddingとborderを削除。 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: 0;
    padding: 0;
}


/* フォーカス時のスタイルを定義。 */

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    outline: 1px dotted ButtonText;
}

button,
html [type="button"],

/* Android4に、ネイティブのaudio要素とvideo要素のコントロールのバグを防ぐ。 */

[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    /* iOSに、クリッカブルなbutton要素のtypeのスタイルを修正。 */
}

button,
select {
    text-transform: none;
    /* Firefox 40+, Internet Explorer 11- */
}


/* すべてのブラウザにおいて、デフォルトのボタンのスタイルを削除。 */

button,
input,
select,
textarea {
    background-color: transparent;
    border-style: none;
    color: inherit;
}


/* 標準的なinput要素のスタイルを選択。 */

select {
    -moz-appearance: none;
    /* Firefox 36+ */
    -webkit-appearance: none;
    /* Chrome 41+ */
}

select::-ms-expand {
    display: none;
    /* Internet Explorer 11+ */
}

select::-ms-value {
    color: currentColor;
    /* Internet Explorer 11+ */
}

legend {
    border: 0;
    /* IE 8/9/10/11に、カラーの継承を定義。 */
    color: inherit;
    /* IEに、fieldset要素からカラーを継承するように定義。 */
    display: table;
    /* EdgeとIEに、テキストのラッピングを修正。 */
    max-width: 100%;
    /* EdgeとIEに、テキストのラッピングを修正。 */
    white-space: normal;
    /* EdgeとIEに、テキストのラッピングを修正。 */
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* iOSとSafariに、クリッカブルなtypeのスタイルを修正。 */
    font: inherit;
    /* ChromeとSafariに、フォントプロパティの継承を変更。 */
}

[type="search"] {
    -webkit-appearance: textfield;
    /* ChromeとSafariに、アピアランスを修正。 */
    outline-offset: -2px;
    /* Safariに、アウトラインを修正。 */
}


/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
    border-style: none;
    /* IE8/9/10に、a要素の中にある時にボーダーを削除。 */
}


/* Chrome, Firefox, Operaに、正しいvertical-alignを与える。 */

progress {
    vertical-align: baseline;
}

svg:not(:root) {
    overflow: hidden;
    /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
    display: inline-block;
    /* Internet Explorer 11+, Windows Phone 8.1+ */
}


/* # =================================================================
   # Accessibility
   # ================================================================= */


/* コンテンツを隠す時は、スクリーンリーダーからでなく、スクリーンから。 */

@media screen {
    [hidden~="screen"] {
        display: inherit;
    }
    [hidden~="screen"]:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important;
    }
}


/* アップデート中の要素のプログレスのカーソルを指定。 */

[aria-busy="true"] {
    cursor: progress;
}


/* トリガー要素のポインターのカーソルを指定。 */

[aria-controls] {
    cursor: pointer;
}


/* 使用不可、編集不可の要素のスタイルが無いカーソルを指定。 */

[aria-disabled] {
    cursor: default;
}


/* # =================================================================
   # Selection
   # ================================================================= */


/* テキスト選択時の背景色を指定し、ドロップシャドウを削除。 */

::-moz-selection {
    background-color: #b3d4fc;
    /* 「::selection」を使用する時に必要。 */
    color: #000;
    text-shadow: none;
}

::selection {
    background-color: #b3d4fc;
    /* 「::selection」を使用する時に必要。 */
    color: #000;
    text-shadow: none;
}