.block_wrap {
  display: flex;
  flex-direction: column;
  grid-gap: var(--space4); }
  .block_wrap .block {
    margin-bottom: 0;
    box-sizing: border-box;
    --numBoxWidth:80px;
    --gapWidth:var(--space1);
    box-sizing: border-box;
    padding-left: calc( var(--numBoxWidth) + var(--gapWidth) ); }
    .block_wrap .block .head {
      position: relative;
      margin-bottom: var(--space1); }
      .block_wrap .block .head .num {
        width: var(--numBoxWidth);
        font-size: 4rem;
        position: absolute;
        color: var(--secondaryColor);
        line-height: normal;
        top: calc( -1 * var(--space1) );
        right: calc( 100% + var(--gapWidth) );
        display: flex;
        align-items: flex-start;
        font-family: "Montserrat", "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 200;
        font-style: normal; }
    .block_wrap .block .body .text {
      font-size: var(--fontSize_s); }
  @media (max-width: 767px) {
    .block_wrap .photo_wrap .photo {
      width: calc( 100% + var(--cont_margin) * 2 );
      position: relative;
      left: calc( -1 * var(--cont_margin) );
      max-width: none; } }
  @media (min-width: 768px) {
    .block_wrap {
      --gapWidth:var(--space4);
      --photoWidth:50%;
      flex-direction: row;
      grid-gap: var(--gapWidth); }
      .block_wrap .photo_wrap .photo {
        width: calc( 100% + var(--cont_margin) );
        max-width: none; }
      .block_wrap.reverse {
        flex-direction: row-reverse; }
      .block_wrap:not(.reverse) .photo_wrap .photo {
        position: relative;
        left: calc( -1 * var(--cont_margin) ); }
      .block_wrap .block_wrap_inner:first-child {
        width: var(--photoWidth); }
      .block_wrap .block_wrap_inner:last-child {
        width: calc( 100% - ( var(--photoWidth) + var(--gapWidth) ) ); }
      .block_wrap .block {
        --numBoxWidth:140px;
        --gapWidth:var(--space2); }
        .block_wrap .block .head {
          margin-bottom: var(--space3); }
          .block_wrap .block .head h2 {
            line-height: 1.5; }
          .block_wrap .block .head .num {
            top: -1.5rem;
            font-size: 7rem; }
        .block_wrap .block .body .text {
          font-size: var(--fontSize_n); } }
  .block_wrap + .block_wrap {
    margin-top: var(--space5); }

.block_to_supporter_search {
  margin-top: 200px; }

#about {
  margin-bottom: 120px; }
  #about .head {
    margin-bottom: var(--space4); }
    #about .head .tagline {
      line-height: 2; }
  #about .body {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto; }
    #about .body .text {
      line-height: 2.5; }
  @media (min-width: 768px) {
    #about .head .tagline {
      line-height: 1.5; } }
