@charset "UTF-8";
.kv-wrapper,
.kv-bg-wrapper {
  height: calc(622 / 1440 * 100vw);
  min-height: 622px;
}

.text--w66 {
  display: inline-block;
  width: 66px;
}

.text-lg {
  color: #242424;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
}

.text-sm {
  font-size: 10px;
  font-weight: inherit;
  line-height: 1.46;
}

.text-green {
  color: var(--brand-color-student);
}

.text-ext,
.text-ext-lg,
.text-ext-sm {
  font-weight: 700;
}

.text-ext {
  font-size: 3.6rem;
  line-height: 1.77778;
}

.text-ext--large {
  font-size: 5.8rem;
  line-height: 1.10345;
  letter-spacing: 1.8px;
  vertical-align: text-bottom;
}

.text-ext-lg {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 1.8px;
}

.text-ext-lg--large {
  font-size: 6.4rem;
  line-height: 1;
  vertical-align: baseline;
}

.text-ext-sm {
  font-size: 2rem;
  line-height: 1.2;
}

.text-ext-sm--large {
  font-size: 2.8rem;
  line-height: 0.85714;
  vertical-align: baseline;
}

.huge-customer-base__subheading {
  color: #000;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.286;
  text-align: center;
}

.huge-customer-base__subheading--small {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.6;
}

.huge-customer-base__number {
  flex: 0;
}

.huge-customer-base__grid__col {
  width: 98px;
  flex: 1 1;
  text-align: center;
}

.note-list--dot li::before {
  content: "・";
}

.note-list--dot li:not(:first-child)  {
  margin-top: 0;
}

.huge-customer-base > .note-list {
  margin-top: 16px;
}

.note-list + .note-list {
  margin-top: 8px;
}

.adoption-rate-heading {
  margin-bottom: 24px;
  color: #1C1C1C;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.adoption-rate-table {
  width: 100%;
}

.adoption-rate-table thead tr,
.adoption-rate-table tbody tr:not(:last-child) {
  border-bottom: 1px solid #FFFFFF;
}

.adoption-rate-table th,
.adoption-rate-table td {
  width: calc(100% / 3);
  height: 62px;
  padding: 11.5px 8px;
  text-align: center;
  vertical-align: middle;
}

.adoption-rate-table th {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.043;
}

.adoption-rate-table th:not(:last-child) {
  border-right: 1px solid #FFFFFF;
}

.adoption-rate-table td {
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.327;
  background: var(--bg-color-white);
}

.adoption-rate-table .bg-green {
  background: var(--bg-color-primary);
}

.adoption-rate-table .table-emphasis {
  position: relative;
}

.adoption-rate-table .table-emphasis::before {
  content: "";
  width: calc(100% + 3px);
  height: calc(100% + 4px);
  border-radius: 8px;
  border: 3px dashed #F24C4C;
  position: absolute;
  top: -1.5px;
  left: -1.5px;
}

.adoption-rate-table .table-emphasis--row2::before {
  height: 70px;
}

.adoption-rate-table .table-emphasis--col3::before {
  width: calc(300% + 4px);
}

.adoption-rate-table .table-emphasis--on-balloon::after {
  content: "当社シェアNo.1領域";
  width: 160px;
  height: 60px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: center / contain no-repeat url(/recruit/data/images/img_table_emphasis_balloon.svg);
  position: absolute;
  top: -60px;
  left: 54px;
}

.adoption-rate-table + .note-list {
  margin-top: 32px;
}

.nationwide-expansion .grid-2__col--has-img {
  flex-grow: 1;
  flex-basis: 0;
  text-align: right;
}

.nationwide-expansion .grid-2__col--has-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: center;
}

.nationwide-expansion .grid-2__col--has-text > * {
  width: 304px;
}

.responsiveness .grid-2__box {
  max-width: 684px;
  text-align: center;
}

@media not all and (min-width: 769px) {
  .kv-wrapper,
  .kv-bg-wrapper {
    height: calc(523 / 375 * 100vw);
    min-height: 0;
  }

  .text--w66 {
    width: var(--66px);
  }

  .text-lg {
    font-size: var(--20px);
  }

  .text-sm {
    font-size: var(--10px);
  }
  
  .text-ext {
    font-size: var(--36px);
  }

  .text-ext--large {
    font-size: var(--58px);
  }

  .text-ext-lg {
    font-size: var(--40px);
  }

  .text-ext-lg--large {
    font-size: var(--64px);
  }

  .huge-customer-base__grid {
    flex-direction: row;
    width: 100%;
  }

  .huge-customer-base__grid__col {
    width: var(--95px);
    flex-basis: var(--95px);
    flex: 0;
  }

  .huge-customer-base__grid__col:nth-of-type(2) {
    width: var(--99px);
    flex-basis: var(--99px);
  }

  .huge-customer-base__grid__col > img {
    width: var(--95px);
  }

  .huge-customer-base__subheading {
    font-size: var(--14px);
    line-height: 1.28571;
  }

  .huge-customer-base__subheading--small {
    font-size: var(--10px);
    line-height: 1.6;
  }

  .note-list--dot {
    word-break: break-all;
  }

  .huge-customer-base > .note-list {
    margin-top: var(--16px);
  }

  .note-list + .note-list {
    margin-top: var(--8px);
  }

  .adoption-rate-heading {
    margin-bottom: var(--24px);
    font-size: var(--16px);
  }

  .adoption-rate-table thead tr,
  .adoption-rate-table tbody tr:not(:last-child) {
    border-bottom-width: var(--1px);
  }

  .adoption-rate-table th,
  .adoption-rate-table td {
    height: var(--62px);
  }

  .adoption-rate-table th {
    padding: var(--16px) var(--8px);
    font-size: var(--10px);
    line-height: 1.46;
  }

  .adoption-rate-table td {
    padding: var(--8px);
    font-size: var(--10px);
    line-height: 1.2;
  }

  .adoption-rate-table .table-emphasis::before {
    content: "";
    width: calc(100% + (3 / 375 * 100vw));
    height: 100%;
    border-radius: var(--8px);
    border-width: var(--3px);
    top: calc(-1 / 375 * 100vw);
    left: calc(-1 / 375 * 100vw);
  }

  .adoption-rate-table .table-emphasis--row2::before {
    height: var(--74px);
  }
  
  .adoption-rate-table .table-emphasis--col3::before {
    width: calc(300% + (6 / 375 * 100vw));
  }

  .adoption-rate-table .table-emphasis--on-balloon::after {
    width: var(--95px);
    height: var(--62px);
    background-image: url(/recruit/data/images/img_table_emphasis_balloon_sp.svg);
    position: absolute;
    top: calc(-62 / 375 * 100vw);
    left: var(--4px);
  }

  .adoption-rate-table td .lh-2row-sp {
    line-height: 2.4;
  }

  .adoption-rate-table + .note-list {
    margin-top: var(--24px);
  }

  .nationwide-expansion .grid-2__col--has-text > * {
    width: 100%;
  }

  .responsiveness__text {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
}