@layer base {
	*, *::before, *::after { box-sizing: border-box; }
	* { margin: 0; padding: 0; }
	html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 12px); }
	body {
		background: #fff;
		color: var(--ink);
		font-family: var(--g);
		font-size: 15.5px;
		line-height: 1.95;
		font-weight: 400;
		letter-spacing: .01em;
		-webkit-font-smoothing: antialiased;
		overflow-wrap: anywhere;
	}
	h1, h2, h3, h4 { font-weight: 700; line-height: 1.5; letter-spacing: .03em; text-wrap: balance; }
	a { color: inherit; text-decoration: none; }
	ul, ol { list-style: none; }
	img, svg { display: block; max-width: 100%; }
	svg { flex: none; }
	table { border-collapse: collapse; }
	address { font-style: normal; }
	/* 句の途中で改行させない（デザイン .hero h1 .nb と同じ）。kinki_nb()・kinki_addr() が付ける */
	.nb { display: inline-block; }
	/* 行頭の始めかっこ（10/26）。見出し・項目名・本文の段落は text-spacing-trim: trim-start で行頭のかっこの左の空きを詰める（対応ブラウザだけ）。
	   始めかっこで始まる見出し・項目名・説明文は、kinki_kakko() が最初の1文字を .kakko-start で包み、対応していないブラウザ（Safari など）でも半文字分左にずらす。
	   .nb（句のまとまり。inline-block）の中は、文中でもまとまりの頭が行頭として詰められてしまうので詰めない（space-first）。その代わり .nb の中の .kakko-start はどのブラウザでもずらす */
	main h1, main h2, main h3, main p, .bz-l li > span, .rows .tt, .org-desc { text-spacing-trim: trim-start; }
	.nb { text-spacing-trim: space-first; }
	.nb > .kakko-start { margin-inline-start: -.5em; }
	@supports not (text-spacing-trim: trim-start) { .kakko-start { margin-inline-start: -.5em; } }
	:focus-visible { outline: 3px solid var(--mint-mid); outline-offset: 3px; }
	.screen-reader-text {
		position: absolute !important; width: 1px; height: 1px; overflow: hidden;
		clip-path: inset(50%); white-space: nowrap;
	}
	.skip-link:focus {
		clip-path: none; width: auto; height: auto; z-index: 100; background: #fff;
		padding: 12px 18px; inset-block-start: 8px; inset-inline-start: 8px; border: 2px solid var(--mint);
	}
	@media (prefers-reduced-motion: reduce) {
		* { scroll-behavior: auto !important; transition: none !important; }
	}
}
