/*reset---------------------------------------------------*/

html, body, div, object, iframe,
h1, h2, h3, h4, h5, h6, p,
img, b, i, em, a, span,
dl, dt, dd, ol, ul, li,
form, label, input, select, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, footer, header, nav, section,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	line-height: 1;
	letter-spacing: 0;
	font-weight: 400;
	text-align: left;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}
html { font-family: sans-serif; }
article, aside, footer, header, nav, section,
dl, dt, dd, ol, ul, li {
	list-style: none;
	display: block;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
th {
	vertical-align: middle;
	text-align: center;
}
td { vertical-align: top; }
img {
	width: 100%;
	height: auto;
	font-size: 0;
	line-height: 0;
	vertical-align: middle;
}
a, span, b, em, i, label {
	color: inherit;
	line-height: inherit;
	font-weight: inherit;
	font-family: inherit;
	letter-spacing: inherit;
	text-decoration: inherit;
	text-align: inherit;
	vertical-align: inherit;
}
input, select { vertical-align: middle; }
*, *::before, *::after { box-sizing: border-box; }
a, .btn { cursor: pointer; }

/*global---------------------------------------------------*/

/*フレックスは追加予定*/
/*display*/
.no { display: none; }
.bl { display: block; }
.ibl { display: inline-block; }
.flx, .flx-w, .flx-b, .flx-wb, .flx-cc { display: flex; }
.flx-w, .flx-wb { flex-wrap: wrap; }
.flx-b, .flx-wb { justify-content: space-between; }
.flx-cc {
	justify-content: center;
	align-items: center;
}
@media (min-width: 768.001px) {
	.pc_no { display: none; }
	.pc_bl { display: block; }
	.pc_ibl { display: inline-block; }
	.pc_flx, .pc_flx-w, .pc_flx-b, .pc_flx-wb, .pc_flx-cc { display: flex; }
	.pc_flx-w, .pc_flx-wb { flex-wrap: wrap; }
	.pc_flx-b, .pc_flx-wb { justify-content: space-between; }
	.pc_flx-cc {
		justify-content: center;
		align-items: center;
	}
}
@media (max-width: 768px) {
	.sp_no { display: none; }
	.sp_bl { display: block; }
	.sp_ibl { display: inline-block; }
	.sp_flx, .sp_flx-w, .sp_flx-b, .sp_flx-wb, .sp_flx-cc { display: flex; }
	.sp_flx-w, .sp_flx-wb { flex-wrap: wrap; }
	.sp_flx-b, .sp_flx-wb { justify-content: space-between; }
	.sp_flx-cc {
		justify-content: center;
		align-items: center;
	}
}

/*position*/
.stt { position: static; }
.stc {
	position: sticky;
	top: 0;
}
.fx { position: fixed; }
.ab { position: absolute; }
.rl { position: relative; }
@media (min-width: 768.001px) {
	.pc_stt { position: static; }
	.pc_stc {
		position: sticky;
		top: 0;
	}
	.pc_fx { position: fixed; }
	.pc_ab { position: absolute; }
	.pc_rl { position: relative; }
}
@media (max-width: 768px) {
	.sp_stt { position: static; }
	.sp_stc {
		position: sticky;
		top: 0;
	}
	.sp_fx { position: fixed; }
	.sp_ab { position: absolute; }
	.sp_rl { position: relative; }
}

/*float*/
.clearfix::after {
	content: "";
	height: 0;
	display: block;
	clear: both;
}
.flt-l { float: left; }
.flt-r { float: right; }
@media (min-width: 768.001px) {
	.pc_flt-l { float: left; }
	.pc_flt-r { float: right; }
}
@media (max-width: 768px) {
	.sp_flt-l { float: left; }
	.sp_flt-r { float: right; }
}











