/* ==========================================================================
   About ページ
   旧 resources/styles/layouts/_about.sass
   ========================================================================== */

body.page-about {
  & main {
    & section.intro {
      @media only screen and (max-width: 767px) {
        --outer-margin: 26px;
      }
      & h2 {
        @media only screen and (max-width: 767px) {
          margin-bottom: 11px;
        }
      }
    }

    .kagikakko {
      --border-width: 3px;
      --kagi-width: 7px;
      display: block; /* NOTE: 直後の display: flex に上書きされる（旧 SASS のまま移植） */
      width: 100%;
      max-width: 647px;
      margin: 0 auto;
      font-family: 'Aoto Gothic Extra Bold', 'NotoSansJP-ExtraBold';
      font-size: 3.2rem;
      letter-spacing: 0;
      line-height: 1.625; /* calc(52 / 32) */
      border-left: var(--border-width) solid #000;
      border-right: var(--border-width) solid #000;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 13px 0;
      position: relative;
      @media only screen and (max-width: 767px) {
        font-size: 2rem;
        line-height: 1.6; /* calc(32 / 20) */
        padding: 17px 0;
        --border-width: 2px;
        --kagi-width: 6px;
      }
      & i {
        position: absolute;
        width: 100%;
        height: var(--border-width);
        &.top {
          top: 0;
        }
        &.bottom {
          bottom: 0;
        }
        &:before,
        &:after {
          position: absolute;
          content: '';
          width: var(--kagi-width);
          height: 100%;
          background-color: #000;
        }
        &:before {
          left: 0;
        }
        &:after {
          right: 0;
        }
      }
    }

    & article {
      margin-top: 73px;
      font-size: 1.8rem;
      letter-spacing: 0.025em;
      line-height: 2.1666666667; /* calc(39 / 18) */
      text-align: justify;
      @media only screen and (max-width: 767px) {
        margin-top: 36px;
        font-size: 1.4rem;
        line-height: 2;
        letter-spacing: 0.02em;
      }
    }

    & section.flow {
      margin-top: 50px;
      padding-top: 509px;
      padding-bottom: 110px;
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      @media only screen and (max-width: 767px) {
        margin-top: -30px;
        padding-top: 350px;
        padding-bottom: 95px;
      }

      .step + .step {
        margin-top: 113px;
        @media only screen and (max-width: 767px) {
          margin-top: 63px;
        }
      }

      .step {
        & h4 {
          /* 旧 @extend .wrap1400（%wrap ＋ max-width）をインライン展開 */
          --outer-margin: 76px;
          width: calc(100% - var(--outer-margin) * 2);
          margin: 0 auto;
          max-width: 1400px;
          @media only screen and (max-width: 767px) {
            --outer-margin: 16px;
          }
          & img {
            width: 100%;
            height: auto;
          }
        }
        & h5 {
          margin-top: 47px;
          margin-bottom: 33px;
          font-size: 3rem;
          line-height: 1.6333333333; /* calc(49 / 30) */
          letter-spacing: 0;
          text-align: center;
          @media only screen and (max-width: 767px) {
            font-size: 2rem;
            line-height: 1.6; /* calc(32 / 20) */
            margin-top: 22px;
            margin-bottom: 15px;
          }
        }
        .wrap554 {
          @media only screen and (max-width: 767px) {
            --outer-margin: 26px;
          }
        }
        & p {
          font-size: 1.8rem;
          line-height: 2.1666666667; /* calc(39 / 18) */
          letter-spacing: 0.025em;
          @media only screen and (max-width: 767px) {
            font-size: 1.4rem;
            line-height: 1.8571428571; /* calc(26 / 14) */
            letter-spacing: 0;
          }
        }
      }
    }
  }
}
