@charset "UTF-8";
/* --------------------------------------------------------
	 innumbers
	 -------------------------------------------------------- */
.hero__desc .md {
  display: none;
}
@media (min-width: 820px) and (max-width: 1439px) {
  .hero__desc .md {
    display: inline;
  }
}

.innumbers-section {
  padding: 12.8205128205vw 0 15.3846153846vw;
}
.innumbers-section.-driver {
  padding-bottom: 0;
}
@media (min-width: 820px) {
  .innumbers-section {
    padding: 80px 0;
  }
  .innumbers-section.-driver {
    padding-bottom: 0;
  }
}

.innumbers-header {
  margin-bottom: 7.6923076923vw;
}
@media (min-width: 820px) {
  .innumbers-header {
    margin-bottom: 40px;
  }
}

/* --------------------------------------------------------
   grid
   -------------------------------------------------------- */
.innum-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7.6923076923vw;
}
@media (min-width: 820px) {
  .innum-grid {
    gap: 16px;
    /*
     PC レイアウト:
     行1: cell1(50%) | cell2(50%)
     行2: cell3(33%) | cell4(33%) | cell5(33%)
     → subgrid相当を grid-template-areas + 6列で実現
    */
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas: "cell1 cell1 cell1 cell2 cell2 cell2" "cell3 cell3 cell4 cell4 cell5 cell5";
  }
}

/* ── セル共通 ── */
.innum-cell {
  display: flex;
  flex-direction: column;
  padding: 6.6666666667vw;
  position: relative;
}
.innum-cell.-orange-deep {
  background: var(--color-orange-deep);
  color: #fff;
}
.innum-cell.-orange-deep .innum-cell__label {
  color: var(--color-orange-deep);
}
.innum-cell.-orange {
  background: var(--color-orange);
  color: #fff;
}
.innum-cell.-orange .innum-cell__label {
  color: var(--color-orange);
}
.innum-cell.-yellow {
  background: var(--color-yellow-light);
  color: #fff;
}
.innum-cell.-yellow .innum-cell__label {
  color: var(--color-yellow-light);
}
@media (min-width: 820px) {
  .innum-cell {
    padding: clamp(24px, 2.5vw, 48px);
  }
}

/* grid-area 割り当て */
@media (min-width: 820px) {
  .innum-cell.-cell1 .innum-cell__body {
    margin-bottom: 0;
    flex: none;
  }
}
.innum-cell.-cell1 .innum-cell__head img[src$=".svg"] {
  width: 43px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-cell.-cell1 .innum-cell__head {
    min-height: 70px;
    height: 5.1388888889vw;
    margin-bottom: 44px;
  }
  .innum-cell.-cell1 .innum-cell__head img[src$=".svg"] {
    width: 67px;
  }
}
@media (min-width: 1440px) {
  .innum-cell.-cell1 .innum-cell__head {
    height: 74px;
    margin-bottom: 44px;
  }
}
@media (min-width: 820px) {
  .innum-cell.-cell1 .innum-cell__desc {
    margin-top: 2px;
  }
}
.innum-cell.-cell1 .innum-stat__num {
  width: 1.75em;
  text-align: right;
}
@media (min-width: 820px) {
  .innum-cell.-cell1 {
    grid-area: cell1;
  }
}

@media (min-width: 820px) {
  .innum-cell.-cell2 {
    grid-area: cell2;
  }
}
.innum-cell.-cell2 .innum-cell__head img[src$=".svg"] {
  width: 50px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-cell.-cell2 .innum-cell__head img[src$=".svg"] {
    width: 74px;
  }
  .innum-cell.-cell2 .innum-cell__head {
    margin-bottom: 18px;
    min-height: 70px;
    height: 5.1388888889vw;
  }
}
@media (min-width: 1440px) {
  .innum-cell.-cell2 .innum-cell__head {
    height: 74px;
  }
}

.innum-cell.-cell3 .innum-cell__head img[src$=".svg"] {
  width: 46px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-cell.-cell3 .innum-cell__head img[src$=".svg"] {
    width: 66px;
  }
}
@media (min-width: 820px) {
  .innum-cell.-cell3 {
    grid-area: cell3;
  }
}

.innum-cell.-cell4 .innum-cell__head img[src$=".svg"] {
  width: 42px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-cell.-cell4 .innum-cell__head img[src$=".svg"] {
    width: 62px;
  }
}
@media (min-width: 820px) {
  .innum-cell.-cell4 {
    grid-area: cell4;
  }
}

.innum-cell.-cell5 .innum-cell__head img[src$=".svg"] {
  width: 48px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-cell.-cell5 .innum-cell__head img[src$=".svg"] {
    width: 65px;
  }
}
@media (min-width: 820px) {
  .innum-cell.-cell5 {
    grid-area: cell5;
  }
}

/* ── セルヘッダー（ラベル + アイコン）── */
.innum-cell__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 3.5897435897vw;
}
@media (min-width: 820px) {
  .innum-cell__head {
    margin-bottom: 36px;
    height: 4.5833333333vw;
  }
}
@media (max-width: 819px) {
  .innum-cell__head img {
    max-width: 12.8205128205vw;
  }
}

.innum-cell__label {
  font-size: 4.6153846154vw;
  font-weight: 700;
  line-height: 1.6;
}
@media (min-width: 820px) {
  .innum-cell__label {
    font-size: 1.8055555556vw;
  }
}
.innum-cell__label span {
  background: #fff;
  padding: 0 4px;
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media (min-width: 820px) {
  .innum-cell__label.-sm {
    font-size: 1.5277777778vw;
  }
}

.innum-cell__icon {
  width: 10.2564102564vw;
  height: 10.2564102564vw;
  flex-shrink: 0;
  object-fit: contain;
}
@media (min-width: 820px) {
  .innum-cell__icon {
    width: clamp(36px, 3.6111111111vw, 56px);
    height: clamp(36px, 3.6111111111vw, 56px);
  }
}

.innum-cell__body {
  flex: 1;
  margin-bottom: 4.1025641026vw;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (min-width: 820px) {
  .innum-cell__body {
    margin-bottom: 20px;
    flex: none;
  }
  .innum-cell__body.-fit {
    flex: 1;
    flex-direction: column;
    justify-content: flex-end;
  }
}

.innum-stat__item.-row {
  display: flex;
  align-items: center;
}

.innum-cell__desc {
  font-size: var(--font-size-13);
  line-height: 1.7;
  margin-top: auto;
  border-top: 1px solid #fff;
  padding-top: 4.1025641026vw;
}
@media (min-width: 820px) {
  .innum-cell__desc {
    font-size: var(--font-size-16);
    padding-top: 20px;
    margin-top: 0;
  }
}

.innum-cell__note {
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.3;
  margin-top: 4px;
}
@media (min-width: 820px) {
  .innum-cell__note {
    font-size: 2.2222222222vw;
  }
}
@media (min-width: 1440px) {
  .innum-cell__note {
    font-size: 32px;
  }
}

/* --------------------------------------------------------
   統計数値 共通
   -------------------------------------------------------- */
.innum-stat__sub {
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 4px;
}
@media (min-width: 820px) {
  .innum-stat__sub {
    font-size: 1.9444444444vw;
  }
  .innum-stat__sub.-fixed {
    height: 2em;
    display: flex;
    align-items: flex-end;
  }
}
@media (min-width: 1440px) {
  .innum-stat__sub {
    font-size: 30px;
  }
}
.innum-stat__sub span {
  font-size: 8.7179487179vw;
  letter-spacing: 0.075em;
}
@media (min-width: 820px) {
  .innum-stat__sub span {
    font-size: 4.0277777778vw;
  }
}
@media (min-width: 1440px) {
  .innum-stat__sub span {
    font-size: 58px;
  }
}
.innum-stat__sub small {
  font-size: 4.6153846154vw;
}
@media (min-width: 820px) {
  .innum-stat__sub small {
    font-size: 1.5277777778vw;
  }
}
@media (min-width: 1440px) {
  .innum-stat__sub small {
    font-size: 22px;
  }
}

/* 数値 */
.innum-stat__num {
  font-family: var(--font-Albert);
  font-weight: 700;
  line-height: 1;
  font-size: 18.4615384615vw;
  position: relative;
}
.innum-stat__num span {
  font-size: clamp(28px, 8.7179487179vw, 44px);
}
@media (min-width: 820px) {
  .innum-stat__num {
    font-size: 8.8888888889vw;
  }
  .innum-stat__num span {
    font-size: clamp(30px, 3.0555555556vw, 52px);
  }
}
@media (min-width: 1440px) {
  .innum-stat__num {
    font-size: 128px;
  }
  .innum-stat__num span {
    font-size: 44px;
  }
}
.innum-stat__num span {
  font-family: "Noto Sans JP", sans-serif;
}
.innum-stat__num em {
  font-style: normal;
}
.innum-stat__num.-lg span {
  font-size: clamp(28px, 8.7179487179vw, 44px);
}
@media (min-width: 820px) {
  .innum-stat__num.-lg {
    font-size: 9.375vw;
  }
  .innum-stat__num.-lg span {
    font-size: 4.8611111111vw;
  }
}
@media (min-width: 1440px) {
  .innum-stat__num.-lg {
    font-size: 135px;
  }
  .innum-stat__num.-lg span {
    font-size: 70px;
  }
}
.innum-stat__num.-md span {
  font-size: clamp(24px, 7.6923076923vw, 40px);
}
@media (min-width: 820px) {
  .innum-stat__num.-md {
    font-size: 8.3333333333vw;
  }
  .innum-stat__num.-md span {
    font-size: 3.4722222222vw;
  }
}
@media (min-width: 1440px) {
  .innum-stat__num.-md {
    font-size: 120px;
  }
  .innum-stat__num.-md span {
    font-size: 50px;
  }
}
.innum-stat__num.-xl {
  font-size: 18.4615384615vw;
}
.innum-stat__num.-xl span {
  font-size: 7.6923076923vw;
}
@media (min-width: 820px) {
  .innum-stat__num.-xl {
    font-size: 9.0277777778vw;
  }
  .innum-stat__num.-xl span {
    font-size: 4.4444444444vw;
  }
}
@media (min-width: 1024px) {
  .innum-stat__num.-xl {
    font-size: 9.375vw;
  }
  .innum-stat__num.-xl span {
    font-size: 4.8611111111vw;
  }
}
@media (min-width: 1440px) {
  .innum-stat__num.-xl {
    font-size: 135px;
  }
  .innum-stat__num.-xl span {
    font-size: 70px;
  }
}

.innum-stat.-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3.0769230769vw;
}
@media (min-width: 820px) {
  .innum-stat.-col {
    gap: 0;
  }
}

.innum-stat__small {
  display: inline-block;
  font-size: 1.25vw;
  color: var(--color-blue-deep);
  position: absolute;
  right: 5px;
  top: 2.0833333333vw;
}

/* --------------------------------------------------------
   運転士特化データ
   -------------------------------------------------------- */
.innumbers-section.-driver {
  padding-bottom: 0;
}
.innumbers-section.-driver .container {
  padding-bottom: 30px;
}
@media (min-width: 820px) {
  .innumbers-section.-driver .container {
    padding-bottom: 50px;
  }
}
.innumbers-section.-driver .section-header {
  margin-bottom: 0;
}
@media (min-width: 820px) {
  .innumbers-section.-driver {
    padding-bottom: 0;
  }
}

.innum-driver-bg {
  background: var(--color-blue);
  position: relative;
  /* overflow: hidden; */
  padding: 10.2564102564vw 0 15.3846153846vw;
}
.innum-driver-bg::after {
  content: "";
  position: absolute;
  background: var(--color-blue);
  width: 50vw;
  height: 10.2564102564vw;
  top: -10vw;
  right: 0;
  clip-path: polygon(15% 0%, 100% 0%, 100% 100%, 0 100%);
  z-index: 1;
}
@media (min-width: 820px) {
  .innum-driver-bg::after {
    width: 51.0416666667vw;
    height: 4.1666666667vw;
    top: -4.0972222222vw;
    clip-path: polygon(7.5% 0%, 100% 0%, 100% 100%, 0 100%);
  }
}
.innum-driver-bg::before {
  content: "";
  width: 61.5384615385vw;
  height: 61.5384615385vw;
  position: absolute;
  top: -61.5384615385vw;
  right: 0;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  background: #fff;
  z-index: 0;
}
@media (min-width: 820px) {
  .innum-driver-bg::before {
    top: -22.2222222222vw;
    width: 34.7222222222vw;
    height: 22.2222222222vw;
  }
}
.innum-driver-bg .container {
  position: relative;
  z-index: 1;
}
@media (min-width: 820px) {
  .innum-driver-bg {
    padding: 60px 0 120px;
  }
}

/* --------------------------------------------------------
   運転士特化データ: カードグリッド
   SP: 1カラム / PC: 2カラム
   -------------------------------------------------------- */
.innum-driver-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5.1282051282vw;
}
@media (min-width: 820px) {
  .innum-driver-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

/* ── 運転士カード共通 ── */
.innum-driver-card {
  background: #fff;
  padding: 7.6923076923vw;
  display: flex;
  flex-direction: column;
  color: var(--color-blue-deep);
}
@media (min-width: 820px) {
  .innum-driver-card {
    padding: clamp(32px, 2.7777777778vw, 48px);
  }
}
@media (min-width: 960px) {
  .innum-driver-card {
    padding: 60px;
  }
}
.innum-driver-card .innum-cell__desc {
  border-color: var(--color-blue-deep);
}

/* 奇数カード（1,3,5番目）の背景色 */
.innum-driver-grid > .innum-driver-card {
  background: var(--color-blue-sky);
}
@media (max-width: 819px) {
  .innum-driver-grid > .innum-driver-card:nth-child(even) {
    background: #fff;
  }
  .innum-driver-grid > .innum-driver-card:nth-child(even) .innum-cell__label {
    color: #fff;
  }
  .innum-driver-grid > .innum-driver-card:nth-child(even) .innum-cell__label span {
    background: var(--color-blue-deep);
  }
}
@media (min-width: 820px) {
  .innum-driver-grid > .innum-driver-card.-pc {
    background: #fff;
  }
  .innum-driver-grid > .innum-driver-card.-pc .innum-cell__label {
    color: #fff;
  }
  .innum-driver-grid > .innum-driver-card.-pc .innum-cell__label span {
    background: var(--color-blue-deep);
  }
}

/* 画像付きカード（2階建てバス・運転士）*/
.innum-driver-card.-img-card {
  padding: 0 0 6.6666666667vw;
  overflow: hidden;
}
@media (min-width: 820px) {
  .innum-driver-card.-img-card {
    padding: 0 0 clamp(24px, 2.5vw, 48px);
  }
}
.innum-driver-card.-img-card .innum-cell__head {
  padding: 6.6666666667vw 6.6666666667vw 0;
}
@media (min-width: 820px) {
  .innum-driver-card.-img-card .innum-cell__head {
    padding: clamp(24px, 2.5vw, 48px) clamp(24px, 2.5vw, 48px) 0;
    height: calc(5.1388888889vw + clamp(24px, 2.5vw, 48px));
  }
}
.innum-driver-card.-img-card .innum-driver-card__text {
  padding: 0 6.6666666667vw 3.5897435897vw;
  display: flex;
  flex-direction: column;
}
@media (min-width: 820px) {
  .innum-driver-card.-img-card .innum-driver-card__text {
    padding: 0 clamp(24px, 2.5vw, 48px) clamp(24px, 2.5vw, 48px);
  }
}
.innum-driver-card.-img-card .innum-driver-card__img {
  width: 100%;
  overflow: hidden;
  padding-left: 6.6666666667vw;
}
@media (min-width: 820px) {
  .innum-driver-card.-img-card .innum-driver-card__img {
    padding-left: clamp(24px, 2.5vw, 48px);
  }
}
.innum-driver-card.-img-card .innum-driver-card__img img {
  width: 100%;
  height: 39.4871794872vw;
  object-fit: cover;
  display: block;
}
@media (min-width: 820px) {
  .innum-driver-card.-img-card .innum-driver-card__img img {
    height: 24.3055555556vw;
  }
}
.innum-driver-card.-img-card {
  /* -reverse: 画像が上（運転士カード）*/
}
.innum-driver-card.-img-card.-reverse .innum-driver-card__img {
  margin-bottom: 3.5897435897vw;
  padding-left: 0;
  padding-right: 6.6666666667vw;
}
@media (min-width: 820px) {
  .innum-driver-card.-img-card.-reverse .innum-driver-card__img {
    margin-bottom: 2.0833333333vw;
    padding-right: clamp(24px, 2.5vw, 48px);
  }
}
.innum-driver-card.-img-card.-reverse .innum-driver-card__text {
  align-items: flex-end;
}

.innum-driver-card.-cell1 .innum-cell__head img[src$=".svg"] {
  width: 53px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell1 .innum-cell__head img[src$=".svg"] {
    width: 90px;
  }
}

.innum-driver-card.-cell2 .innum-cell__head img[src$=".svg"] {
  width: 46px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell2 .innum-cell__head img[src$=".svg"] {
    width: 86px;
  }
}

.innum-driver-card.-cell3 .innum-cell__head img[src$=".svg"] {
  width: 42px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell3 .innum-cell__head img[src$=".svg"] {
    width: 78px;
  }
}
.innum-driver-card.-cell3 .innum-stat.-col {
  width: 100%;
  gap: 0;
}
.innum-driver-card.-cell3 .innum-stat__item.-row {
  text-align: right;
  width: 100%;
  align-items: flex-start;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell3 .innum-stat__item.-row {
    align-items: center;
  }
}
.innum-driver-card.-cell3 .innum-stat__num {
  width: 60%;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell3 .innum-stat__num {
    width: 70%;
  }
}
@media (min-width: 820px) and (max-width: 1439px) {
  .innum-driver-card.-cell3 .innum-stat__num span {
    font-size: 4.1666666667vw;
  }
}
@media (min-width: 1440px) {
  .innum-driver-card.-cell3 .innum-stat__num {
    width: 60%;
  }
}
.innum-driver-card.-cell3 .innum-stat__sub {
  font-size: var(--font-size-15);
  margin-bottom: 6px;
  width: 40%;
}
.innum-driver-card.-cell3 .innum-stat__sub span {
  line-height: 1;
  font-size: 7.6923076923vw;
  margin-top: 7.6923076923vw;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell3 .innum-stat__sub {
    font-size: 2.0833333333vw;
    width: 30%;
  }
}
@media (min-width: 1024px) {
  .innum-driver-card.-cell3 .innum-stat__sub {
    font-size: 2.3611111111vw;
  }
}
@media (min-width: 1440px) {
  .innum-driver-card.-cell3 .innum-stat__sub {
    font-size: 40px;
    width: 40%;
  }
}
@media (min-width: 820px) {
  .innum-driver-card.-cell3 .innum-stat__small {
    top: 2.6388888889vw;
  }
}
@media (min-width: 1440px) {
  .innum-driver-card.-cell3 .innum-stat__small {
    top: 28px;
  }
}

.innum-driver-card.-cell4 .innum-cell__head img[src$=".svg"] {
  width: 56px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell4 .innum-cell__head img[src$=".svg"] {
    width: 90px;
  }
}

.innum-driver-card.-cell5 .innum-cell__head img[src$=".svg"] {
  width: 32px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell5 .innum-cell__head img[src$=".svg"] {
    width: 54px;
  }
}

.innum-driver-card.-cell6 .innum-cell__head img[src$=".svg"] {
  width: 44px;
  height: auto;
}
@media (min-width: 820px) {
  .innum-driver-card.-cell6 .innum-cell__head img[src$=".svg"] {
    width: 74px;
  }
}

/* --------------------------------------------------------
   innum-photo-banner
   -------------------------------------------------------- */
.innum-photo-banner {
  position: relative;
  width: 100%;
  /* 	width: calc(100vw - calc(50 / 390 * 100vw));
  	height: calc(100vw - calc(50 / 390 * 100vw));
   */
  overflow: hidden;
  margin-top: 5.1282051282vw;
  margin-bottom: 10.2564102564vw;
}
@media (min-width: 820px) {
  .innum-photo-banner {
    margin-top: 24px;
    margin-bottom: 60px;
  }
}
.innum-photo-banner a {
  display: block;
}
.innum-photo-banner img {
  width: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.3s linear;
}
@media (min-width: 820px) {
  .innum-photo-banner img {
    height: clamp(300px, 33.3333333333vw, 560px);
  }
}
.innum-photo-banner .btn {
  width: 32.8205128205vw;
  height: 32.8205128205vw;
  font-size: var(--font-size-18);
}
@media (min-width: 820px) {
  .innum-photo-banner .btn {
    width: 128px;
    height: 128px;
  }
}
@media (any-hover: hover) {
  .innum-photo-banner:hover img {
    transform: scale(1.05);
  }
  .innum-photo-banner:hover .btn {
    background: var(--color-blue-deep);
    color: #fff;
  }
}

/*# sourceMappingURL=innumbers.css.map */
