@media print, screen and (min-width: 768px) {
  .l-col-2 {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}
@media print, screen and (min-width: 768px) {
  .l-col-2 > .l-main {
    flex: 1 0 auto;
    width: calc(876 / 1120 * 100%);
    max-width: 876px;
  }
}
.l-col-2 > .l-side {
  margin-bottom: 2.8125rem;
  padding-top: 1.875rem;
}
@media print, screen and (min-width: 768px) {
  .l-col-2 > .l-side {
    width: calc(220 / 1120 * 100%);
    max-width: 220px;
    margin-right: 1.5rem;
  }
}

.module {
  margin-bottom: 5rem;
  padding-bottom: 5rem;
  border-bottom: 1px dashed #cccccc;
}
.module-description {
  margin-bottom: 0.625rem;
  border: 1px solid #cccccc;
  border-radius: 4px;
}
.module-description__title {
  color: #ffffff;
  background-color: #01916d;
}
.module-description__name {
  font-weight: normal;
  padding-top: 0.4375rem;
  padding-right: 0.625rem;
  padding-bottom: 0.4375rem;
  padding-left: 0.625rem;
}
.module-description__desc {
  max-height: 250px;
  overflow-y: auto;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.module-view {
  margin-bottom: 0.9375rem;
  padding-top: 0.625rem;
}
.module--header .module-view {
  position: relative;
}

.module-code {
  color: #00cc00;
  width: 100%;
  height: 12.5rem;
  max-width: 876px;
  overflow: auto;
  background-image: linear-gradient(to bottom, #191919 50%, #000000 50%);
  background-size: 100% 2rem;
  padding-top: 0.75rem;
  padding-right: 0.625rem;
  padding-bottom: 0.75rem;
  padding-left: 0.625rem;
}
@media print {
  .module-code {
    display: none;
  }
}
.module-code > pre > code {
  font-size: 0.875rem;
  line-height: 1.5;
}
.module--header .module-code {
  margin-top: 4.375rem;
}
@media print, screen and (min-width: 768px) {
  .module--header .module-code {
    margin-top: 8.125rem;
  }
}

.module--width-wide .module-description, .module--width-wide .module-code {
  max-width: calc(1184px - 4rem);
  margin-right: auto;
  margin-left: auto;
}
.module--width-wide .module-description__title, .module--width-wide .module-description__desc {
  width: 100%;
}

@media print {
  .module-side {
    display: none;
  }
}
.module-side__title {
  position: relative;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
}
.module-side__title::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 3rem;
  height: 0.25rem;
  background-color: #01916d;
}
.module-side__genre {
  font-size: 1.25rem;
}
.module-side__nav-list__item:not(:last-child) {
  margin-bottom: 0.625rem;
}
.module-side__nav-list__item.current {
  padding-left: 0.75rem;
  position: relative;
}
.module-side__nav-list__item.current::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 1px);
  width: 0.5rem;
  height: 0.125rem;
  background-color: #01916d;
}
.module-side__nav-list__link {
  text-decoration: none;
}
