/* =========================================================
   06-utilities.css
   ユーティリティクラス。!important は使わない方針。
   ========================================================= */

.nt-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.nt-text-center { text-align: center; }
.nt-text-right  { text-align: right; }
.nt-text-left   { text-align: left; }

.nt-text-muted { color: var(--nt-color-muted); }
.nt-text-primary { color: var(--nt-color-primary); }
.nt-text-secondary { color: var(--nt-color-secondary); }

.nt-bg-bg      { background: var(--nt-color-bg); }
.nt-bg-surface { background: var(--nt-color-surface); }
.nt-bg-primary { background: var(--nt-color-primary); color: var(--nt-color-primary-contrast); }
.nt-bg-secondary { background: var(--nt-color-secondary); color: var(--nt-color-secondary-contrast); }

.nt-mt-0 { margin-top: 0; }
.nt-mb-0 { margin-bottom: 0; }
.nt-mb-sm { margin-bottom: 0.5em; }
.nt-mb-md { margin-bottom: 1em; }
.nt-mb-lg { margin-bottom: 2em; }

.nt-py-section { padding-block: var(--nt-section-y); }

.nt-mt-gap { margin-top: var(--nt-gap); }
.nt-mt-stack { margin-top: var(--nt-stack); }

.nt-fs-lg { font-size: var(--nt-fs-lg); }

.nt-flex { display: flex; }
.nt-flex-col { flex-direction: column; }
.nt-flex-wrap { flex-wrap: wrap; }
.nt-items-center { align-items: center; }
.nt-justify-center { justify-content: center; }
.nt-justify-between { justify-content: space-between; }
.nt-gap-sm { gap: 8px; }
.nt-gap-md { gap: 16px; }
.nt-gap-lg { gap: var(--nt-gap); }

.nt-rounded-sm { border-radius: var(--nt-radius-sm); }
.nt-rounded-md { border-radius: var(--nt-radius-md); }
.nt-rounded-lg { border-radius: var(--nt-radius-lg); }
.nt-rounded-pill { border-radius: var(--nt-radius-pill); }

.nt-shadow-sm { box-shadow: var(--nt-shadow-sm); }
.nt-shadow-md { box-shadow: var(--nt-shadow-md); }

.nt-hidden { display: none; }

@media (max-width: 720px) {
	.nt-hidden-sp { display: none; }
}

@media (min-width: 721px) {
	.nt-hidden-pc { display: none; }
}
