@charset "utf-8";
:root {
  --ov-blue: #0d64b0;
  --ov-pink: #e38aa7;
  --ov-brown: #a58c78;
  --ov-purple: #b478aa;
  --ov-salmon: #f0786e;
  --ov-magenta: #a98b99;
  --ov-gray: #69819e;
  --ov-gray-light: #abb6c8;
}

section:not(.sibling-links) {
  padding-block: 60px;
  @media screen and (max-width: 768px) {
    padding-block: 40px;
  }
}

#overview {

  .section-outer {
    max-width: 1040px;
    container-type: inline-size;
    margin-inline: auto;

    + .section-outer {
      margin-top: 64px;
      @media screen and (max-width: 768px) {
        margin-top: 32px;
      }
    }

    &.right {
      padding-right: 48px;
      @media screen and (max-width: 768px) {
        padding-right: 32px;
      }
    }
  }

  .section-outer .section-block.left {
    padding-right: 48px;
    border-top: 1px solid var(--white);
    border-right: 1px solid var(--white);
    border-bottom: 1px solid var(--white);
    border-radius: 0 64px 64px 0;
    @media screen and (max-width: 768px) {
      padding-right: 16px;
    }
    &::before {
      content: "";
      position: absolute;
      top: -1px;
      left: -95cqw;
      width: 100%;
      height: 1px;
      background: var(--white);
      z-index: 0;
    }
    &::after {
      content: "";
      position: absolute;
      bottom: -1px;
      left: -95cqw;
      width: 100%;
      height: 1px;
      background: var(--white);
      z-index: 0;
    }
  }

  .section-outer .section-block.right {
    padding-left: 48px;
    margin-left: initial;
    margin-right: auto;
    border-top: 1px solid var(--white);
    border-left: 1px solid var(--white);
    border-bottom: 1px solid var(--white);
    border-radius: 64px 0 0 64px;
    @media screen and (max-width: 768px) {
      padding-left: 32px;
    }
    &::before {
      content: "";
      position: absolute;
      top: -1px;
      right: -95cqw;
      width: 100%;
      height: 1px;
      background: var(--white);
      z-index: 0;
    }
    &::after {
      content: "";
      position: absolute;
      bottom: -1px;
      right: -95cqw;
      width: 100%;
      height: 1px;
      background: var(--white);
      z-index: 0;
    }
  }

  .section-outer .section-block__inner {
    padding: 56px 0 40px;
    @media screen and (max-width: 768px) {
      padding: 40px 0;
    }
  }

  .section-outer .section-block.left .section-block__inner {
    margin-left: 2.597cqw;
    @media screen and (max-width: 768px) {
      margin-left: 16px;
      padding-left: 16px;
    }
  }

  .sec-head {
    position: relative;
    width: fit-content;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
    margin-inline: auto;
    letter-spacing: .1em;
    margin-bottom: 48px;
    @media screen and (max-width: 768px) {
      width: auto;
      font-size: 2rem;
      /* padding-inline: 40px; */
      padding-bottom: 16px;
      margin-bottom: 32px;
    }

    &.underline {
      @media screen and (max-width: 768px) {
        max-width: 290px;
      }
      &::before {
        content: "" ;
        position: absolute;
        bottom: 0;
        left: 50%;
        translate: -50% 0;
        width: 100%;
        height: 2px;
        background: var(--white);
        z-index: 1;
      }
    }
  }

  .head-num__unit {
    position: relative;
    display: flex;
    gap: 24px;
    margin-bottom: 40px;
    .num {
      position: relative;
      font-family: var(--font-roboto);
      font-size: 8.8rem;
      font-weight: 500;
      height: fit-content;
      color: var(--blue);
      line-height: 1;
      &::before {
        content: "";
        position: absolute;
        width: 50px;
        height: 1px;
        background: var(--black);
        bottom: -8px;
        left: 4px;
        translate: 0 -50%;
        z-index: 1;
      }
      @media screen and (max-width: 768px) {
        font-size: 4.8rem;
      }
    }
    .head {
      font-size: 3.2rem;
      line-height: 1.6;
      @media screen and (max-width: 768px) {
        font-size: 1.8rem;
      }
    }
  }

  .section-outer .block-list {
    gap: 40px;
    /* padding-right: 40px; */
    @container (max-width: 820px) {
      flex-direction: column-reverse;
      padding-right: 0;
    }
  }

  .section-outer .block-list__item:has(.text) {
    width: calc((100% - 120px) / 2);
    @container (max-width: 820px) {
      width: auto;
    }
  }

  @container (max-width: 820px) {
    .section-outer .block-list__item {
      display: block;
      margin-inline: auto;
      width: 80%;
    }
  }


  .section-outer .block-list__item:has:not(.text) {
    width: calc(100%  / 2);
  } 

  .section-outer .block-list__item .link {
    position: relative;
    font-size: 1.6rem;
    display: grid;
    place-content: center;
    aspect-ratio: 208/40;
    margin-top: 16px;
    width: 208px;
    border-radius: 50vmax;
    border: 2px solid var(--black);
    transition: ease 300ms background-color,ease 300ms color;
    @media screen and (max-width: 768px) {
      font-size: 1.4rem;
      aspect-ratio: 180/40;
      width: 180px;
      border: 1px solid var(--black);
    }
    &::before {
      content: "" ;
      position: absolute;
      top: 50%;
      translate: 0 -50%;
      right: 16px;
      width: 8px;
      height: 8px;
      border-right: 1px solid var(--black);
      border-bottom: 1px solid var(--black);
      rotate: -45deg;
      z-index: 1;
      transition: ease 300ms border;
    }
    @media (any-hover: hover) {
      &:hover{
        color: var(--white);
        background: var(--black);
        &::before {
          border-right: 1px solid var(--white);
          border-bottom: 1px solid var(--white);
        }
      }
    }
  }

  section + section {
    margin-top: 60px;
    @media screen and (max-width: 768px) {
      margin-top: 32px;
    }
  }

  .sec-inner {
    max-width: calc(1040px + 72px);
    padding-inline: 36px;
    margin-inline: auto;
  }

  .sec-philosophy {
    .sub-head {
      display: block;
      width: fit-content;
      font-size: 2.4rem;
      font-weight: 700;
      margin-inline: auto;
      margin-bottom: 40px;
      @media screen and (max-width: 768px) {
        font-size: 1.6rem;
        margin-bottom: 30px;
      }
    }

    .radius-unit__list .head-text__unit .head {
      @media screen and (max-width: 768px) {
        font-size: 2rem;
      }
    }
  }

  @media screen and (max-width: 768px) {
    .lowerPage .radius-unit__list .head-text__unit .head {
      font-size: 1.2rem;
    }
  }

  .sec-grow .radius-unit__list .head-text__unit {
    color: var(--white);
    &.blue {
      background: var(--ov-blue);
    }
    &.pink {
      background: var(--ov-pink);
    }
    &.brown {
      background: var(--ov-brown);
    }
    &.purple {
      background: var(--ov-purple);
    }
    &.salmon {
      background: var(--ov-salmon);
    }
    &.magenta {
      background: var(--ov-magenta);
    }
    &.gray {
      background: var(--ov-gray);
    }
    &.gray-light {
      background: var(--ov-gray-light);
    }
  }

  .sec-grow .text,
  .sec-model .text {
    max-width: 640px;
    margin-inline: auto;
    margin-top: 60px;
    @media screen and (max-width: 768px) {
      margin-top: 24px;
    }
  }

  .sec-model .figure-img {
    max-width: 670px;
    display: block;
    margin-inline: auto;
    @media screen and (max-width: 768px) {
      width: 100vw;
      margin-inline: calc(50% - 50vw);
    }
  }
}
