@charset "UTF-8";
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  margin: 0;
}

/* .main / .header / .footer 配下に限定 */
/* ============================================ */
.main,
.header,
.footer {
  /* Vertical rhythm */
}
.main p,
.main table,
.main blockquote,
.main address,
.main pre,
.main iframe,
.main form,
.main figure,
.main dl,
.header p,
.header table,
.header blockquote,
.header address,
.header pre,
.header iframe,
.header form,
.header figure,
.header dl,
.footer p,
.footer table,
.footer blockquote,
.footer address,
.footer pre,
.footer iframe,
.footer form,
.footer figure,
.footer dl {
  margin: 0;
}
.main,
.header,
.footer {
  /* Headings */
}
.main h1,
.main h2,
.main h3,
.main h4,
.main h5,
.main h6,
.header h1,
.header h2,
.header h3,
.header h4,
.header h5,
.header h6,
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5,
.footer h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}
.main,
.header,
.footer {
  /* Lists (enumeration) */
}
.main ul,
.main ol,
.header ul,
.header ol,
.footer ul,
.footer ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.main,
.header,
.footer {
  /* Lists (definition) */
}
.main dd,
.header dd,
.footer dd {
  margin-left: 0;
}
.main,
.header,
.footer {
  /* img */
}
.main img,
.header img,
.footer img {
  max-width: 100%;
  height: auto;
}
.main,
.header,
.footer {
  /* Grouping content */
}
.main hr,
.header hr,
.footer hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
.main pre,
.header pre,
.footer pre {
  font-family: monospace, monospace;
  font-size: inherit;
}
.main address,
.main em,
.header address,
.header em,
.footer address,
.footer em {
  font-style: inherit;
}
.main,
.header,
.footer {
  /* Text-level semantics */
}
.main a,
.header a,
.footer a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
.main abbr[title],
.header abbr[title],
.footer abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
.main b,
.main strong,
.header b,
.header strong,
.footer b,
.footer strong {
  font-weight: bolder;
}
.main code,
.main kbd,
.main samp,
.header code,
.header kbd,
.header samp,
.footer code,
.footer kbd,
.footer samp {
  font-family: monospace, monospace;
  font-size: inherit;
}
.main small,
.header small,
.footer small {
  font-size: 80%;
}
.main sub,
.main sup,
.header sub,
.header sup,
.footer sub,
.footer sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.main sub,
.header sub,
.footer sub {
  bottom: -0.25em;
}
.main sup,
.header sup,
.footer sup {
  top: -0.5em;
}
.main,
.header,
.footer {
  /* Replaced content */
}
.main svg,
.main img,
.main embed,
.main object,
.main iframe,
.header svg,
.header img,
.header embed,
.header object,
.header iframe,
.footer svg,
.footer img,
.footer embed,
.footer object,
.footer iframe {
  vertical-align: bottom;
}
.main,
.header,
.footer {
  /* Forms */
}
.main button,
.main input,
.main optgroup,
.main select,
.main textarea,
.header button,
.header input,
.header optgroup,
.header select,
.header textarea,
.footer button,
.footer input,
.footer optgroup,
.footer select,
.footer textarea {
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}
.main button,
.main [type=button],
.main [type=reset],
.main [type=submit],
.header button,
.header [type=button],
.header [type=reset],
.header [type=submit],
.footer button,
.footer [type=button],
.footer [type=reset],
.footer [type=submit] {
  cursor: pointer;
}
.main button:disabled,
.main [type=button]:disabled,
.main [type=reset]:disabled,
.main [type=submit]:disabled,
.header button:disabled,
.header [type=button]:disabled,
.header [type=reset]:disabled,
.header [type=submit]:disabled,
.footer button:disabled,
.footer [type=button]:disabled,
.footer [type=reset]:disabled,
.footer [type=submit]:disabled {
  cursor: default;
}
.main :-moz-focusring,
.header :-moz-focusring,
.footer :-moz-focusring {
  outline: auto;
}
.main select:disabled,
.header select:disabled,
.footer select:disabled {
  opacity: inherit;
}
.main option,
.header option,
.footer option {
  padding: 0;
}
.main fieldset,
.header fieldset,
.footer fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
.main legend,
.header legend,
.footer legend {
  padding: 0;
}
.main progress,
.header progress,
.footer progress {
  vertical-align: baseline;
}
.main textarea,
.header textarea,
.footer textarea {
  overflow: auto;
}
.main [type=number]::-webkit-inner-spin-button,
.main [type=number]::-webkit-outer-spin-button,
.header [type=number]::-webkit-inner-spin-button,
.header [type=number]::-webkit-outer-spin-button,
.footer [type=number]::-webkit-inner-spin-button,
.footer [type=number]::-webkit-outer-spin-button {
  height: auto;
}
.main [type=search],
.header [type=search],
.footer [type=search] {
  outline-offset: -2px;
}
.main [type=search]::-webkit-search-decoration,
.header [type=search]::-webkit-search-decoration,
.footer [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
.main ::-webkit-file-upload-button,
.header ::-webkit-file-upload-button,
.footer ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
.main [type=number],
.header [type=number],
.footer [type=number] {
  -moz-appearance: textfield;
}
.main label[for],
.header label[for],
.footer label[for] {
  cursor: pointer;
}
.main,
.header,
.footer {
  /* Interactive */
}
.main details,
.header details,
.footer details {
  display: block;
}
.main summary,
.header summary,
.footer summary {
  display: list-item;
}
.main [contenteditable]:focus,
.header [contenteditable]:focus,
.footer [contenteditable]:focus {
  outline: auto;
}
.main,
.header,
.footer {
  /* Tables */
}
.main table,
.header table,
.footer table {
  border-color: inherit;
  border-collapse: collapse;
}
.main td,
.main th,
.header td,
.header th,
.footer td,
.footer th {
  vertical-align: top;
  padding: 0;
}