body {
  background: #ddd;
  margin: 0;
}

:root {
  /* タイム表示の左右オフセット（負の値で左へ、正の値で右へ） */
  --time-offset-x: -20px;
}

/* 全体をまとめる */
.wrapper {
  width: 760px;
  height: 400px;
  position: relative;
}

/* 青い楕円（外側） */
.outer {
  width: 750px;
  height: 300px;

  background:#3c6fab;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  position: relative;
}

/* 黒い楕円（内側） */
.inner {
  width: 720px;
  height: 270px;

  background:#303437;
  border-radius: 50%;
}

.stand {
  width: 70px;
  height: 500px;
  background: linear-gradient(#222, #000);
  border-radius: 12px;
  position: absolute;
  left: 47%;
  z-index: -1;
  top: 50px;
}

  .time {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% + var(--time-offset-x)), -50%);

  font-family: 'Digital7MonoItalic', monospace;
  font-size: 150px;

  color: #ff1b5a; /* 真っ白じゃないのがポイント */

  letter-spacing: 10px;
}

@font-face {
  font-family: 'Digital7MonoItalic';
  src: url('Digital7Monoitalic.TTF') format('truetype');
}

@font-face{
  font-family: 'Digital7Italic';
  src: url('Digital7italic.TTF') format('truetype');
}

.time {
  white-space: nowrap;
}


.time {
  display: flex;              /* ← 追加 */
  justify-content: center;    /* ← 追加 */
  align-items: center;        /* ← 追加 */

  font-variant-numeric: tabular-nums; /* ← 追加 */
}

/* 桁ごとの固定幅 */
#min, #sec10, #sec1 {
  display: inline-block;
  width: 65px;
  text-align: center;
}

#ms {
  display: inline-block;
  width: 180px;
  text-align: left;
}

#colon {
  width: 40px;
  font-family: 'Digital7Italic';
}

#dot {
  width: 30px;
  font-family: 'Digital7Italic';
}

/* : と . */
.time span:not(#min):not(#sec10):not(#sec1):not(#ms) {
  display: inline-block;
  text-align: center;
}
