  @charset "UTF-8";
  * {
    font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto;
  }
  
  .container {
    width: 100%;
  /* 
    max-width: 800px; 
    margin: 0 auto;   
   */
  }
  
  /* ヘッダー */
  .title {
    margin: 0 auto;
    font-size: 24px;
    width: 80%;
    height: 40px;
    text-align: center;
    line-height: 40px;
    border-bottom: 1px solid;
  }
  
  /* メイン */
  .checkbox {
    width: 100%;
    margin: 0px auto;
  }
  
  .checkbox h2 {
    margin: 0px auto;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 20px;
    padding: 5px 0px 2px 0px;
  }
  /* 残りキャラ数 */
  #usedCountDisplay {
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    margin-top: 10px;
    margin-bottom: 20px;
    color: #333;
  }

.counterContainer {
    display: inline-flex;
    align-items: center;
    margin-left: 20px; /* おまかせボタンとの余白 */
    gap: 4px;
}
.counterLabel {
  font-weight: bold;
  margin-right: 6px;
  font-size: 16px;
}

.counterContainer button {
    padding: 10px 14px;   /* ← ボタンを大きく（縦横ともに拡張） */
    font-size: 24px;     /* ← 数字を見やすく大きく */
    cursor: pointer;
    border: 1px solid #888;
    border-radius: 8px;  /* ← 少し丸く */
    background-color: #f0f0f0;
    transition: 0.2s;
}

.counterContainer button:hover {
    background-color: #e0e0ff;
}

#counterDisplay {
    width: 50px;
    text-align: center;
    font-size: 16px;
    border: 1px solid #888;
    border-radius: 4px;
}


#randomButton {
  font-size: 18px;
  padding: 8px 20px;
  margin-bottom: auto;
  border-radius: 6px;
  background-color: #f0f0f0;
  border: 1px solid #888;
  cursor: pointer;
  transition: 0.2s;
}

#randomButton:hover {
  background-color: #e0e0ff; /* ホバー時の色変更 */
}

.radio {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px; /* ボタン同士の間隔 */
  font-size: 16px;
  padding: 10px 0px;
}

/* ラジオボタン自体のサイズ */
.radio input {
  margin-right: 1px;  /* ボタンと数字の間隔を狭く */
  transform: scale(1.2); /* ボタンを少し大きめに表示したい場合 */
}
  
  .button {
    margin: 5px auto;
    text-align: center;
    padding: 5px 0px;
     /* height: 32px;*/
    height: auto; 
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  
.counterContainer {
    display: flex;
    justify-content: center; /* 横方向のボタンを中央揃え */
    align-items: center;
    gap: 4px; /* ボタン間の間隔 */
    margin-top: 15px; /* おまかせボタンとの間隔 */
    
  }
  
  .button button {
    border: grey 0.5px solid;
    padding: 1px 5px;
    margin: 0 20px;
    font-size: 16px;
  }
  
  .button input {
    font-size: 16px;
  }
  
  .colorExplanation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  
  .colorExplanation p {
    width: 70px;
    margin: 5px 20px 10px 20px;
    padding: 5px 5px;
    font-size: 16px;
    text-align: center;
    line-height: 16px;
    border-radius: 2px;
  }
  
  .colorExplanation .pink {
    background-color: pink;
  }
  
  .colorExplanation .lightcyan {
    background-color: lightcyan;
  }
  /* ボタンとテキストエリアを同じ幅に揃える */
.exportImportState button,
.exportImportState textarea {
    width: 100px;          /* エクスポートボタンに合わせる */
    box-sizing: border-box; /* paddingとborderを含めて幅を固定 */
}

/* ボタン共通スタイル */
.exportImportState button {
    margin: 0;
    border: grey 0.5px solid;
    padding: 2px 8px;
    font-size: 14px;
    height: 26px;        /* 高さも統一 */
    background-color: white;
    cursor: pointer;
    white-space: nowrap;
}

/* テキストエリア */
.exportImportState textarea {
    border: grey 0.5px solid;
    height: 24px;
    font-size: 10px;
    resize: none;
    padding: 2px;
}
  
.exportImportState {
  padding-left: 15px; /* 左に余白を追加 */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
}

/* インポート／エクスポートを縦並びに */
.importExportGroup {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

/* テキストエリアとクリアボタンを縦並びに */
.importArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

/* ▼ プルダウンデザイン改善 */
.select-style {
    appearance: none; /* ブラウザ標準のスタイルを無効化 */
    -webkit-appearance: none; /* Safari対応 */
    -moz-appearance: none;

    border: 1px solid #888;
    border-radius: 4px;
    padding: 4px 30px 4px 10px; /* 右に矢印分の余白 */
    font-size: 14px;
    background-color: #f9f9f9;
    color: #333;
    cursor: pointer;
    text-align: center;
    text-align-last: center; /* Safariで中央揃えに */
    min-width: 110px; /* 少し広めにして崩れ防止 */

    /* ▼ 矢印を追加（iOS Safariでも見えるよう強化） */
    background-image:
        linear-gradient(45deg, transparent 50%, #555 50%),
        linear-gradient(135deg, #555 50%, transparent 50%),
        linear-gradient(to right, #ccc, #ccc); /* 左枠補強線 */
    background-position:
        calc(100% - 18px) calc(50% - 4px),
        calc(100% - 13px) calc(50% - 4px),
        0 0;
    background-size:
        5px 5px,
        5px 5px,
        1px 100%;
    background-repeat: no-repeat;
}

.select-style:focus {
    outline: none;
    border-color: #555;
    box-shadow: 0 0 4px rgba(85, 85, 255, 0.5);
}

.select-style::-ms-expand {
    display: none;
}

  /* リザルトボックス */
  .result {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  
/* おまかせ結果：必ず5列 */
.result-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, 100px);
  gap: 4px;
  max-width: calc(100px * 5 + 4px * 4); /* 5キャラ分 */
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  place-content: center;
}

  /*
  .fighterList {
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    list-style: none;
  }
  */
  
  /* 一覧キャラ専用（候補一覧） */
#candidateList.fighterList {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
}
  
  /* キャラアイコンをいれるボックス */
  
  .fighterBox {
    width: 100px;
    height: 110px;
    text-align: center;
    padding: 0px 8px 5px 8px;
    margin: 2px;
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  
  .fighterBox p {
    height: 20%;
    font-size: 11px;
  }
  
  .imgBox {
    width: 100%;
    height: 70%;
    cursor: pointer;
    -webkit-transition: 1.0s;
    transition: 1.0s;
    padding-bottom: 2px;
  }
  
  .imgBox img {
    width: 90%;
    -webkit-transition: 1.0s;
    transition: 1.0s;
  }
  
  .imgBox img:hover {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  
  .nameBox {
    margin: 0 auto;
    width: 100%;
    padding: 5px 0px;
    height: 24px;
    line-height: 12px;
    text-align: center;
    font-size: 12px;
  }
  
  .clicked {
    background-color: pink;
    border-radius: 10px;
  }
  
  .clicked .imgBox {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  
  .clicked .imgBox img {
    -webkit-transform: scale(0.6);
            transform: scale(0.6);
  }
  
  .used {
    background-color: lightcyan;
    border-radius: 10px;
  }
  
  .used .imgBox {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
  
  .used .imgBox img {
    -webkit-transform: scale(0.6);
            transform: scale(0.6);
  }
  
  .selection {
    width: 100%;
  }
  
  .selection h2 {
    margin: 0 auto;
    font-size: 20px;
    padding: 5px 0;
    text-align: center;
    font-size: 20px;
  }
  
  .candidate {
    width: 100%;
  }
  
  /* ================================
   ▼ チーム編成（ランダム）デザイン
================================ */

.team-random-container {
  margin: 50px auto;
  padding: 25px;
  border: 2px solid #ccc;
  border-radius: 10px;
  max-width: 750px;
  text-align: center;
  background: #fafafa;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* ボタン */
.team-random-button {
  padding: 10px 25px;
  font-size: 18px;
  border: none;
  border-radius: 6px;
  background: linear-gradient(135deg, #4CAF50, #2E8B57);
  color: white;
  cursor: pointer;
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
  transition: 0.2s;
}
.team-random-button:hover {
  opacity: 0.85;
  transform: scale(1.03);
}
.team-random-container{
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* 結果全体 */
.team-result {
  margin-top: 25px;
  font-size: 22px;
  line-height: 2;
}

/* 各行 */
.team-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

/* 回戦ラベル */
.round-label {
  font-weight: bold;
  min-width: 70px;
  text-align: right;
}

/* チーム共通 */
.team {
  min-width: 260px;
  padding: 6px 10px;
  border-radius: 6px;
  font-weight: bold;
  white-space: nowrap;
}

/* 赤チーム・青チーム */
.team-red {
  color: #fff;
  background-color: #e74c3c;
  text-align: right;
}
.team-blue {
  color: #fff;
  background-color: #3498db;
  text-align: left;
}

/* VS中央 */
.vs {
  font-weight: bold;
  font-size: 22px;
  color: #333;
  min-width: 40px;
  text-align: center;
}
  
  
  
  footer {
    margin: 0 auto;
    position: relative;
    bottom: 0;
    width: 80%;
    height: 24px;
    text-align: right;
    border-top: 1px solid;
    font-size: 216x;
    line-height: 24px;
  }
  
  .copyright {
    width: 95%;
    margin: 0 10px;
  }
  /*# sourceMappingURL=stylesheet.css.map */