body.report {
  .content {
    padding-bottom: 80px;
    @media only screen and (max-width: 800px) {
      padding-bottom: 45px;
    }
    header {
      .teacher {
        width: 280px;
        position: relative;
        margin-left: auto;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: flex-start;
        @media only screen and (max-width: 800px) {
          width: 100%;
          margin-top: 15px;
          margin-bottom: 18px;
        }
        .text {
          width: 145px;
          margin-right: 15px;
          h3 {
            margin-top: 20px;
            font-size: 18px;
            letter-spacing: 0.01em;
            line-height: 1.7em;
            min-height: 1.7em; /* 空欄の場合があるので */
            color: var(--black);
            @media only screen and (max-width: 800px) {
              margin-top: 3px;
            }
          }
          h4 {
            margin-top: 7px;
            font-size: 14px;
            letter-spacing: 0.01em;
            line-height: 1.7em;
            min-height: 1.7em; /* 空欄の場合があるので */
          }
        }
        >img {
          width: 120px;
          height: auto;
          @media only screen and (max-width: 800px) {
            width: 85px;
          }
        }
      }
    }
  }
  .profile {
    margin-top: 60px;
    margin-left: 45px;
    margin-right: 45px;
    /* 旧 `@extend .clf`（clearfix）をインライン展開。:after はブロック末尾に置いてある */
    min-height: 1px;
    &:first-of-type {
      margin-top: 117px;
      @media only screen and (max-width: 800px) {
        margin-top: 65px;
      }
    }
    @media only screen and (max-width: 800px) {
      margin-left: 20px;
      margin-right: 20px;
    }
    h4 {
      width: calc(100% - 165px);
      float: left;
      @media only screen and (max-width: 800px) {
        width: calc(100% - 100px);
        min-height: 80px;
        margin-bottom: 0;
      }
    }
    p {
      width: calc(100% - 165px);
      float: left;
      @media only screen and (max-width: 800px) {
        clear: left;
        width: 100%;
        margin-top: 20px;
      }
    }
    /* `@extend .articlestyle` は common/article.css のセレクタリストに集約済み */
    .photo {
      float: right;
      margin-left: 20px;
      width: 120px;
      height: auto;
      @media only screen and (max-width: 800px) {
        width: 80px;
      }
    }
    &:after {
      content: ".";
      display: block;
      clear: both;
      height: 0;
      visibility: hidden;
      overflow: hidden;
      font-size: 0.1em;
      line-height: 0;
    }
  }
  section.report {
    @media only screen and (max-width: 800px) {
      margin-bottom: -15px;
    }
  }
}
