.p-topHero {
  padding-block: var(--spc-40) var(--spc-16);
  @media (max-width: 834px) {
    padding-block: var(--spc-32) var(--spc-16);
  }
  .p-topHero-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas: "title aside" "result result";
    @media (max-width: 1080px) {
      grid-template-columns: auto;
      grid-template-rows: auto auto auto;
      grid-template-areas: "title" "result" "aside";
      row-gap: var(--spc-6);
    }
    & > .g-title {
      grid-area: title;
    }
    & > .g-aside {
      grid-area: aside;
      position: relative;
      padding-right: var(--spc-4);
      @media (max-width: 1080px) {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        column-gap: var(--spc-6);
        row-gap: var(--spc-3);
        padding-right: 0;
      }
      .g-aside-head {
        @media (max-width: 834px) {
          display: none;
        }
        img {
          & + * {
            margin-top: var(--spc-3);
          }
        }
        & + * {
          margin-top: var(--spc-3);
          @media (max-width: 1080px) {
            margin-top: 0;
          }
        }
      }
    }
    & > .g-result {
      grid-area: result;
      margin-top: var(--spc-8);
      @media (max-width: 1080px) {
        margin-top: 0;
      }
    }
  }
  .p-topHero__title {
    span {
      color: var(--c-sma-blue);
    }
  }
  .p-topHero__subtitle {
    font-weight: var(--fw-bold);
    span {
      color: var(--c-sma-blue);
    }
    & + * {
      margin-top: var(--spc-2);
    }
  }
  .p-topHero__bg {
    position: absolute;
    inset: -25%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
  }
  .p-topHero__nonnameFigure,
  .p-topHero__nonnameDesc,
  .p-topHero__companyList {
    position: relative;
  }
  .p-topHero__nonnameFigure {
    width: 16rem;
    @media (max-width: 834px) {
      width: 10.8rem;
    }
  }
  .p-topHero__nonnameDesc {
    font-weight: var(--fw-bold);
    img {
      display: inline-block;
      width: 2.4em;
      margin-inline: var(--spc-1);
      vertical-align: text-bottom;
      transform: translateY(-.15em);
    }
  }
  .p-topHero__companyList {
    max-width: 36rem;
    border-radius: 1.2rem;
    background-color: rgba(var(--c-white-rgb), .95);
    backdrop-filter: blur(.4rem);
    box-shadow: 0 0 .8rem rgba(var(--c-black-rgb), .1);
    overflow: hidden;
  }
}

.p-topSection {
  padding-block: var(--spc-16);
  @media (max-width: 834px) {
    padding-block: var(--spc-8);
  }
  .p-topSection-head {
    & + * {
      margin-top: var(--spc-6);
      @media (max-width: 834px) {
        margin-top: var(--spc-3);
      }
    }
  }
  .p-topSection__subtitle {
    font-weight: var(--fw-bold);
    color: var(--c-sma-blue);
    & + * {
      margin-top: var(--spc-1);
    }
  }
}

.p-topAbout {
  background-color: var(--c-black-100);
  .p-topAbout-content {
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--spc-2);
    & > * {
      width: 100%;
    }
  }
}

.p-topAboutSection,
.p-topAboutComparison {
  padding: var(--spc-6);
  border-radius: 2.4rem;
  background-color: var(--c-white);
  @media (max-width: 834px) {
    border-radius: 1.2rem;
  }
  @media (max-width: 520px) {
    padding: var(--spc-4);
  }
  .p-topAboutSection__title,
  .p-topAboutComparison__title {
    span {
      color: var(--c-sma-blue);
    }
    & + * {
      margin-top: var(--spc-2);
    }
  }
  .p-topAboutSection__description,
  .p-topAboutComparison__description {
    & + * {
      margin-top: var(--spc-1);
    }
    & > span {
      color: var(--c-sma-blue);
      span {
        display: inline-block;
        position: relative;
        margin-top: .2em;
        &:after {
          content: "";
          position: absolute;
          inset: -.2em 0 auto 0;
          width: .25em;
          height: .25em;
          margin: auto;
          border-radius: 100%;
          background-color: var(--c-sma-blue);
          @media (max-width: 834px) {
            inset: -.15em 0 auto 0;
          }
        }
      }
    }
  }
}

.p-topAboutSection {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: var(--spc-12);
  row-gap: var(--spc-6);
  @media (max-width: 834px) {
    column-gap: var(--spc-6);
    row-gap: var(--spc-3);
  }
  .p-topAboutSection-head {
    @media (max-width: 520px) {
      margin-inline: auto;
    }
  }
  .p-topAboutSection-content {
    flex-grow: 1;
    @media (max-width: 1080px) {
      flex: 1;
    }
    @media (max-width: 520px) {
      flex: none;
      width: 100%;
    }
  }
  .p-topAboutSection-bottom {
    @media (max-width: 1080px) {
      flex: 0 0 100%;
    }
  }
  .p-topAboutSection__thumb {
    width: 22rem;
    @media (max-width: 834px) {
      width: 12rem;
    }
  }
  .p-topAboutSection__title {
    @media (max-width: 520px) {
      text-align: center;
    }
  }
  .p-topAboutSection__caption {
    color: var(--c-black-600);
    br {
      @media (max-width: 834px) {
        display: none;
      }
    }
  }
  .p-topAboutSection__points {
    width: 26.4rem;
    @media (max-width: 1080px) {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: var(--spc-3);
      width: 100%;
    }
    @media (max-width: 834px) {
      gap: var(--spc-2);
    }
    & > li {
      padding: var(--spc-4) var(--spc-8);
      border: solid .1rem var(--c-sma-blue);
      border-radius: var(--spc-40);
      font-weight: var(--fw-bold);
      color: var(--c-sma-blue);
      @media (max-width: 834px) {
        padding: var(--spc-2) var(--spc-4);
      }
      & + li {
        margin-top: var(--spc-3);
        @media (max-width: 1080px) {
          margin-top: 0;
        }
      }
    }
  }
  .p-topAboutSection__description {
    font-weight: var(--fw-bold);
    br {
      @media (max-width: 1080px) {
        display: none;
      }
    }
  } 
}

.p-topAboutComparison {
  .p-topAboutComparison-head {
    & + * {
      margin-top: var(--spc-6);
      @media (max-width: 520px) {
        margin-top: var(--spc-4);
      }
    }
  }
  .p-topAboutComparison__title,
  .p-topAboutComparison__description {
    text-align: center;
  }
  .p-topAboutComparison__description {
    font-weight: var(--fw-bold);
  }
}

.p-topAboutComparisonContents {
  .p-topAboutComparisonContents-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    & > .g-head {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: var(--spc-5);
      border-bottom: solid .2rem var(--c-black-300);
      @media (max-width: 834px) {
        padding: var(--spc-3);
        border-bottom: none;
      }
      h4 {
        color: var(--c-black-600);
        img {
          max-width: 16rem;
          @media (max-width: 834px) {
            max-width: 12rem;
          }
        }
      }
      &.-sma {
        border: solid .2rem var(--c-black);
        border-radius: 1.6rem 1.6rem 0 0;
        @media (max-width: 834px) {
          border-bottom: none;
          border-radius: .8rem .8rem 0 0;
        }
      }
    }
  }
  .p-topAboutComparisonContents__section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "contentMa content";
    position: relative;
    @media (max-width: 834px) {
      grid-template-rows: auto auto;
      grid-template-areas: "label label" "contentMa content";
    }
    &:last-of-type {
      & > .g-content {
        &.-sma {
          border-bottom: solid .2rem var(--c-black);
          border-radius: 0 0 1.6rem 1.6rem;
          @media (max-width: 834px) {
            border-radius: 0 0 .8rem .8rem;
          }
        }
      }
    }
    & + .p-topAboutComparisonContents__section {
      &:before {
        content: "";
        position: absolute;
        inset: 0 0 auto .2rem;
        height: .1rem;
        background: repeating-linear-gradient(
          to right,
          var(--c-black-300) 0,
          var(--c-black-300) .3rem,
          transparent .3rem,
          transparent .6rem
        );
        @media (max-width: 834px) {
          display: none;
        }
      }
    }
    & > .g-label {
      grid-area: label;
      align-self: center;
      position: absolute;
      inset: 0;
      width: 9.6rem;
      margin: auto;
      padding: var(--spc-1);
      border: solid .2rem var(--c-black);
      border-radius: 2.4rem;
      font-weight: var(--fw-bold);
      text-align: center;
      background-color: var(--c-sma-blue-light);
      @media (max-width: 834px) {
        position: relative;
        width: 100%;
        border-top: none;
        border-right: none;
        border-bottom: none;
        border-radius: 0;
        background-color: var(--c-black-100);
      }
    }
    & > .g-content {
      grid-area: content;
      display: grid;
      padding: var(--spc-5);
      @media (max-width: 834px) {
        padding: 0;
      }
      h5 {
        align-self: center;
        padding: var(--spc-3);
        text-align: center;
        color: var(--c-black-600);
        br {
          @media (max-width: 834px) {
            display: none;
          }
        }
      }
      &.-sma {
        grid-area: contentMa;
        border-right: solid .2rem var(--c-black);
        border-left: solid .2rem var(--c-black);
        background-color: var(--c-sma-blue);
        h5 {
          border: solid .2rem var(--c-black);
          border-radius: 1.2rem;
          color: var(--c-black);
          background-color: var(--c-white);
          @media (max-width: 834px) {
            border: none;
            color: var(--c-white);
            background-color: transparent;
          }
          span {
            color: var(--c-sma-blue);
            @media (max-width: 834px) {
              color: var(--c-white);
            }
          }
        }
      }
    }
  }
}

.p-topStep {
  background-color: var(--c-sma-blue);
  .p-topStep-head {
    & + * {
      border-top: solid .2rem var(--c-sma-blue-light);
    }
  }
  .p-topStep-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: "step01 thumb" "step02 thumb" "step03 step03";
    column-gap: var(--spc-12);
    @media (max-width: 834px) {
      grid-template-columns: auto;
      grid-template-areas: "step01" "step02" "step03";
    }
    & + * {
      margin-top: var(--spc-8);
    }
    & > .g-thumb {
      grid-area: thumb;
      padding-block: var(--spc-8);
      @media (max-width: 834px) {
        display: none;
      }
    }
    & > .g-step01,
    & > .g-step02,
    & > .g-step03 {
      display: flex;
      flex-wrap: wrap;
      gap: var(--spc-8);
      padding: var(--spc-8) 0 var(--spc-8) var(--spc-8);
      @media (max-width: 834px) {
        gap: var(--spc-4);
        padding: var(--spc-4);
      }
      & > .g-step01-head,
      & > .g-step02-head,
      & > .g-step03-head {
        width: 8rem;
        padding-top: var(--spc-2);
        @media (max-width: 834px) {
          width: 4rem;
          padding-top: var(--spc-1);
        }
      }
    }
    & > .g-step01 {
      grid-area: step01;
    }
    & > .g-step02 {
      grid-area: step02;
      position: relative;
      &:before,
      &:after {
        position: absolute;
        inset: 0 0 auto 0;
      }
      &:before {
        content: "";
        height: .1rem;
        background: repeating-linear-gradient(
          to right,
          var(--c-sma-blue-light) 0,
          var(--c-sma-blue-light) .3rem,
          transparent .3rem,
          transparent .6rem
        );
      }
      &:after {
        content: "算出だけならここまででOK";
        width: 16rem;
        margin: auto;
        text-align: center;
        font-weight: var(--fw-bold);
        color: var(--c-sma-blue-light);
        background-color: var(--c-sma-blue);
        transform: translateY(-50%);
      }
    }
    & > .g-step03 {
      grid-area: step03;
      padding: var(--spc-6) var(--spc-8);
      border-radius: 2.4rem;
      background-color: var(--c-white);
      @media (max-width: 834px) {
        border-radius: 1.2rem;
        padding: var(--spc-3) var(--spc-4) var(--spc-4);
      }
      .p-topStep__stepTitle,
      .p-topStep__stepSubtitle {
        color: var(--c-sma-blue);
      }
    }
  }
  .p-topStep__subtitle {
    color: var(--c-sma-blue-light);
  }
  .p-topStep__title {
    color: var(--c-white);
  }
  .p-topStep__stepTitle,
  .p-topStep__stepSubtitle {
    color: var(--c-white);
  }
  .p-topStep__stepTitle {
    & + * {
      margin-top: var(--spc-1);
    }
  }
  .p-topStep__stepSubtitle {
    font-weight: var(--fw-bold);
    & + * {
      margin-top: var(--spc-3);
    }
  }
  .p-topStep__stepList {
    & > li {
      display: flex;
      gap: var(--spc-2);
      img {
        width: 1.6rem;
      }
      h4 {
        position: relative;
        padding-left: 2.4rem;
        color: var(--c-sma-blue-light);
        &:before {
          content: "";
          position: absolute;
          inset: 0 auto 0 0;
          width: 1.6rem;
          height: .1rem;
          margin: auto;
          background-color: var(--c-sma-blue-light);
        }
      }
      & + li {
        margin-top: var(--spc-2);
      }
    }
  }
  .p-topStep__stepDescription {
    padding: var(--spc-4) var(--spc-6);
    border: solid .1rem var(--c-sma-blue);
    border-radius: 1.2rem;
    @media (max-width: 834px) {
      border-radius: 1.2rem;
      padding: var(--spc-2) var(--spc-3);
    }
    h4,
    p {
      color: var(--c-sma-blue);
    }
  }
  .p-topStep__malead {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spc-8);
    padding-inline: var(--spc-6);
    @media (max-width: 834px) {
      gap: var(--spc-4);
      padding-inline: 0;
    }
    .p-topStep__malead-head {
      width: 16rem;
      @media (max-width: 834px) {
        width: 12rem;
      }
    }
    .p-topStep__malead-content {
      h4 {
        color: var(--c-sma-blue-light);
        br {
          @media (max-width: 834px) {
            display: none;
          }
        }
        & + * {
          margin-top: var(--spc-2);
        }
      }
    }
  }
}

.p-topResearch {
  .p-topResearch-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  }
  .p-topResearch-bottom {
    margin-top: var(--spc-8);
    & > ul {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
      gap: var(--spc-8);
      margin-top: var(--spc-4);
    }
  }
  .p-topResearch__title {
    span {
      color: var(--c-sma-blue);
    }
    & + * {
      margin-top: var(--spc-2);
    }
  }
  .p-topResearch__subtitle {
    font-weight: var(--fw-bold);
  }
  .p-topResearch__advisor {
    & > * {
      & + * {
        margin-top: var(--spc-3);
      }
    }
    h4 {
      span {
        margin-right: var(--spc-3);
        color: var(--c-black-300);
      }
      & + * {
        font-weight: var(--fw-bold);
        color: var(--c-sma-blue);
      }
    }
  }
}

.p-topQa {
  background-color: var(--c-black);
  .p-topQa-content {
    & + * {
      margin-top: var(--spc-6);
    }
  }
  .p-topQa__subtitle {
    color: var(--c-sma-blue-light);
  }
  .p-topQa__title {
    color: var(--c-white);
  }
  .p-topQa__list {
    & > li {
      & + li {
        margin-top: var(--spc-4);
        padding-top: var(--spc-4);
        border-top: solid .1rem var(--c-sma-blue-dark);
      }
      & > section {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: var(--spc-5);
        position: relative;
        padding-block: var(--spc-4);
        font-weight: var(--fw-bold);
        color: var(--c-black-100);
        &:first-of-type {
          &:before {
            content: "質問";
            color: var(--c-sma-blue-light);
          }
        }
        &:last-of-type {
          &:before {
            content: "回答";
            color: var(--c-black);
            background-color: var(--c-sma-blue-light);
          }
          &:after {
            content: "";
            position: absolute;
            inset: 0 0 auto 0;
            height: .1rem;
            background: repeating-linear-gradient(
              to right,
              var(--c-sma-blue-dark) 0,
              var(--c-sma-blue-dark) .3rem,
              transparent .3rem,
              transparent .6rem
            );
          }
        }
        &:before {
          align-self: start;
          padding-inline: var(--spc-4);
          border: solid .1rem var(--c-sma-blue-light);
          font-size: var(--fs-2xs);
          font-weight: var(--fw-bold);
          @media (max-width: 834px) {
            font-size: var(--fs-2xs-sp);
          }
        }
      }
    }
  }
  .p-topQa__contacts {
    padding: var(--spc-6) var(--spc-8);
    border: solid .1rem var(--c-sma-blue-dark);
    border-radius: 1.6rem;
    @media (max-width: 834px) {
      padding: var(--spc-3) var(--spc-4);
      border-radius: 1.2rem;
    }
    h4 {
      color: var(--c-sma-blue-dark);
      & + * {
        margin-top: var(--spc-3);
      }
    }
  }
}

.p-topForm {
  padding-block: var(--spc-4) var(--spc-16);
  .p-topForm-content {
    h3 {
      margin-top: var(--spc-16);
      & + p {
        margin-bottom: var(--spc-4);
      }
    }
    section {
      display: flex;
      flex-wrap: wrap;
      gap: var(--spc-2);
      padding-block: var(--spc-4);
      &.-nodevide {
        display: block;
      }
      & + section {
        border-top: solid .1rem var(--c-black-100);
      }
    }
  }
  .p-topForm__result {
    border-bottom: solid .1rem var(--c-black);
    font-weight: var(--fw-bold);
    .p-topForm__result-content {
      text-align: right;
      &:before {
        content: "算出評価基準額";
        font-size: 1rem;
      }
      span {
        margin-right: var(--spc-1);
      }
    }
  }
}

.p-resultNext-content {
  display: flex;
  align-items: center;
  gap: var(--spc-10);
  border-top: solid .1rem var(--c-black-100);
  padding-top: var(--spc-6);
  @media (max-width: 834px) {
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: var(--spc-6);
  }
  & > span {
    display: block;
    position: relative;
    width: 18rem;
    @media (max-width: 834px) {
      width: 10.8rem;
    }
    &:before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 24rem;
      height: 24rem;
      border-radius: 100%;
      background-color: var(--c-black-100);
      transform: translate(var(--spc-2), var(--spc-6));
      @media (max-width: 834px) {
        width: 12rem;
        height: 12rem;
        transform: translate(0, 0);
      }
    }
    & > img {
      position: relative;
    }
  }
  & > h2 {
    position: relative;
    span {
      &.-color {
        color: var(--c-sma-blue);
      }
      &.-xsmall {
        display: block;
      }
      &.-small {
        display: block;
      }
    }
  }
  & + * {
      margin-top: var(--spc-2);
  }
}
.p-resultNext-bottom {
  width: fit-content;
  margin-left: var(--spc-36);
  font-weight: var(--fw-bold);
  @media (max-width: 834px) {
    margin-left: 0;
  }
}
.p-resultNext__bubble {
  position: relative;
  padding: var(--spc-8) var(--spc-11);
  border-radius: 9.6rem;
  background-color: #FFFFFF;
  box-shadow: 0 0 .8rem rgba(var(--c-black-rgb), .1);
  @media (max-width: 834px) {
    padding: var(--spc-3) var(--spc-5);
    border-radius: .8rem;
  }
  & > span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 3.6rem;
    @media (max-width: 834px) {
      display: none;
    }
  }
  & > p {
    br {
      @media (max-width: 834px) {
        display: none;
      }
    }
  }
}

.p-resultFlow-content {
  & + * {
    margin-top: var(--spc-4);
  }
  & > ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    gap: var(--spc-4);
    padding: 0;
    list-style-type: none;
    & > li {
      position: relative;
      padding: var(--spc-4) var(--spc-12);
      &:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        border: solid .4rem var(--c-black-300);
        border-radius: 2.4rem;
        background-color: var(--c-white);
      }
      & > * {
        position: relative;
      }
      & > span {
        &:first-of-type {
          display: block;
          position: absolute;
          top: 1.6rem;
          left: 1.6rem;
          width: 3.2rem;
          height: 3.2rem;
          line-height: 3.2rem;
          text-align: center;
          border-radius: 100%;
          font-weight: var(--fw-bold);
          color: var(--c-white);
          background-color: var(--c-black);
        }
      }
      & > img {
        width: 16rem;
        margin: 0 auto;
        & + span {
          display: block;
          padding: 0 var(--spc-6);
          text-align: center;
          font-weight: var(--fw-bold);
          @media (max-width: 834px) {
            padding: 0;
          }
          & + * {
            text-align: center;
          }
        }
      }
    }
  }
}

.p-resultMerit {
  padding: var(--spc-4) var(--spc-6);
  background-color: var(--c-white);
  border-radius: 2.4rem;
  border: solid .4rem var(--c-black-300);
  & > h2 {
    text-align: center;
  }
  & > ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    column-gap: var(--spc-6);
    padding: 0;
    list-style-type: none;
    img {
      width: 16rem;
      margin-inline: auto;
    }
    h3, p {
      text-align: center;
    }
  }
}
