/* 画面共通 */
#full-loading {
  display: table;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0.3;
  z-index: 999;
}

#full-loading-image {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  background: url('/images/loading.gif') center center no-repeat;
}

/* 画面個別 containerに.page-${ページ名}をつけること */
.page-fan-detail .shop-item-img {
  object-fit: contain;
  min-width: 80px;
  max-width: 80px;
  min-height: 80px;
  max-height: 80px;
}

.page-fan-detail .fanclub-img {
  object-fit: cover;
  width: 50px;
  height: 50px;
  border-radius: 2px;
}

.page-fan-detail .fanclub-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.page-fan-detail .panel-fanclub:hover {
  opacity: 1;
}

.page-plan-create .plan-amount-container {
  background-color: #f6f6f6;
  padding-bottom: 15px;
  border-radius: 10px;
}

.page-plan-edit .plan-amount-container {
  background-color: #f6f6f6;
  padding-bottom: 15px;
  border-radius: 10px;
}

/* Stamp / Gift */
.page-stamp-edit .image-container img,
.page-gift-edit .image-container img {
  object-fit: contain;
  min-width: 120px;
  max-width: 120px;
  min-height: 120px;
  max-height: 120px;
}

.page-stamp-edit .drop-area img,
.page-gift-edit .drop-area img {
  border-radius: 8px;
  padding: 8px;
}

.page-stamp-edit .drop-area img.start,
.page-gift-edit .drop-area img.start {
  opacity: 0.7;
}

.page-stamp-edit .drop-area img.over,
.page-gift-edit .drop-area img.over {
  border: 2px dashed #666;
  opacity: 0.4;
}

.page-stamp-edit .stamp-upload-drop-area,
.page-gift-edit .gift-upload-drop-area {
  text-align: left;
  vertical-align: middle;
  height: 150px;
  padding: 20px;
  padding-left: 200px;
  font-size: 1.8rem;
  border-radius: 10px;
  border: 2px dashed #666;
}

.page-stamp-edit .delete-btn-container,
.page-gift-edit .delete-btn-container {
  padding-left: 0px;
}

.page-stamp-edit .delete-btn-container .delete-btn,
.page-gift-edit .delete-btn-container .delete-btn {
  color: #444;
}

.page-stamp-edit-disabled .add-btn-container,
.page-gift-edit-disabled .add-btn-container {
  padding-left: 0px;
}

.page-stamp-edit-disabled .add-btn-container .add-btn,
.page-gift-edit-disabled .add-btn-container .add-btn {
  color: #444;
}

/* Shop */
.page-shop-detail .item-img {
  object-fit: contain;
  min-width: 200px;
  max-width: 200px;
  min-height: 200px;
  max-height: 200px;
}

.page-shop-item-edit .sub-image-upload-drop-area .sub-image-container.border-left {
  border-left: 2px dashed #ccc;
}

.page-shop-detail .item-container.border-left {
  border-left: 2px dashed #ccc;
}

.page-shop-detail .sort-order-edit .item-img {
  opacity: 0.6;
}

.page-shop-detail .item-name-container {
  height: 60px;
}

.page-shop-detail .warehouse-entry-item-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-shop-item-edit .main-image-upload-drop-area {
  position: relative;
  padding: 4px;
  width: 520px;
  height: 390px;
  font-size: 1.8rem;
  border-radius: 10px;
  border: 2px dashed #ccc;
}

.page-shop-item-edit .main-image-upload-drop-area .main-image {
  object-fit: contain;
  min-width: 500px;
  max-width: 500px;
  min-height: 380px;
  max-height: 380px;
}

.page-shop-item-edit .main-image-upload-drop-area .area-text {
  position: absolute;
  top: 50%;
  left: 20%;
  transform: translateY(-50%);
}

.page-shop-item-edit .sub-image-upload-drop-area {
  padding-left: 3px;
  position: relative;
  width: 520px;
  min-height: 100px;
  font-size: 1.8rem;
  border-radius: 10px;
  border: 2px dashed #ccc;
}

.page-shop-item-edit .sub-image-upload-drop-area .sub-image-container {
  display: inline-block;
  position: relative;
}

.page-shop-item-edit .sub-image-upload-drop-area .sub-image-container.border-left {
  border-left: 2px dashed #ccc;
}

.page-shop-item-edit .sub-image-upload-drop-area .sub-image {
  object-fit: contain;
  min-width: 97px;
  max-width: 97px;
  min-height: 97px;
  max-height: 97px;
  padding: 1px;
}

.delete-btn {
  color: #909090;
  cursor: pointer;
}

.page-shop-item-edit .sub-image-upload-drop-area .sub-upload-preview-delete-btn {
  position: absolute;
  top: 6px;
  right: 2px;
  font-size: 1.2rem;
}

.page-shop-item-edit .sub-image-upload-drop-area .area-text {
  position: absolute;
  top: 50%;
  left: 20%;
  transform: translateY(-50%);
}

.page-shop-item-edit .child-item-container {
  padding: 5px 10px 5px 10px;
  border-radius: 5px;
  border: 1px dashed #ccc;
}

.page-shop-item-edit .child-item-container-hr {
  margin-top: 10px;
  border-top: 2px dashed #eee;
}

.page-shop-item-edit .child-item-delete-icon-container {
  vertical-align: middle;
  height: 34px;
}

.page-shop-item-edit .child-item-delete-icon {
  color: #999;
  font-size: 2.0rem;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

.page-shop-item-edit .child-item-move-icon-container {
  vertical-align: middle;
  height: 34px;
  border-radius: 5px;
  border: 1px dashed #ccc;
}

.page-shop-item-edit .child-item-move-icon {
  color: #999;
  font-size: 2.0rem;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

/* 汎用スタイル */
.m5 { margin: 5px; }
.m10 { margin: 10px; }
.m15 { margin: 15px; }
.m20 { margin: 20px; }
.m30 { margin: 30px; }
.m40 { margin: 40px; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mr5 { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.ml5 { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.ml15 { margin-left: 15px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }

.p5 { padding: 5px; }
.p10 { padding: 10px; }
.p15 { padding: 15px; }
.p20 { padding: 20px; }
.p30 { padding: 30px; }
.p40 { padding: 40px; }
.pt5 { padding-top: 5px; }
.pt10 { padding-top: 10px; }
.pt15 { padding-top: 15px; }
.pt20 { padding-top: 20px; }
.pt30 { padding-top: 30px; }
.pt40 { padding-top: 40px; }
.pr5 { padding-right: 5px; }
.pr10 { padding-right: 10px; }
.pr15 { padding-right: 15px; }
.pr20 { padding-right: 20px; }
.pr30 { padding-right: 30px; }
.pr40 { padding-right: 40px; }
.pb5 { padding-bottom: 5px; }
.pb10 { padding-bottom: 10px; }
.pb15 { padding-bottom: 15px; }
.pb20 { padding-bottom: 20px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pl5 { padding-left: 5px; }
.pl10 { padding-left: 10px; }
.pl15 { padding-left: 15px; }
.pl20 { padding-left: 20px; }
.pl30 { padding-left: 30px; }
.pl40 { padding-left: 40px; }

.fs10 { font-size: 1.0rem; }
.fs12 { font-size: 1.2rem; }
.fs14 { font-size: 1.4rem; }
.fs16 { font-size: 1.6rem; }
.fs18 { font-size: 1.8rem; }
.fs20 { font-size: 2.0rem; }

.op5 {
  opacity: 0.5;
}

.break-all {
  word-break: break-all;
}

.vcenter {
  display: inline-block;
  vertical-align: middle;
  float: none;
}

.line-height25 {
  line-height: 2.5 !important;
}

.line-through {
  text-decoration: line-through;
}

.height80 {
  height: 80px;
}

.height400 {
  height: 400px;
}

.height600 {
  height: 600px;
}

.mheight600 {
  max-height: 600px;
}

.vscroll {
  overflow-y: auto;
}

.bg-color-info {
  background-color: #bce8f1;
}

.bg-color-light-gray {
  background-color: #f9f9f9;
}

.color-default {
  color: #333333;
}

.color-gray {
  color: #aaaaaa;
}

.color-red {
  color: #ff0000;
}