  * {
      margin: 0;
      padding: 0;
  }
  /*　iOSのデフォルトの設定を無効か */
  /* コンテキストメニューを無効化する */
  
  button,
  textarea,
  select {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
  }
  
  body,
  html {
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100%;
      font-family: sans-serif;
      background-color: #f5f3f3;
      scroll-behavior: smooth;
  }
  
  html {
      touch-action: manipulation;
  }
  /* ここから  */
  
  @media screen and (max-width: 768px) {
      .parent {
          margin: 0 auto;
          width: 95%;
      }
  }
  
  @media screen and (min-width: 769px) {
      .parent {
          margin: 0 auto;
          width: 60%;
          max-width: 400px;
      }
  }
  
  .hint {
      padding: 10px;
      background-color: lightblue;
      border: 1px solid #000;
      cursor: pointer;
      width: 150px;
      text-align: left;
  }
  
  .setumon_box {
      width: 100%;
  }
  
  .option_box {
      margin-top: 15px;
      text-align: center;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
  }
  
  .select_btn1,
  .select_btn2,
  .select_btn3,
  .select_btn4 {
      margin: 0 auto;
      padding: 10px;
      margin-bottom: 12px;
      border: 1px solid #800000;
      border-radius: 6px;
      cursor: pointer;
      width: 230px;
      text-align: center;
      color: #FFF;
      background-color: #800000;
  }
  
  .next_ichi {
      text-align: center;
      width: 100%;
  }
  
  .next_btn_ichi {
      margin: 0 auto;
      padding: 10px;
      margin-top: 30px;
      border: 1px solid #800000;
      border-radius: 6px;
      cursor: pointer;
      width: 100px;
      text-align: center;
      color: #FFF;
      background-color: #800000;
  }
  
  .kaisetsu_ichi {
      color: #353a3e;
      padding: 10px 10px;
  }
  
  .kaisetsu_ichi_parent {
      text-align: left;
      width: 100%;
      margin-top: 50px;
  }
  
  .hint_btn {
      margin-top: 10px;
      margin-bottom: 6px;
      font-size: 0.8em;
      padding: 5px 5px;
      padding-left: 10px;
      padding-right: 10px;
      cursor: pointer;
      border-radius: 6px;
      border-color: #89B700;
      color: #FFF;
      font-weight: bold;
      width: fit-content;
      background: #89B700;
  }
  
  .question_ichi {
      color: #353a3e;
      font-weight: bold;
  }
  
  .yaku_ichi {
      color: #353a3e;
      font-weight: bold;
  }
  
  .small_ichi {
      font-size: 0.8em;
  }
  
  .question_num_ichi_parent {
      width: 100%;
  }
  
  .question_num_ichi {
      margin-top: 10px;
      padding-right: 10px;
      font-weight: bold;
      font-size: 0.9em;
      padding: 5px 5px;
      color: dimgrey;
      text-align: right;
      cursor: pointer;
      font-weight: bold;
  }
  
  .reset_parent {
      width: 100%;
  }
  
  .reset_ichi {
      margin-bottom: 15px;
      padding-right: 10px;
      font-size: 0.9em;
      color: dimgrey;
      text-align: right;
      text-decoration: underline;
  }
  
  .to_top_ichi_parent {
      width: 100%;
      display: flex;
      justify-content: flex-end;
  }
  
  .to_top_ichi {
      font-size: 0.8em;
      cursor: pointer;
      padding: 5px 5px;
      border-radius: 6px;
      border-color: #5e5f5c;
      color: #FFF;
      font-weight: bold;
      width: fit-content;
      background: #5e5f5c;
  }
  
  .nigate_mode_ichi_parent {
      width: 100%;
  }
  
  .nigate_mode_ichi {
      margin-bottom: 15px;
      padding-right: 10px;
      font-size: 0.9em;
      color: #800000;
      text-align: right;
      text-decoration: underline;
  }
  
  .nigate_mode_ichi_parent_back {
      width: 100%;
  }
  
  .nigate_mode_ichi_back {
      margin-bottom: 15px;
      padding-right: 10px;
      font-size: 0.9em;
      color: #800000;
      text-align: right;
      text-decoration: underline;
  }
  
  @media screen and (max-width: 768px) {
      .title_ichi_parent {
          margin: 0 auto;
          width: 100%;
          margin-bottom: 20px;
      }
  }
  
  @media screen and (min-width: 769px) {
      .title_ichi_parent {
          margin: 0 auto;
          width: 60%;
          max-width: 500px;
          margin-bottom: 20px;
      }
  }
  
  @media screen and (max-width: 768px) {
      .title_ichi {
          margin: 0 auto;
          width: 100%;
          height: auto;
          max-width: 500px;
      }
  }
  
  @media screen and (min-width: 769px) {
      .title_ichi {
          margin: 0 auto;
          width: 100%;
          height: auto;
      }
  }
  /* ポップアップの背景 */
  
  .popup-overlay_ichi {
      z-index: 3;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  /* ポップアップの内容 */
  
  .popup-content_ichi {
      z-index: 3;
      width: 100px;
      height: 100px;
      background-color: rgb(226, 33, 33, 0.1);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2em;
      color: darkblue;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
      border: 5px solid rgb(226, 33, 33);
  }
  
  .popup-overlay_ichi_fuseikai {
      z-index: 3;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  /* ポップアップの内容 (Xマーク) */
  
  .popup-content_ichi_fuseikai {
      position: relative;
      width: 100px;
      height: 100px;
      background-color: transparent;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  /* Xマークのデザイン */
  
  .popup-content_ichi_fuseikai::before,
  .popup-content_ichi_fuseikai::after {
      content: '';
      position: absolute;
      width: 80%;
      height: 10px;
      background-color: rgb(20, 12, 168);
      border-radius: 5px;
  }
  
  .popup-content_ichi_fuseikai::before {
      transform: rotate(45deg);
  }
  
  .popup-content_ichi_fuseikai::after {
      transform: rotate(-45deg);
  }
  
  .red_ichi {
      font-weight: bold;
      font-family: 1.1em;
      color: #4682b4;
      text-decoration: underline;
  }
  /* Progress Bar Container */
  
  .progress-container {
      width: 100%;
      height: 30px;
      background-color: #e0e0e0;
      border-radius: 10px;
      overflow: hidden;
      margin: 10px 0;
  }
  
  .progress-bar {
      height: 100%;
      width: 0%;
      background-color: #4682b4;
      border-radius: 10px 0 0 10px;
      transition: width 0.3s ease-in-out;
  }
  
  #progress-text {
      color: dimgrey;
      font-size: 0.9em;
  }
  
  .nigate_left_num_ichi {
      font-size: 1.1em;
      font-weight: bold;
  }
  
  .ichi_top_img {
      border-radius: 25px;
      width: 220px;
      height: auto;
  }
  
  .ichi_top_img_c {
      margin: 0 auto;
      margin-bottom: 7px;
      cursor: pointer;
      text-align: center;
  }
  
  .kiso_btn_ichi {
      padding: 10px;
      margin-bottom: 12px;
      border: 1px solid #800000;
      border-radius: 6px;
      cursor: pointer;
      width: 50px;
      text-align: center;
      color: #FFF;
      background-color: #800000;
  }
  
  .kiso_btn_ichi2 {
      padding: 10px;
      margin-bottom: 12px;
      border: 1px solid #800000;
      border-radius: 6px;
      cursor: pointer;
      width: 80px;
      text-align: center;
      color: #FFF;
      background-color: #800000;
  }
  
  .ichi_index_app_setsumei {
      text-align: center;
      width: 100%;
  }
  
  .sound_speaker {
      height: 25px;
      width: auto;
  }