body {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; /* フォント*/
  background: #000000; /* 色:背景色*/
  color: #ffffff; /* 色:文字*/
  display: flex; /* 位置:フレックス*/
  justify-content: center; /* 位置:横*/
  align-items: center; /* 位置:縦*/
  height: 100vh; /*位置:画面基準*/
  margin: 0; /* 余白:ブラウザ*/
  user-select: none;
}

.nav-card {
  position: relative;
  background: #1e1e1e; /* 色:背景色*/
  border-radius: 20px; /* 形:角の丸み*/
  padding: 0px; /* 余白:内側*/
  display: flex; /* 位置:フレックス*/
  flex-direction: column; /* 要素:並び */
  justify-content: center; /* 位置:縦*/
  text-align: center; /* 位置:文字横*/
  width: 50vw; /* 形:横幅*/
  height: 70vh; /* 形:縦幅*/
  filter: drop-shadow(0 0 10px rgb(255, 255, 255)); /* 影*/
}

/* .street{ */
/*   font-size: clamp(20px, 4vw, 100px); /* 文字:最小/可変/最大*/
/*   font-weight: bold; /* 文字:状態*/
/*  color: #ffffff; /* 色*/
/*  white-space: nowrap;/*改行禁止*/
/*}*/

.total_distance {
  position: absolute;
  font-size: clamp(10px, 2vw, 20px);
  padding: 10px; /* 余白:内側*/
  font-weight: bold; /* 文字:状態*/
  top: 0; /* 位置:横*/
  right: 0; /* 位置:横*/
}

/* 1. 矢印アニメーション部分 */
.arrow-container {
  font-size: clamp(70px, 8vw, 130px); /* 文字:最小/可変/最大*/
  margin-bottom: 10px; /* 余白:外側*/
  height: 20vh; /* 形:縦幅*/
  display: flex; /* 位置:フレックス*/
  justify-content: center; /* 位置:横*/
  align-items: center; /* 位置:縦*/
}
.arrow {
  display: inline-block;
}
/* 直進を促すアニメーション*/
.arrow.straight {
  animation: bounceVertical 0.8s infinite alternate;
}
/* 右へ誘導するアニメーション */
.arrow.right {
  animation: bounceRight 0.8s infinite alternate; /* 動き:キーフレーム/動作秒数/繰り返し/終了時動作指定*/
}
/* 左へ誘導するアニメーション */
.arrow.left {
  animation: bounceLeft 0.8s infinite alternate; /* 動き:キーフレーム/動作秒数/繰り返し/終了時動作指定*/
}
/* 右斜めへ誘導するアニメーション*/
.arrow.slight.right {
  animation: bounceUpRight 0.8s infinite alternate; /* 動き:キーフレーム/動作秒数/繰り返し/終了時動作指定*/
}
/* 左斜めへ誘導するアニメーション*/
.arrow.slight.left {
  animation: bounceUpLeft 0.8s infinite alternate; /* 動き:キーフレーム/動作秒数/繰り返し/終了時動作指定*/
}
.arrow.uturn {
  animation: spinContinuous 1.5s infinite linear; /* 動き:キーフレーム/動作秒数/繰り返し/終了時動作指定*/
}

@keyframes bounceVertical {
  0% {
    transform: translateY(-10%); /* 開始位置*/
  }
  100% {
    transform: translateY(10%); /* 終了位置*/
  }
}
@keyframes bounceLeft {
  0% {
    transform: translateX(10%); /* 開始位置*/
  }
  100% {
    transform: translateX(-10%); /* 終了位置*/
  }
}
@keyframes bounceRight {
  0% {
    transform: translateX(-10%); /* 開始位置*/
  }
  100% {
    transform: translateX(10%); /* 終了位置*/
  }
}
@keyframes bounceUpRight {
  0% {
    transform: translate(-10%, -10%); /* 開始位置 */
  }
  100% {
    transform: translate(10%, 10%); /* 終了位置*/
  }
}
@keyframes bounceUpLeft {
  0% {
    transform: translate(10%, -10%); /* 開始位置 */
  }
  100% {
    transform: translate(-10%, 10%); /* 終了位置*/
  }
}
@keyframes spinContinuous {
  0% {
    transform: rotate(0deg); /* 開始位置 */
  }
  100% {
    transform: rotate(360deg); /* 終了位置*/
  }
}

/* 2. 残りメートル数の点滅アニメーション */
.distance {
  font-size: clamp(60px, 6vw, 100px); /* 文字:最小/可変/最大*/
  font-weight: bold; /* 文字:状態*/
  color: #4cd137; /* 色*/
  animation: blink 1s infinite; /* 動き:キーフレーム/動作秒数/繰り返し*/
}

@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}

.instruction {
  font-size: 16px;
  color: #b2bec3;
  margin-top: 10px;
}

.goal {
  font-size: clamp(60px, 6vw, 100px); /* 文字:最小/可変/最大*/
  font-weight: bold; /* 文字:状態*/
  color: #4cd137; /* 色*/
  animation: blink 1s infinite; /* 動き:キーフレーム/動作秒数/繰り返し*/
}

@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}
.start {
  font-size: clamp(60px, 6vw, 100px); /* 文字:最小/可変/最大*/
  font-weight: bold; /* 文字:状態*/
  color: #4cd137; /* 色*/
  animation: blink 1s infinite; /* 動き:キーフレーム/動作秒数/繰り返し*/
}

@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}


#alarm{
  position: absolute;
  margin: 0 auto;
  top: 70%;
  font-size: 200%;
}
#radiusbutton{
  position: absolute;
  margin: 0 auto;
  top: 57%;
  font-size: 200%;
}
.flex{
  position: absolute;
  margin: 0 auto;
  top: 65%;
  display: flex;
  gap: 20px;
}
.flex div{
  font-size: 130%;
  border: solid 1px #fff;
  border-radius: 10px;
  padding: 10px 20px;
}
.returnhome{
  position: absolute;
  top: 5px;
  left: 25%;
  font-size: 130%;
  border: solid 2px #fff;
  border-radius: 5px;
  padding: 5px 10px;
}
.degree{
  position: absolute;
  margin: 0 auto;
  top: 90%;
  display: flex;
  gap: 20px;
}
#startBtn{
  border: solid 1px #fff;
  height: 40px;
  width: 80px;
  text-align: center;
  line-height: 40px;
}