@charset "utf-8";

/******************************************************************************
******************************************************************************
**
** reset.css ( var.3.1.5 )
** -- box-sizingを*で指定
** -- -webkit-tap-highlight-colorをrgba(0, 0, 0, 0)で指定
** -- text-size-adjustを 100%で指定
** -- font-sizeを14pxで指定
** -- line-heightを1.6で指定（単位なし）
** -- hタグはfont-size: 100%で指定
**
******************************************************************************
******************************************************************************/

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

html {
    color: #222;
	font-size: 14px;
	line-height: 1.6;
	overflow-y: scroll;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	word-spacing: normal;
    scroll-behavior: smooth;
    scroll-padding-top: 1rem;
}

body {
	margin: 0;
	padding: 0;
}

body, input, button, textarea, select {
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

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

/* === Links === */
a {
    color: #1b4f98;
    text-decoration: underline;
    transition: text-decoration 0.2s ease;
}

a:hover {
    text-decoration: none;
}

/* === Typography === */
p {
	margin: 0;
	padding: 0;
}

img {
	border: 0;
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
	image-rendering: -webkit-optimize-contrast;
	max-width: 100%;
	height: auto;
}

address {
	font-style: normal;
}

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

b, strong {
	font-weight: bold;
}

blockquote {
	margin: 1em 40px;
}

i {
	font-style: italic;
}

main {
	display: block;
}

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

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

pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

q {
	quotes: none;
}

q:before, q:after {
	content: '';
	content: none;
}

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

ul {
	list-style-type: none;
}

dd, dt, dl {
	margin: 0;
}

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

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

fieldset {
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	margin-left: -7px;
}

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;
	-webkit-appearance: none;
	appearance: none;
}

input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

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

audio[controls], canvas, video {
	display: inline-block;
}

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