/* CSS Document */

.u-border-anime {
	text-decoration: none;
	background-image: linear-gradient(90deg, currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: var(--m-border-anime, 0) 1px;
	transition: background var(--sec);
}

.u-border-anime:focus-visible {
	--m-border-anime: 100%;
}

.u-border-anime-trigger :where(.u-border-anime-target) {
	text-decoration: none;
	background-image: linear-gradient(90deg, currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: var(--m-border-anime, 0) 1px;
	transition: background var(--sec);
}

.u-border-anime-trigger :where(.u-border-anime-target):focus-visible {
	--m-border-anime: 100%;
}

.u-border-anime-trigger:focus-visible {
	--m-border-anime: 100%;
}

.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-keep {
	word-break: keep-all !important;
	overflow-wrap: anywhere !important;
}

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

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

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

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

.u-bg-bottom\:bg-ash {
	position: relative;
	isolation: isolate;
}

.u-bg-bottom\:bg-ash::before {
	content: "";
	position: absolute;
	z-index: -10;
	bottom: 0;
	inset-inline: 0;
	height: 140px;
	background-color: var(--color-bg-ash);
}

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

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

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

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

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

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

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

.u-d\:f {
	display: flex !important;
}

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

.u-ai\:s {
	align-items: start !important;
}

.u-ai\:c {
	align-items: center !important;
}

.u-gtc\:1 {
	grid-template-columns: repeat(1, 1fr) !important;
}

.u-gtc\:2 {
	grid-template-columns: repeat(2, 1fr) !important;
}

.u-gtc\:3 {
	grid-template-columns: repeat(3, 1fr) !important;
}

.u-gtc\:4 {
	grid-template-columns: repeat(4, 1fr) !important;
}

.u-cg\:20 {
	column-gap: 20px !important;
}

.u-cg\:40 {
	column-gap: 40px !important;
}

.u-rg\:xs {
	row-gap: var(--space-block-xs) !important;
}

.u-rg\:xxs {
	row-gap: var(--space-block-xxs) !important;
}

.u-mt\:0 {
	margin-block-start: 0px !important;
}

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

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

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

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

.u-mt\:lg {
	margin-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-pb\:md {
	padding-block-end: var(--space-block-md) !important;
}

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

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

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

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

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

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

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

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

/*.ruby{ display: ruby; }

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

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

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



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

.u-border-anime:hover {
	--m-border-anime: 100%;
}

.u-border-anime-trigger :where(.u-border-anime-target):hover {
	--m-border-anime: 100%;
}

.u-border-anime-trigger:hover {
	--m-border-anime: 100%;
}

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

}

@media (width <= 1400px) {

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

}

@media (width <= 1120px) {

.u-gtc\:3\@lg {
	grid-template-columns: repeat(3, 1fr) !important;
}

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

}

@media (width <= 960px) {

.u-fxd\:c\@md {
	flex-direction: column !important;
}

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

}

@media (width <= 850px) {

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

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

}

@media (width <= 768px) {

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

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

.u-gtc\:2\@sm {
	grid-template-columns: repeat(2, 1fr) !important;
}

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

.u-pc {
	display: none !important;
}

}

@media (width <= 560px) {

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

.u-gtc\:1\@xs {
	grid-template-columns: repeat(1, 1fr) !important;
}

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

}

@media (768px < width) {

.u-sp {
	display: none !important;
}

}

