@media print, screen and (min-width: 751px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
}

.topics article .intro .date, .topics h1.ttl {
  font-family: "Staatliches", sans-serif;
}

.topics h1.ttl {
  color: #ffffff;
  text-align: center;
}
@media print, screen and (min-width: 751px) {
  .topics h1.ttl {
    padding: 222px 0 65px;
    font-size: 94.5px;
  }
}
@media screen and (max-width: 750px) {
  .topics h1.ttl {
    padding: 43.4666666667vw 0 8.5333333333vw;
    font-size: 12.6vw;
    line-height: 0.95;
  }
}
.topics h1.ttl em {
  display: inline-block;
  position: relative;
}
.topics h1.ttl .line {
  display: inline-block;
  background-color: #e81c31;
  position: absolute;
  -webkit-transform: scaleX(0) translateX(-50vw);
          transform: scaleX(0) translateX(-50vw);
  -webkit-transform-origin: left;
          transform-origin: left;
}
@media print, screen and (min-width: 751px) {
  .topics h1.ttl .line {
    width: 39.9px;
    height: 14.7px;
    top: 259.5px;
  }
}
@media screen and (max-width: 750px) {
  .topics h1.ttl .line {
    width: 5.32vw;
    height: 2vw;
  }
}
.topics h1.ttl .line.line1 {
  background-color: #b01e2d;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}
@media print, screen and (min-width: 751px) {
  .topics h1.ttl .line.line1 {
    width: 63px;
    left: calc(50% - 245px);
  }
}
@media screen and (max-width: 750px) {
  .topics h1.ttl .line.line1 {
    width: 8.4vw;
    top: 48.1333333333vw;
    left: 33.3333333333vw;
  }
}
.topics h1.ttl .line.line2 {
  -webkit-transition-duration: 0.45s;
          transition-duration: 0.45s;
  -webkit-transition-delay: 1.15s;
          transition-delay: 1.15s;
}
@media print, screen and (min-width: 751px) {
  .topics h1.ttl .line.line2 {
    width: 32px;
    left: calc(50% - 121px);
  }
}
@media screen and (max-width: 750px) {
  .topics h1.ttl .line.line2 {
    width: 4.3333333333vw;
    top: 48.1333333333vw;
    left: 49.8666666667vw;
  }
}
.topics h1.ttl .line.line3 {
  background-color: #e81c31;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
@media print, screen and (min-width: 751px) {
  .topics h1.ttl .line.line3 {
    width: 34px;
    height: 2px;
    top: 266px;
    left: calc(50% + 143px);
  }
}
@media screen and (max-width: 750px) {
  .topics h1.ttl .line.line3 {
    width: 4.5333333333vw;
    height: 0.5333333333vw;
    top: 60.6666666667vw;
    left: 38.4vw;
  }
}
.topics h1.ttl .line.line4 {
  background-color: #e81c31;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  -webkit-transition-delay: 1.25s;
          transition-delay: 1.25s;
  z-index: -1;
}
@media print, screen and (min-width: 751px) {
  .topics h1.ttl .line.line4 {
    width: 160px;
    height: 2px;
    top: 266px;
    left: calc(50% + 170px);
  }
}
@media screen and (max-width: 750px) {
  .topics h1.ttl .line.line4 {
    width: 19.0666666667vw;
    height: 0.5333333333vw;
    top: 60.6666666667vw;
    left: 42.1333333333vw;
  }
}
.topics h1.ttl .line.visible {
  opacity: 1;
  -webkit-transform: scaleX(1) translateX(0);
          transform: scaleX(1) translateX(0);
  -webkit-transition-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
          transition-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
}
@media print, screen and (min-width: 751px) {
  .topics article h1,
  .topics article h2,
  .topics article h3,
  .topics article h4,
  .topics article h5,
  .topics article h6,
  .topics article p,
  .topics article ul,
  .topics article ol,
  .topics article dl,
  .topics article .collabo {
    margin: 0 auto;
    width: calc(100% - 80px);
    max-width: 940px;
  }
}
@media screen and (max-width: 750px) {
  .topics article h1,
  .topics article h2,
  .topics article h3,
  .topics article h4,
  .topics article h5,
  .topics article h6,
  .topics article p,
  .topics article ul,
  .topics article ol,
  .topics article dl,
  .topics article .collabo {
    margin: 0 8vw;
  }
}
.topics article figure {
  margin: 0 auto;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
@media print, screen and (min-width: 751px) {
  .topics article figure {
    width: calc(100% - 80px);
    max-width: 940px;
  }
}
@media screen and (max-width: 750px) {
  .topics article figure {
    padding: 0 8vw;
  }
}
.topics article figure + figure {
  margin-top: 100px;
}
@media screen and (max-width: 750px) {
  .topics article figure + figure {
    margin-top: 13.3333333333vw;
  }
}
.topics article .intro .eyecatch {
  margin: 0 auto;
  width: 100%;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro .eyecatch {
    aspect-ratio: 16/9;
    max-width: 1100px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro .eyecatch {
    aspect-ratio: 750/430;
    padding: 0;
    width: 100%;
    border-radius: 0.8vw;
    overflow: hidden;
  }
}
.topics article .intro .eyecatch img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.topics article .intro .date {
  color: #b2b2b2;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro .date {
    margin-top: 50px;
    font-size: 24px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro .date {
    margin-top: 10.1333333333vw;
    font-size: 5.6vw;
    line-height: 1;
  }
}
.topics article .intro p.name {
  line-height: 1;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro p.name {
    margin-top: 20px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro p.name {
    margin-top: 4vw;
  }
}
.topics article .intro p.name .name {
  display: inline-block;
  letter-spacing: 0.15em;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro p.name .name {
    margin-top: 18px;
    padding: 0 36px 0 0;
    font-size: 36px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro p.name .name {
    margin-top: 2.9333333333vw;
    font-size: 7.2vw;
  }
}
.topics article .intro p.name .post,
.topics article .intro p.name .belong {
  display: block;
  letter-spacing: 0;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro p.name .post,
  .topics article .intro p.name .belong {
    font-size: 21px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro p.name .post,
  .topics article .intro p.name .belong {
    font-size: 4vw;
  }
}
.topics article .intro p.name small {
  letter-spacing: -0.03em;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro p.name small {
    font-size: 21px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro p.name small {
    margin-left: 0.35em;
    font-size: 4vw;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro p.name br + small {
    display: block;
    margin-top: 1em;
    margin-left: 0;
  }
}
.topics article .intro h1 {
  letter-spacing: 0.055em;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro h1 {
    margin-top: 60px;
    font-size: 42px;
    line-height: 72px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro h1 {
    margin-top: 13.3333333333vw;
    font-size: 7.2vw;
    line-height: 12vw;
  }
}
.topics article .intro h1 + p {
  letter-spacing: 0.066em;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro h1 + p {
    margin-top: 44px;
    line-height: 2.667;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro h1 + p {
    margin-top: 9.7333333333vw;
    line-height: 2.77;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article .intro .collabo {
    width: 940px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro .collabo {
    margin-top: 2em;
  }
}
.topics article .intro .collabo p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  width: auto;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .topics article .intro .collabo p {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.topics article .intro .collabo p .name {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.15em;
  white-space: nowrap;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro .collabo p .name {
    font-size: 26px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro .collabo p .name {
    font-size: 5.6vw;
  }
}
.topics article .intro .collabo p .name small {
  font-size: 60%;
}
.topics article .intro .collabo p .cross {
  font-size: 250%;
  font-weight: 300;
}
@media print, screen and (min-width: 751px) {
  .topics article .intro .collabo p .cross {
    margin: 0 0.5em;
  }
}
@media screen and (max-width: 750px) {
  .topics article .intro .collabo p .cross {
    margin: 0.25em;
  }
}
.topics article section:not(.intro) {
  position: relative;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) {
    margin-top: 95px;
    padding-top: 110px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) {
    margin-top: 17.3333333333vw;
  }
}
.topics article section:not(.intro)::before {
  content: "";
  height: 1px;
  background-color: #b01e2d;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro)::before {
    width: 260px;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) h2 {
    font-size: 36px;
    letter-spacing: 0.055em;
    line-height: 1.333;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) h2 {
    font-size: 6.4vw;
    letter-spacing: 0.075em;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) h2 + p {
    margin-top: 50px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) h2 + p {
    margin-top: 7.6vw;
  }
}
.topics article section:not(.intro) h3.subheading {
  line-height: 1.5;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) h3.subheading {
    font-size: 27px;
    letter-spacing: 0.055em;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) h3.subheading {
    font-size: 5.6vw;
    letter-spacing: 0.075em;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) h3.subheading + p, .topics article section:not(.intro) h3.subheading + dl {
    margin-top: 50px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) h3.subheading + p, .topics article section:not(.intro) h3.subheading + dl {
    margin-top: 7.6vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) h3 {
    margin-top: 50px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) h3 {
    margin-top: 7.6vw;
  }
}
.topics article section:not(.intro) .profile h3 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: 2;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) .profile h3 + p {
    margin-top: 18px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) .profile h3 + p {
    margin-top: 1.0666666667vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) p,
  .topics article section:not(.intro) dl {
    letter-spacing: 0.066em;
    line-height: 2.667;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) p,
  .topics article section:not(.intro) dl {
    letter-spacing: 0.05em;
    line-height: 2.77;
  }
}
.topics article section:not(.intro) p + p,
.topics article section:not(.intro) dl + p {
  margin-top: 1em;
}
.topics article section:not(.intro) p.q,
.topics article section:not(.intro) dl.q {
  font-weight: 500;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) p.q,
  .topics article section:not(.intro) dl.q {
    margin-top: 50px;
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) p.q,
  .topics article section:not(.intro) dl.q {
    margin-top: 7.6vw;
    margin-bottom: 1.0666666667vw;
    line-height: 1.85;
  }
}
.topics article section:not(.intro) p.q span,
.topics article section:not(.intro) dl.q span {
  display: inline-block;
  margin: -0.35em 0;
  padding-bottom: 2px;
  color: #b2b2b2;
  position: relative;
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) p.q span,
  .topics article section:not(.intro) dl.q span {
    padding: 0.3em 0 0.45em;
  }
}
.topics article section:not(.intro) p.q span::before,
.topics article section:not(.intro) dl.q span::before {
  content: "";
  width: 100%;
  height: calc(100% - 1.4em);
  background-color: #080808;
  position: absolute;
  top: 0.7em;
  left: 0;
  z-index: -1;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) p + .q,
  .topics article section:not(.intro) dl + .q {
    margin-top: 90px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) p + .q,
  .topics article section:not(.intro) dl + .q {
    margin-top: 6.6666666667vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) p + h2,
  .topics article section:not(.intro) dl + h2 {
    margin-top: 95px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) p + h2,
  .topics article section:not(.intro) dl + h2 {
    margin-top: 17.3333333333vw;
  }
}
.topics article section:not(.intro) dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.topics article section:not(.intro) dl dt {
  margin-right: 1em;
  min-width: 2em;
  white-space: nowrap;
  color: #b2b2b2;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.topics article section:not(.intro) dl dt.first {
  min-width: 7em;
}
.topics article section:not(.intro) dl dt.first span {
  display: block;
  -webkit-transform: translateY(-1em);
          transform: translateY(-1em);
}
.topics article section:not(.intro) dl + dl {
  margin-top: 1em;
}
.topics article section:not(.intro) dl.is-4em dt {
  min-width: 4.5em;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) figure {
    margin-top: 64px;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) figure {
    margin-top: 12.6666666667vw;
    padding-bottom: 1.3333333333vw;
  }
  .topics article section:not(.intro) figure + .q {
    margin-top: 12.6666666667vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) figure + p, .topics article section:not(.intro) figure + dl {
    margin-top: 50px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) figure + p, .topics article section:not(.intro) figure + dl {
    margin-top: 7.6vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) figure + .subheading {
    margin-top: 100px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) figure + .subheading {
    margin-top: 13.3333333333vw;
  }
}
.topics article section:not(.intro) figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) figure img {
    aspect-ratio: 16/9;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) figure img {
    aspect-ratio: 628/430;
    border-radius: 0.8vw;
  }
}
.topics article section:not(.intro) figure figcaption {
  letter-spacing: 0.055em;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) figure figcaption {
    margin-top: 34px;
    color: #b2b2b2;
    font-size: 14px;
    line-height: 24px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) figure figcaption {
    margin-top: 3.4666666667vw;
    font-size: 2.8vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) figure figcaption.nocaption {
    margin-top: 10px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) figure figcaption.nocaption {
    margin-top: -0.2666666667vw;
  }
}
.topics article section:not(.intro) figure.vertical {
  aspect-ratio: auto;
  height: auto;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) figure.vertical {
    width: 480px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) figure.vertical {
    width: 70.5vw;
  }
}
.topics article section:not(.intro) figure.vertical img {
  aspect-ratio: auto;
  width: 100%;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) figure.vertical img {
    height: auto;
  }
}
.topics article section:not(.intro) picture.parallel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) picture.parallel {
    margin-top: 50px;
    margin-bottom: 100px;
    gap: 20px;
    width: calc(100% - 80px);
    max-width: 940px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) picture.parallel {
    margin-top: 7.6vw;
    margin-bottom: 13.3333333333vw;
    gap: 2.6666666667vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) picture.parallel img {
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) picture.parallel img {
    width: calc((100% - 2.6666666667vw) / 2);
  }
}
.topics article section:not(.intro) .movie {
  aspect-ratio: 16/9;
  margin: 0 auto;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) .movie {
    margin-top: 120px;
    width: 100%;
    max-width: 1100px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) .movie {
    margin-top: 12.6666666667vw;
  }
}
.topics article section:not(.intro) .movie iframe {
  width: 100%;
  height: 100%;
}
.topics article section:not(.intro) + section {
  position: relative;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) + section {
    margin-top: 105px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) + section {
    margin-top: 28vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) + section::before {
    width: 100px;
    -webkit-transform: translateX(-470px);
            transform: translateX(-470px);
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) ul, .topics article section:not(.intro) ol {
    margin: 1.5em auto;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) ul, .topics article section:not(.intro) ol {
    margin: 1.5em 8vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) ul li, .topics article section:not(.intro) ol li {
    letter-spacing: 0.066em;
    line-height: 2.667;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) ul li, .topics article section:not(.intro) ol li {
    letter-spacing: 0.05em;
    line-height: 2.77;
  }
}
.topics article section:not(.intro) ul.type_disc {
  list-style: disc;
  padding-left: 1.5em;
}
.topics article section:not(.intro) ul.type_disc li {
  padding-left: 0.75em;
}
.topics article section:not(.intro) ol {
  list-style: decimal;
  padding-left: 1.5em;
}
.topics article section:not(.intro) ol li {
  padding-left: 0.75em;
}
.topics article section:not(.intro) .notes {
  margin-top: 3em;
  color: #b2b2b2;
  font-weight: 100;
}
@media print, screen and (min-width: 751px) {
  .topics article section:not(.intro) .notes {
    font-size: 14px;
    line-height: 24px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section:not(.intro) .notes {
    font-size: 86%;
    line-height: 1.5;
  }
}
.topics article section:not(.intro) .notes.indent1 {
  text-indent: -1em;
  padding-left: 1em;
}
.topics article section:not(.intro) .notes.indent2 {
  text-indent: -2.75em;
  padding-left: 2.75em;
}
.topics article section:not(.intro) .notes + .notes {
  margin-top: 1.5em;
}
@media print, screen and (min-width: 751px) {
  .topics article section.part-section {
    margin-top: 200px !important;
  }
}
@media screen and (max-width: 750px) {
  .topics article section.part-section {
    margin-top: 26.6666666667vw !important;
  }
}
.topics article section.part-section::before {
  content: "";
  height: 5px;
  background-color: #b01e2d;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) !important;
          transform: translateX(-50%) !important;
}
@media print, screen and (min-width: 751px) {
  .topics article section.part-section::before {
    width: 260px !important;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section.part-section h2 {
    font-size: 32px;
    letter-spacing: 0.055em;
    line-height: 1.333;
  }
}
@media screen and (max-width: 750px) {
  .topics article section.part-section h2 {
    font-size: 6.4vw;
    letter-spacing: 0.075em;
    line-height: 1.5;
  }
}
.topics article section.part-section h2 b {
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0.5em 1em;
  background-color: #fff;
  color: #000;
}
@media print, screen and (min-width: 751px) {
  .topics article section.part-section h2 b {
    font-size: 27px;
    letter-spacing: 0.055em;
    line-height: 1.333;
  }
}
@media screen and (max-width: 750px) {
  .topics article section.part-section h2 b {
    font-size: 5.6vw;
    letter-spacing: 0.075em;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section.part-section h2 + p {
    margin-top: 50px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section.part-section h2 + p {
    margin-top: 7.6vw;
  }
}
@media print, screen and (min-width: 751px) {
  .topics article section.part-section p + h3,
  .topics article section.part-section dl + h3 {
    margin-top: 100px;
  }
}
@media screen and (max-width: 750px) {
  .topics article section.part-section p + h3,
  .topics article section.part-section dl + h3 {
    margin-top: 13.3333333333vw;
  }
}
.topics article .profile {
  margin: 0 auto;
  border: solid #1a1a1a;
}
@media print, screen and (min-width: 751px) {
  .topics article .profile {
    margin-top: 104px;
    padding: 24px 35px;
    width: calc(100% - 80px);
    max-width: 940px;
    border-width: 6px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .profile {
    margin-top: 13.3333333333vw;
    padding: 9.3333333333vw 3.2vw 8vw;
    width: 84vw;
    border-width: 0.8vw;
  }
}
.topics article .profile h3 {
  margin: 0;
  padding: 0;
  line-height: 2;
}
.topics article .profile p {
  margin: 0;
  padding: 0;
  width: 100%;
}
@media print, screen and (min-width: 751px) {
  .topics article .profile p {
    margin-top: 18px;
    font-size: 14px;
    line-height: 36px;
  }
}
@media screen and (max-width: 750px) {
  .topics article .profile p {
    margin-top: 1.0666666667vw;
    line-height: 2.3;
  }
}
.topics article .profile p + h3 {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: 2px solid #1a1a1a;
}
.topics main {
  position: relative;
  z-index: 1;
}
.topics main h1,
.topics main article,
.topics main .others {
  position: relative;
  z-index: 2;
}
.topics main::before {
  content: "";
  width: 100%;
  background-color: #0d0d0d;
  position: absolute;
  left: 0;
  z-index: -1;
  -webkit-transform: skewY(-21.35deg);
          transform: skewY(-21.35deg);
}
@media print, screen and (min-width: 751px) {
  .topics main::before {
    height: calc(100% - 3784px);
    top: 1344px;
  }
}
@media screen and (max-width: 750px) {
  .topics main::before {
    height: 43.5%;
    top: 177.3333333333vw;
  }
}
.topics main .bg_base01 {
  background-color: #981623;
  position: absolute;
  right: 0;
  z-index: 1;
  -webkit-transform: translateY(20%) skewY(-21.35deg);
          transform: translateY(20%) skewY(-21.35deg);
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
}
@media print, screen and (min-width: 751px) {
  .topics main .bg_base01 {
    width: calc(50vw - 320px);
    height: 1670px;
    top: 460px;
  }
}
@media screen and (max-width: 750px) {
  .topics main .bg_base01 {
    width: 28.6666666667vw;
    height: 282.2666666667vw;
    top: 134.6666666667vw;
  }
}
.topics main .bg_base01.visible {
  -webkit-transform: translateY(0) skewY(-21.35deg);
          transform: translateY(0) skewY(-21.35deg);
}
.topics main .bg_base02 {
  background-color: #981623;
  position: absolute;
  left: 0;
  z-index: 1;
  -webkit-transform: translateY(20%) skewY(-21.35deg);
          transform: translateY(20%) skewY(-21.35deg);
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
}
@media print, screen and (min-width: 751px) {
  .topics main .bg_base02 {
    width: calc(50vw - 360px);
    height: 2121px;
    bottom: 1192px;
  }
}
@media screen and (max-width: 750px) {
  .topics main .bg_base02 {
    width: 22.6666666667vw;
    height: 222.6666666667vw;
    top: 44.5%;
  }
}
.topics main .bg_base02.visible {
  -webkit-transform: translateY(0) skewY(-21.35deg);
          transform: translateY(0) skewY(-21.35deg);
}