    @charset "utf-8";
    #wrapper {
      margin-top: 0;
    }
  header {
    position: relative;
  }
  /* PC：横並び（画像の右に見出し/段落） */
@media (min-width: 768px) {

  #wrapper {
      margin-top: 60px;
    }
  header {
    position: fixed;
  }
}

.m0a_tac {
  margin: 0 auto;
  width: 98%;
  /* text-align: center; */
}

.m0a_tac h1, h2 {
  color: #0d457c;
  font-size: 1.7rem;
  font-weight: bold;
  padding: 15px 5px 5px 5px;
  /* padding-left: 5px; */
}

.m0a_tac h2 {
  font-size: 1.6rem;
  padding: 0px 0px 5px 5px;
  border-bottom: 1px dotted #03A9F4;
  margin-bottom: 10px;
}

.m0a_tac p {
  padding: 0px 5px 5px 5px;
  margin-bottom: 5px;
}

#tshirtContainer {
  position: relative;
  width: 330px; /* Tシャツ画像の実際の幅を指定 */
  height: 350px; /* Tシャツ画像の実際の高さを指定 */
  margin: 0 auto;
  margin-bottom: 30px;
}

/*pop.pngの場合*/
#overlayContainer {
  position: absolute;
  top: 95px; /* 重ねたい位置の上端からの距離 */
  left: 95px; /* 重ねたい位置の左端からの距離 */
  /* アップロードされた画像の幅 */
  width: 140px;
  /* アップロードされた画像の高さ */
  height: 280px;
  /* オーバーレイコンテナの外にはみ出した部分を非表示にする */
  overflow: hidden; 
}


#overlayContainer img {
  /* 初期サイズと最大サイズを設定 */
  width: 100%; /* 初期サイズ */
  max-width: 200%; /* 拡大時の最大サイズ */
  /* スムーズな拡大・縮小のためのトランジション */
  /* transition: width 0.2s; */
  transition: transform 0.2s; /* スムーズな拡大・縮小のためのトランジション */
}

#tshirtThumbnails {
  margin: 0 auto;
  width: 90%;
  display: flex; /* フレックスボックスを使用 */
  flex-direction: column; /* 縦方向に配置 */
  overflow-x: auto; /* 横方向にスクロール */
  max-height: 120px; /* 2行分の高さを設定 */
  margin-bottom: 30px;
}

.thumbnail-row {
  display: flex; /* フレックスボックスを使用 */
  white-space: nowrap; /* サムネイルを改行させない */
}

.thumbnail {
  width: 50px; /* サムネイルの幅 */
  height: 50px; /* サムネイルの高さ */
  margin-right: 10px; /* 右側の余白 */
  border: 2px solid transparent;
}

.thumbnail.selected {
  border-color: blue;
}

/*start*/
.slider {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80%;
  margin: 10px auto;
  text-align: center;
}

input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  outline: none; /* outline: none を指定 */
  cursor: pointer;
  width: 100%;
  background: #efafda;
  height: 8px;
  border-radius: 8px;
  margin: 0 10px; /* 左右に余白を追加 */
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  height: 20px;
  width: 20px;
  background-color: #4cabe2;
  border-radius: 50%;
}

input[type="range"]::-moz-range-thumb {
  border: none;
  height: 20px;
  width: 20px;
  background-color: #4cabe2;
  border-radius: 50%;
}

input[type="range"]::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 7px rgba(0, 30, 255, 0.1);
}
input[type="range"]:active::-webkit-slider-thumb {
  box-shadow: 0 0 0 10px rgba(0, 30, 255, 0.2);
}
input[type="range"]:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 10px rgba(0, 30, 255, 0.2);
}

input[type="range"]::-moz-range-thumb:hover {
  box-shadow: 0 0 0 7px rgba(0, 30, 255, 0.1);
}
input[type="range"]:active::-moz-range-thumb {
  box-shadow: 0 0 0 10px rgba(0, 30, 255, 0.2);
}
input[type="range"]:focus::-moz-range-thumb {
  box-shadow: 0 0 0 10px rgba(0, 30, 255, 0.2);
}

.slider-label {
  font-size: 14px; /* フォントサイズを調整 */
}

/* ボタン（アイコンを<img>で表示する版） */
.custom-file-upload, .custom-file-download {
  display: inline-flex;          /* ← inline-block から変更 */
  align-items: center;           /* 縦中央 */
  gap: 8px;                      /* アイコンと文字の間 */
  padding: 10px 20px;
  cursor: pointer;
  border: 1px solid #009688;
  border-radius: 5px;
  background-image: linear-gradient(to bottom, #fff, #fff);
  color: black;
  text-align: center;
  transition: all 0.3s;
}

/* <img>アイコン */
.custom-file-upload .upload-icon{
  width: 40px;
  height: 40px;
  display: block;
  object-fit: contain;
}

/* 文字（微調整） */
.custom-file-upload .upload_text{
  display: inline-block;
  position: relative;
  top: 1px;   /* ここは好みで0でもOK */
}

.custom-file-upload .icon {
display: inline-block; /* アイコンをインライン要素として表示 */
vertical-align: middle; /* アイコンを垂直方向の中央に配置 */
width: 40px; /* アイコンの幅 */
height: 40px; /* アイコンの高さ */
 /* 画像アイコンのパス */
/* background-image: url('../image/image_upload.png'); */
/* background-image: url('../image/image_icon.png');*/
background-size: cover; /* アイコンを覆うようにサイズを設定 */
margin-right: 5px; /* アイコンとテキストの間の余白 */
}

.custom-file-upload .upload_text {
display: inline-block;
vertical-align: middle;
position: relative;
top: 2px; /* テキストを少し下げる */
right: 2px;
}

.custom-file-upload:hover {
  border: 1px solid gold;
  background-image: linear-gradient(to bottom, #0096886b, #0096886b);
  /* background-image: linear-gradient(to bottom, #009688, #009688); */
}

.custom-file-download {
  color: black;
  border: 1px solid #009688;
  background-image: linear-gradient(to bottom, #fff, #fff);
  padding: 10px 30px;
}

/* .custom-file-download:hover {
  background-image: linear-gradient(to bottom, green, green);
} */

/*start*/
/* ▼ テキストツール */
.textTools { padding: 0 5px; }
.textTools input[type="text"]{
  width: 100%;
  max-width: 520px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
}
.textToolsRow{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

.textToolsRow select{
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

/* ▼ overlay上の要素 */
.draggable {
  position: absolute;
  left: 0px;
  top: 0px;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none; /* スマホのスクロール誤動作防止 */
  transform-origin: top left;
}

#uploadedImage { z-index: 1; }
#textOverlay  {
  z-index: 2;
  font-weight: 800;
  white-space: pre;      /* 改行を扱う場合にも対応 */
  line-height: 1.1;
}
/*end*/