/*
Theme Name: Office Usagi
Theme URI: https://github.com/dr-usagi/office-usagi.jp
Template: arkhe
Version: 0.2.1
Requires at least: 6.8
Requires PHP: 8.0
Description: 許認可の手続きを条文から解説するサイトのための Arkhe 子テーマ。クラシックエディタ前提。Webフォントは1本も読み込まない。
Author: dr-usagi
Author URI: https://github.com/dr-usagi
Text Domain: office-usagi
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

:root {
	color-scheme: light;

	--ou-paper:     #FFFFFF;
	--ou-paper-2:   #F4F6F9;
	--ou-surface:   #FFFFFF;
	--ou-surface-2: #F6F4EE;

	--ou-ink:   #0F1B2D;
	--ou-ink-2: #172740;
	--ou-ink-3: #2A3B55;

	--ou-line:      #DDE3EA;
	--ou-line-soft: #EBEFF4;

	--ou-text:          #1A2230;
	--ou-text-mute:     #4E5968;
	--ou-text-faint:    #737D8C;
	--ou-text-inv:      #F3F5F8;
	--ou-text-inv-mute: #A3AEBF;

	--ou-accent:      #1F4E8C;
	--ou-accent-deep: #163A69;
	--ou-accent-soft: #EAF0F8;
	--ou-accent-hi:   #8DB3E6;

	--ou-ok:        #2E7D32;
	--ou-warn-deep: #8A6100;
	--ou-ng:        #B3261E;

	--ou-rule-1: #0D47A1;
	--ou-rule-2: #03A9F4;
	--ou-rule-3: #43A047;
	--ou-rule-4: #FFEB3B;
	--ou-rule-5: #FFD700;

	--ou-radius:      12px;
	--ou-radius-s:    8px;
	--ou-radius-pill: 999px;
	--ou-border:      1px;
	--ou-shadow:      0 12px 40px -24px rgba(15, 27, 45, .35);

	--ou-cta-bg: var(--ou-ink);
	--ou-cta-fg: var(--ou-paper);

	--ou-space-section: 64px;
	--ou-space-block:   32px;
	--ou-measure:       820px;
	--ou-container:     1120px;

	--ou-font-body: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "メイリオ", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ou-font-mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

	--ou-h1: clamp(24px, 4.5vw, 32px);
	--ou-h2: clamp(20px, 3.2vw, 26px);
	--ou-h3: 18px;
}

@media screen and (max-width: 767px) {
	:root {
		--ou-space-section: 44px;
		--ou-space-block:   24px;
	}
}

:root,
.ou-surface-light {
	--ou-s-bg:          var(--ou-paper);
	--ou-s-bg-2:        var(--ou-paper-2);
	--ou-s-card:        var(--ou-surface);
	--ou-s-text:        var(--ou-text);
	--ou-s-mute:        var(--ou-text-mute);
	--ou-s-line:        var(--ou-line);
	--ou-s-accent:      var(--ou-accent);
	--ou-s-accent-soft: var(--ou-accent-soft);
	--ou-s-warn:        var(--ou-warn-deep);
}

.ou-surface-dark,
.l-footer {
	--ou-s-bg:          var(--ou-ink);
	--ou-s-bg-2:        var(--ou-ink-2);
	--ou-s-card:        var(--ou-ink-2);
	--ou-s-text:        var(--ou-text-inv);
	--ou-s-mute:        var(--ou-text-inv-mute);
	--ou-s-line:        var(--ou-ink-3);
	--ou-s-accent:      var(--ou-accent-hi);
	--ou-s-accent-soft: var(--ou-ink-3);
	--ou-s-warn:        #E3A008;

	--ou-cta-bg: var(--ou-accent-hi);
	--ou-cta-fg: var(--ou-ink);

	background: var(--ou-s-bg);
	color:      var(--ou-s-text);
}

body {
	margin: 0;
	background-color: var(--ou-paper);
	color:            var(--ou-text);
	font-family:      var(--ou-font-body);
	font-size:        16px;
	line-height:      1.9;
	letter-spacing:   .015em;
	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--ou-s-accent);
	text-underline-offset: .18em;
}

a:hover {
	color: var(--ou-accent-deep);
}

:focus-visible {
	outline: 2px solid var(--ou-s-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

[id] {
	scroll-margin-top: 16px;
}

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

::selection {
	background: var(--ou-accent-soft);
	color: var(--ou-accent-deep);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
}

h1 {
	font-size:      var(--ou-h1);
	font-weight:    700;
	line-height:    1.45;
	letter-spacing: .03em;
}

h2 {
	font-size:      var(--ou-h2);
	font-weight:    700;
	line-height:    1.5;
	letter-spacing: .02em;
}

h3 {
	font-size:      var(--ou-h3);
	font-weight:    700;
	line-height:    1.6;
	letter-spacing: .02em;
}

.c-postContent > h2 {
	margin-top: var(--ou-space-block);
}

.c-postContent > h2::before,
hr.ou-rule {
	content: "";
	display: block;
	width: 72px;
	height: 6px;
	border: 0;
	border-radius: var(--ou-radius-pill);
	background: linear-gradient(
		90deg,
		var(--ou-rule-1) 0 20%,
		var(--ou-rule-2) 20% 40%,
		var(--ou-rule-3) 40% 60%,
		var(--ou-rule-4) 60% 80%,
		var(--ou-rule-5) 80% 100%
	);
	margin: 0 0 12px;
}

hr.ou-rule {
	margin: var(--ou-space-block) 0 12px;
}

hr.ou-rule + h2,
hr.ou-rule + h3 {
	margin-top: 0;
}

hr.ou-rule + h2::before {
	display: none;
}

.c-postContent > h2:target,
.c-postContent > h3:target {
	background: linear-gradient(transparent 60%, var(--ou-accent-soft) 60%);
}

.ou-num {
	font-family: var(--ou-font-mono);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
	font-weight: 600;
}

.ou-eyebrow {
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--ou-s-accent);
}

.l-header {
	background: var(--ou-paper);
	border-bottom: var(--ou-border) solid var(--ou-line);
}

.l-header__body {
	padding-block: 14px;
}

.l-header__logo.has-text > .c-headLogo {
	color: var(--ou-text);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.35;
}

.l-header__center .c-tagline {
	margin-top: 2px;
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--ou-text-mute);
	opacity: 1;
}

.c-gnav {
	font-size: 14px;
	font-weight: 700;
}

.c-gnav__li > .c-gnav__a {
	color: var(--ou-text);
}

.c-gnav__li:hover > .c-gnav__a,
.c-gnav__li.focus > .c-gnav__a {
	color: var(--ou-accent);
}

.c-gnav__depth1 {
	box-shadow: var(--ou-shadow);
}

.c-gnav .sub-menu .c-gnav__a {
	color: var(--ou-text-inv);
	font-weight: 400;
}

#top_title_area {
	min-height: 0;
	padding-block: clamp(28px, 4vw, 48px);
	background: var(--ou-paper-2);
	border-bottom: var(--ou-border) solid var(--ou-line);
	text-align: left;
}

#top_title_area .p-topArea__body {
	max-width: calc(var(--ou-measure) + var(--ark-padding--container) * 2);
	color: var(--ou-text);
	text-shadow: none;
}

#top_title_area .c-pageTitle__main {
	margin: 0;
	font-size: var(--ou-h1);
	line-height: 1.45;
	letter-spacing: .03em;
}

#top_title_area .ou-eyebrow {
	margin-bottom: 10px;
}

.ou-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.7;
	color: var(--ou-text-mute);
}

.ou-meta dt {
	display: inline;
	margin-right: .5em;
	font-weight: 700;
}

.ou-meta dd {
	display: inline;
	margin: 0;
}

.p-breadcrumb {
	padding: 10px 0;
}

.p-breadcrumb__list {
	max-width: calc(var(--ou-measure) + var(--ark-padding--container) * 2);
}

.p-breadcrumb__text {
	font-size: 12px;
	color: var(--ou-text-mute);
}

.l-content__body {
	margin-block: 8px var(--ou-space-section);
}

.l-main__body > .c-postContent {
	margin-top: 0;
}

.l-footer__foot {
	padding: 48px 0 32px;
	font-size: 14px;
}

.l-footer__foot > .l-container {
	display: grid;
	gap: 20px;
}

.l-footer__foot > .l-container > * {
	margin: 0;
}

.ou-footer__name {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .06em;
}

.l-footer__nav.u-flex--c {
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px 24px;
}

.l-footer__nav a {
	padding: 0;
	font-size: 14px;
}

.l-footer a {
	color: var(--ou-s-accent);
}

.l-footer a:hover {
	color: var(--ou-text-inv);
}

.ou-footer__note {
	max-width: 46em;
	font-size: 13px;
	line-height: 1.8;
	color: var(--ou-s-mute);
}

.l-footer .c-copyright {
	font-size: 13px;
	text-align: left;
	color: var(--ou-s-mute);
}

.ou-toc {
	border: var(--ou-border) solid var(--ou-s-line);
	border-radius: var(--ou-radius-s);
	background: var(--ou-s-card);
}

.ou-toc > summary {
	padding: 12px 18px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.ou-toc ol {
	margin: 0;
	padding: 4px 18px 14px 2.6em;
	font-size: 14px;
	line-height: 1.8;
}

.ou-toc li::marker {
	font-family: var(--ou-font-mono);
	color: var(--ou-s-mute);
}

.ou-btn,
.ou-btn--primary,
.ou-btn--secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 28px;
	border-radius: var(--ou-radius-s);
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: opacity .15s;
}

.ou-btn--primary {
	background: var(--ou-cta-bg);
	color: var(--ou-cta-fg);
	border: var(--ou-border) solid var(--ou-cta-bg);
}

.ou-btn--primary:hover {
	color: var(--ou-cta-fg);
	opacity: .88;
}

.ou-btn--secondary {
	background: transparent;
	color: inherit;
	border: var(--ou-border) solid currentColor;
}

.ou-btn--secondary:hover {
	color: inherit;
	opacity: .75;
}

.ou-cta {
	margin-top: var(--ou-space-section);
	padding: 28px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-top: 3px solid var(--ou-accent);
	border-radius: var(--ou-radius);
	background: var(--ou-s-card);
}

.ou-cta > * {
	margin: 0;
}

.ou-cta__k {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--ou-s-accent);
}

.ou-cta__t {
	margin-top: .3em;
	font-size: var(--ou-h3);
	font-weight: 700;
}

.ou-cta__b {
	margin-top: .6em;
	font-size: 15px;
	color: var(--ou-s-mute);
}

.ou-cta__a {
	margin-top: 1.2em;
}

.ou-cta__a--two {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ou-cta-c {
	font-size: 14px;
	font-weight: 700;
}

.ou-cta-c a::after {
	content: " →";
}

.ou-cta--inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-block: var(--ou-space-block);
	padding: 16px 20px;
	border-top-width: 1px;
	border-left: 4px solid var(--ou-accent);
}

.ou-cta--inline .ou-cta__t {
	margin: 0;
	font-size: 15px;
}

.ou-cta--inline .ou-cta__a {
	margin: 0;
}

.ou-cta--inline .ou-btn--primary,
.ou-cta--inline .ou-btn--secondary {
	min-height: 40px;
	padding: 8px 18px;
	font-size: 14px;
}

.ou-note-info,
.ou-note-warn,
.ou-note-local {
	padding: 18px 20px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-left-width: 4px;
	border-radius: var(--ou-radius-s);
	background: var(--ou-s-bg-2);
}

.ou-note-info > :first-child,
.ou-note-warn > :first-child,
.ou-note-local > :first-child {
	margin-top: 0;
}

.ou-note-info > :last-child,
.ou-note-warn > :last-child,
.ou-note-local > :last-child {
	margin-bottom: 0;
}

.ou-note-info  { border-left-color: var(--ou-s-accent); }
.ou-note-warn  { border-left-color: var(--ou-s-warn); }

.ou-note-local {
	border-left-style: dashed;
	border-left-color: var(--ou-s-warn);
	background: var(--ou-s-card);
}

.ou-note-info::before,
.ou-note-warn::before,
.ou-note-local::before {
	display: block;
	margin-bottom: .4em;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
}

.ou-note-info::before  { content: "ポイント";           color: var(--ou-s-accent); }
.ou-note-warn::before  { content: "注意";               color: var(--ou-s-warn); }
.ou-note-local::before { content: "都道府県で異なります"; color: var(--ou-s-warn); }

.ou-panel {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 20px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-left: 4px solid var(--ou-s-accent);
	border-radius: var(--ou-radius-s);
	background: var(--ou-s-accent-soft);
}

.ou-panel > * {
	margin: 0;
}

.ou-panel__t {
	font-size: 15px;
	font-weight: 700;
	color: var(--ou-accent-deep);
}

.ou-panel__b {
	font-size: 14px;
}

.ou-duo {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-radius: var(--ou-radius);
	background: var(--ou-s-line);
	overflow: hidden;
}

.ou-duo__i {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px;
	background: var(--ou-s-card);
}

.ou-duo__i > * {
	margin: 0;
}

.ou-duo__k {
	font-family: var(--ou-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	color: var(--ou-s-accent);
}

.ou-duo__t {
	font-size: clamp(17px, 2.4vw, 20px);
	font-weight: 700;
	line-height: 1.5;
}

.ou-duo__b {
	font-size: 14px;
	color: var(--ou-s-mute);
}

.ou-duo__foot {
	grid-column: 1 / -1;
	margin: 0;
	padding: 16px 22px;
	font-size: 14px;
	background: var(--ou-s-accent-soft);
}

@media (min-width: 768px) {
	.ou-duo {
		grid-template-columns: 1fr 1fr;
	}
}

.ou-law-quote {
	margin-inline: 0;
	padding: 16px 20px;
	border-left: 4px solid var(--ou-accent);
	border-radius: 0 var(--ou-radius-s) var(--ou-radius-s) 0;
	background: var(--ou-surface-2);
	color: var(--ou-text);
	font-size: 15px;
}

.ou-law-quote > :first-child {
	margin-top: 0;
}

.ou-law-quote cite {
	display: block;
	margin-top: .6em;
	font-size: 13px;
	font-style: normal;
	color: var(--ou-text-mute);
	opacity: 1;
}

.ou-terms {
	padding: 18px 20px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-radius: var(--ou-radius-s);
	background: var(--ou-s-card);
}

.ou-terms dt {
	font-weight: 700;
	color: var(--ou-s-accent);
}

.ou-terms dd {
	margin: .2em 0 1em;
}

.ou-terms dd:last-child {
	margin-bottom: 0;
}

.ou-faq {
	margin-block: 12px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-radius: var(--ou-radius-s);
	background: var(--ou-s-card);
}

.ou-faq > summary {
	padding: 14px 18px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.ou-faq > summary::-webkit-details-marker {
	display: none;
}

.ou-faq > summary::before {
	content: "Q";
	display: inline-block;
	width: 1.6em;
	font-family: var(--ou-font-mono);
	color: var(--ou-s-accent);
}

.ou-faq__a {
	padding: 14px 18px 16px;
	border-top: var(--ou-border) solid var(--ou-s-line);
}

.ou-faq__a > :first-child { margin-top: 0; }
.ou-faq__a > :last-child  { margin-bottom: 0; }

.ou-sort {
	padding: 16px 20px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-radius: var(--ou-radius-s);
	background: var(--ou-s-card);
}

.ou-sort > * {
	margin: 0;
}

.ou-sort__k {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--ou-s-mute);
}

.ou-sort__t {
	margin-top: .2em;
	font-weight: 700;
}

.ou-sort__list {
	margin-top: .5em;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.ou-sort__list li {
	position: relative;
	padding-left: 1.4em;
}

.ou-sort__list li::before {
	content: "→";
	position: absolute;
	left: 0;
	color: var(--ou-s-accent);
}

.ou-steps {
	list-style: none;
	counter-reset: ou-step;
	padding-left: 0;
}

.ou-steps > li {
	position: relative;
	counter-increment: ou-step;
	padding: 0 0 1.2em 3.4em;
}

.ou-steps > li::before {
	content: counter(ou-step, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0;
	width: 2.4em;
	text-align: center;
	font-family: var(--ou-font-mono);
	font-weight: 700;
	letter-spacing: 0;
	color: var(--ou-s-accent);
	background: var(--ou-s-bg);
}

.ou-steps > li::after {
	content: "";
	position: absolute;
	left: 1.2em;
	top: 1.9em;
	bottom: .2em;
	border-left: var(--ou-border) solid var(--ou-s-line);
}

.ou-steps > li:last-child {
	padding-bottom: 0;
}

.ou-steps > li:last-child::after {
	display: none;
}

.ou-hyo-wrap {
	margin-block: var(--ou-space-block);
}

.ou-hyo {
	--ark-padding--cell: 10px 12px;
	width: 100%;
	border: 0;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.75;
}

.ou-hyo-cap {
	caption-side: top;
	margin: 0;
	padding-bottom: 8px;
	text-align: left;
	font-size: 15px;
	font-weight: 700;
	opacity: 1;
}

.ou-hyo th,
.ou-hyo td {
	border: var(--ou-border) solid var(--ou-s-line);
	vertical-align: top;
	text-align: left;
	word-break: normal;
	overflow-wrap: break-word;
}

.ou-hyo thead th {
	background: var(--ou-s-bg-2);
	color: var(--ou-s-text);
	font-size: 13px;
	white-space: nowrap;
}

.ou-hyo tbody th {
	min-width: 8em;
	background: var(--ou-s-bg-2);
	font-weight: 700;
}

.ou-hyo .ou-hyo-law {
	width: 9em;
	font-size: 12.5px;
	color: var(--ou-s-mute);
}

.ou-hyo tbody tr:target > * {
	background: var(--ou-accent-soft);
}

.ou-hyo-note {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.75;
	color: var(--ou-s-mute);
}

.ou-hyo--card,
.ou-hyo--card tbody,
.ou-hyo--card tr,
.ou-hyo--card th,
.ou-hyo--card td,
.ou-hyo--card caption { display: block; width: auto; }
.ou-hyo--card thead { display: none; }
.ou-hyo--card tbody tr { margin-top: 12px; border: var(--ou-border) solid var(--ou-s-line); border-radius: var(--ou-radius-s); overflow: hidden; background: var(--ou-s-card); }
.ou-hyo--card tbody th { border: 0; border-bottom: var(--ou-border) solid var(--ou-s-line); }
.ou-hyo--card td { --ark-padding--cell: 8px 12px; border: 0; }
.ou-hyo--card td + td { border-top: var(--ou-border) dashed var(--ou-line-soft); }
.ou-hyo--card td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--ou-s-mute); }
.ou-hyo--card .ou-hyo-law { width: auto; white-space: normal; }

@media screen and (max-width: 999px) {
	.ou-hyo--n4,
	.ou-hyo--n4 tbody,
	.ou-hyo--n4 tr,
	.ou-hyo--n4 th,
	.ou-hyo--n4 td,
	.ou-hyo--n4 caption { display: block; width: auto; }
	.ou-hyo--n4 thead { display: none; }
	.ou-hyo--n4 tbody tr { margin-top: 12px; border: var(--ou-border) solid var(--ou-s-line); border-radius: var(--ou-radius-s); overflow: hidden; background: var(--ou-s-card); }
	.ou-hyo--n4 tbody th { border: 0; border-bottom: var(--ou-border) solid var(--ou-s-line); }
	.ou-hyo--n4 td { --ark-padding--cell: 8px 12px; border: 0; }
	.ou-hyo--n4 td + td { border-top: var(--ou-border) dashed var(--ou-line-soft); }
	.ou-hyo--n4 td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--ou-s-mute); }
	.ou-hyo--n4 .ou-hyo-law { width: auto; white-space: normal; }
}

@media screen and (max-width: 767px) {
	.ou-hyo,
	.ou-hyo tbody,
	.ou-hyo tr,
	.ou-hyo th,
	.ou-hyo td,
	.ou-hyo caption { display: block; width: auto; }
	.ou-hyo thead { display: none; }
	.ou-hyo tbody tr { margin-top: 12px; border: var(--ou-border) solid var(--ou-s-line); border-radius: var(--ou-radius-s); overflow: hidden; background: var(--ou-s-card); }
	.ou-hyo tbody th { border: 0; border-bottom: var(--ou-border) solid var(--ou-s-line); }
	.ou-hyo td { --ark-padding--cell: 8px 12px; border: 0; }
	.ou-hyo td + td { border-top: var(--ou-border) dashed var(--ou-line-soft); }
	.ou-hyo td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--ou-s-mute); }
	.ou-hyo .ou-hyo-law { width: auto; white-space: normal; }
}

.ou-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.ou-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.ou-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	box-sizing: border-box;
	height: 100%;
	padding: 18px 20px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-radius: var(--ou-radius);
	background: var(--ou-s-card);
	color: var(--ou-s-text);
	text-decoration: none;
	box-shadow: var(--ou-shadow);
	transition: border-color .15s;
}

.ou-card:hover {
	color: var(--ou-s-text);
	border-color: var(--ou-accent);
}

.ou-card__t {
	font-weight: 700;
	line-height: 1.6;
	color: var(--ou-s-accent);
}

.ou-card__t::after {
	content: " →";
}

.ou-card__b {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--ou-s-mute);
}

.ou-related {
	display: block;
	padding: 16px 20px;
	border: var(--ou-border) solid var(--ou-s-line);
	border-radius: var(--ou-radius);
	background: var(--ou-s-bg-2);
	color: var(--ou-s-text);
	text-decoration: none;
}

.ou-related:hover {
	color: var(--ou-s-text);
	border-color: var(--ou-accent);
}

.ou-related__label {
	display: block;
	font-size: 12px;
	letter-spacing: .1em;
	color: var(--ou-s-mute);
}

.ou-related__title {
	font-weight: 700;
	color: var(--ou-s-accent);
}

.l-header {
	position: relative;
	top: 0;
	z-index: 100;
}

.c-gnav > .menu-item:last-child > .c-gnav__depth1 {
	left: auto;
	right: 0;
	transform: none;
}

.c-gnav > .menu-item:last-child > .c-gnav__depth1::before {
	display: none;
}

.c-gnav > .menu-item-has-children:last-child > .c-gnav__a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - .5em);
	z-index: 2;
	width: 1em;
	height: 1em;
	background-color: var(--ark-color--main);
	clip-path: polygon(0 100%, 100% 100%, 50% 60%);
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s, visibility .35s;
}

.c-gnav > .menu-item-has-children:is(:hover, .focus):last-child > .c-gnav__a::after {
	opacity: 1;
	visibility: visible;
}

@media (max-width: 999px) {
	.l-header__drawerBtn {
		position: fixed;
		top: calc(var(--ark-adminbar_height, 0px) + 12px);
		left: 12px;
	}

	.l-header__drawerBtn .c-iconBtn {
		border: var(--ou-border) solid var(--ou-s-line);
		border-radius: var(--ou-radius-pill);
		background: var(--ou-s-card);
		box-shadow: var(--ou-shadow);
	}

	[data-drawer="opened"] .l-header__drawerBtn .c-iconBtn {
		background: transparent;
		border-color: transparent;
		box-shadow: none;
	}

	[id] {
		scroll-margin-top: 64px;
	}

	.l-header[data-btns] .l-header__body {
		grid-template-columns: 40px 0 minmax(0, 1fr) 0 40px;
	}
}

.c-fixBtn {
	border-radius: var(--ou-radius-pill);
	box-shadow: var(--ou-shadow);
}

@media print {
	.l-header,
	.l-footer,
	.p-fixBtnWrap,
	.ou-cta,
	.ou-toc {
		display: none;
	}
}

:root {
	--ark-color--main:          var(--ou-accent);
	--ark-color--text:          var(--ou-text);
	--ark-color--link:          var(--ou-accent);
	--ark-color--bg:            var(--ou-paper);
	--ark-color--border:        var(--ou-line);
	--ark-color--gray:          var(--ou-paper-2);
	--ark-color--border--table: var(--ou-line);

	--ark-color--header_bg:     var(--ou-paper);
	--ark-color--header_txt:    var(--ou-text);
	--ark-color--footer_bg:     var(--ou-ink);
	--ark-color--footer_txt:    var(--ou-text-inv);

	--ark-width--container:     var(--ou-container);
	--ark-width--article:       var(--ou-measure);
	--ark-width--article--slim: 680px;

	--ark-font_family:          var(--ou-font-body);
	--ark-font_size:            16px;
	--ark-line_height:          1.9;
	--ark-letter_spacing:       0.015em;

	--ark-mt:                   1.8em;
	--ark-mt--s:                1.0em;
	--ark-mt--h:                2.6em;
}
