/**
 * 1.0 リセットとブラウザ差異の吸収
 *
 * コンポーネント固有の規則は追加しない。
 * ress.cssのライセンスと原文コメントは第三者コードとして維持する。
 */

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

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

html {
	box-sizing: border-box;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
}

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

::before,
::after {
	text-decoration: inherit;
	vertical-align: inherit;
}

* {
	padding: 0;
	margin: 0;
}

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

/* Add the correct display in iOS 4-7. */

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

hr {
	overflow: visible;
}

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox
 * Correct `block` display not defined for `main` in IE 11
 */

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

summary {
	display: list-item;
}

small {
	font-size: 80%;
}

[hidden],
template {
	display: none;
}

abbr[title] {
	border-bottom: 1px dotted;
	text-decoration: none;
}

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
	outline-width: 0;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
}

b,
strong {
	font-weight: bolder;
}

dfn {
	font-style: italic;
}

/* Address styling not present in IE 8/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;
}

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

textarea {
	overflow: auto;
	resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
	font: inherit;
}

optgroup {
	font-weight: bold;
}

button {
	overflow: visible;
}

/* Remove inner padding and border in Firefox 4+ */

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

/* Replace focus style removed in the border reset above */

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"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button,
select {
	text-transform: none;
}

/* Remove the default button styling in all browsers */

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

/* Style select like a standard input */

select {
	-moz-appearance: none;
	-webkit-appearance: none;
}

select::-ms-expand {
	display: none;
}

select::-ms-value {
	color: currentColor;
}

legend {
	border: 0;
	color: inherit;
	display: table;
	max-width: 100%;
	white-space: normal;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

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

img {
	border-style: none;
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */

progress {
	vertical-align: baseline;
}

svg:not(:root) {
	overflow: hidden;
}

audio,
canvas,
progress,
video {
	display: inline-block;
}

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

/* Hide content from screens but not screenreaders */

@media screen {
	[hidden~="screen"] {
		display: inherit;
	}

	[hidden~="screen"]:not(:active):not(:focus):not(:target) {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}
}

/* Specify the progress cursor of updating elements */

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

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
	cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */

[aria-disabled] {
	cursor: default;
}

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

/* Specify text selection background color and omit drop shadow */

::-moz-selection {
	background-color: #b3d4fc;
	color: #000;
	text-shadow: none;
}

::selection {
	background-color: #b3d4fc;
	color: #000;
	text-shadow: none;
}
