body {
  background-color: white !important;
}

body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family:sans-serif;
      font-size: 19px;
      line-height: 150%;
}
@media screen and (max-width:480px) {
 body {
      font-size: 16px;
}}

a {
  color: blue !important;
  text-decoration: none;
}
a:hover { color: red;}
a:visited { color: #9ABACC !important;}

h1 {
      font-size: 150%;
}
@media only screen and (max-width: 600px) {
  h1 {
padding:  !important;/* ビューアページは12px*/
font-size: 130% !important;/* ビューアページは130%*/
  }}
h2 {
      font-size: 130%;
}






#header {
  background-color: #006DF0;
  color: white;
  text-align: center;
  padding: 0.1px;
  position: relative; 
}
#header h1 {
  max-width: 1000px;
  margin: 0 auto; /* ???????? */
  padding: 20px 0px;
  position: relative; /* ?????u?w?? */
}


    #main {
      max-width: 1000px;
      margin: 0 auto;
      padding: 20px 5px;
    }

    @media screen and (max-width: 767px) {
      #header, #footer {
        width: 100%;
      }
    }
    img {
      width: 98%;
      max-width: 600px;
      display: block;
      margin: 0 auto; /* 水平方向にセンター配置 */
      border-radius: 5px; /* 丸い角の半径を指定 */
      margin: 0px auto; /* 上下に10ピクセルずつ余白を追加 */
    }












/* ■ページの要素が少ない時もフッターを下部に表示する  */
    html, body {
      height: 100%;
      margin: 0;
      display: flex;
      flex-direction: column;
    }
    #main {
      flex: 1;
    }
    #footer {
      background-color: #006DF0;
      color: white;
      text-align: center;
      line-height: 100px;
    }








#errorMessage { color:red; margin-top:8px; }
#loginBox {
  padding:10px;
  margin-bottom:10px;
  border:1px solid #333;
  border-radius:0px;
  background-color:white;
}
.wrapper {
  width: 100%; /* 横いっぱい */
  padding: 10px; /* 初期状態は小さい余白 */
  margin-bottom: 10px;
  border: 1px solid #000;
  border-radius: 10px;
  background-color: #D5D5D5;
  box-sizing: border-box; /* paddingを幅に含める */
}
/* 600px以上で2段 */
@media (min-width: 600px) {
  .wrapper {
    display: flex;
    gap: 20px;
  }
  .box {
    flex: 1;
  }
}
@media (min-width: 1000px) {
  .wrapper {
    padding-left: 100px;
    padding-right: 100px;
  }
}
#uploadBtn, #downloadBtn {
  display: none;              /* 初期は非表示 */
  border: 1px solid blue;     /* 枠線：青 */
  background-color: white;    /* 背景：白 */
  color: blue;                /* 文字色：青 */
  font-size: 15px;            /* 文字サイズ：15px */
  padding: 6px;               /* 内側余白：6px */
  border-radius: 4px;         /* 角を少し丸く（任意） */
  cursor: pointer;            /* カーソルをポインタに */
}

#uploadBtn:hover, #downloadBtn:hover {
  background-color: #e6f0ff;  /* ホバー時に淡い青（任意） */
}
a:link, a:visited {
  color: blue !important; 
}




/* ■戻るボタン  */
#fixed-panel {
    position: fixed;
    bottom: 110px;
    left: calc(100% - 110px);
    transform: translateX(0%);
    width: 100px;
    height: 50px !important;
    background-color: blue;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}
/* スマホのみ適用（画面幅 480px 以下） */
@media (max-width: 480px) {
    #fixed-panel {
        bottom: 10px;
    }
}
#fixed-panel a {
    width: 55px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background-color: blue;
}
#returnButton img {
    width: 40px;
    height: 35px;
    background-color: blue;
}
@media (min-width: 1300px) {
    #fixed-panel {
        left: calc(50% + 525px);
    }
}
/* スマホのみ適用（画面幅 480px 以下） */
@media (max-width: 480px) {
    #fixed-panel {
        bottom: 10px;
    }
}



/* ■オフライ時の表示 */
#offline-message {
  display: none;
  background-color: #ffdddd;
  color: #b30000;
  padding: 10px;
  border: 1px solid #b30000;
  border-radius: 5px;
  text-align: center;
  margin: 10px 0;
}










/* ■パンくずリストリンク */
div#main p.breadcrumbs {
    padding: 0;
    margin: 0 !important;
    margin-top: -15px !important;
    margin-left: 2px !important;
    color: #666;
    font-size: 0.8em;
}
div#main p.breadcrumbs a,
div#main p.breadcrumbs a:visited,
div#main p.breadcrumbs a:hover,
div#main p.breadcrumbs a:active {
    color: #666;
    text-decoration: underline;
}



/* ■ページ幅 */
#main {
    width: 100%;
    max-width: 1050px;
    padding: 15px 5px;
    box-sizing: border-box;
}



/* ■表 */
#result,
#delete {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}
/* 1列目 */
#result td:nth-child(1),
#delete td:nth-child(1) {
    width: min(25vw, 250px);
}
/* 3列目 */
#result td:nth-child(3),
#delete td:nth-child(3) {
    width: 50px;
}
/* 2列目 */
#result td:nth-child(2),
#delete td:nth-child(2) {
    width: auto;
}

#result td,
#delete td {
    padding-left: 10px;
    padding-right: 10px;
}


#result td:last-child,
#delete td:last-child {
    text-align: center;
    vertical-align: middle;
}





/* ■グラフ表示 */
.student{margin-bottom:0px;}
.student-name{
    font-weight:bold;
    margin-bottom:8px;
}
.graph-count{
    margin-top: -5px;      
    font-size: 14px;      
    color: #666;          
}
.student-list{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;   
    gap:20px;
}
.student{
    width:300px;
    margin-bottom:0px;
}




