main.re2025 {
  .link_group,
  .link_anchor_thumb {
    gap: 4px 16px;
    flex-direction: row;
    flex-wrap: wrap;
    > * {
      flex: 0 0 calc((100% - 16px * 1) / 2);
      a {
        .thumb {
          margin: 5px 0;
          width: 32px;
          height: 32px;
        }
      }
    }
  }
  .sect_constructions_search {
    form {
      display: flex;
      gap: 8px;
      input {
        border-radius: 4px;
        border: 1px solid #d9d9d9;
        padding: 16px 24px 16px 16px;
        background: #fff;
        font-size: 18px;
        flex-shrink: 1;
        min-width: 0;
      }
      button {
        flex-shrink: 0;
      }
    }
    h3 {
      margin-top: 48px;
      margin-bottom: 32px;
    }
    .box {
      margin-top: 32px;
      border-radius: 4px;
      background: #f5f5f5;
      padding: 16px;
      h4 {
        text-align: center;
        margin-bottom: 12px;
      }
      ul {
        display: flex;
        gap: 8px 16px;
        flex-wrap: wrap;
      }
    }
  }
  .sect_constructions_detail {
    .constructions_img {
      margin-bottom: 16px;
      display: flex;
      border-radius: 4px;
      overflow: hidden;
      position: relative;
      gap: 8px;
      container-type: inline-size;
      &::after {
        content: '';
        display: block;
        position: absolute;
        width: 32px;
        height: 32px;
        background: url(../img/office/arrow.svg) 0 0 no-repeat;
        background-size: contain;
        top: calc(50% - 16px);
        left: calc(50% - 16px);
      }
      & > * {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        border-radius: 4px;
        position: relative;
        overflow: hidden;
        aspect-ratio: 1/1;
        flex: 1 1 0;
        img {
          /*  */
          flex: 1;
          object-fit: contain;
        }
        .label {
          padding: 2px 16px;
          font-size: 16px;
          font-weight: 700;
          border-radius: 0 0 4px 4px;
          position: absolute;
          top: 0;
          left: 50%;
          -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
        }
      }
      .img_before .label {
        color: #0068b7;
        background-color: rgba(245, 245, 245, 0.9);
      }
      .img_after .label {
        color: #fff;
        background-color: rgba(0, 104, 183, 0.9);
      }
      &.is_single {
        &::after {
          display: none;
        }
        & > * {
          max-height: calc((100cqw - 8px) / 2);
        }
      }
    }
    .constructions_person {
      display: flex;
      gap: 20px;
      figure {
        width: 60px;
        height: 60px;
      }
      .constructions_meta {
        display: flex;
        align-items: center;
      }
    }
    .box_summary {
      margin: 16px 0 32px;
      border-radius: 4px;
      background-color: #f4f4f4;
      padding: 16px;
      dl {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 16px;
        dt {
          color: #4f4f4f;
          font-weight: 700;
          width: 90px;
        }
        dd {
          width: calc(100% - 90px - 16px);
        }
      }
    }
    .survey {
      margin-top: 32px;
      margin-bottom: 64px;
      h5 {
        margin-top: 24px;
      }
    }
  }
  @media (width >= 768px) {
    .link_group,
    .link_anchor_thumb {
      > * {
        flex: 0 0 calc((100% - 20px * 3) / 4);
        a {
          .thumb {
            margin: 5px 0;
            width: 40px;
            height: 40px;
          }
        }
      }
    }
    .sect_constructions_search {
      form {
        display: flex;
        gap: 8px;
        justify-content: center;
        input {
          width: 548px;
          font-size: 20px;
          flex-shrink: 0;
          min-width: auto;
        }
        button {
          flex-shrink: 0;
        }
      }
      h3 {
        margin-top: 60px;
      }
      .box {
        padding: 20px 40px;
        h4 {
          margin-bottom: 16px;
        }
        ul {
          gap: 8px 24px;
          justify-content: center;
        }
      }
    }
    .sect_constructions_detail {
      .constructions_img {
        margin-bottom: 24px;
        gap: 24px;
        max-width: 930px;
        margin-left: auto;
        margin-right: auto;
        &::after {
          width: 48px;
          height: 48px;
          top: calc(50% - 24px);
          left: calc(50% - 24px);
        }
        & > * {
          align-items: center;
          flex: 1 0 0;
          background-color: #f5f5f5;
        }
        &.is_single {
          & > * {
            max-height: calc((100cqw - 24px) / 2);
          }
        }
      }
      .box_summary {
        margin: 24px 0 40px;
        padding: 20px 40px;
        dl {
          gap: 8px 24px;

          dt {
            width: 127px;
          }
          dd {
            width: calc(100% - 127px - 24px);
          }
        }
      }
      .survey {
        margin-top: 40px;
        margin-bottom: 80px;
        h5 {
          margin-top: 32px;
        }
      }
    }
  }
  @media (width >= 1024px) {
  }
}
