@charset "UTF-8";
main {
  .link_anchor_thumb {
  }
  .link_group {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 16px;
    > * {
      flex: 0 0 calc((100% - 16px) / 2);
    }
  }
  .sect_constructions_detail {
    .constructions_img {
      margin-bottom: 16px;
      display: flex;
      border-radius: 4px;
      overflow: hidden;
      position: relative;
      gap: 8px;
      &::after {
        content: '';
        display: block;
        position: absolute;
        width: 32px;
        height: 32px;
        background: url(../../img/icon/icon_arrow3.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);
      }
    }
    .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_anchor_thumb {
      gap: 8px 20px;
      > * {
        min-width: calc((100% - 20px) / 2);
      }
      > * > a {
        p {
          .pc {
            display: inline-block;
          }
        }
      }
    }
    .link_group {
      > * {
        flex: 0 0 calc((100% - 60px) / 4);
      }
      &:not(:has(> :nth-child(4))) > * {
        flex: 0 0 calc((100% - 40px) / 3);
      }
    }
    .link_group:has(> :nth-child(4)) > * {
    }
    .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);
        }
        & > * {
          height: 453px;
          align-items: center;
          flex: 1 0 0;
          background-color: #f5f5f5;
        }
      }
      .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;
        }
      }
    }
  }
}
