.message {
  > div {
    display: flex;
    flex-direction: column;

    > p {
      margin-top: 0.5em;
    }
  }

  > p {
    margin-right: 5em;
  }
}

.sm-cards {
  margin-top: 10rem;
  grid-template-columns: repeat(2, 1fr);

  .hands {
    > div {
      display: flex;
      flex-direction: column-reverse;
      transform: unset;
    }
  }
}

.top {
  margin-top: 1em;

  .about-dotty {
    max-width: 40%;
    transform: translate(60%, 4.5rem);

    > img:first-child {
      transform: translateX(-35%);
    }

    a:first-child > img:first-child {
      transform: translateX(-35%);
    }
  }

  .dotline-social {
    transform: rotate(90deg) translate(10.4rem, -150%);
  }
}

.about-page-top-grid {
  grid-template-columns: 1fr;

  .message2 {
    font-size: 2.1875rem;
    font-weight: bold;
    line-height: 1.8;
    max-width: 5em;
    margin-top: 1.5em;
  }

  .message3 {
    font-weight: bold;
    margin-top: 2.5em;
  }

  a {
    margin-top: 3rem;
  }
}

.lg-cards {
  .card {
    padding-bottom: 3rem;
    border-radius: 15px;
    box-shadow: 1rem 1rem var(--color-mediumblue-300);

    .title {
      font-size: 1.5625rem;
      margin-bottom: 0.5em;
    }

    .card-body > div {
      grid-template-columns: 1fr;

      > p {
        font-size: 1.2rem;
        line-height: 2.2rem;
        margin-top: 2rem;
      }
    }

    .pagination {
      font-family: "Quicksand", sans-serif;
      font-size: 0.875rem;
      display: flex;
      align-items: end;
      gap: 1rem;

      div:first-child {
        display: block;
      }

      div:last-child {
        flex-direction: row;
        justify-content: center;
        width: 100%;
        margin-top: 4em;

        span {
          display: none;
        }

        img:last-child {
          display: block;
        }
      }
    }
  }
}

.top-right-block {
  margin-top: 28rem;

  p {
    font-size: 1.2rem;
    line-height: 2em;
  }
}

.identify {
  .top-right-block {
    margin-top: 18rem;
  }

  .card {
    div:nth-child(2) {
      margin-top: 3em;
      padding-right: 0;
    }
  }

  & .frame {
    *:nth-child(2) {
      font-size: 1rem;
    }

    *:nth-child(3) {
      font-size: 2rem;
      margin-left: 0;
    }

    *:nth-child(4) {
      font-size: 1.1rem;

    }
  }

  .lg-cards {
    .card {
      padding: 6rem 2rem;

      &:after {
        top: calc(1rem - 5px);
        left: calc(1rem - 5px);
      }

      &.vision {
        .card-body {
          > div:nth-child(2) {
            a {
              text-align: left;
            }
          }
        }
      }

      &.value {
        .card-body {
          > div:nth-child(2) {
            a {
              text-align: left;
            }
          }
        }
      }
    }
  }

  .icon-logo {
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  .message1 {
    .frame {
      /* padding-left: 4rem; */
    }

    > p {
      font-size: 1.2rem;
      line-height: 2em;
      margin-top: 5rem;
    }
  }
}

.basic8 {
  div.about-page-top-grid {
    padding-right: 0;

    .basic8 {
      align-items: end;
      margin-top: 0;
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .message-grid {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 2em;
    grid-template-columns: repeat(2, 1fr);

    > div:first-child {
      margin-top: 1em;

      p {
        font-size: 1.2rem;
        padding: 0;

        &:first-child {
          font-size: 1.5rem;
          margin-top: 0.5em;
          margin-bottom: 1rem;
        }
      }
    }
  }

  .sm-cards {
    grid-template-columns: repeat(1, 1fr);

    .card-header {
      max-width: 440px;
      border: none;

      > div {
        align-items: center;

        p {
          font-size: 1.5rem;
          margin-left: .5em;
        }
      }
    }

    .card-body {
      padding-right: 0;

      .thumb {
        width: 30%;
        height: unset;
        margin: 0 auto;
        box-shadow: 0.2rem 0.2rem var(--color-mediumblue-100);
      }

      ul {
        margin-top: 1.5em;

        li {
          font-size: 1.2rem;
        }
      }
    }
  }
}

.strategies {
  margin-top: 0;

  & .message {
    & > div {
      img:nth-child(1) {
        width: 12.5em;
      }
    }
  }

  .quicksand {
    width: 13em;
  }

  .message-grid {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 2em;
    grid-template-columns: repeat(2, 1fr);

    > div:first-child {
      margin-top: 1em;

      p {
        font-size: 1rem;
        padding-right: 0;
      }

      p.tab {
        font-size: 1.5rem;
        font-weight: bold;
        margin-top: 0;
      }

      p.sp {
        font-size: 1.5rem;
        font-weight: bold;
        margin-top: 0;
      }
    }
  }

  .about-page-top-grid {
    img {
      margin-top: 2rem;
      margin-bottom: 3rem;
      transform: none;
    }
  }

  .sm-cards {
    grid-template-columns: repeat(1, 1fr);
    gap: 4.5rem;

    .new-card {
      --shadow-size: 1.5rem;

      .title {
        p {
          font-size: 1.25rem;
          line-height: 1.3;
        }
      }

      p {
        font-size: 1rem;
        line-height: 2em;
      }
    }
  }

  .dots_1line {
    .new-card {
      padding-top: 3em;
      padding-bottom: 3em;

      a {
        margin-top: 2em;
        margin-left: 0;
      }
    }
  }
}

.dna {
  margin-top: 0;

  .message {
    & > div {
      img:nth-child(1) {
        width: 8em;
      }
    }
  }

  .hero-img-text {
    transform-origin: 50% 39%;
  }

  .about-page-top-grid {
    grid-template-columns: 1fr;

    .message2 {
      line-height: 1.6;
      max-width: 5.5em;
      transform: translateY(-1rem);
    }

    > div:last-child {
      margin-top: 2rem;
    }

    img {
      transform: unset;
    }
  }

  .message-grid {
    transform: translateY(2rem);
    grid-template-columns: 1fr;

    > div:first-child {
      p {
        font-size: 2rem;
        font-weight: bold;
        margin-top: 1em;

        &:last-child {
          font-size: 1rem;
          margin-top: 0.5em;
        }
      }
    }
  }

  .dna-card {
    margin-top: 12rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
    --shadow-size: 1rem;

    p:nth-of-type(4) {
      font-size: 1rem;
      line-height: 2em;
      margin-top: 1.5em;
    }

  }

  .hero-grid {
    grid-template-columns: 1fr;

    img {
      width: 100%;
      margin-top: 5rem;
    }
  }

  .cards {
    grid-template-columns: 1fr;
    gap: 4.5rem;

    .new-card {
      --shadow-size: 1rem;
    }
  }
}

.culture {
  .top-right-block {
    position: relative;
    padding-top: 12rem;
    padding-left: 0;

    > div {
      img:first-of-type {
        transform: rotate(90deg) scale(1.75) translate(10%, -50%);
      }
    }

    p {
      font-size: 2rem;
      font-weight: bold;
      line-height: 6em;
      /* top: 0; */
      bottom: 24%;
      left: 5%;
      transform: translate(-10%, 10em);
    }

    .tab {
      position: absolute;
      top: 0;
      right: 0;
      width: 8rem;
      transform: translate(-30%, -120%);
      opacity: 90%;
    }
  }

  .dotty-message {
    align-items: center;
    flex-direction: column-reverse;
    gap: 0;
  }

  .culture-list {
    ul {
      padding: 0;
    }
  }

  .lg-cards {
    .card {
      padding-top: 2rem;
      padding-bottom: 2rem;

      .title {
        font-size: 2.1875rem;

        img {
          position: relative;
          margin-top: 0.5em;
        }
      }

      .card-body {
        > div {
          &:nth-child(2) {
            flex-direction: column;
          }

          &:nth-child(3) {
            grid-template-columns: repeat(1, 1fr);
          }
        }
      }
    }
  }
}

.dotty {
  .inner {
    max-width: 100%;
    margin-right: 15px;
    margin-left: 15px;
  }

  .description {
    margin-top: 4rem;
    margin-right: 15px;
    margin-left: 15px;
  }

  .modal-wrapper {
    .new-card {
      width: 90vw;
      max-width: 924px;
      margin-right: auto;
      margin-left: auto;
      padding: 3rem 1rem;

      > div:nth-of-type(3) {
        flex-direction: column;
      }

      picture {
        width: 280px;
      }
    }
  }

  .dotty-image {
    display: none;
  }

  .sp-dotty-image {
    width: 500px;
    max-width: 90%;
    margin-top: 22rem;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .dotty-image {
    display: none;
  }

  p.font-12 {
    font-size: .9rem;
    line-height: 1.8;
  }

  dl, dl + p {
    font-size: .8rem;
    line-height: 1.8;
  }

  .about-parent {
    margin-left: 1rem;
  }

  & .modal-wrapper {
    & .new-card {
      & > div:nth-of-type(3) {
        p {
          flex-grow: 2;
          width: 100%;
        }
      }
    }
  }
}

.ceo_message {
  padding-top: 6rem;

  > div:first-child {
    .dotty-icon {
      top: 45.5%;
      left: 20%;
      width: 13%;
      transform: rotate(-17deg);
    }
  }

  .message1 {
    grid-template-columns: 1fr;

    div:first-child {
      img {
        width: 7em;
        margin-right: 2em;
      }

      p {
        font-size: 3.6rem;
        font-weight: bold;
        line-height: 6rem;
      }
    }

    div:last-child {
      > div {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        margin: 0 auto;
      }

      p {
        font-size: 1.2rem;
      }
    }
  }

  .card {
    flex-direction: column;

    img {
      margin-right: auto;
      margin-left: auto;
    }

    div:nth-child(2) {
      margin-top: 3em;
      padding-right: 4.5rem;

      a {
        font-size: 1rem;
        margin-top: 3em;
      }
    }

    .badge {
      font-size: 0.625rem;
      position: absolute;
      top: 20rem;
      right: 0;
      display: flex;
      max-width: 20em;
      transform: rotate(90deg) translate(50%, -60%);
      gap: 2em;

      img {
        width: 3em;
        transform: rotate(-90deg);
      }
    }
  }

  .interviews {
    .videos {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}

.basic8 {
  .card {
    flex-direction: column;
  }

  img {
    margin-right: .5em;
    margin-left: 0;
  }

  div:nth-child(2) {
    margin-top: 0;

  }

  .message + div:nth-child(2) {
    margin-top: 1em;
    padding-right: 0;

  }

  .ceo_message {
    & .card {
      .badge {
        font-size: 0.625rem;
        position: absolute;
        top: 20.2rem;
        right: -2.4rem;
        display: flex;
        align-items: center;
        max-width: 25em;
        transform: rotate(90deg) translate(50%, -60%);
        gap: 2em;

        img {
          width: 3.5em;
        }
      }
    }

    & .interviews {
      .videos {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 3em 1em;

        .names {
          font-size: 1rem;
          line-height: 1.75em;
          display: flex;
          flex-direction: column;
          margin-top: 1em;
        }
      }
    }
  }


  .interviews {
    .videos {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}

.data {
  .left-top-block {
    p:nth-of-type(3) {
      line-height: 1.8;
      max-width: 100%;
      margin-top: 1.5rem;
      white-space: break-spaces;
      letter-spacing: 1px;
    }
  }

  .shadow-box {
    max-width: 85%;
    margin-right: auto;
    margin-left: auto;
  }

  .data-number {
    font-family: "Quicksand", sans-serif;
    font-size: 6.25rem;
    font-weight: bold;
    line-height: 1.2em;
    margin-right: 0;
    letter-spacing: 0;
    color: var(--color-mediumblue-500);


    &.half {
      font-size: 3.125rem;
    }
  }
p.data-number + p {
    font-size: 1.2em;
display: inline-block;
            margin-left: 45%;
}
  .data-grid {
    margin-top: 28rem;
    grid-template-columns: 1fr;

    & > div:first-child {
      & > p {
		  text-align: center;
        .number {
          font-size: 4.5rem;
          font-weight: bold;
          line-height: 1.25em;
          margin-right: 0.5rem;
          letter-spacing: -0.05em;
			margin-left:0;
			

          + span {
           display: flex;
                            align-items: end;
                            justify-content: start;
                            margin-right: .9em;
                            margin-top: -2em;
                            transform: translateX(70%);
			  
          }
        }
      }
    }

    > div:first-child {
      order: 2;
      margin-top: 5rem;
    }

    .arrow {
      top: 17em;
      bottom: unset;
      left: 5%;
      width: 15%;
    }
  }

  .data-grid2 {
    margin-top: 6rem;
    grid-template-columns: 1fr;

    > div:first-child {
      position: relative;
      display: block;
      align-items: end;
      flex-direction: column;
      margin-top: 11rem;

      .shadow-box {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        background-color: white;
      }

      img {
        position: absolute;
        z-index: -1;
        bottom: 0;
        left: 0;
        width: 665px;
        margin-right: -3rem;
        margin-bottom: -2rem;
        margin-left: -10rem;
        transform: scale(1.4) translateY(-25%);
      }

      > div:last-child {
        margin-left: auto;
 margin-right: 0;
.shadow-box{
width:auto;                    max-width: 55%;
                    margin-left:auto;

}
  .data-number {
display:inline-block;margin-left:45%;}
      }
    }

    & > div:last-child {
      & .persons {
        > div {
          display: flex;
          align-items: end;
          margin: 0 2em 0;
          gap: 3rem;
        }
      }
    }

  }

  .data-grid3 {
    grid-template-columns: 1fr;

    > div:first-child {
      > div:first-child {
        display: grid;
        grid-template-columns: 1fr 1fr;
      }
    }

    > div:nth-of-type(2) {
      img {
        width: 60%;
      }
    }

    .fresh {
      width: 130%;
      transform: translate(-15%, 30%);
    }
  }

  .professions {
    .data-grid4 {
      grid-template-columns: 1fr;

      > div:nth-of-type(2) {
        margin-top: 4em;
      }

      .sub-grid {
        display: grid;
        margin-top: 3rem;
        grid-template-columns: 1fr 1fr;
        gap: 4em 2em;

        > div {
          display: flex;
          align-items: center;
          flex-direction: column;
          gap: 0.5em;

          & > div {
            p:nth-of-type(1) {
              font-size: 1rem;
              font-weight: bold;
              text-align: center;
            }

            p:nth-of-type(2) {
              text-align: center;
            }
          }
        }
      }
    }
  }
}

.symbol {
  margin-top: 18em;

  .left-top-block {
    color: black;
  }

  .cover-container {
    height: auto;
    background: none;

    img {
      margin-top: 22rem;
    }

    .button {
      bottom: -3.5em;
      left: 1rem;
    }
  }

  .message1 {
    margin-top: 10rem;
    grid-template-columns: 1fr;

    div:first-child {
      img {
        width: 5em;
        margin-top: 1em;
        margin-right: 4em;
      }

      p {
        font-size: 2.1875rem;
        line-height: 2em;
      }
    }

    div:last-child {
      align-items: end;
      flex-direction: column;
      justify-content: flex-end;

      > div {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
      }

      > picture:nth-of-type(1) {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
      }

      > img:nth-of-type(1) {
        margin-right: auto;
        margin-left: auto;
      }
    }
  }

  .dot-hero {
    padding: 6em 2em;

    .title {
      grid-template-columns: 1fr;

      > div:nth-child(2) {
        margin-top: 5rem;

        & > p:nth-child(3) {
          font-size: 1rem;
          line-height: 2em;
          margin-top: 3rem;
        }
      }
    }

    &.dotheroes {
      .title {
        img {
          width: 216px;
          margin-right: auto;
          margin-left: auto;
        }
      }
    }

    & .inner {
      img:nth-of-type(1) {
        margin-top: 2rem;
        margin-left: 0;
        transform: translateY(-4rem);

      }

      p:nth-of-type(2) {
        font-size: 1rem;
        line-height: 1.8;
        margin-top: 1.5em;
      }
    }
  }
}

.office {
  padding-top: 15rem;

  .slider {
    img {
      aspect-ratio: 1 / 1;
    }
  }

  .container {
    margin-top: 2rem;
  }

  .cover {
    img {
      width: 140%;
      max-width: 140%;
      margin-right: -2rem;
      margin-left: -2rem;
    }
  }

  .message1 {
    grid-template-columns: 1fr;

    div:first-child {
      img {
        width: 6em;
        margin-right: 4em;
      }

      p {
        font-size: 2.1875rem;
        line-height: 2em;
      }
    }

    div:last-child {
      align-items: end;
      flex-direction: column;
      justify-content: flex-end;

      > div {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
      }

      > picture:nth-of-type(1) {
        width: 250px;
        margin-right: auto;
        margin-left: 0;
      }

      > img:nth-of-type(1) {
        margin-right: auto;
        margin-left: auto;
      }
    }
  }

  .new-card {
    --shadow-size: 1rem;

    & .title {
      left: 20%;

      img {
        width: 4em;
      }

    }

    > div:not(.title) {
      max-width: 652px;
      margin-right: auto;
      margin-left: auto;
      padding: 3.5rem 0;

      p:last-child {
        font-size: 1.1rem;
      }
    }
  }

  .access_btm ul {
    grid-template-columns: repeat(1, 1fr);
  }

  & .address {
    p {
      font-size: 1.1rem;
      max-width: 100%;
      margin-top: 2rem;
      margin-right: auto;
      margin-bottom: 1rem;
      margin-left: auto;
    }
  }
}

.culture .lg-cards {
  & .card {
    & .card-body > div {
      > p:first-child {
        font-size: 3rem;
        line-height: 4rem;
        margin-top: 0;

      }
    }
  }
}

.sm-cards {
  & .card {
    & .card-header {
      p.bold.quicksand {
        font-size: .65rem;
        font-weight: bold;
        width: 44%;
        margin-top: -.2rem;
        margin-left: 1rem;
        padding-top: 0;
      }
    }
  }
}


.message-grid {
  > div:last-child {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: .1rem;
  }
}

img.crdott {
  max-width: 100px;
}


.message-grid {
  & > div:first-child {
    p {
      font-size: 1rem;
      line-height: 1.8em;
      padding-right: 0;
    }
  }
}

.strategies .about-page-top-grid {

  background-position: 90% 18%;
  background-size: 24%;
}

.strategies .about-page-top-grid {
  .message2 {
    font-weight: 700;
    max-width: 6em;
    /* font-size: 2.5rem; */
    margin-top: .5em;
    letter-spacing: 1px;
  }
}

.strategies {
  & .about-page-top-grid {
    img {
      margin-top: 6rem;
      margin-bottom: 3rem;
      transform: none;
    }
  }

  & .about-page-top-grid {
    img {
      max-width: 95%;
      margin-top: 6rem;
      margin-bottom: 3rem;
      transform: none;
    }

    .animation {
      position: absolute;
      top: 110px;
      left: 50vw;
      max-width: 500px;
    }
  }
}

.symbol {
  & .dot-hero {
    & .title {
      img {
        width: 8rem;
      }
    }
  }
}

.office {
  & .message1 {
    & div:last-child {
      > picture:nth-of-type(1) {
        width: 100%;
        margin-right: auto;
        margin-left: 0;
      }
    }
  }

}

.office {
  & .address {
    p {
      font-size: 1rem;
      max-width: 14rem;
      margin-right: auto;
      margin-left: auto;
    }
  }
}

.hero-top {
  display: grid;
  grid-template-columns: auto;
}

.heroico {
  position: absolute;
  z-index: 2;
  left: -10px;
  width: 50px;
  margin-top: 15px;
}

.hero-top {
  .hero-image {
    margin-top: 3rem;

    .badge {
      right: 25px;
      width: 70px;
      transform: translate(-10vw, -25%);
    }

    .icon {
      right: unset;
      left: 0;
      width: 60px;
      transform: translate(10vw, 18vw);

      @media screen and (width <= 425px) {
        transform: translate(10vw, 15vw);
      }

      @media screen and (width <= 375px) {
        transform: translate(10vw, 13vw);
      }

      @media screen and (width <= 320px) {
        transform: translate(10vw, 11vw);
      }
    }
  }

  .hero-image {
    position: relative;
    width: 120%;
    margin-left: -10%;

    .photo {
      width: 120vw;
    }
  }
}

.heroes {
  padding-top: 10rem;

  .section {
    &.section0 {
      .hero-top {
        .icon {
          top: 7.5rem;
        }
      }
    }

    &.section2, &.section3, &.section4 {
      position: unset;
      top: calc(21rem - max(0.5rem, (100vw - var(--container-width)) * 0.109));
    }

    &.section2 {
      margin-top: 6rem;
      padding-top: 9rem;
      padding-bottom: 25rem;

      .inner {
        grid-template-columns: 1fr;
      }

      .message-frame {
        margin-top: 2em;

        p {
          top: -1em;
        }
      }

      > div {
        > div:last-child {
          p {
            font-family: "DotGothic16", sans-serif;
            font-size: 1.3rem;
            line-height: 1.8;
            position: unset;
            top: 21%;
            right: 10%;
            left: 15%;
            max-width: 100%;
            margin-top: -1em;
            padding: 1em;
            border: 1.5165vw solid var(--color-mediumblue-500);
            border-top: 0;
            border-bottom-right-radius: 8px;
            border-bottom-left-radius: 8px;
            background: white;
          }

          img {
            width: 100%;
            margin-top: -2rem;
          }
        }

        .inn_grid {
          display: grid;
          justify-content: center;
          width: 100%;
          gap: 1em;
          grid-template-columns: 1fr;
        }
      }
    }

    &.section3 {
      padding-top: 13rem;
      padding-bottom: 25rem;
    }

    &.section4 {
      padding-top: 11rem;
      padding-bottom: 40rem;

      img {
        width: 90%;
      }
    }
  }
}

.heroes .mt-5 {
  margin-top: 0;
}

.hero-top {
  .hero-image {
    position: relative;
    width: 120vw;
    margin-right: -10%;
    margin-left: -10%;
  }
}

.dna {
  & .hero-grid {
    > div:first-child {
      margin-bottom: 4rem;
    }
  }
}


.message {
  > p {
    font-size: 1rem;
    font-weight: bold;
    width: 60%;
    margin-right: 5em;
  }

  & > div {
    img:nth-child(1) {
      width: 10em;
    }

    img:nth-child(2) {
      width: 12em;
      margin-right: 0.5em;
    }

    > p {
      font-weight: bold;
      margin-top: 0.5em;
    }
  }
}

.sm-cards {
  & .card {
    & .card-header {
      > p {
        font-size: .9rem;
        font-weight: bold;
        margin-top: 2rem;
        margin-bottom: 0.5em;
      }
    }
  }
}

.endbt img {
  width: 100%;
}

.story {
  margin-top: 0;

  .card {
    div:nth-child(2) {
      margin-top: 2em;
      padding-right: 0;
    }
  }
}

.story {
  & .message {
    & > div {
      img:nth-child(1) {
        width: 11em;
      }
    }
  }
}

.story {
  & .message {
    & > div {
      img:nth-child(2) {
        width: 6.5em;
        margin-right: 0.5em;
        transform: translateY(0.5em);
      }
    }
  }
}

.about-page-top-grid {
  .message4 {
    font-size: 1.2rem;
    margin-top: 2em;
  }
}

.about-page-top-grid {
  span {
    font-size: .9rem;
    margin-top: 15px;
  }
}

.culture .lg-cards {
  & .card {
    & .card-body > div {
      > p:first-child {
        font-size: 1.6rem;
        line-height: 1.8;
        margin-top: 0;
      }
    }
  }
}


.culture {
  & .lg-cards {
    & .card {
      div:nth-child(2) {
        margin-top: 0;
        padding-right: 0;
      }

      & .card-body {
        margin-top: 3em;
        padding-right: 0;

        & > div {
          padding-right: 0;

          &:nth-child(2) {
            padding-top: 56%;

            p {
              font-size: 1.1rem;
            }

          }

          &:nth-child(3) {
            max-width: 100%;

            p {
              font-size: 1.1rem;
            }

          }

        }
      }
    }
  }
}

.culture {
  & .lg-cards {
    & .card-body {
      margin-left: 1rem;

      & > div.title {
        margin-top: 3rem;

        p.quicksand {
          font-size: 1rem;
          font-weight: normal;
          line-height: 1rem;
        }
      }
    }
  }
}

.culture {
  & .lg-cards {
    & #card01 {
      &::after {
        top: 1rem;
        left: 1rem;
      }
    }

    & #card02 {
      &::after {
        top: 1rem;
        left: 1rem;
      }
    }

    & #card03 {
      &::after {
        top: 1rem;
        left: 1rem;
      }
    }

    & #card04 {
      &::after {
        top: 1rem;
        left: 1rem;
      }
    }
  }
}

.culture.office {
  padding-top: 16em;

  & .cover {
    img {
      width: 110%;
      max-width: 110%;
      margin-right: -5%;;
      margin-left: -5%;
    }
  }

  p.font-14.mt-3.l-height-2 {
    font-size: 1rem;;
  }
}

.iconanime {
  position: absolute;
  top: 14%;
  right: auto;
  left: 15%;
  display: block;
  width: 70%;
  margin-left: 0;
}

#card02 .iconanime {
  position: absolute;
  top: 11%;
  right: auto;
  left: 15%;
  display: block;
  width: 70%;
  margin-left: 0;
}

#card03 .iconanime {
  position: absolute;
  top: 12%;
  right: auto;
  left: 12%;
  display: block;
  width: 80%;
  margin-left: 0;
}

#card04 .iconanime {
  position: absolute;
  top: 12%;
  right: auto;
  left: 12%;
  display: block;
  width: 80%;
  margin-left: 0;
}

#card02 p.numgrid img {
  width: 50px;
  padding: .6em;
  border-radius: 15px;
}

#card02 p.numgrid img {
  width: 50px;
  padding: .6em;
  border-radius: 15px;
}

#card03 p.numgrid img {
  width: 50px;
  padding: .6em;
  border-radius: 15px;
}

#card04 p.numgrid img {
  width: 50px;
  padding: .6em;
  border-radius: 15px;
}


/*???*/
.sm-cards {
  & .card {
    & .card-header {
      p.bold.quicksand {

        width: 100%;
        margin-left: .4rem;

      }
    }
  }
}


.top {
  .about-dotty {
    max-width: 40%;
    transform: translate(40%, 4.5rem);
  }
}


.basic8 {
  margin-top: 0;

  .message-grid {
    & > div:first-child {
      p {
        font-size: 1rem;
        line-height: 2.2;
        padding: 0;
      }
    }

    > div:last-child {
      display: flex;
      align-items: end;
      justify-content: space-between;
      margin-top: 0;
      gap: .1rem;
    }
  }
}

.basic8 {
  & .sm-cards {
    & .card-body {
      & ul {
        li {
          font-size: 1rem;
        }
      }
    }
  }
}

.heroico {
  width: 60px !important;
}

.ceo_message {
  padding-top: 14rem;
}

.ceo_message {
  & .message1 {
    & div:last-child {
      p {
        font-size: 1.1rem;
      }
    }
  }
}

.ceo_message {
  & .card {
    .badge {
      font-size: 0.625rem;
      position: absolute;
      top: 20rem;
      right: -2rem;
      display: flex;
      max-width: 20em;
      transform: rotate(90deg) translate(50%, -60%);
      gap: 2em;
    }
  }
}

.ceo_message {
  .font-21 {
    font-size: 1.2rem;
  }

  & .interviews {
    & .videos {
      .names {
        font-size: .9rem;
        line-height: 1.75em;
        display: flex;
        flex-direction: column;
        margin-top: 1em;
      }
    }
  }
}

.ceo_message {
  & .message1 {
    & div:first-child {
      p {
        font-size: 3rem;
        font-weight: bold;
        line-height: 5rem;
      }
    }
  }
}

.identify {
  & .lg-cards {
    & .card {
      & .card-body {
        & > div {
          > p {
            font-size: 1.1rem;
          }
        }
      }
    }
  }
}

.strategies {
  & .message-grid {
    & > div:first-child {
      p {
        font-size: 1.1rem;
        padding-right: 0;
      }
    }
  }
}

.office {
  .access_btm p.title {
    font-size: 1.2rem;
    font-weight: bold;
    max-width: 100%;
    margin-top: 2rem;
  }
}

.office {
  margin-top: 2.56em;

  .access_btm img + p {
    max-width: 100%;
  }
}


.dotty {
  overflow: visible;
  margin-top: -1rem;
}

.ceo_message .left-top-block, .identify .left-top-block, .data .left-top-block, .symbol .left-top-block, .office .left-top-block, .culture .left-top-block, .location .left-top-block {
  position: absolute;
}

.dotty .left-top-block {
  top: -1rem;
  left: 1.5rem;
  margin-top: 0;
}


.culture {
  .top-right-block {
    position: relative;
    padding-top: 3.4em;
    padding-left: 0;
  }
}

img.llogcu {
  position: absolute;
  top: -20em;
  right: 0;
  width: 11em;
  opacity: .84;
}

.culture {
  & .lg-cards {
    & .card {
      & .card-body {
        & > div {
          &:nth-child(2) {
            margin-top: 0;
            padding-top: 0;

            p {
              margin-top: 0;
            }

            img {
              width: 100%;
            }
          }
        }
      }
    }
  }
}

.generalbg .inner {
  width: 90%;
  margin: 0 auto;
}

/*0627追加*/

.message {
  > p {
    width: 65%;

  }
}


.sm-cards {
  margin-top: 3rem;
}

/*他のページに影響しないか確認 about_topをベース*/

.sm-cards {
  & .card {
    & .card-header {
      p.bold.quicksand {
        margin-left: 0em;
      }

      p {
        margin-top: .8rem;
      }
    }
  }
}

.about-page-top-grid {
  .message2 {
    font-size: 2.1875rem;
    font-weight: bold;
    line-height: 1.8;
    max-width: 9em;
    margin-top: 1.5em;
  }

  .message4 {
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 2.2;
    margin-top: 1em;
  }
}

.lg-cards {
  & .card {
    & .card-body > div {
      > p {
        font-size: 1.24em;
        line-height: 2.2;
        margin-top: 2rem;
      }
    }
  }
}

.story {
  & .lg-cards {
    & .card {
      .card-body > div.story_ttl {
        font-size: 1.4em;
        margin-bottom: 0;
        margin-left: 0;

      }
    }
  }
}

.identify {
  .icon-logo {
    margin-top: 9rem;
    margin-bottom: 0;
  }
}

.top-right-block {
  p {
    font-size: 1.1rem;
    line-height: 2.2em;
  }
}

.basic8 {
  & .message-grid {
    & > div:first-child {
      p {
        font-size: 1.1rem;
      }
    }
  }
}

.basic8 {
  & .sm-cards {
    & .card-body {
      & ul {
        li {
          font-size: 1.1rem;
          font-weight: bold;
        }
      }
    }
  }
}

.top-right-block {
  p {
    font-size: 1.1rem;
    line-height: 2.2em;
  }
}

.strategies .about-page-top-grid {
  .message2 {
    max-width: 7.5em;
  }
}

& .message-grid {
  & > div:first-child {
    p {
      font-size: 1.1rem;
      line-height: 2.2;
      padding-right: 0;
    }
  }
}

.dna {
  & .message-grid {
    & > div:first-child {
      p {
        font-size: 1.5rem;

        &:last-child {
          font-size: 1.1rem;
          margin-top: 0.5em;
        }
      }
    }
  }
}

.data {
  & .left-top-block {
    p:nth-of-type(2) {
      font-size: 1rem;
    }
  }
}
.data {
    & .shadow-box {
        p {
            font-weight: bold;
            font-size: .9rem;
        }
    }
}

.data {
  & .left-top-block {
    p:nth-of-type(3) {
      font-size: 1em;
      line-height: 1.8;
      margin-top: 1.5rem;
      white-space: break-spaces;
      letter-spacing: 1px;
    }
  }
}

.symbol {
  & .dot-hero {
    &.dotheroes {
      & .title {
        grid-template-columns: 1fr;

        img {
          width: 300px;
          margin-right: auto;
          margin-left: auto;
        }
      }
    }
  }
}

/*062719追加*/
.office {
  & .new-card {
    & > div:not(.title) {
      .slider {
        padding: 1em;
      }
    }
  }
}

.office {
  & .slider {
    img {
      object-fit: cover;
    }
  }
}

.symbol {
  & .cover-container {
    .button#musicButton {
      right: .8rem;
      bottom: -3.5em;
      left: auto;
      align-items: end;
      padding: .5em .8em;

      img {
        margin-top: 0;
      }
    }
  }
}

.videos-ttl {
  font-size: 1.2rem;
  font-weight: bold;
  position: absolute;
  z-index: 999;
  top: -2.1rem;
  bottom: auto;
  left: 2rem;
  color: #0000c8;
}

.dna {
  & .about-page-top-grid {
    .message2 {
      line-height: 1.6;
      max-width: 8.5em;
      transform: translateY(-1rem);
    }
  }
}

.culture {
  & .top-right-block {
    p {
      font-size: 2rem;
      font-weight: bold;
      line-height: 1.8;
      top: -6em;
      bottom: auto;
      left: 5%;
      transform: translate(-10%, 0);
    }
  }
}

.culture-list ul + .font-14 {
  font-size: 1.1rem;
}

/*0628追加*/
.dotty {
  p.font-12 {
    font-size: 1.1rem;
    line-height: 1.8;
  }

  dl, dl + p {
    font-size: 1.1rem;
    line-height: 1.8;
  }

  .about-parent {
    font-size: .8em;
  }

  & .modal-wrapper {
    & .new-card {
      & > div:nth-of-type(3) {
        p {
          font-size: 1em;
          flex-grow: 2;
          width: 100%;
        }
      }
    }
  }
}

.identify {
  & .frame {
    *:nth-child(3) {
      line-height: 1.2;
    }
  }
}

.identify {
  .lg-cards .card:nth-of-type(3)
  .frame {
    :nth-child(4) {
      width: 8em;
    }
  }
}

.identify {
  .message1
  .frame {
    :nth-child(4) {
      width: 8em;
    }
  }
}

.identify {
  & .frame {
    *:nth-child(4) {
      font-size: 1.4rem;
    }
  }
}

.dotty {
  & .modal-wrapper {
    & .new-card {
      & > div:first-child {
        img {
          position: fixed;
          top: 6em;
          right: 2em;
          width: 1.5rem;
        }
      }
    }
  }
}

.story {
    & .about-page-top-grid {
        .message2 {
            font-size: 2.1875rem;
            font-weight: bold;
            line-height: 1.8;
            max-width: 9em;
            margin-top: 1.5em;
        }
    }
}
.dna {
    & .about-page-top-grid {
        .message2 {
           font-size: 2.1875rem;
            font-weight: bold;
            line-height: 1.8;
span{
padding-left:5px;
}
        }
    }
}
    .culture .lg-cards {
        & .card {
            & .card-body > div {
                > p:first-child {
                    font-size: 2rem;
                    line-height: 1.5;
                    margin-top: 0;
                }
            }
        }
    }

.culture {
    & .lg-cards {
        & .card {
            & .title {
                img {
                    left:0;
max-width: 7.5em;
                }
           }

        }
    }
}

.culture {
    & .lg-cards {
        #card04 {
            & .title {
                img {
                    left:0;
max-width: 9em;
                }
           }

        }
    }
}

    .culture .lg-cards {
        & .card {
            & .card-body > div {
                > p:first-child {
                    font-size: 1.8rem;
                    line-height: 1.5;
                    margin-top: 0;
                }
            }
        }
    }
.story {
        & .about-page-top-grid {
            .message2 {
               max-width: 100%;
            }
        }
    }

    .identify {
        & .frame {
            *:nth-child(3) {
                font-size: 1.4rem;
                margin-left: 0;
                letter-spacing: -1px;
            }
        }
    }


.culture {
    & .culture-list {
        & ul {
            li {
               gap: 1em;
            }
        }
    }
}

    .identify {
        & .message1 .frame {
            :nth-child(4) {
               font-size:1.3em;
            }
        }
    }

.dna {
    & .dna-card {
        p:nth-of-type(1) {
            font-size: .9rem;
        }
    }
}
.dna {
    & .dna-card {
        p:nth-of-type(3) {
            font-size: 1.2rem;
            margin-top: 0.3em;
        }
    }
}


.ceo_message .shadow-box{
padding:1em;
.msg-grid {
    display: grid;
    gap: 1em;
    justify-content: center;
    grid-template-columns: 40% 50%;
padding:1em 1em 0;
.interviews{
margin-top:.5em;
.font-12{
font-size:.9em;
}
        .title {
            font-weight: bold;
            max-width: 100%;
            margin-bottom: 1em;
            padding-bottom: 1em;
            border-bottom: 1px solid #707070;
        }
        .sns {
            align-items: center;
            justify-content: center;
            max-width: 100%;
            margin-bottom: 2rem;
            img {
                width: 2em;
            }
        }
}
}
}

.story_ttl::before {
height:3px;
width:12px;
}

/* 2503数字で知るドットラインリニューアル */

.data2 {
  & .message1 {
    margin-top: 3rem;
  }

  .data-mv {
    margin-top: 8rem;
  }
  
  .data-wrap {
    display: block;
    margin-left: auto;

    .data {
      display: block;
      width: 100%;

      .data-h {
        min-height: auto;
      }

      .data-img-num-wrap {
        display: block;
        margin-top: 0.5em;

        min-height: auto;

        .data-number-wrap {
          width: 100%;

          .pl-1 {
            padding-left: 0;
          }
        }

        .pc-dataimg {
          margin-top: 0;

          img {
            width: auto;
          }

        }

      }
    }

    .data + .data {
      margin-top: 20px;
    }


  }
}


.symbol {

}