/*------------------------
カウントダウンタイマー　css
------------------------*/
#page-top img {
  bottom: 249px
}
.cdt_wrapper {
  background: #d45b41;
  font-weight: bold;
  text-align: center;
  line-height: 2;
  position: fixed;
  z-index: 9;
  bottom: 0;
  width: 100%;
  letter-spacing: 0;
}
.cdt_wrapper small {
  padding: 0 .4em;
  color: #fff;
}
.cdt {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.cdt_txt {
  display: inline-block;
  margin-right: 14px;
  line-height: 1.2;
}
.cdt_txt span {
  color: #fff;
}
.cdt_num {
  background-color: #fff;
  padding: 0 .15em;
}
.cdt_num {
    line-height: 1;
    padding: .3em .15em;
    color: #000;
}
.cdt_app{
  /* display:none; */
  background: #fff;
  border-radius: 5px;
  text-decoration: none!important;
  font-weight: 700;
  margin-left: 5px;
  color: #d45b41;
}
.br520 {
  display: none;
}
@media screen and (max-width: 767px) and  (min-width: 521px) {
.cdt_wrapper{
  padding: 0.4em 1% 0.3em;
  line-height: 1.2;
}
.cdt_wrapper p{
  margin-bottom: 0;
}
.cdt {
  width: 100%;
  justify-content: center;
}
.cdt_txt{
  font-size: 1.6rem;
  line-height: 1.2;
  /*margin-top: -5px
  margin-bottom: 10px;*/
}
.cdt_num{
  font-size: 2.2rem;
  padding: .2em .15em;
}
.cdt_date{
  margin-bottom: 8px;
}
.cdt_app{
  width: 20%;
  /* display: none; */
    margin-left: 0;
    /*display: block;*/
    font-size: 2.4rem;
    height: 100px;
    line-height: 100px;
    text-align: center;
    margin-left: 8px;
    box-sizing: border-box;
    /*margin-top: 6px;*/
}
.cdt_txt span{
  font-size: 2.2rem;
}
.cdt_date small{
  font-size: 2rem;
}
footer{
  margin-bottom: 11%!important;
}
.kikan{
  display: block;
}
}
@media screen and (min-width: 768px) {
footer {
    margin-bottom: 90px;
}
.cdt_wrapper {
    /*line-height: 2.5;*/
    font-size: 1.8rem;
    padding: 10px 0;
}
.cdt_wrapper small {
  font-size: 2.6rem;
  padding: 0 .4em;
}
.cdt_date {
  font-size: 2.8rem;
}
.cdt_date small{
  font-size: 2.2rem;
}
.cdt_txt span{
  font-size: 3rem;
  line-height: 1.2;
  display: block;
}
.cdt_app {
  /* display: none; */
    width: 15%;
    /*display: block;*/
    font-size: 2.8rem;
    height: 90px;
    line-height: 90px;
}
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
footer{
  margin-bottom: 72px;
}
@media only screen and (max-width: 320px) and (orientation:portrait) {
footer{
  margin-bottom: 14%!important;
}
.cdt_app {
  /* display: none; */
    width: 24%!important;
    font-size: 1.2rem!important;
    height: 33px;
    line-height: 9px!important;   
}
.cdt_txt{
  font-size: 1.2rem;
}
}
}
@media screen and (max-width: 520px) {
  .brnone {
    display: none;
  }
  .cdt {
    display: block;
    padding: 2%;
  }
  .cdt_txt {
    margin-right: 0;
    margin-bottom: 10px;
    display: block;
  }
  .kikan .pcnone {
    display: none;
  }
  .cdt_date {
    display: inline;
  }
  .cdt_app {
    display: block;
    width: 80%;
    font-size: 2.2rem;
    margin: 10px auto 0;
  }
}
@media screen and (max-width: 400px) {
    .cdt_txt {
    display: block;
  }
  .cdt_date {
    display: block;
    margin-top: 10px;
  }
}
/* スマホ表示の調整 (520px以下) */
@media screen and (max-width: 520px) {
  /* コンテナをフレックスボックスに戻し、折り返しを許可 */
  .cdt {
    display: flex;
    flex-wrap: wrap; /* 要素が多い場合は折り返す */
    align-items: center; /* 垂直方向中央揃え */
    justify-content: center; /* 水平方向中央揃え */
    padding: 10px 2%;
  }

  /* テキスト「限定案内終了まで」 */
  .cdt_txt {
    display: block; /* 改行を許容 */
    margin-right: 10px; /* タイマーとの間隔 */
    margin-bottom: 0; /* 下のマージンを削除 */
    font-size: 1.3rem; /* サイズ調整 */
    line-height: 1.3;
    text-align: right; /* タイマー寄り（右）に寄せる */
    width: auto; /* 幅を自動に */
  }

  /* タイマー部分 */
  .cdt_date {
    display: flex;
    align-items: baseline; /* 数字のベースラインを揃える */
    margin-top: 0;
  }

  /* カウント数字を大きく表示 */
  .cdt_num {
    font-size: 3.2rem; /* ★ここを大きくしました */
    font-weight: bold;
    line-height: 1;
    padding: 0 2px;
  }
  
  /* 時間・分・秒の単位 */
  .cdt_date small {
    font-size: 1.2rem;
  }

  /* 申し込みボタン */
  .cdt_app {
    display: block;
    width: 90%; /* 幅を広めに */
    font-size: 1.8rem;
    margin: 8px auto 0; /* 上に少し隙間を開ける */
    height: 50px; /* 高さ確保 */
    line-height: 50px;
    flex-basis: 100%; /* 強制的に次の行へ */
  }
  
  /* 不要な改行クラスの無効化（念の為） */
  .brnone {
    display: none;
  }
}

/* さらに画面が狭い場合 (iPhone SEなど 375px以下向け微調整) */
@media screen and (max-width: 375px) {
  .cdt_num {
    font-size: 2.8rem; /* 少しだけサイズを落として収まりよくする */
  }
  .cdt_txt {
    font-size: 1.1rem;
  }
}
実装のポイントと解説

