.w_block {
	display: block;
}

.w_inline_block {
	display: inline-block;
}

.w_hide {
	display: none;
}

img.w_image {
	width: 100%;
	height: auto;
	display: block;
}

.w_icon {
	width: var(--s4);
	height: var(--s4);
	background: var(--color-50);
	position: relative;
}

.w_icon::before {
	content: '';
	background: center center no-repeat;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23FFF" class="bi bi-x-lg" viewBox="0 0 16 16"><path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>');
	background-size: contain;
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.w_success {
	color: var(--color-100);
	background-color: var(--color-success);
	border-color: var(--color-success);
}

.w_attention {
	color: var(--color-100);
	background-color: var(--color-attention);
	border-color: var(--color-attention);
}

.w_warning {
	color: var(--color-05);
	background-color: var(--color-warning);
	border-color: var(--color-warning);
}

.w_relative {
	position: relative;
}

.w_interval {
	width: 100%;
	height: var(--s3);
}

.w_interval_null {
	width: 100%;
	height: 0;
}

.w_interval_tiny {
	width: 100%;
	height: var(--s-half);
}

.w_interval_small {
	width: 100%;
	height: var(--s);
}

.w_interval_medium {
	width: 100%;
	height: var(--s4);
}

.w_interval_large {
	width: 100%;
	height: var(--s5);
}

.w_margin {
	margin: var(--s2);
}

.w_margin_small {
	margin: var(--s)
}

.w_margin_medium {
	margin: var(--s4)
}

.w_margin_small_large {
	margin: var(--s5)
}

.w_padding {
	padding: var(--s2);
}

.w_padding_small {
	padding: var(--s)
}

.w_padding_medium {
	padding: var(--s4)
}

.w_padding_large {
	padding: var(--s5)
}

.w_empty {
	height: 0;
	max-height: 0;
	min-height: 0;
	border: none;
	margin: 0;
	padding: 0;
}

.w_height {
	height: 100%;
}

.w_left {
	text-align: left;
}

.w_right {
	text-align: right;
}

.w_center {
	text-align: center;
}

.w_radius {
	border-radius: 50%;
	overflow: hidden;
	z-index: 1;
}

.w_shadow {
	box-shadow: 0 0 5px var(--color-75);
	border: 1px solid var(--color-85);
}

.w_shadow:hover {
	box-shadow: 0 0 0px var(--color-75);
}

.w_shadow_inset {
	box-shadow: inset 0 0 5px var(--color-75);
	border: 1px solid var(--color-85);
}

.w_shadow_inset:hover {
	box-shadow: inset 0 0 0px var(--color-75);
}

.w_border {
	border: 1px solid var(--color-85);
}

.w_rounded {
	border-radius: var(--s2);
	overflow: hidden;
}

.w_rounded_plain {
	border-radius: var(--s2);
}

.w_zoom_bg {
	background-size: 100% auto;
}

.w_zoom_bg:hover {
	background-size: 110% auto;
}

.w_zoom:hover {
	-webkit-transform: scale(1.1, 1.1);
	transform: scale(1.1, 1.1);
}

.w_zoom_image img:hover {
	-webkit-transform: scale(1.1, 1.1);
	transform: scale(1.1, 1.1);
}

.w_overflow {
	overflow: hidden;
}

.w_overflow_auto {
	overflow: auto;
}

.w_pointer:hover {
	cursor: pointer;
}

.w_animate,
.w_animate * {
	-webkit-transition: all 0.6s ease;
	-moz-transition: all 0.6s ease;
	-o-transition: all 0.6s ease;
	-ms-transition: all 0.6s ease;
	transition: all 0.6s ease;
}

.w_animate_none,
.w_animate_none * {
	-webkit-transition: all 0s ease;
	-moz-transition: all 0s ease;
	-o-transition: all 0s ease;
	-ms-transition: all 0s ease;
	transition: all 0s ease;
}

ul.w_list,
ol.w_list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.w_nowrap {
	white-space: nowrap;
}

.w_wrap {
	word-wrap: break-word;
}

@media screen and (max-width: 810px) {
	.w_block_view_medium {
		display: block;
	}

	.w_inline_view_medium {
		display: inline-block;
	}

	img.w_image_view_medium {
		width: 100%;
		height: auto;
		display: block;
	}

	.w_hide_view_medium {
		display: none;
	}

	.w_relative_view_medium {
		position: relative;
	}

	.w_left_view_medium {
		text-align: left;
	}

	.w_right_view_medium {
		text-align: right;
	}

	.w_center_view_medium {
		text-align: center;
	}
}

@media screen and (max-width: 480px) {
	.w_block_view_small {
		display: block;
	}

	.w_inline_view_small {
		display: inline-block;
	}

	img.w_image_view_small {
		width: 100%;
		height: auto;
		display: block;
	}

	.w_hide_view_small {
		display: none;
	}

	.w_relative_view_small {
		position: relative;
	}

	.w_relative_view_small {
		position: relative;
	}

	.w_left_view_small {
		text-align: left;
	}

	.w_right_view_small {
		text-align: right;
	}

	.w_center_view_small {
		text-align: center;
	}
}