/*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: 769px) {
  .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;
  }
  .pc_flx-end{
    justify-content: flex-end;
  }
	.pc_flx-row-r{
		flex-flow: row-reverse;
	}
	.pc-mb-30{
		margin-bottom: 30px;
	}
  .pc-mb-100{
		margin-bottom: 100px;
	}
}
@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: 769px) {
  .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; }
.flt-c{ clear: both; }
@media (min-width: 769px) {
  .pc_flt-l { float: left; }
  .pc_flt-r { float: right; }
}
@media (max-width: 768px) {
  .sp_flt-l { float: left; }
  .sp_flt-r { float: right; }
}
