/*────────────────────────────────────────
  共通コンテナ・テキスト・選択肢スタイル・フォントサイズ
────────────────────────────────────────*/
.wptm-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
  }
  .wptm-dynamic {
    width: 100%;
  }
  .wptm-question-number {
    margin: 0 !important;        /* 余白リセット */
    padding: 0 !important;
    line-height: 1 !important;
  }
  .wptm-question-text {
    padding: 0 20px;
    line-height: 1.3;
  }
  .wptm-choices label {
    display: block;
    margin: 0 !important;
    line-height: 1.2 !important;
    /* もし少しだけ上下に間隔が欲しい場合は padding で調整 */
    padding: 0.25em 0 !important;
  }

  .wptm-question-number,
  .source-question-text,
  .wptm-question-text,
  .wptm-choices label,
  .wptm-label,
  .wptm-number,
  .wptm-unit,
  .wptm-note-text,
  .wptm-note-warning {
    font-size: 16px !important;
  }
  
  .wptm-dynamic .wptm-label,
  .wptm-dynamic .wptm-number,
  .wptm-dynamic .wptm-unit ,
  .wptm-note-text,
  .wptm-button-inline .button,
  .wptm-note-warning {
    font-size: 14px !important;
  }

  /*────────────────────────────────────────
  ソース問題文を画像と同じ枠で囲む
────────────────────────────────────────*/
  .source-question-text {
    display: block !important;             /* ブロック要素として扱う */
    margin: 4px auto !important;           /* 画像と同じマージン */
    padding: 8px !important;               /* 画像と同じパディング */
    box-sizing: content-box !important;    /* 画像と同じボックスモデル */
  }
  /*────────────────────────────────────────
    問題ソーステキスト・画像の余白リセット
  ────────────────────────────────────────*/
  .source-question-text,
  .wptm-question-image {
    margin: 0 !important;
    padding: 0 !important;
    /*line-height: 1 !important;*/
  }
  .source-question-text p {
    margin: 0 !important;
    padding: 0 !important;
    /*line-height: 1 !important;*/
  }
  .wptm-question-image img {
    max-width: 90%;
    height: auto;
    display: block !important;
    margin: 4px auto !important;         /* 枠付け用マージン */
    padding: 2px !important;             /* 枠と画像間のスペース */
    border: 2px solid #999 !important;   /* 画像枠 */
    border-radius: 4px !important;
    box-sizing: content-box !important;
  }
  
  /*────────────────────────────────────────
    質問テキストの枠線・背景
  ────────────────────────────────────────*/
  .wptm-question-text {
    border: 1px solid #cccccc !important;
    background-color: #f8f8f8 !important;
    padding: 12px !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
  }
  
  /*────────────────────────────────────────
    進捗行（回答数・個別タイマー・全体タイマー）
  ────────────────────────────────────────*/
  .wptm-dynamic .wptm-progress {
    display: grid !important;
    grid-template-columns:
      55px               /* ラベル */
      75px     /* 数値 */
      20px                /* 単位 */
      auto
      120px
      !important;   /* バー */
    column-gap: 0 !important;
    align-items: center !important;
    margin: 0 !important;           /* 上下間隔を極限まで詰める */
    padding: 0 !important;
  }
  
  /* ラベル・数値・単位セル共通 */
  .wptm-dynamic .wptm-label,
  .wptm-dynamic .wptm-number,
  .wptm-dynamic .wptm-unit {
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
  }
  /* ラベルは左寄せ */
  .wptm-dynamic .wptm-label {
    text-align: left !important;
  }
  /* 数値は右寄せ */
  .wptm-dynamic .wptm-number {
    text-align: right !important;
  }
  /* 単位は左寄せ */
  .wptm-dynamic .wptm-unit {
    text-align: left !important;
  }
  
  /*────────────────────────────────────────
    プログレスバーセル
  ────────────────────────────────────────*/
  .wptm-dynamic .wptm-bar {
    width: 95% !important;
    margin-left: 0.25em !important;     /* 単位との間隔 */
    padding-right: 0.5em !important;    /* 右側余白 */
    justify-self: start !important;     /* 列内左寄せ */
    box-sizing: content-box !important;
  }
  .wptm-dynamic .wptm-bar progress {
    width: 100% !important;
    height: 1em !important;
    border-radius: 0 !important;
    box-sizing: content-box !important;
  }
  /* WebKit */
  .wptm-dynamic .wptm-bar progress::-webkit-progress-bar {
    background-color: #e0e0e0;
    border-radius: 0;
  }
  .wptm-dynamic .wptm-bar progress::-webkit-progress-value {
    background-color: #0055aa;
    border-radius: 0;
  }
  /* Firefox */
  .wptm-dynamic .wptm-bar progress::-moz-progress-bar {
    background-color: #0055aa;
    border-radius: 0;
  }
  /* Edge/IE */
  .wptm-dynamic .wptm-bar progress::-ms-fill {
    background-color: #0055aa !important;
    border-radius: 0;
  }


/* 最後の進捗行：全体タイマー＋ボタンを同一グリッド内で下揃え */
#dynamic-container.wptm-dynamic .wptm-progress-last {
  display: grid !important;
  /* 既存4列 + ボタン用列 */
  grid-template-columns:
    55px               /* ラベル */
    75px     /* 数値 */
    20px                /* 単位 */
    auto               /* プログレスバー */
    120px                /* ボタン用 */
    !important;
  column-gap: 0 !important;
  align-items: center !important;  /* 下揃え */
  margin: 0 !important;
  padding: 0 !important;
}

/* ボタンコンテナを右端かつ下揃えに */
#dynamic-container.wptm-dynamic .wptm-progress-last .wptm-button-inline {
  justify-self: end !important;
  align-self: end !important;
  margin: 0 !important;      /* 不要な余白はリセット */
  gap: 0;                /* ボタン間の隙間 */
}

#dynamic-container.wptm-dynamic .wptm-progress,
#dynamic-container.wptm-dynamic .wptm-progress-last {
  margin: 0 !important;  /* お好みで数値を調整 */
}

/*────────────────────────────────────────
  Next/Finish ボタンを共通ボタンスタイルに
────────────────────────────────────────*/
/* 通常時 */
#dynamic-container.wptm-dynamic .wptm-button-inline .button,
.wptm-pre-screen .wptm-button-inline .button {
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  width: 120px !important;
  height: 30px !important;
  font-family: "Yu Gothic","游ゴシック体","YuGothic",sans-serif !important;
  background-color: #f0f0f0 !important;
  color: #000 !important;
  text-decoration: none !important;
  text-align: center !important;
  border: 1.5px solid #000 !important;
  border-radius: 0.5em !important;
  transition: background-color 0.2s ease !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  line-height: 14px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ホバー時 */
#dynamic-container.wptm-dynamic .wptm-button-inline .button:hover,
.wptm-pre-screen .wptm-button-inline .button:hover {
  background-color: #e0e0e0 !important;
  cursor: pointer !important;
}

/* disabled 状態 */
#dynamic-container.wptm-dynamic .wptm-button-inline .button.disabled,
#dynamic-container.wptm-dynamic .wptm-button-inline .button:disabled {
  pointer-events: none !important;
  opacity: 0.5 !important;
  background-color: rgba(240,240,240,0.5) !important;
  border-color: #000 !important;
  color: #000 !important;
}

/* ────────────────────────────────────────
   制限時間＆警告メッセージ行を Flexbox で左右振り分け
────────────────────────────────────────*/
#dynamic-container.wptm-dynamic .wptm-note-row {
  display: flex !important;                       /* Flexbox に切り替え */
  justify-content: space-between !important;      /* 左右端に寄せる */
  align-items: center !important;                 /* 垂直中央揃え */
  box-sizing: border-box !important;              /* 幅の計算を内包で */
  width: 100% !important;                         /* コンテナ幅いっぱいに */
  white-space: nowrap !important;                 /* 折り返し禁止 */
  color: red !important;
  margin: 0 0 -2.5em 0 !important;                /* 前後の行間を統一 */
  line-height: 1.2 !important;
}


/*────────────────────────────────────────
  問X（.question-number）の上の余白を詰める
────────────────────────────────────────*/
/* dynamic-container 自体の余白リセット */
#dynamic-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 質問コンテナの余白リセット */
#dynamic-container #question-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 問X の段落 (p.question-number) の余白をリセット＆調整 */
#dynamic-container .question-number {
  margin-top: 0 !important;
  /* 必要なら軽く上に引き上げ */
  margin-top: -2.5em !important;
}

/* ────────────────────────────────────────
   戻るボタン押下された際の警告アラート
──────────────────────────────────────── */
.wptm-block-modal {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999 !important;
}
.wptm-block-modal-inner {
  background: #fff;
  padding: 20px;
  border-radius: 4px;
  text-align: center;
  max-width: 80%;
}
.wptm-block-modal-message {
  margin-bottom: 1em;
  font-size: 16px;
}

/* 進捗行全体の line-height を詰める */
.wptm-dynamic .wptm-progress,
.wptm-dynamic .wptm-progress-last {
  line-height: 1.2 !important;
}

/* セル内テキスト（ラベル・数値・単位）の行間も詰める */
.wptm-dynamic .wptm-label,
.wptm-dynamic .wptm-number,
.wptm-dynamic .wptm-unit {
  line-height: 1.2 !important;
}

/* まず全体の余白リセット */
.wptm-dynamic .wptm-progress,
.wptm-dynamic .wptm-progress-last {
  margin: 0 !important;
}

/* 最終行（ボタン付き）はマージン０に */
.wptm-dynamic .wptm-progress-last {
  margin: 0 !important;
}

/* それ以外の進捗行だけ下マージンを入れる */
.wptm-dynamic .wptm-progress:not(.wptm-progress-last) {
  margin-bottom: 0.5em !important;  /* お好みの間隔に */
}

/* ────────────────────────────────────────
   「回答数」「当該時間」の行だけ行送りを25pxに
────────────────────────────────────────*/
.wptm-dynamic .wptm-progress:not(.wptm-progress-last) .wptm-label,
.wptm-dynamic .wptm-progress:not(.wptm-progress-last) .wptm-number,
.wptm-dynamic .wptm-progress:not(.wptm-progress-last) .wptm-unit {
  line-height: 25px !important;
}

/* コンテナ */
.wptm-recover-container {
  text-align: center;
  padding: 2em;
}
.wptm-recover-desc {
  font-size: 1em;
  color: #333;
  margin-bottom: 1.5em;
}
.wptm-recover-note {
  font-size: 0.9em;
  color: #666;
  margin-top: 1.5em;
}

/* 復旧入力行を横並びに */
.wptm-recovery-input {
  display: inline-flex;
  align-items: center;
  font-size: 1.4em;       /* ラベル＋入力＋ボタンのベースサイズ */
}

/* テキスト入力 */
.wptm-recovery-input input {
  height: 1.1em;    
  width: 5em;
  padding: 0.2em;
  text-align: center;
  font-family: inherit;
  font-size: inherit;     /* container の 1.4em を継承 */
}

/* プレースホルダサイズ（クロスブラウザ対応） */
.wptm-recovery-input input::-webkit-input-placeholder,
.wptm-recovery-input input:-ms-input-placeholder,
.wptm-recovery-input input::-ms-input-placeholder,
.wptm-recovery-input input::-moz-placeholder,
.wptm-recovery-input input::placeholder {
  font-size: 1em !important;
  color: #999;
  opacity: 0.6;
}

.wptm-recovery-input .wp-block-button__link {
  margin-left: 1.2em;
}

/* ボタン */
.wptm-recover-container .wptm-recovery-input .wp-block-button__link,
.wptm-recover-container .wp-block-button__link,
.wptm-button-inline .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 140px !important;
  height: 50px !important;
  font-size: 1rem !important;
  font-family: "Yu Gothic","游ゴシック体","YuGothic",sans-serif !important;
  background-color: #f0f0f0 !important;
  color: #000 !important;
  text-decoration: none !important;
  border: 2.5px solid #000 !important;
  border-radius: 0.5em !important;
  transition: background-color 0.2s ease !important;
  white-space: nowrap !important;
}
.wptm-recover-container .wptm-recovery-input .wp-block-button__link:hover,
.wptm-recover-container .wp-block-button__link:hover,
.wptm-button-inline .button:hover {
  background-color: #e0e0e0 !important;
}

/* エラーメッセージ */
#wptm-recover-message {
  margin-top: 0;
  color: red;
  font-size: 1em;
}

/* 「中断されたテストが見つかりました。」*/
.wptm-recover-container .wptm-recover-desc {
  font-size: 1.2em;
  line-height: 1.4; /* 行間も少し広げると読みやすいです */
}

/* 親要素をブロック＆フル幅に */
body .wp-test-manager-start-screen #dynamic-container.wptm-dynamic {
  display: block !important;
  width: 100%   !important;
}

/* おそらく最も確実に当たるセレクタ */
body .wp-test-manager-start-screen #dynamic-container.wptm-dynamic .wptm-note-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  
  /* margin は個別指定で */
  margin-top:    0 !important;
  margin-right:  0       !important;
  margin-bottom: -2.5em !important;
  margin-left:   0       !important;
}
#dynamic-container.wptm-dynamic .wptm-note-row .wptm-note-warning {
  color: red !important;
}

#dynamic-container.wptm-dynamic .wptm-note-row {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}


/* keisu タグ：ソース問題文を大きく・マージン追加 */
#dynamic-container.wptm-tag-keisu .source-question-text{
  font-size: 18px !important;      /* 文字を少し大きく */
  margin: 0.75em 0 !important;      /* 上下に 0.75em の余白 */
  padding: 0.5em !important;        /* 中のテキストが窮屈ならパディングも調整 */
}

#dynamic-container.wptm-tag-keisu .question-text.wptm-question-text{
  font-size: 24px !important;      /* 文字を少し大きく */
  font-weight: bold !important;
  margin: 1em 0 1em 0 !important;      /* 上下に 0.75em の余白 */
  padding: 0.75em 0 5em 0.75em !important;        /* 中のテキストが窮屈ならパディングも調整 */
}

#dynamic-container.wptm-tag-keisu .wptm-choices label {
  font-size: 18px !important;        /* 文字サイズを少し大きく */
}

#dynamic-container.wptm-tag-keisu .wptm-choices label:last-child {
  margin-bottom: 1.5em !important;  /* お好みの値に調整 */
}

/* wp-test-manager.css に追加（任意） */
.wptm-choices label { cursor: default; }     /* 行は通常カーソル */
.wptm-choices label input[type="radio"] { cursor: pointer; } /* 丸だけ指ポインタ */


