body.categories {
  position: relative;
}
body.categories .pagetitle {
  position: relative;
  padding: 11.25rem 1.25rem 5rem;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
@media (max-width: 768px) {
  body.categories .pagetitle {
    padding: 23.4375vw 2.6041666667vw 10.4166666667vw;
  }
}
body.categories .pagetitle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
body.categories .pagetitle h2 {
  position: relative;
  color: #fff;
  font-size: 3rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  body.categories .pagetitle h2 {
    font-size: 7.8125vw;
  }
}
body.categories .pagetitle p {
  position: relative;
  color: rgba(255, 255, 255, 0.5);
  font-size: 1.125rem;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  body.categories .pagetitle p {
    font-size: 2.34375vw;
  }
}
body.categories .section .contents p + p, body.categories .section .contents p + ul, body.categories .section .contents p + ol {
  margin-top: 1.25rem;
}
@media (max-width: 768px) {
  body.categories .section .contents p + p, body.categories .section .contents p + ul, body.categories .section .contents p + ol {
    margin-top: 3.90625vw;
  }
}
body.categories .section .contents ul.list {
  margin-left: 0.625rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 768px) {
  body.categories .section .contents ul.list {
    margin-left: 2.6041666667vw;
    font-size: 3.125vw;
  }
}
body.categories .section .contents ul.list + p, body.categories .section .contents ul.list + ul, body.categories .section .contents ul.list + ol {
  margin-top: 1.25rem;
}
@media (max-width: 768px) {
  body.categories .section .contents ul.list + p, body.categories .section .contents ul.list + ul, body.categories .section .contents ul.list + ol {
    margin-top: 3.90625vw;
  }
}
body.categories .section .contents ul.list.inline {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  body.categories .section .contents ul.list.inline {
    display: block;
  }
}
body.categories .section .contents ul.list.inline > li {
  margin-right: 1.25rem;
}
@media (max-width: 768px) {
  body.categories .section .contents ul.list.inline > li {
    margin-right: 0;
  }
}
body.categories .section .contents ul.list > li {
  position: relative;
  padding: 0.25em 1em;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
body.categories .section .contents ul.list > li::before {
  content: "";
  position: absolute;
  top: 0.625em;
  left: 0;
  display: block;
  width: 0.625em;
  height: 0.625em;
  border: solid 0.15em #d92121;
  border-radius: 50%;
}
body.categories .section .contents ol.list {
  margin-left: 4.125rem;
  list-style-type: decimal;
}
@media (max-width: 768px) {
  body.categories .section .contents ol.list {
    margin-left: 14.3229166667vw;
    font-size: 3.125vw;
  }
}
body.categories .section .contents ol.list + p, body.categories .section .contents ol.list + ul, body.categories .section .contents ol.list + ol {
  margin-top: 1.25rem;
}
@media (max-width: 768px) {
  body.categories .section .contents ol.list + p, body.categories .section .contents ol.list + ul, body.categories .section .contents ol.list + ol {
    margin-top: 3.90625vw;
  }
}
body.categories .section .contents ol.list.inline {
  display: flex;
  flex-wrap: wrap;
}
body.categories .section .contents ol.list.inline li {
  flex-grow: 1;
  flex-basis: 50%;
}
body.categories .section .contents ol.list > li {
  padding: 0.3125em 0;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
body.categories .section .contents .table, body.categories .section .contents .scrolltable table {
  border-collapse: separate;
  border-spacing: 0.625rem;
  width: 100%;
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  body.categories .section .contents .table, body.categories .section .contents .scrolltable table {
    border-spacing: 1.3020833333vw;
    margin-bottom: 7.8125vw;
    font-size: 3.6458333333vw;
  }
}
body.categories .section .contents .table thead tr th, body.categories .section .contents .scrolltable table thead tr th {
  padding: 0.625rem 0.9375rem;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.25;
  letter-spacing: 0.05em;
  background-color: #d92121;
}
@media (max-width: 768px) {
  body.categories .section .contents .table thead tr th, body.categories .section .contents .scrolltable table thead tr th {
    padding: 1.953125vw 2.6041666667vw;
  }
}
body.categories .section .contents .table thead tr td, body.categories .section .contents .scrolltable table thead tr td {
  padding: 0.625rem 0.9375rem;
  color: #ffffff;
  font-weight: 400;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.25;
  letter-spacing: 0.05em;
  background-color: #d92121;
}
@media (max-width: 768px) {
  body.categories .section .contents .table thead tr td, body.categories .section .contents .scrolltable table thead tr td {
    padding: 1.953125vw 2.6041666667vw;
  }
}
body.categories .section .contents .table tbody tr th, body.categories .section .contents .table tbody tr td, body.categories .section .contents .scrolltable table tbody tr th, body.categories .section .contents .scrolltable table tbody tr td {
  position: relative;
  padding: 0.9375rem 1.25rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body.categories .section .contents .table tbody tr th, body.categories .section .contents .table tbody tr td, body.categories .section .contents .scrolltable table tbody tr th, body.categories .section .contents .scrolltable table tbody tr td {
    padding: 1.953125vw 2.6041666667vw;
  }
}
body.categories .section .contents .table tbody tr th, body.categories .section .contents .scrolltable table tbody tr th {
  position: relative;
  width: 25%;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  background-color: rgba(0, 0, 0, 0.6);
}
body.categories .section .contents .table tbody tr td, body.categories .section .contents .scrolltable table tbody tr td {
  border-bottom: dotted 1px rgba(0, 0, 0, 0.2);
}
body.categories .section .contents .table tbody tr td ul.list, body.categories .section .contents .table tbody tr td ol.list, body.categories .section .contents .scrolltable table tbody tr td ul.list, body.categories .section .contents .scrolltable table tbody tr td ol.list {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  body.categories .section .contents .table tbody tr td ul.list, body.categories .section .contents .table tbody tr td ol.list, body.categories .section .contents .scrolltable table tbody tr td ul.list, body.categories .section .contents .scrolltable table tbody tr td ol.list {
    font-size: 100%;
  }
}
@media (max-width: 768px) {
  body.categories .section .contents .table thead {
    display: none;
  }
}
@media (max-width: 768px) {
  body.categories .section .contents .table tbody tr th, body.categories .section .contents .table tbody tr td {
    display: block;
    width: 100%;
  }
}
@media (max-width: 768px) {
  body.categories .section .contents .table tbody tr td {
    border-bottom: 0 none;
  }
}
body.categories .section .contents .scrolltable {
  overflow: auto;
}
body.categories .section .contents .scrolltable table {
  margin-bottom: 3.90625vw;
  white-space: nowrap;
}