/* CSS Document */

.u-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: clip;
	clip-path: inset(50%);
}

.u-unselectable {
	pointer-events: none !important;
	user-select: none !important;
}

.u-mirror {
	scale: -1 1 !important;
}

.u-svg {
	max-width: 100%;
	height: auto;
}

.u-button {
	margin: 0;
	padding: 0;
	border: none;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-align: inherit;
	background-color: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.u-nb {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: inherit;
	text-decoration: inherit;
	text-indent: 0;
}

.u-wbr-wrapper {
	word-break: keep-all !important;
	overflow-wrap: anywhere !important;
}

.u-c\:primary {
	color: var(--color-primary) !important;
}

.u-c\:secondary {
	color: var(--color-secondary) !important;
}

.u-c\:tertiary {
	color: var(--color-tertiary) !important;
}

.u-c\:light {
	color: var(--color-light) !important;
}

.u-bg\:primary {
	background-color: var(--color-primary) !important;
}

.u-bg\:secondary {
	background-color: var(--color-secondary) !important;
}

.u-bg\:tertiary {
	background-color: var(--color-tertiary) !important;
}

.u-bg\:bg-ash {
	background-color: var(--color-bg-ash) !important;
}

.u-bg\:tile {
	background-repeat: repeat;
	background-position: center top;
	background-image: url(../img/cmn/bg_tile.png);
	background-size: 30px;
}

.u-typography\:txt-xmd {
	font-family: var(--typography-txt-xmd-font-family);
	font-weight: var(--typography-txt-xmd-font-weight);
	font-size: var(--typography-txt-xmd-font-size);
	line-height: var(--typography-txt-xmd-line-height);
	--letter-spacing: var(--typography-txt-xmd-letter-spacing);
}

.u-typography\:txt-xsm {
	font-family: var(--typography-txt-xsm-font-family);
	font-weight: var(--typography-txt-xsm-font-weight);
	font-size: var(--typography-txt-xsm-font-size);
	line-height: var(--typography-txt-xsm-line-height);
	--letter-spacing: var(--typography-txt-xsm-letter-spacing);
}

.u-typography\:title-lg {
	font-family: var(--typography-title-lg-font-family);
	font-weight: var(--typography-title-lg-font-weight);
	font-size: var(--typography-title-lg-font-size);
	line-height: var(--typography-title-lg-line-height);
	--letter-spacing: var(--typography-title-lg-letter-spacing);
}

.u-typography\:title-md {
	font-family: var(--typography-title-md-font-family);
	font-weight: var(--typography-title-md-font-weight);
	font-size: var(--typography-title-md-font-size);
	line-height: var(--typography-title-md-line-height);
	--letter-spacing: var(--typography-title-md-letter-spacing);
}

.u-d\:b {
	display: block !important;
}

.u-d\:n {
	display: none !important;
}

.u-d\:ib {
	display: inline-block !important;
}

.u-as\:s {
	align-self: start !important;
}

.u-as\:e {
	align-self: end !important;
}

.u-pos\:r {
	position: relative !important;
}

.u-mb\:0 {
	margin-block-end: 0px !important;
}

.u-pr\:10 {
	padding-inline-end: 10px !important;
}

.u-mb\:70 {
	margin-block-end: 70px !important;
}

.u-pt\:section {
	padding-block-start: var(--space-block-section) !important;
}

.u-pb\:section {
	padding-block-end: var(--space-block-section) !important;
}

.u-mt\:xl {
	margin-block-start: var(--space-block-xl) !important;
}

.u-mb\:lg {
	margin-block-end: var(--space-block-lg) !important;
}

.u-pt\:lg {
	padding-block-start: var(--space-block-lg) !important;
}

.u-pb\:lg {
	padding-block-end: var(--space-block-lg) !important;
}

.u-mt\:md {
	margin-block-start: var(--space-block-md) !important;
}

.u-mb\:md {
	margin-block-end: var(--space-block-md) !important;
}

.u-pt\:md {
	padding-block-start: var(--space-block-md) !important;
}

.u-mb\:xs {
	margin-block-end: var(--space-block-xs) !important;
}

.u-mb\:xxxs {
	margin-block-end: var(--space-block-xxxs) !important;
}

.u-pt\:xxxs {
	padding-block-start: var(--space-block-xxxs) !important;
}

.u-pb\:xxxs {
	padding-block-end: var(--space-block-xxxs) !important;
}

.u-mt\:xs-trim {
	margin-block-start: var(--space-block-xs-trim) !important;
}

.u-mi\:a {
	margin-inline: auto !important;
}

.u-ml\:a {
	margin-inline-start: auto !important;
}

.u-ta\:r {
	text-align: right !important;
}

.u-ta\:c {
	text-align: center !important;
}

/*.ruby{ display: ruby; }

.ruby:after {
	content: attr(title);
	display: ruby-text;
	font-size: 0.6em;
}*/

.u-td\:u\@hov:focus-visible {
	text-decoration: underline !important;
}

.u-tt\:u {
	text-transform: uppercase;
}



@media (hover: hover) and (pointer: fine) {

.u-td\:u\@hov:hover {
	text-decoration: underline !important;
}

}

@media (width <= 1020px) {

.u-d\:n\@lg2 {
	display: none !important;
}

.u-d\:g\@lg2 {
	display: grid !important;
}

.u-pr\:0\@lg2 {
	padding-inline-end: 0px !important;
}

.u-pl\:0\@lg2 {
	padding-inline-start: 0px !important;
}

.u-mb\:md\@lg2 {
	margin-block-end: var(--space-block-md) !important;
}

.u-ta\:c\@lg2 {
	text-align: center !important;
}

}

@media (width <= 900px) {

.u-d\:n\@md {
	display: none !important;
}

.u-d\:i\@md {
	display: inline !important;
}

.u-pr\:0\@md {
	padding-inline-end: 0px !important;
}

.u-pt\:md\@md {
	padding-block-start: var(--space-block-md) !important;
}

.u-ta\:l\@md {
	text-align: left !important;
}

}

@media (width <= 800px) {

.u-pt\:0\@md2 {
	padding-block-start: 0px !important;
}

.u-mt\:xs\@md2 {
	margin-block-start: var(--space-block-xs) !important;
}

.u-pb\:xs\@md2 {
	padding-block-end: var(--space-block-xs) !important;
}

.u-ta\:c\@md2 {
	text-align: center !important;
}

}

@media (width <= 768px) {

.u-d\:n\@sm {
	display: none !important;
}

.u-d\:rv\@sm {
	display: revert !important;
}

.u-h\:md\@sm {
	height: var(--space-block-md) !important;
}

.u-pr\:0\@sm {
	padding-inline-end: 0px !important;
}

.u-pb\:0\@sm {
	padding-block-end: 0px !important;
}

.u-pl\:0\@sm {
	padding-inline-start: 0px !important;
}

.u-pt\:md\@sm {
	padding-block-start: var(--space-block-md) !important;
}

.u-mb\:xs\@sm {
	margin-block-end: var(--space-block-xs) !important;
}

.u-ta\:l\@sm {
	text-align: left !important;
}

}

@media (width <= 700px) {

.u-ta\:l\@sm2 {
	text-align: left !important;
}

}

@media (width <= 600px) {

.u-d\:n\@sm3 {
	display: none !important;
}

.u-ta\:l\@sm3 {
	text-align: left !important;
}

}

@media (width <= 500px) {

.u-pb\:sm\@xs {
	padding-block-end: var(--space-block-sm) !important;
}

}

