body.about {
  /* $breakpoint: 1595px — このページ特有のブレークポイント */
  main {
    section.mv {
      .slide1 {
        background-image: url('../../../image/about/mv/1@2x.jpg');
        @media only screen and (max-width: 767px) {
          background-image: url('../../../image/about/mv/1-sp@2x.jpg');
        }
      }
    }
    section.units {
      /* ※ 例外的なレイアウト */
      .unit + .unit {
        margin-top: 120px;
        @media only screen and (max-width: 767px) {
          margin-top: 60px;
        }
      }
      .unit {
        display: flex;
        justify-content: space-between;
        --margin-start: 113px;
        --margin-end: 68px;
        @media only screen and (max-width: 767px) {
          flex-direction: column !important;
          --margin-start: 0;
          --margin-end: 0;
        }
        &:nth-of-type(2n - 1) {
          .text {
            margin-right: var(--gap);
            padding-left: var(--margin-start);
            padding-right: var(--margin-end);
            @media only screen and (max-width: 767px) {
              margin-right: 0;
            }
          }
        }
        &:nth-of-type(2n) {
          flex-direction: row-reverse;
          .text {
            margin-left: var(--gap);
            padding-left: var(--margin-end);
            padding-right: var(--margin-start);
            @media only screen and (max-width: 767px) {
              margin-left: 0;
            }
          }
          .photo {
            @media only screen and (max-width: 767px) {
              margin-left: calc(var(--outer-margin) * -1);
            }
          }
        }
        .text {
          display: flex;
          flex-direction: column;
          width: calc((100% - var(--gap)) / 2);
          @media only screen and (max-width: 767px) {
            font-size: 1.3rem;
            margin: 0;
            width: 100%;
          }
          a {
            transition: border-color 0.4s;
            display: inline-block;
            border-bottom: 1px solid var(--black15);
            line-height: 1.9em;
            &:hover {
              border-color: var(--black50);
            }
          }
        }
        .photo {
          width: calc((100% - var(--gap)) / 2);
          @media only screen and (max-width: 767px) {
            width: calc(100% + var(--outer-margin));
          }
        }
        h3 {
          font-size: 2.4rem;
          letter-spacing: 0.025em;
          line-height: calc(45 / 24);
          margin-top: auto;
          @media only screen and (max-width: 767px) {
            font-size: 1.8rem;
            line-height: calc(40 / 21);
          }
        }
        p {
          margin-top: 28px;
          margin-bottom: auto;
          @media only screen and (max-width: 767px) {
            margin-top: 23px;
            margin-bottom: 24px;
            line-height: calc(28 / 13);
          }
        }
      }
      @media only screen and (max-width: 1595px) and (min-width: 767px) {
        margin: 0;
        max-width: initial;
        width: 100%;
        .unit {
          --margin-start: 96px;
          --margin-end: 46px;
        }
      }
    }
    section.message {
      padding-bottom: 40px;
      @media only screen and (max-width: 767px) {
        padding-bottom: 18px;
      }
      h2 {
        font-size: 1.4rem;
        text-align: center;
        padding: 137px 0 22px;
        @media only screen and (max-width: 767px) {
          font-size: 1.2rem;
          padding: 65px 0 22px;
        }
      }
      .card {
        padding: 80px 96px;
        background-color: #DFDCD4;
        @media only screen and (max-width: 767px) {
          padding: 24px;
        }
        .cols {
          display: flex;
          @media only screen and (max-width: 767px) {
            display: block;
          }
          .col {
            width: 50%;
            @media only screen and (max-width: 1595px) {
              /* 元 Sass のバグ（閉じ括弧不足）を node-sass は閉じ括弧補完して出力するため、それに合わせる */
              width: calc((100% - var(--gap) / 2));
            }
            @media only screen and (max-width: 767px) {
              width: 100%;
            }
            &:nth-of-type(2n) {
              @media only screen and (max-width: 1595px) {
                margin-left: var(--gap);
              }
              @media only screen and (max-width: 767px) {
                margin-left: 0;
              }
            }
          }
        }
        h3 {
          position: relative;
          top: -9px;
          color: #000000;
          font-size: 3rem;
          line-height: calc(70 / 30);
          letter-spacing: 0.04em;
          background: linear-gradient(transparent calc(100% - 2px), #1A1A1A 100%);
          display: inline;
          padding: 0 0 0.9rem;
          @media only screen and (max-width: 767px) {
            top: 0;
            font-size: 2.6rem;
            line-height: calc(57 / 26);
          }
        }
        p {
          font-size: 1.5rem;
          line-height: calc(40 / 15);
          @media only screen and (max-width: 767px) {
            margin-top: 37px;
            font-size: 1.3rem;
            line-height: calc(28 / 13);
          }
        }
      }
    }
  }
}
