body {
  background: #67B26F;  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #4ca2cd, #67B26F);  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #4ca2cd, #67B26F); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

div {
  padding: 1rem 2rem;
  background: #ECE9E6;  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #FFFFFF, #ECE9E6);  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #FFFFFF, #ECE9E6); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

h1 {
    padding: 1rem 2rem;
    border-bottom: 3px solid #000;
    color: #000;
    font-size: 36px;
    max-width: 100%;
   }

h2 {
  padding: 1rem 2rem;
  border-left: 5px solid #000;
}

p {
    color: black;
    font-size:20px;
}

summary {
  padding: 1rem 2rem;
  user-select: none;
}

legend {
  border-left: 5px solid #000;
  color: #000;
  background: #C4e0e5;  /* fallback for old browsers */
}

label {
  margin-right: 15px;
  line-height: 32px;
  vertical-align: middle;
}

fieldset {
  margin: 15px;
}

textarea {
  resize: vertical;
  width: 100%;
  height: auto;
}

.input-radio {
  appearance: none;

  border-radius: 50%;
  width: 16px;
  height: 16px;

  border: 2px solid #999;
  transition: 0.2s all linear;
  margin-right: 5px;

  position: relative;
  top: 4px;
}

.input-radio:hover {
  border: 3px solid #000;
}

.input-radio:checked {
  border: 6px solid black;
}

.submit_button {
  display       : inline-block;
  border-radius : 5%;          /* 角丸       */
  font-size     : 10pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 8px 10px;   /* 余白       */
  background    : #fffaf0;     /* 背景色     */
  color         : #000000;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 5px #666666;  /* 影の設定 */
  border        : 2px solid #000;    /* 枠の指定 */
}
.submit_button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #fffaf0;     /* 背景色     */
  background    : #000000;     /* 文字色     */
}

.center {
  margin: auto;
  margin-left: auto;
  margin-right: auto;
  width: 66%;
}

.center_button {
  text-align: center;
}

.upload_file::file-selector-button {
  display       : inline-block;
  border-radius : 5%;          /* 角丸       */
  font-size     : 10pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 8px 10px;   /* 余白       */
  background    : #fffaf0;     /* 背景色     */
  color         : #000000;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 5px #666666;  /* 影の設定 */
  border        : 2px solid #000;    /* 枠の指定 */
}
.upload_file::file-selector-button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #fffaf0;     /* 背景色     */
  background    : #000000;     /* 文字色     */
}

#pagechangeButton {
  display       : inline-block;
  border-radius : 5%;          /* 角丸       */
  font-size     : 10pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 8px 10px;   /* 余白       */
  background    : #fffaf0;     /* 背景色     */
  color         : #000000;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 5px #666666;  /* 影の設定 */
  border        : 2px solid #000;    /* 枠の指定 */
}

#pagechangeButton:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #fffaf0;     /* 背景色     */
  background    : #000000;     /* 文字色     */
}

#pagechangeButton_rf {
  display       : inline-block;
  border-radius : 5%;          /* 角丸       */
  font-size     : 10pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 8px 10px;   /* 余白       */
  background    : #fffaf0;     /* 背景色     */
  color         : #000000;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 5px #666666;  /* 影の設定 */
  border        : 2px solid #000;    /* 枠の指定 */
}

#pagechangeButton_rf:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #fffaf0;     /* 背景色     */
  background    : #000000;     /* 文字色     */
}

#pagechangeButton_home {
  display       : inline-block;
  border-radius : 5%;          /* 角丸       */
  font-size     : 10pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 8px 10px;   /* 余白       */
  background    : #fffaf0;     /* 背景色     */
  color         : #000000;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 5px #666666;  /* 影の設定 */
  border        : 2px solid #000;    /* 枠の指定 */
}

#pagechangeButton_home:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #fffaf0;     /* 背景色     */
  background    : #000000;     /* 文字色     */
}

#scrollTopButton {
    /* ボタンの基本設定 (前回と同じ) */
    position: fixed; 
    bottom: 20px;
    right: 20px;
    width: 50px; 
    height: 50px; 
    background-color: #000; 
    border: none;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    font-size: 0;
    display: none;
}

/* 擬似要素 ::after を使って矢印（上向き三角形）を描画 */
#scrollTopButton::after {
    content: ''; 
    display: block;
    width: 0;
    height: 0;
    
    /* 中央に配置するための調整 */
    position: absolute;
    top: 50%; 
    left: 50%;
    /* 中央から少し上にずらして配置する */
    transform: translate(-50%, -50%); 

    /* ★★★ ここが重要：上向きの三角形を作るためのボーダー設定 ★★★ */
    /* 1. 矢印の底辺となる部分 (下側) に色をつける */
    border-bottom: 15px solid; /* 矢印の色と高さ（太さ）を設定 */
    color: #fffaf0;
    
    /* 2. 矢印の左右の辺を透明にして、斜めにカットする */
    border-left: 10px solid transparent; /* 矢印の幅を調整 */
    border-right: 10px solid transparent; /* 矢印の幅を調整 */
    
    /* 3. 上側のボーダーは不要 */
    border-top: none; 
}

.tooltip {
  position: relative;
  cursor: pointer;
  &:hover .tooltip-text {
    opacity: 1;
    visibility: visible;
  }
}
.tooltip-text {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -35px;
  display: inline-block;
  padding: 5px;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.3;
  background: #333;
  color: #fff;
  border-radius: 3px;
  transition: 0.3s ease-in;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  &:before {
    content: '';
    position: absolute;
    top: -13px;
    left: 50%;
    margin-left: -7px;
    border: 7px solid transparent;
    border-bottom: 7px solid #333;
  }
}

.question-icon {
    /* 円形アウトラインの実現 */
    border: 1.5px solid #666; /* 細めのグレーの境界線 */
    border-radius: 50%; /* 完全な円にする */
    
    /* 文字とサイズの調整 */
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    line-height: 1.2em; /* 垂直方向の中央揃え */
    font-size: 14px;
    text-align: center;
    color: #fff; /* 疑問符の色 */
    background-color: #666;
    
    /* アイコンとテキストの間に少しスペースを空ける */
    margin-right: 5px; 

    /* ホバー時の視覚的なフィードバック */
    transition: all 0.2s ease-in-out;
}