@charset "UTF-8";


/*[Global selectors]----------------------------------------------------------------*/
* {
	background-repeat: no-repeat;
	box-sizing: border-box;
}

::before,
::after {
	background-repeat: no-repeat;
	box-sizing: inherit;
	text-decoration: inherit;
	vertical-align: inherit;

}


/*[HTML 5.2]----------------------------------------------------------------*/

/*** The document element ***/
	html,

/*** Document metadata ***/
	/* head, title, base, link, meta, style */

/*** Sections ***/
	body, 
	article, section, nav, aside, header, footer,
	h1, h2, h3, h4, h5, h6,

/*** Grouping content ***/
	div,
	main,
	p,
	ol, ul, menu, li,
	dl, dt, dd,
	figure, figcaption,
	pre, blockquote,
	address,
	hr,

/*** Text-level semantics ***/
	span,
	em, strong,
	s, i, b, u, mark,
	ruby, rb, rt, rtc, rp
	sub, sup,
	small,
	cite, q,
	dfn, abbr,
	data, time,
	code, var, samp, kbd,
	bdi, bdo,
	br, wbr
	a,

/*** Edits ***/
	ins, del,

/*** Embedded content ***/
	picture, source, img,

/*** The iframe element ***/
	iframe, embed,
	object, param,
	video, audio, track,
	map, area,

/*** Tabular data ***/
	table, caption,
	tbody, thead, tfoot,
	colgroup, col,
	tr, td, th,
	
/*** Tabular data ***/
	form,
	fieldset, legend,
	label,
	input, button,
	select, datalist, optgroup, option,
	textarea,
	meter,
	output, progress,

/*** Interactive elements ***/
	details, summary, dialog,

/*** Scripting ***/
	/* script, noscript, template, */
	canvas

/*** Global Attributes ***/
	/*
	[id], [class], [style],
	[title],
	[contenteditable], [draggable], [translate], [hidden]
	[accesskey], [tabindex], [spellcheck],
	[lang], [dir],
	*/
{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}



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


/*:: Document ::*/
html {
	position: relative;
	overflow-x: hidden;
	height: 100vh;
	width: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	word-break: break-word;
	-moz-tab-size: 4;
	tab-size: 4;
	line-height: 1.15;
	/*scroll-behavior: smooth; -> function.js > Polyfill[scroll-behavior: smooth] */
}


/*:: Sections / Grouping content / Interactive ::*/
body {
	position: relative;
	width: 100%;
	min-width: 320px;
	height: 100%;
	min-height: 100vh;
	text-rendering: optimizeLegibility; /*-> optimizeSpeedはカーニングと合字が無効になる…GoogleMaterialIconsが利用できない */
}

main, article, section, aside, header, footer, nav {
	display: block;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border: 0;
	border-top: 1px solid;
	margin: 0;
	clear: both;
	color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

details{
	display: block;
}

summary {
	display: list-item;
}

template { /* Add the correct display in IE 10+. */
	display: none;
}


/*:: Headings ::*/
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
}


/*:: Text-level semantics ::*/
a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
	a:active,
	a:hover {
	  outline-width: 0;
	}
	a:visited {
		color: inherit;
	}
	a:not([class]) {
		text-decoration-skip-ink: auto;
	}
	a:not([href]) {
		cursor: default;
	}

b,
strong {
	font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

i, cite, address {
	font-style: normal;
}



small {
	font-size: 80%;
}

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}


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

code, kbd, samp {
	font-family: monospace, monospace; /* Specify the font family of code elements */
}

blockquote, q{
    quotes: none;
}
	blockquote:after, blockquote:before, q:after, q:before {
		content: "";
	}


/*:: Paragraph ::*/
p{
	line-height: 1.8;
	margin: 0 0 0.8em 0;
}

/*:: Lists ::*/
ul, ol, menu {
	list-style: none;
}
ul[class], ol[class], menu[class] {
	list-style: none;
}


dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}


/*:: Embedded content ::*/
img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	height: auto;
	width /***/:auto;
	border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
	vertical-align: bottom;
}

video {
	max-width: 100%;
}

svg:not([fill]) {
	fill: currentColor;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}



/*:: Table ::*/

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption {
	text-align: left;
}

td, th {
	vertical-align: top;
}

th {
	text-align: left;
	font-weight: bold;
}


/*:: Forms ::*/
button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	padding: 0;
	margin: 0;
	outline: 0;
	border: inherit;
	border-radius: 0;
	border-style: none;
	color: inherit;
	font: inherit;
	text-align: inherit;
	vertical-align: middle;
}

[type='checkbox'] {
	-webkit-appearance: checkbox;
	appearance: checkbox;
	padding: 0;
}

[type='radio'] {
	-webkit-appearance: radio;
	appearance: radio;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type="search"] {
	-webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
	outline-offset: -2px /* Correct the outline style in Safari */
}
	[type="search"]::-webkit-search-decoration {
		-webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
	}

button, input {
	overflow: visible;
}

button, select {
	text-transform: none;
}

button, [type='button'], [type='reset'], [type='submit'], [role="button"] {
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
	button[disabled], [type='button'][disabled], [type='reset'][disabled], [type='submit'][disabled] {
		cursor: default;
	}

	button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
		/* Remove inner padding and border in Firefox 4+ */
		border-style: none;
		padding: 0;
	}
	button:-moz-focusring, [type='button']:-moz-focusring, [type='reset']:-moz-focusring, [type='submit']:-moz-focusring {
		/* Replace focus style removed in the border reset above */
		outline: 1px dotted ButtonText;
	}

::-webkit-file-upload-button {
	-webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
	font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

textarea {
	overflow: auto; /* Internet Explorer 11+ */
	resize: vertical; /* Specify textarea resizability */
}

label[for] {
	cursor: pointer;
}


select { /* Style select like a standard input */
	-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+ */
	}

optgroup { /* Restore the font weight unset by the previous rule */
	font-weight: bold;
}

fieldset {
	min-width: 0;
}

legend {
	max-width: 100%;
	border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
	padding: 0;
	color: inherit;
	display: table;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}


/*:: Accessibility ::*/
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

[hidden] {
	display: none !important;
}
@media screen { /* Hide content from screens but not screenreaders */
	[hidden~="screen"] {
		display: inherit;
	}
	[hidden~="screen"]:not(:active):not(:focus):not(:target) {
		position: absolute !important;
		clip: rect(0 0 0 0) !important;
	}
}

[disabled] {
	cursor: not-allowed;
}

[aria-busy="true"] { /* Specify the progress cursor of updating elements */
	cursor: progress;
}

[aria-controls] { /* Specify the pointer cursor of trigger elements */
	cursor: pointer;
}

[aria-disabled] { /* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
	cursor: default;
}

[role='application'], [role='tabpanel'], [role='dialog'] {
	display: block;
}

[aria-hidden='false'], [aria-expanded='true'] {
	display: block;
}

[aria-hidden="true"], [aria-expanded='false'] {
	display: none;
}

[aria-modal='true'] {
	overflow-y: auto;
	box-sizing: border-box;
	max-width: 256px;
	max-height: 100vh;
	margin: 1rem;
}

:focus:not(:focus-visible) {
    outline: none;
}


[data-screenreader] {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	left: -9999px;
	top: -9999px;
}




/*:: Mobile Width Simulation ::*/
body[data-mobiletest] {
	width: 320px;
	margin: 0 auto;
	box-shadow: 0 0 8px #ccc;
	}
	body[data-mobiletest]::before {
		content: '! Mobile Width Simulation !';
		text-align: center;
		font-weight: bold;
		background: yellow;
		display: block;
		padding: 1em;
	}
