@charset "utf-8"; 
/***** Base *****/
*, :after, :before { box-sizing: inherit; }
@​media (prefers-reduced-motion: reduce) {
 * { animation-duration: 0.001s !important; transition-duration: 0.001s !important; }
}
html {
 box-sizing: border-box; 
 font-size: 62.5%; 
 line-height: 1.15;
 -ms-word-wrap: break-word; word-wrap: break-word; overflow-wrap: break-word;
 -webkit-font-smoothing: antialiased;
 -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
}
body { margin: 0; }
/* typo */
body { font-size: 1.6em; }
@media screen and ( max-width: 767px ) {
 body { font-size: 1.5em; font-size: calc(1.4em + ((1vw) * 0.1)) } 
}
@media screen and ( min-width: 1281px ) {
 body { font-size: 1.6em; }
}
:root { line-sizing: normal; }
:root { text-spacing: trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric; }

/* Anchor */
a, a *, a:before, a:after {
 -webkit-transition-property: background-color, border-color, color, opacity, top, bottom, left, right;
 -webkittransition-duration: .2s;
 -webkittransition-timing-function: ease-in-out;
 transition-property: background-color, border-color, color, opacity, top, bottom, left, right;
 transition-duration: .2s;
 transition-timing-function: ease-in-out;
}

a { background-color: transparent; text-decoration: none; -webkit-text-decoration-skip: objects; }
:link, :visited, :hover, :active, :focus { outline-width: 0; }

/* Block, Sectioning */
header, hgroup, footer, main, aside, nav, article, section, div, 
h1, h2, h3, h4, h5, h6, 
p, blockquote, pre, address, 
ul, ol, dl {
 display: block; position: static; width: auto;
}

h1, h2, h3, h4, h5, h6 { margin: 0; font-size: 1em; font-feature-settings: 'palt'; }
/*
h1 { font-size: 2em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.17em; }
h4 { font-size: 1em; }
h5 { font-size: 0.83em; }
h6 { font-size: 0.67em; }
*/

p, blockquote { margin: 0; text-align: justify; text-justify: inter-ideograph; line-break: strict; }
pre { margin: 0; font-size: 1em; font-family: inherit; white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
address { font-style: normal; }

ul, ol, dl { padding: 0; margin: 0; list-style: none; list-style-image: none; }
li, dt, dd { display: block; position: relative; vertical-align: top; }
dt:empty:before, dd:empty:before { content: "―"; color: transparent; }

hr { box-sizing: content-box; border-width: 0; border-top-width: 1px; overflow: visible; color: #fff;}

/* Inline, Phrasing */
b, i, u, s, 
span, em, strong, small, mark, 
q, cite, time, 
ins, del, 
abbr, dfn, code, samp, var, kbd {  }

em { font-style: normal; }
small { font-size: 80%; }
b, strong { font-weight: inherit; }
b, strong { font-weight: bolder; }
mark { background: #ff0; color: inherit; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
code, kbd, var, samp { font-family: monospace, monospace; font-size: 1em; }
dfn { font-style: italic; }
cite { font: inherit; }
q { quotes: none; }
blockquote, :before, blockquote:after, q:before, q:after { content: ''; content: none; }

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

/* Media, Embedded */
figure, figcaption, menu, details, iframe { display: block; position: relative; }
figure { margin: 0; }
summary { display: list-item; cursor: pointer; }
summary:focus { outline-width: 0; }
template { display: none; }
iframe[seamless], iframe:not([seamless]) { border-style: none; }

object, embed, 
img, map, svg, 
audio, video, canvas { display: inline-block; vertical-align: middle; }

iframe { max-width: 100%; }
img { max-width: 100%; height: auto; border-style: none; -ms-interpolation-mode: bicubic; }
svg { fill: currentColor; }
svg:not(:root) { overflow: hidden; }
audio:not([controls]) { display: none; height: 0; }

/* table */
table { width: 100%; margin: 0 auto; table-layout: fixed; border-collapse: collapse; border-spacing: 0; }
th { font-weight: normal; }
th, td { vertical-align: top; }

/* form */
form {  }

button, input, optgroup, select, textarea {
 margin: 0; background-color: transparent; color: inherit;
 font: inherit; line-height: inherit;
}
button, input { overflow: visible; }
button, select { text-transform: none; }
button, input, select { vertical-align: middle; }
option, datalist {  }
select { cursor: pointer; }

button, html [type="button"], [type="reset"], [type="submit"] {
 display: inline-block;
 text-align: center; text-decoration: none; white-space: nowrap;
 -webkit-appearance: button; cursor: pointer; 
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, 
[type="reset"]::-moz-focus-inner, 
[type="submit"]::-moz-focus-inner {
 border-style: none; padding: 0;
}
button:-moz-focusring, [type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring, 
[type="submit"]:-moz-focusring {
 outline: 1px dotted ButtonText;
}
fieldset { padding: 0.35em 0.75em 0.625em; }
label { cursor: pointer; vertical-align: top; }
legend { display: table; max-width: 100%; padding: 0; white-space: normal; color: inherit; }
progress { display: inline-block; vertical-align: baseline; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }

[type="text"], [type="password"], [type="search"], 
[type="number"], [type="tel"], [type="email"], [type="url"], 
textarea, select { box-shadow: none; }
[type="text"], [type="password"], [type="search"], 
[type="number"], [type="tel"], [type="email"], [type="url"],
textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; }

[type="checkbox"], [type="radio"] { display: inline; padding: 0; }

[type="search"] { outline-offset: -2px; }
[type="search"]::-webkit-search-cancel-button, 
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

[type="number"]::-webkit-inner-spin-button, 
[type="number"]::-webkit-outer-spin-button { height: auto; }

[readonly] { border-color: transparent; background: transparent; color: #445; }
[readonly], [disabled] { cursor: default; }
[hidden] { display: none; }

::-webkit-input-placeholder, ::-moz-placeholder, :-ms-input-placeholder { color: #bbc; }

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

a, area, button, input, label, select, summary, textarea, [tabindex] {
 -ms-touch-action: manipulation; touch-action: manipulation;
}

/* Obsolete */
acronym, applet, basefont, bgsound, big, blink, center, dir, font, frame, frameset, isindex, marquee, nobr, noembed, noframes, rb, strike, tt { text-decoration: line-through; color: #f00 !important; }
