button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner, 
input[type="button"]::-moz-focus-inner, 
input[type="submit"]::-moz-focus-inner, 
input[type="file"] > input[type="button"]::-moz-focus-inner
{
	padding: 0;
	border: 0;
}

#loading
{
	z-index: 1000000000000000000;
}
#loading svg path, #loading svg rect { fill: var(--main_color); }
.image
{
	display: inline-block;
	border: 1px solid #d5d5d5;
	background: #f9f9f9;
	padding: 5px;
}
.image > a, .image > img { display: block; }

.middle { vertical-align: middle !important; }
.center { text-align: center !important; }
.left { text-align: left !important; }
.right { text-align: right !important; }
.hidden { display: none; }
.nowrap { white-space: nowrap !important; }
.hl { font-weight: 700; }
.w100 {width: 100% !important; }
.light { color: #999; font-weight: normal; }
.orange { color: #ff8a00; }

.protect-margin > p:first-child,
.protect-margin > h2:first-child,
.protect-margin > h3:first-child
{
	margin-top: 0;
	padding-top: 0;
}
.protect-margin > p:last-child
{
	margin-bottom: 0;
	padding-bottom: 0;
}
.protect-margin img
{
	max-width: 100%;
	height: auto;
}

.empty-notice:not(:empty) { margin-bottom: 20px; }