@charset "UTF-8";


/* CSS Document */
@layer reset {
  html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
article, aside, dialog, figure, figcaption, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: inherit;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    vertical-align: baseline;
    max-height: 999999px;
  }

  *, *:before, *:after {
    box-sizing: border-box;
  }

  [id] {
    scroll-margin-top: var(--scroll-adjust);
  }

  body {
    color: var(--color-base);
    font-family: var(--typography-base-font-family);
    font-weight: var(--typography-base-font-weight);
    font-size: var(--typography-base-font-size);
    line-height: var(--typography-base-line-height);
    --letter-spacing: var(--typography-base-letter-spacing);
    background: #fff;
    word-wrap: break-word;
    -webkit-text-size-adjust: none;
    /*202009 100%はiPadでサイズが変わってしまうのでnoneを使う*/
  }
  body._fixed {
    overflow: hidden;
  }

  a {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    vertical-align: baseline;
    color: inherit;
    text-decoration: none;
    max-height: 999999px;
  }

  a, button {
    outline: 5px solid transparent;
    outline-offset: 10px;
    transition: outline-offset var(--sec);
  }
  a::-moz-focus-inner, button::-moz-focus-inner {
    border: 0;
  }

  img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }

  a img {
    border: 0;
    transition: opacity var(--sec);
  }

  a:focus,
button:focus {
    outline: 2px solid var(--color-outline);
    outline-offset: 0;
  }

  :focus {
    scroll-margin-bottom: 100px;
  }

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

  :where(a):focus-visible {
    text-decoration: underline;
  }
  :where(a):focus-visible img {
    opacity: var(--opacity);
  }
  @media (hover: hover) and (pointer: fine) {
    :where(a):hover {
      text-decoration: underline;
    }
    :where(a):hover img {
      opacity: var(--opacity);
    }
  }

  article, aside, dialog, figure, footer, header,
hgroup, nav, section {
    display: block;
  }

  li {
    list-style-type: none;
  }

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

  table, caption, tbody, tfoot, thead, tr, th, td {
    font-size: inherit;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    margin: 0;
    outline: 0;
    vertical-align: baseline;
    max-height: 999999px;
  }

  caption, th, td {
    text-align: inherit;
  }

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

  blockquote, q {
    quotes: none;
  }

  del {
    text-decoration: line-through;
  }

  abbr[title], dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help;
  }

  ins {
    text-decoration: none;
  }

  mark {
    /*	font-style:italic;*/
    /*	font-weight:bold;*/
  }

  iframe:is([src^="https://www.youtube.com"],
 [src^="https://youtu.be"]) {
    max-width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
}
