@charset "UTF-8";
/* =====================
  全共通
===================== */
*,
*::before,
*::after {
  box-sizing: border-box;
  border-style: solid;
  min-inline-size: 0;
  border-width: 0;
}

html {
  -webkit-tap-highlight-color: transparent;
}
@supports (text-size-adjust: 100%) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
}
body {
  height: 100%;
  margin: unset;
}
:where(body) {
  min-block-size: 100svb;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: unset;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: unset;
  font-weight: inherit;
  margin: unset;
}

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

dt {
  font-weight: bold;
}
dd {
  margin-left: unset;
}

/* =====================
  画像
===================== */
img,
svg {
  max-width: 100%;
  vertical-align: bottom;
  height: auto;
  max-inline-size: 100%;
  max-block-size: 100%;
}
img[width='0'] {
  display: none;
}

/* =====================
  フォームパーツ
===================== */
a,
button {
  cursor: pointer;
  touch-action: manipulation;
  text-decoration: none;
  color: inherit;
  border-radius: unset;
  background-color: unset;
  -webkit-tap-highlight-color: color-mix(in srgb, black 10%, transparent 100%);
}

:where(button, input, select, textarea),
::file-selector-button {
  -webkit-user-select: auto;
  user-select: auto;
  padding: unset;
  border-radius: unset;
  font-family: inherit;
  margin: unset;
  text-align: unset;
  touch-action: manipulation;
}

textarea {
  white-space: revert;
  word-break: break-all;
  resize: block;
}
@supports (field-sizing: content) {
  textarea {
    field-sizing: content;
  }
}

:where(button, label[for], select, [role='tab'], [role='button']),
::file-selector-button {
  cursor: pointer;
}

/* =====================
  テーブル
===================== */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th {
  font-weight: inherit;
  text-align: left;
  vertical-align: middle;
}
td {
  vertical-align: middle;
  word-break: break-all;
}

address {
  font-style: inherit;
}

div,
span {
  color: inherit;
  font-weight: inherit;
}

iframe {
  vertical-align: bottom;
  border: none;
}

:where([hidden]) {
  display: none;
}

:where([disable]) {
  pointer-events: none;
}

html:has(dialog[open]) {
  overflow: hidden;
}
:where(dialog:modal) {
  all: revert;
}

:where([contenteditable]:not([contenteditable='false'])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  line-break: after-white-space;
  -webkit-user-select: auto;
  user-select: auto;
}

@supports (-webkit-user-drag: element) {
  :where([draggable='true']) {
    -webkit-user-drag: element;
  }
}
@media print, screen and (min-width: 768px) {
  a[href^='tel'],
  a[href^='sms'] {
    pointer-events: none;
  }
}

a[href='javascript:void(0);'] {
  pointer-events: none;
}

/* =====================
  +
===================== */
:focus-visible {
  outline-offset: 3px;
}
:where(html) {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
:where(html) {
  line-height: 1.5;
}
:where(html) {
  scrollbar-gutter: stable;
}
:where(h1) {
  font-size: 2em;
  margin-block: 0.67em;
}
:where(abbr[title]) {
  cursor: help;
  text-decoration-line: underline;
  text-decoration-style: dotted;
}
@media (forced-colors: active) {
  mark {
    color: HighlightText;
    background-color: Highlight;
  }
}
:where(del, ins, s)::before,
:where(del, ins, s)::after {
  clip-path: inset(100%);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  content: 'test';
}
:where(s)::before {
  content: 'stricken text start ';
}
:where(s)::after {
  content: ' stricken text end';
}
:where(del)::before {
  content: 'deletion start ';
}
:where(del)::after {
  content: ' deletion end';
}
:where(ins)::before {
  content: 'insertion start ';
}
:where(ins)::after {
  content: ' insertion end';
}
:where(audio, iframe, img, svg, video) {
  max-block-size: 100%;
  max-inline-size: 100%;
}
:where(fieldset) {
  min-inline-size: 0;
}
:where(label):has(+ :where(textarea, input, select)) {
  display: block;
}
:where(textarea:not([rows])) {
  min-block-size: 6em;
}
:where(button, input, select, textarea) {
  font-family: inherit;
  font-size: inherit;
}
:where([type='search']) {
  -webkit-appearance: textfield;
}
@supports (-webkit-touch-callout: none) {
  :where([type='search']) {
    border: 1px solid -apple-system-secondary-label;
    background-color: canvas;
  }
}
:where([type='tel'], [type='url'], [type='email'], [type='number']):not(:placeholder-shown) {
  direction: ltr;
}
:where(table) {
  border-collapse: collapse;
  border: 1px solid;
}
:where(th, td) {
  border: 1px solid;
  padding: 0.25em 0.5em;
}
:where(dialog)::backdrop {
  background: oklch(0% 0 0 / 0.3);
}
:where(dialog),
:where(dialog)::backdrop {
  opacity: 0;
  transition: opacity 300ms ease-out, display 300ms allow-discrete, overlay 300ms allow-discrete;
}
:where(dialog[open]),
:where(dialog[open])::backdrop {
  opacity: 1;
}
@starting-style {
  :where(dialog[open]),
  :where(dialog[open])::backdrop {
    opacity: 0;
  }
}
[hidden]:not([hidden='until-found']) {
  display: none !important;
}
