/*! kiso.css v1.2.4 | MIT License | https://github.com/tak-dcxi/kiso.css */
:root {
  --header-height: 85px;
}

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

:where(:root) {
  text-spacing-trim: trim-start;
  text-autospace: normal;
  line-break: strict;
  overflow-wrap: anywhere;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scrollbar-gutter: stable;
  -webkit-tap-highlight-color: transparent;
  font-family: sans-serif;
  line-height: 1.5;
}

:where(body) {
  min-block-size: 100dvb;
  margin: unset;
}

:where(:is(h1, h2, h3, h4, h5, h6):lang(en)) {
  text-wrap: pretty;
}

:where(h1) {
  margin-block: .67em;
  font-size: 2em;
}

:where(h2, h3, h4, h5, h6) {
  margin-block: unset;
}

:where(search) {
  display: block;
}

:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
  margin-block: unset;
}

:where(blockquote, figure) {
  margin-inline: unset;
}

:where(p:lang(en)) {
  text-wrap: pretty;
}

:where(address:lang(ja)) {
  font-style: unset;
}

:where(ul, ol, menu) {
  padding-inline-start: unset;
  list-style-type: "";
}

:where(dt) {
  font-weight: bolder;
}

:where(dd) {
  margin-inline-start: unset;
}

:where(pre) {
  text-spacing-trim: space-all;
  text-autospace: no-autospace;
}

@media print {
  :where(pre) {
    text-wrap-mode: unset;
  }
}

:where(em:lang(ja)) {
  font-weight: bolder;
}

:where(:is(i, cite, em, dfn):lang(ja)) {
  font-style: unset;
}

:where(u, s, del, ins) {
  text-decoration-inset: auto;
}

:where(code, kbd, samp) {
  font-feature-settings: initial;
  font-variation-settings: initial;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: unset;
  font-variant-ligatures: none;
}

:where(abbr[title]) {
  text-decoration-inset: auto;
  cursor: help;
  text-decoration-line: underline;
  text-decoration-style: dotted;
}

:where(time) {
  text-autospace: no-autospace;
}

@media (forced-colors: active) {
  :where(mark) {
    color: highlighttext;
    background-color: highlight;
  }
}

@media print {
  :where(mark) {
    border-style: dotted;
    border-width: 1px;
  }
}

:where(a) {
  color: unset;
}

:where(a:any-link) {
  -webkit-text-decoration-line: unset;
  text-decoration-line: unset;
  text-decoration-inset: auto;
  text-decoration-thickness: from-font;
}

:where(img, svg, picture, video, audio, canvas, model, iframe, embed, object) {
  vertical-align: bottom;
  max-inline-size: 100%;
}

:where(img, svg, picture, video, canvas, model, iframe, embed, object) {
  block-size: auto;
}

:where(iframe) {
  border: unset;
}

:where(table) {
  border-collapse: collapse;
}

:where(caption, th) {
  text-align: unset;
}

:where(caption:lang(en)) {
  text-wrap: pretty;
}

:where(button, input, select, textarea) {
  border-style: solid;
  border-width: 1px;
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

::file-selector-button {
  border-style: solid;
  border-width: 1px;
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

:where(input:is([type="radio" i], [type="checkbox" i])) {
  margin: unset;
}

:where(input[type="file" i]) {
  border: unset;
}

:where(input[type="search" i]) {
  -webkit-appearance: textfield;
}

@supports (-webkit-touch-callout: none) {
  :where(input[type="search" i]) {
    background-color: canvas;
  }
}

:where(input:is([type="tel" i], [type="url" i], [type="email" i], [type="number" i]):not(:placeholder-shown)) {
  direction: ltr;
}

:where(textarea) {
  margin-block: unset;
  resize: block;
}

:where(input:not([type="button" i], [type="submit" i], [type="reset" i]), textarea, [contenteditable]) {
  text-autospace: no-autospace;
}

:where(button, input:is([type="button" i], [type="submit" i], [type="reset" i])) {
  background-color: unset;
}

::file-selector-button {
  background-color: unset;
}

:where(button, input:is([type="button" i], [type="submit" i], [type="reset" i]), [role="tab" i], [role="button" i], [role="option" i]) {
  touch-action: manipulation;
}

::file-selector-button {
  touch-action: manipulation;
}

:where(button:enabled, label[for], select:enabled, input:is([type="button" i], [type="submit" i], [type="reset" i], [type="radio" i], [type="checkbox" i]):enabled, [role="tab" i], [role="button" i], [role="option" i]) {
  cursor: pointer;
}

:where(:enabled)::file-selector-button {
  cursor: pointer;
}

:where(fieldset) {
  min-inline-size: 0;
  margin-inline: unset;
  padding: unset;
  border: unset;
}

:where(legend) {
  padding-inline: unset;
}

:where(progress) {
  vertical-align: unset;
}

::placeholder {
  opacity: unset;
}

:where(summary) {
  cursor: pointer;
  list-style-type: "";
}

:where(summary)::-webkit-details-marker {
  display: none;
}

:where(dialog, [popover]) {
  overscroll-behavior-block: contain;
  padding: unset;
  border: unset;
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  display: none !important;
}

:where(dialog) {
  max-inline-size: unset;
  max-block-size: unset;
}

:where(dialog)::backdrop {
  background-color: #0000004d;
  background-color: lab(0% 0 0 / .3);
}

:where([popover]) {
  margin: unset;
}

:where(:focus-visible) {
  outline-offset: 3px;
}

[tabindex="-1"]:focus {
  outline: none !important;
}

:where(:disabled, [aria-disabled="true" i]) {
  cursor: default;
}

[hidden]:not([hidden="until-found" i]) {
  display: none !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

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

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
