/* Scss Document */
@media (max-width: 999px) {
  body .pt16 {
    padding-top: 6rem; } }

@media (max-width: 999px) {
  body .pb16 {
    padding-bottom: 6rem; } }

/*
---------------------------------------
data02
---------------------------------------
*/
#data02 .ttl {
  font-size: 4rem; }
  @media (max-width: 999px) {
    #data02 .ttl {
      font-size: 2.4rem;
      text-align: center; } }
#data02 .numberBoxs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem; }
  #data02 .numberBoxs .numberBox {
    min-height: 48rem;
    padding: 4rem 3rem 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    text-align: center;
    background: #fff; }
    #data02 .numberBoxs .numberBox .sttl {
      margin-bottom: 1rem;
      font-size: 3.2rem;
      line-height: 1.5;
      font-weight: 500; }
    #data02 .numberBoxs .numberBox .ico {
      display: flex;
      align-items: center;
      justify-content: center; }
      #data02 .numberBoxs .numberBox .ico img {
        width: 20rem;
        height: auto;
        display: block; }
    #data02 .numberBoxs .numberBox .numberArea {
      width: 100%;
      min-height: 12rem;
      margin-top: 4rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      position: relative; }
    #data02 .numberBoxs .numberBox .number {
      height: 6.4rem;
      display: flex;
      align-items: baseline;
      justify-content: center;
      line-height: 1;
      white-space: nowrap; }
      #data02 .numberBoxs .numberBox .number .count {
        font-size: 6.4rem;
        font-weight: 500;
        letter-spacing: -.03em; }
        #data02 .numberBoxs .numberBox .number .count .decimal {
          font-size: 3.6rem;
          letter-spacing: 0; }
      #data02 .numberBoxs .numberBox .number small {
        margin-left: .5rem;
        font-size: 3.6rem;
        font-weight: 500; }
    #data02 .numberBoxs .numberBox .ratioBox {
      width: 100%;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      gap: 4rem; }
      #data02 .numberBoxs .numberBox .ratioBox .ratio {
        position: relative; }
        #data02 .numberBoxs .numberBox .ratioBox .ratio .label {
          position: absolute;
          left: 50%;
          bottom: 100%;
          transform: translateX(-50%);
          font-size: 2.4rem;
          font-weight: 500;
          white-space: nowrap; }
        #data02 .numberBoxs .numberBox .ratioBox .ratio .number .count {
          font-size: 6.4rem; }
          #data02 .numberBoxs .numberBox .ratioBox .ratio .number .count .decimal {
            font-size: 3.6rem; }
        #data02 .numberBoxs .numberBox .ratioBox .ratio .number small {
          font-size: 3.6rem; }
#data02 .dataRatioBoxs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start; }
#data02 .jobRatioBox,
#data02 .ageRatioBox {
  min-width: 0;
  background: #fff;
  min-height: 54rem;
  padding: 4rem 3rem 3rem; }
  #data02 .jobRatioBox .sttl,
  #data02 .ageRatioBox .sttl {
    margin-bottom: 4rem;
    font-size: 3.2rem;
    line-height: 1.5;
    font-weight: 500;
    text-align: center; }
#data02 .jobRatioList {
  padding-top: 3rem; }
  #data02 .jobRatioList .jobRatioItem {
    display: grid;
    grid-template-columns: 11rem minmax(0, 28rem) 1fr;
    align-items: center;
    gap: 1.5rem; }
    #data02 .jobRatioList .jobRatioItem + .jobRatioItem {
      margin-top: 1.4rem; }
    #data02 .jobRatioList .jobRatioItem .jobLabel {
      font-size: 2rem;
      font-weight: 500;
      line-height: 1.5;
      white-space: nowrap; }
    #data02 .jobRatioList .jobRatioItem .barBox {
      width: 100%;
      height: 7.6rem;
      display: flex;
      align-items: center; }
      #data02 .jobRatioList .jobRatioItem .barBox .bar {
        display: block;
        width: var(--bar-width);
        height: 100%;
        background: linear-gradient(100deg, #266EE8 0%, #7E61E4 100%);
        opacity: 0.5; }
    #data02 .jobRatioList .jobRatioItem .ratioNum {
      display: flex;
      align-items: baseline;
      white-space: nowrap;
      font-size: 6.4rem;
      font-weight: 500;
      line-height: 1; }
      #data02 .jobRatioList .jobRatioItem .ratioNum .decimal {
        font-size: 3.6rem; }
      #data02 .jobRatioList .jobRatioItem .ratioNum small {
        margin-left: .5rem;
        font-size: 3.6rem; }
#data02 .ageChartBox {
  width: 100%;
  max-width: 60rem;
  height: 38rem;
  margin: 0 auto;
  position: relative; }
#data02 .ageChart {
  width: 34rem;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  background: conic-gradient(rgba(1, 195, 204, 0.5) 0 12.7%, rgba(4, 157, 233, 0.5) 12.7% 30.2%, rgba(38, 110, 232, 0.5) 30.2% 51.3%, rgba(151, 71, 255, 0.5) 51.3% 82.4%, rgba(204, 97, 228, 0.5) 82.4% 100%);
  transform: translate(-50%, -50%);
  overflow: hidden; }
  #data02 .ageChart::before {
    content: "";
    width: 19.5rem;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%); }
  #data02 .ageChart .sep {
    width: 2px;
    height: 50%;
    position: absolute;
    left: 50%;
    bottom: 50%;
    z-index: 4;
    display: block;
    background: #fff;
    transform-origin: center bottom;
    pointer-events: none; }
    #data02 .ageChart .sep.sep01 {
      transform: translateX(-50%) rotate(0deg); }
    #data02 .ageChart .sep.sep02 {
      transform: translateX(-50%) rotate(45.72deg); }
    #data02 .ageChart .sep.sep03 {
      transform: translateX(-50%) rotate(108.72deg); }
    #data02 .ageChart .sep.sep04 {
      transform: translateX(-50%) rotate(184.68deg); }
    #data02 .ageChart .sep.sep05 {
      transform: translateX(-50%) rotate(296.64deg); }
  #data02 .ageChart .ageChartInner {
    width: 19rem;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 6;
    text-align: center;
    transform: translate(-50%, -50%); }
    #data02 .ageChart .ageChartInner .label {
      margin-bottom: .8rem;
      font-size: 2.4rem;
      font-weight: 500;
      line-height: 1.4; }
    #data02 .ageChart .ageChartInner .average {
      display: flex;
      align-items: baseline;
      justify-content: center;
      font-size: 6rem;
      font-weight: 500;
      line-height: 1; }
      #data02 .ageChart .ageChartInner .average .decimal {
        font-size: 3.6rem; }
      #data02 .ageChart .ageChartInner .average small {
        margin-left: .3rem;
        font-size: 3.2rem; }
#data02 .ageItem {
  position: absolute; }
  #data02 .ageItem::before {
    content: "";
    position: absolute;
    width: 5rem;
    height: 2.4rem;
    pointer-events: none; }
  #data02 .ageItem::after {
    display: none; }
  #data02 .ageItem .age {
    margin-bottom: .4rem;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1; }
  #data02 .ageItem .num {
    display: flex;
    align-items: baseline;
    font-size: 4.8rem;
    font-weight: 500;
    line-height: 1; }
    #data02 .ageItem .num .decimal {
      font-size: 2.8rem; }
    #data02 .ageItem .num small {
      margin-left: .3rem;
      font-size: 2.8rem; }
  #data02 .ageItem.age20 {
    top: 0;
    right: 2rem; }
    #data02 .ageItem.age20::before {
      top: 4.8rem;
      right: calc(100% + .7rem);
      border-top: 1px solid #333;
      border-left: 1px solid #333;
      transform: skewX(-35deg);
      transform-origin: right top; }
  #data02 .ageItem.age30 {
    top: 11rem;
    right: -1rem; }
    #data02 .ageItem.age30::before {
      top: 4.8rem;
      right: calc(100% + .7rem);
      border-top: 1px solid #333;
      border-left: 1px solid #333;
      transform: skewX(-25deg);
      transform-origin: right top; }
  #data02 .ageItem.age40 {
    right: 1rem;
    bottom: 2rem; }
    #data02 .ageItem.age40::before {
      top: 1.4rem;
      right: calc(100% + .7rem);
      border-bottom: 1px solid #333;
      border-left: 1px solid #333;
      transform: skewX(35deg);
      transform-origin: right bottom; }
  #data02 .ageItem.age50 {
    left: 3rem;
    bottom: 3rem; }
    #data02 .ageItem.age50::before {
      top: 1.4rem;
      left: calc(100% + .7rem);
      border-bottom: 1px solid #333;
      border-right: 1px solid #333;
      transform: skewX(-35deg);
      transform-origin: left bottom; }
  #data02 .ageItem.age60 {
    top: 0;
    left: 3rem; }
    #data02 .ageItem.age60::before {
      top: 4.8rem;
      left: calc(100% + .7rem);
      border-top: 1px solid #333;
      border-right: 1px solid #333;
      transform: skewX(35deg);
      transform-origin: left top; }
@media (max-width: 999px) {
  #data02 .numberBoxs {
    max-width: 36rem;
    margin: 0 auto 1rem;
    grid-template-columns: 1fr;
    gap: 1rem; }
    #data02 .numberBoxs .numberBox {
      width: 100%;
      min-width: 0;
      min-height: auto;
      padding: 2rem;
      box-sizing: border-box; }
      #data02 .numberBoxs .numberBox .sttl {
        margin-bottom: 1rem;
        font-size: 2rem;
        text-align: center; }
      #data02 .numberBoxs .numberBox .ico {
        width: 11rem;
        height: auto;
        flex-shrink: 0; }
        #data02 .numberBoxs .numberBox .ico img {
          display: block;
          width: 100%;
          max-width: none;
          max-height: none;
          height: auto; }
      #data02 .numberBoxs .numberBox .numberArea {
        width: 17rem;
        min-width: 17rem;
        min-height: auto;
        margin-top: 0; }
      #data02 .numberBoxs .numberBox .number {
        width: 100%;
        height: auto;
        display: flex;
        align-items: baseline;
        justify-content: flex-start;
        white-space: nowrap; }
        #data02 .numberBoxs .numberBox .number .count {
          font-size: 5rem; }
          #data02 .numberBoxs .numberBox .number .count .decimal {
            font-size: 2.8rem; }
        #data02 .numberBoxs .numberBox .number small {
          margin-left: .3rem;
          font-size: 2.6rem;
          flex-shrink: 0; }
      #data02 .numberBoxs .numberBox:nth-child(1), #data02 .numberBoxs .numberBox:nth-child(3) {
        display: grid;
        grid-template-columns: 11rem 17rem;
        grid-template-areas: "ttl ttl" "ico number";
        justify-content: center;
        align-items: center;
        column-gap: 2rem; }
        #data02 .numberBoxs .numberBox:nth-child(1) .sttl, #data02 .numberBoxs .numberBox:nth-child(3) .sttl {
          grid-area: ttl; }
        #data02 .numberBoxs .numberBox:nth-child(1) .ico, #data02 .numberBoxs .numberBox:nth-child(3) .ico {
          grid-area: ico; }
        #data02 .numberBoxs .numberBox:nth-child(1) .numberArea, #data02 .numberBoxs .numberBox:nth-child(3) .numberArea {
          grid-area: number;
          width: 17rem;
          min-width: 17rem; }
      #data02 .numberBoxs .numberBox:nth-child(2) {
        display: grid;
        grid-template-columns: 11rem 17rem;
        grid-template-areas: "ttl ttl" "ico number";
        justify-content: center;
        align-items: center;
        column-gap: 2rem; }
        #data02 .numberBoxs .numberBox:nth-child(2) .sttl {
          grid-area: ttl; }
        #data02 .numberBoxs .numberBox:nth-child(2) .ico {
          grid-area: ico; }
        #data02 .numberBoxs .numberBox:nth-child(2) .numberArea {
          grid-area: number;
          width: 17rem;
          min-width: 17rem; }
        #data02 .numberBoxs .numberBox:nth-child(2) .ratioBox {
          width: 17rem;
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 1.2rem; }
          #data02 .numberBoxs .numberBox:nth-child(2) .ratioBox .ratio {
            width: 100%;
            display: grid;
            grid-template-columns: 3rem minmax(0, 1fr);
            align-items: baseline;
            gap: 1rem; }
            #data02 .numberBoxs .numberBox:nth-child(2) .ratioBox .ratio .label {
              width: 3rem;
              position: static;
              transform: none;
              font-size: 1.4rem;
              text-align: left;
              white-space: nowrap; }
            #data02 .numberBoxs .numberBox:nth-child(2) .ratioBox .ratio .number {
              width: 100%;
              justify-content: flex-start; }
              #data02 .numberBoxs .numberBox:nth-child(2) .ratioBox .ratio .number .count {
                font-size: 5rem; }
              #data02 .numberBoxs .numberBox:nth-child(2) .ratioBox .ratio .number small {
                font-size: 2.6rem; }
  #data02 .dataRatioBoxs {
    max-width: 36rem;
    margin: 0 auto;
    grid-template-columns: 1fr;
    gap: 1rem; }
  #data02 .jobRatioBox,
  #data02 .ageRatioBox {
    width: 100%;
    min-width: 0;
    min-height: auto;
    padding: 2rem;
    box-sizing: border-box; }
    #data02 .jobRatioBox .sttl,
    #data02 .ageRatioBox .sttl {
      margin-bottom: 2rem;
      font-size: 2rem; }
  #data02 .jobRatioList {
    padding-top: 0; }
    #data02 .jobRatioList .jobRatioItem {
      grid-template-columns: 8rem minmax(0, 1fr) 8.5rem;
      gap: 1rem;
      min-width: 0; }
      #data02 .jobRatioList .jobRatioItem + .jobRatioItem {
        margin-top: 1.2rem; }
      #data02 .jobRatioList .jobRatioItem .jobLabel {
        font-size: 1.4rem; }
      #data02 .jobRatioList .jobRatioItem .barBox {
        min-width: 0;
        height: 4.5rem; }
      #data02 .jobRatioList .jobRatioItem .ratioNum {
        display: flex;
        align-items: baseline;
        justify-content: flex-start;
        white-space: nowrap;
        font-size: 3rem; }
        #data02 .jobRatioList .jobRatioItem .ratioNum .decimal {
          font-size: 2.4rem; }
        #data02 .jobRatioList .jobRatioItem .ratioNum small {
          margin-left: .3rem;
          font-size: 2.2rem; }
  #data02 .ageRatioBox {
    padding: 2rem 1rem 0; }
    #data02 .ageRatioBox .sttl {
      margin-bottom: 0; }
  #data02 .ageChartBox {
    width: 100%;
    max-width: 33.5rem;
    height: 29rem;
    margin: 0 auto;
    display: block;
    position: relative; }
  #data02 .ageChart {
    width: 20rem;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    flex: none;
    transform: translate(-50%, -50%); }
    #data02 .ageChart::before {
      width: 11.5rem; }
    #data02 .ageChart .ageChartInner {
      width: 11rem; }
      #data02 .ageChart .ageChartInner .label {
        margin-bottom: .4rem;
        font-size: 1.4rem; }
      #data02 .ageChart .ageChartInner .average {
        font-size: 3.6rem; }
        #data02 .ageChart .ageChartInner .average .decimal {
          font-size: 2.2rem; }
        #data02 .ageChart .ageChartInner .average small {
          font-size: 2rem; }
  #data02 .ageItem {
    width: auto;
    position: absolute;
    text-align: left; }
    #data02 .ageItem::before {
      display: block;
      width: 2.5rem;
      height: 1.4rem;
      display: none; }
    #data02 .ageItem::after {
      display: none; }
    #data02 .ageItem .age {
      margin-bottom: .2rem;
      font-size: 1.2rem;
      line-height: 1; }
    #data02 .ageItem .num {
      justify-content: flex-start;
      white-space: nowrap;
      font-size: 2.8rem; }
      #data02 .ageItem .num .decimal {
        font-size: 1.8rem; }
      #data02 .ageItem .num small {
        font-size: 1.6rem; }
    #data02 .ageItem.age20 {
      top: 3rem;
      right: 20px; }
      #data02 .ageItem.age20::before {
        top: 2.8rem;
        right: calc(100% + .4rem);
        border-top: 1px solid #333;
        border-left: 1px solid #333;
        transform: skewX(-35deg);
        transform-origin: right top; }
    #data02 .ageItem.age30 {
      top: 9.5rem;
      right: -.3rem; }
      #data02 .ageItem.age30::before {
        top: 2.8rem;
        right: calc(100% + .4rem);
        border-top: 1px solid #333;
        border-left: 1px solid #333;
        transform: skewX(-25deg);
        transform-origin: right top; }
    #data02 .ageItem.age40 {
      right: 20px;
      bottom: 3rem; }
      #data02 .ageItem.age40::before {
        top: .9rem;
        right: calc(100% + .4rem);
        border-bottom: 1px solid #333;
        border-left: 1px solid #333;
        transform: skewX(35deg);
        transform-origin: right bottom; }
    #data02 .ageItem.age50 {
      left: 12px;
      bottom: 4rem; }
      #data02 .ageItem.age50::before {
        top: .9rem;
        left: calc(100% + .4rem);
        border-bottom: 1px solid #333;
        border-right: 1px solid #333;
        transform: skewX(-35deg);
        transform-origin: left bottom; }
    #data02 .ageItem.age60 {
      top: 3rem;
      left: 13px; }
      #data02 .ageItem.age60::before {
        top: 2.8rem;
        left: calc(100% + .4rem);
        border-top: 1px solid #333;
        border-right: 1px solid #333;
        transform: skewX(35deg);
        transform-origin: left top; } }

/* 
--------------------------------------- 
data03 
--------------------------------------- 
*/
#data03 .ttl {
  font-size: 4rem; }
#data03 .companyNumberBoxs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem; }
#data03 .companyNumberBox {
  min-width: 0;
  min-height: 42rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding: 4rem 3rem 3rem;
  background: #fff;
  text-align: center; }
  #data03 .companyNumberBox .sttl {
    width: 100%;
    margin-bottom: 3rem;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center; }
  #data03 .companyNumberBox .ico {
    width: 20rem;
    height: 20rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center; }
    #data03 .companyNumberBox .ico img {
      display: block;
      width: 20rem;
      height: auto;
      margin: 0 auto; }
  #data03 .companyNumberBox .numberArea {
    width: 100%;
    min-width: 0;
    margin-top: 2.5rem;
    text-align: center; }
  #data03 .companyNumberBox .number {
    width: 100%;
    min-height: 7rem;
    display: flex;
    align-items: baseline;
    justify-content: center;
    white-space: nowrap;
    line-height: 1; }
    #data03 .companyNumberBox .number .count {
      font-size: 6.4rem;
      font-weight: 500;
      letter-spacing: -.03em; }
      #data03 .companyNumberBox .number .count .decimal {
        font-size: 3.6rem; }
    #data03 .companyNumberBox .number small {
      margin-left: .4rem;
      font-size: 3.6rem;
      font-weight: 500; }
    #data03 .companyNumberBox .number.sales {
      justify-content: center; }
      #data03 .companyNumberBox .number.sales .sub {
        margin-left: 1rem;
        font-size: 4.8rem; }
  #data03 .companyNumberBox .note {
    margin-top: 3rem;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center; }
#data03 .truckBox {
  align-items: center; }
  #data03 .truckBox .sttl {
    text-align: center; }
  #data03 .truckBox .truckMain {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem; }
    #data03 .truckBox .truckMain .ico {
      margin: 0; }
      #data03 .truckBox .truckMain .ico img {
        width: 100%; }
    #data03 .truckBox .truckMain .numberArea {
      width: auto;
      min-width: 0;
      margin-top: 0; }
      #data03 .truckBox .truckMain .numberArea .number {
        justify-content: center; }
  #data03 .truckBox .truckBreakdown {
    width: max-content;
    max-width: 100%;
    margin: 0rem auto 0;
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    gap: 0rem 4rem; }
    #data03 .truckBox .truckBreakdown p {
      display: flex;
      align-items: baseline;
      justify-content: center;
      gap: 1.5rem;
      font-size: 2rem;
      font-weight: 500;
      white-space: nowrap;
      text-align: center;
      line-height: 1.5; }
      #data03 .truckBox .truckBreakdown p strong {
        display: flex;
        align-items: baseline;
        justify-content: center;
        font-size: 4.8rem;
        font-weight: 500; }
        #data03 .truckBox .truckBreakdown p strong small {
          margin-left: .3rem;
          font-size: 2.6rem; }
#data03 .purchaseBox {
  align-items: center; }
  #data03 .purchaseBox .ico img {
    width: 20rem; }
  #data03 .purchaseBox .numberArea {
    text-align: center; }
    #data03 .purchaseBox .numberArea .number {
      justify-content: center; }
@media (max-width: 999px) {
  #data03 .ttl {
    margin-bottom: 2rem;
    font-size: 2.4rem;
    text-align: center; }
  #data03 .companyNumberBoxs {
    max-width: 36rem;
    margin: 0 auto;
    grid-template-columns: 1fr;
    gap: 1rem; }
  #data03 .companyNumberBox {
    width: 100%;
    min-height: auto;
    padding: 2.5rem 2rem;
    background: #fff;
    box-sizing: border-box;
    text-align: center; }
    #data03 .companyNumberBox .sttl {
      margin-bottom: 1.5rem;
      font-size: 2rem;
      text-align: center; }
    #data03 .companyNumberBox .ico {
      width: 11rem;
      height: auto;
      margin: 0;
      flex-shrink: 0; }
      #data03 .companyNumberBox .ico img {
        width: 100%;
        margin: 0 auto; }
    #data03 .companyNumberBox .numberArea {
      width: 17rem;
      min-width: 17rem;
      margin-top: 0;
      text-align: center; }
    #data03 .companyNumberBox .number {
      min-height: 0;
      justify-content: center; }
      #data03 .companyNumberBox .number .count {
        font-size: 5rem; }
        #data03 .companyNumberBox .number .count .decimal {
          font-size: 2.8rem; }
      #data03 .companyNumberBox .number small {
        font-size: 2.6rem; }
      #data03 .companyNumberBox .number.sales {
        flex-wrap: wrap;
        justify-content: flex-start; }
        #data03 .companyNumberBox .number.sales .sub {
          margin-left: .8rem;
          font-size: 3.2rem; }
        #data03 .companyNumberBox .number.sales small {
          font-size: 2rem; }
    #data03 .companyNumberBox .note {
      margin-top: 1.5rem;
      font-size: 1.1rem;
      text-align: center; }
    #data03 .companyNumberBox:nth-child(1), #data03 .companyNumberBox:nth-child(2), #data03 .companyNumberBox:nth-child(4) {
      display: grid;
      grid-template-columns: 11rem 17rem;
      grid-template-areas: "ttl ttl" "ico number";
      justify-content: center;
      align-items: center;
      column-gap: 2rem; }
      #data03 .companyNumberBox:nth-child(1) .sttl, #data03 .companyNumberBox:nth-child(2) .sttl, #data03 .companyNumberBox:nth-child(4) .sttl {
        grid-area: ttl;
        text-align: center; }
      #data03 .companyNumberBox:nth-child(1) .ico, #data03 .companyNumberBox:nth-child(2) .ico, #data03 .companyNumberBox:nth-child(4) .ico {
        grid-area: ico;
        justify-self: center; }
      #data03 .companyNumberBox:nth-child(1) .numberArea, #data03 .companyNumberBox:nth-child(2) .numberArea, #data03 .companyNumberBox:nth-child(4) .numberArea {
        grid-area: number;
        justify-self: center; }
  #data03 .truckBox {
    align-items: center; }
    #data03 .truckBox .sttl {
      text-align: center; }
    #data03 .truckBox .truckMain {
      width: 100%;
      justify-content: center;
      gap: 2rem; }
      #data03 .truckBox .truckMain .ico {
        width: 14rem;
        height: auto;
        margin: 0; }
      #data03 .truckBox .truckMain .numberArea {
        width: 14rem;
        min-width: 14rem;
        margin: 0; }
        #data03 .truckBox .truckMain .numberArea .number {
          justify-content: center; }
    #data03 .truckBox .truckBreakdown {
      width: max-content;
      max-width: 100%;
      margin: 0 auto 0;
      grid-template-columns: repeat(2, auto);
      justify-content: center;
      gap: 0 2rem; }
      #data03 .truckBox .truckBreakdown p {
        justify-content: center;
        gap: .8rem;
        font-size: 1.4rem; }
        #data03 .truckBox .truckBreakdown p strong {
          justify-content: center;
          font-size: 3.2rem; }
          #data03 .truckBox .truckBreakdown p strong small {
            font-size: 1.8rem; }
  #data03 .purchaseBox .ico img {
    width: 100%; } }

/*
---------------------------------------
data04
---------------------------------------
*/
#data04 .ttl {
  font-size: 4rem; }
#data04 .workBoxs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem; }
#data04 .workBox {
  min-width: 0;
  min-height: 40rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #fff;
  padding: 4rem 3rem 3rem; }
  #data04 .workBox .sttl {
    width: 100%;
    margin-bottom: 4rem;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap; }
  #data04 .workBox .ico {
    width: 20rem;
    height: 20rem;
    display: flex;
    align-items: center;
    justify-content: center; }
    #data04 .workBox .ico img {
      display: block;
      width: 100%;
      height: auto; }
  #data04 .workBox .numberArea {
    width: 100%;
    margin-top: 3rem; }
  #data04 .workBox .number {
    width: 100%;
    display: flex;
    align-items: baseline;
    justify-content: center;
    white-space: nowrap;
    line-height: 1; }
    #data04 .workBox .number .count {
      font-size: 6.4rem;
      font-weight: 500;
      letter-spacing: -.03em; }
      #data04 .workBox .number .count .decimal {
        font-size: 3.6rem; }
    #data04 .workBox .number small {
      margin-left: .4rem;
      font-size: 3.6rem;
      font-weight: 500; }
  #data04 .workBox .note {
    width: 100%;
    margin-top: 4rem;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap; }
@media (max-width: 999px) {
  #data04 .ttl {
    margin-bottom: 2rem;
    font-size: 2.4rem;
    text-align: center; }
  #data04 .workBoxs {
    max-width: 36rem;
    margin: 0 auto;
    grid-template-columns: 1fr;
    gap: 1rem; }
  #data04 .workBox {
    width: 100%;
    min-height: auto;
    padding: 2.5rem 2rem;
    display: grid;
    grid-template-columns: 11rem 17rem;
    grid-template-areas: "ttl ttl" "ico number" "note note";
    justify-content: center;
    align-items: center;
    column-gap: 2rem;
    box-sizing: border-box; }
    #data04 .workBox .sttl {
      grid-area: ttl;
      margin-bottom: 1.5rem;
      font-size: 2rem;
      white-space: normal; }
    #data04 .workBox .ico {
      grid-area: ico;
      width: 11rem;
      height: 11rem; }
    #data04 .workBox .numberArea {
      grid-area: number;
      width: 17rem;
      margin-top: 0; }
    #data04 .workBox .number {
      justify-content: flex-start; }
      #data04 .workBox .number .count {
        font-size: 5rem; }
        #data04 .workBox .number .count .decimal {
          font-size: 2.8rem; }
      #data04 .workBox .number small {
        font-size: 2.6rem; }
    #data04 .workBox .note {
      grid-area: note;
      margin-top: 1.5rem;
      font-size: 1.1rem;
      white-space: normal; } }

/*
---------------------------------------
data05
---------------------------------------
*/
#data05 .headBox {
  text-align: center; }
  #data05 .headBox .ttl {
    font-size: 4rem; }
  #data05 .headBox .note {
    margin-top: 2.5rem;
    font-size: 1.4rem;
    line-height: 2; }
#data05 .licenseBoxs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem; }
#data05 .licenseBox {
  min-width: 0;
  min-height: 34rem;
  padding: 3rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  text-align: center; }
  #data05 .licenseBox.large {
    grid-column: span 2; }
    #data05 .licenseBox.large .ico {
      width: 18rem;
      height: 18rem; }
    #data05 .licenseBox.large .number .count {
      font-size: 5.6rem; }
    #data05 .licenseBox.large .number small {
      font-size: 2.8rem; }
  #data05 .licenseBox .sttl {
    min-height: 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.5; }
  #data05 .licenseBox .ico {
    width: 16rem;
    height: 16rem;
    display: flex;
    align-items: center;
    justify-content: center; }
    #data05 .licenseBox .ico img {
      display: block;
      width: 100%;
      height: auto;
      max-height: 100%;
      object-fit: contain; }
  #data05 .licenseBox .number {
    display: flex;
    align-items: baseline;
    justify-content: center;
    line-height: 1;
    white-space: nowrap; }
    #data05 .licenseBox .number .count {
      font-size: 4.8rem;
      font-weight: 500; }
    #data05 .licenseBox .number small {
      margin-left: .4rem;
      font-size: 2.6rem;
      font-weight: 500; }
@media (max-width: 999px) {
  #data05 .headBox {
    margin-bottom: 2rem; }
    #data05 .headBox .ttl {
      font-size: 2.4rem; }
    #data05 .headBox .note {
      margin-top: 1.5rem;
      font-size: 1.1rem;
      line-height: 1.8; }
  #data05 .licenseBoxs {
    max-width: 36rem;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem; }
  #data05 .licenseBox {
    min-height: 22rem;
    padding: 2rem 1rem; }
    #data05 .licenseBox.large {
      grid-column: span 2;
      min-height: 20rem;
      display: grid;
      grid-template-columns: 11rem 15rem;
      grid-template-areas: "ttl ttl" "ico number";
      justify-content: center;
      align-items: center;
      column-gap: 2rem; }
      #data05 .licenseBox.large .sttl {
        grid-area: ttl; }
      #data05 .licenseBox.large .ico {
        grid-area: ico;
        width: 11rem;
        height: 11rem; }
      #data05 .licenseBox.large .number {
        grid-area: number;
        justify-content: flex-start; }
        #data05 .licenseBox.large .number .count {
          font-size: 5rem; }
        #data05 .licenseBox.large .number small {
          font-size: 2.6rem; }
    #data05 .licenseBox .sttl {
      min-height: 5rem;
      font-size: 1.6rem; }
    #data05 .licenseBox .ico {
      width: 10rem;
      height: 10rem; }
    #data05 .licenseBox .number .count {
      font-size: 4rem; }
    #data05 .licenseBox .number small {
      font-size: 2rem; } }
