html {
	font-size: 1.125rem;
	font: -apple-system-body;
	font-weight: 400;
	line-height: 2;
	tab-size: 2;
	hanging-punctuation: first allow-end last;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding-top: env(safe-area-inset-top);
	padding-bottom: env(safe-area-inset-bottom);
	min-block-size: 100dvb;
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 1fr auto;
}

p {
  margin-block: 0;
}

blockquote, figure {
	margin: 0;
}

address {
	font-style: normal;
}

small {
	font-size: inherit;
}

:link, :visited, :link:active, :visited:active {
	color: inherit;
}

:link, :visited {
	text-decoration-color: light-dark(gray, lightgray);
	text-decoration-thickness: calc((1 / 16) * 1em);
	text-underline-offset: calc((7 / 16) * 1em);
}

h1, h2, h3, h4, h5, h6 {
	margin-block: 0;
	font-size: inherit;
	font-weight: 700;
	line-height: inherit;
}

ol, ul {
	margin-block: 0;
	padding-inline-start: calc(var(--box-scale-base-inline) * 3);
	list-style-type: none;
}

:is(ol, ul) > li {
	padding-inline-start: var(--box-scale-base-inline);
}

:is(ol, ul) > li::before {
	margin-inline-start: calc(-1 * (var(--box-scale-base-inline) * 3));
	position: absolute;
	text-align: end;
}

ol {
	counter-reset: ordered-list;
}

ol > li {
	counter-increment: ordered-list;
}

ol > li::before {
	inline-size: calc(var(--box-scale-base-inline) * 2);
	content: counter(ordered-list);
}

ul > li::before {
	inline-size: calc((var(--box-scale-base-inline) * 2) - 0.15rem);
	content: "•";
}

picture, img {
	inline-size: 100%;
	display: block;
}

img {
	block-size: auto;
	filter: light-dark(brightness(1.00), brightness(0.95));
	object-fit: cover;
}

[lang="en"] {
	font-family: "IBM Plex Sans", sans-serif;
	line-break: initial;
	hyphens: auto;
	text-autospace: initial;
	text-spacing-trim: initial;
}

[lang="ja"] {
	font-family: "IBM Plex Sans JP", sans-serif;
	line-break: strict;
	hyphens: manual;
	text-autospace: normal;
	text-spacing-trim: trim-start;
}

*, *::before, *::after {
	/* outline: solid 1px; */
}