/* ==========================================================================
   common.css : 全ページ共通のスタイル
   --------------------------------------------------------------------------
   ・スマートフォン表示を最優先（モバイルファースト）
   ・コンテンツの最大幅は 660px。それより広い画面では左右が黒背景になる
   ・ページ固有のスタイルが必要な場合だけ、各ページ側に追加する
   ========================================================================== */

/* --------------------------------------------------
   1. 基本設定
   -------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  /* PC・タブレットで表示したときの左右の黒背景 */
  background-color: #000000;
  color: #222222;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic",
    "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
}

/* --------------------------------------------------
   2. ページ全体の枠（すべてのページで <main class="page"> を使う）
   -------------------------------------------------- */
.page {
  max-width: 660px; /* コンテンツの最大幅 */
  min-height: 100vh;
  margin: 0 auto; /* 画面が広いときは中央に配置 */
  padding: 24px 16px 48px;
  background-color: #ffffff;
}

/* --------------------------------------------------
   3. 見出し・本文
   -------------------------------------------------- */
.page h1 {
  margin: 0 0 16px;
  font-size: 24px;
  line-height: 1.4;
}

.page h2 {
  margin: 32px 0 8px;
  font-size: 19px;
  line-height: 1.4;
}

.page p {
  margin: 0 0 16px;
}

.lead {
  color: #555555;
}

/* --------------------------------------------------
   4. リンク
   -------------------------------------------------- */
a {
  color: #14508c;
}

a:hover {
  text-decoration: none;
}

/* トップページのページ一覧 */
.link-list {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.link-list li {
  border-bottom: 1px solid #dddddd;
}

.link-list li:first-child {
  border-top: 1px solid #dddddd;
}

/* 指で押しやすいよう、リンク全体を大きめの面にする */
.link-list a {
  display: block;
  padding: 16px 4px;
  font-size: 17px;
  text-decoration: none;
}

/* --------------------------------------------------
   5. 画像
   -------------------------------------------------- */
.photo {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 24px;
  border-radius: 4px;
}

/* --------------------------------------------------
   6. 問題エリア（フォーム）
   -------------------------------------------------- */
.quiz {
  margin-bottom: 32px;
}

.quiz-form {
  margin: 0 0 16px;
}

.quiz-label {
  display: block;
  margin-bottom: 8px;
  font-weight: bold;
}

.quiz-input {
  display: block;
  width: 100%;
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid #999999;
  border-radius: 4px;
  /* 16px 未満にすると iPhone で入力時に画面が拡大されるので下げない */
  font-size: 16px;
  font-family: inherit;
}

.button {
  display: block;
  width: 100%;
  min-height: 52px; /* スマートフォンで押しやすい高さ */
  padding: 12px;
  border: none;
  border-radius: 4px;
  background-color: #14508c;
  color: #ffffff;
  font-size: 17px;
  font-family: inherit;
  cursor: pointer;
}

.button:hover {
  background-color: #0f3f6f;
}

/* --------------------------------------------------
   7. 正解・不正解の表示
   -------------------------------------------------- */
.result {
  margin: 0;
  padding: 0;
  font-size: 17px;
  font-weight: bold;
}

/* 判定結果が入ったときだけ枠を表示する */
.result.is-correct,
.result.is-wrong {
  padding: 12px;
  border-radius: 4px;
}

.result.is-correct {
  background-color: #e4f3e6;
  color: #1c6b2c;
}

.result.is-wrong {
  background-color: #fbe6e6;
  color: #9c2222;
}

/* --------------------------------------------------
   8. フッター・戻るリンク
   -------------------------------------------------- */
.site-footer {
  margin-top: 40px;
  padding-top: 16px;
  border-top: 1px solid #dddddd;
  color: #666666;
  font-size: 14px;
}

/* --------------------------------------------------
   9. 画面が広いときの調整（PC・タブレット / 660px以上）
   -------------------------------------------------- */
@media screen and (min-width: 660px) {
  .page {
    /* 黒背景との境目を分かりやすくする */
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.5);
  }
}
