details {
}

summary {
	outline:none;
	padding:3px 0 3px 0px;
	font-size:14px;
}

details[open] {
}

#space{
	padding-top:15px;
}

/* 絞り込み解除 */
.refineCancel{
	font-size:12px;
}


/***スケジュールカード***/
.schCard{
  display: flex;
}
.schCard .date{
  width: 35px;
  vertical-align: top;
  text-align:center;
  line-height:16px;
}
.schCard .date .dateD{
  text-align:center;
	font-size: 22px;
}
.schCard .date .dateW{
  text-align:center;
	font-size: 10px;
}
.schCard .contArea{
  width: calc(100% - 45px);
  vertical-align: top;
  border-left:2px solid #999;
  border-bottom:2px solid #999;
  padding:2px 8px 2px 5px;
}
.schCard .contArea .tag{
  margin:3px 0px 0px 0px;
}

/* タグ */
.schTag {
  margin-left:2px;
  border-radius: 3px;
  border: solid 1px #999;
  padding:0px 5px 0px 5px;
  font-size:9px;
  color:#fff;
  background: #666;
}

/* あと〇日タグ */
.daysLeftTag {
  margin-left:2px;
  border-radius: 3px;
  border: solid 1px #999;
  padding:0px 5px 0px 5px;
  font-size:9px;
  color:#666;
  background: #fff;
}

/* タイトル */
.schCard .contArea .title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size:18px;
  line-height:18px;
  font-weight:bold;
  margin:0px 0px 0px 0px;
}

/* タイトル改行設定 */
.titleText {
  flex: 1;
  word-break: break-word;
  white-space: normal;
  margin: 4px 4px 0px 3px;
}

.titleUrl{
  margin:0px 0px 4px 0px;
}

.place{
  margin:0px 0px 4px 0px;
}

.schCard .contArea .content{
  margin:0px 0px 2px 20px;
  font-size:14px;
}
.schCardSpace{
  padding-top:8px;
}
.schCardDaySpace{
  padding-top:16px;
}
.setlistArea{
  margin:0px 0px 0px 16px;
  font-size:12px;
}
.setlistArea .songNo{
  display:inline-block;
  vertical-align: top;
  width:14px;
}
.setlistArea .songNoBreak{
  display:inline-block;
  vertical-align: top;
  width:10px;
}
.setlistArea .songTitle{
  display:inline-block;
  vertical-align: top;
  width: calc(100% - 30px);
}


/***スケジュール年月日制御***/
.sticky {
	position: -webkit-sticky;
	position:sticky;
}
.stickyY {
	top:108px;
	z-index:3;
}
.stickyM {
	top:59px;
	z-index:2;
}
.stickyD {
	top:85px;
	z-index:1;
}

.calBox {
	width :37px;
	box-sizing:border-box;
	text-align:center;
	display:table-cell;
	vertical-align:middle;
}

.yArea {
	height:17px;
	border-top   :2px solid #999;
	border-right :2px solid #999;
	border-bottom:0px solid #999;
	border-left  :2px solid #999;
	background:#777;
}
.yArea .yVal {
	font-size:9pt;
	color:#FFF;
}

.mArea {
	height:20px;
	border-top   :2px solid #999;
	border-right :2px solid #999;
	border-bottom:0px solid #999;
	border-left  :2px solid #999;
	background:#DDD;
	line-height:24px;
}
.mArea .mVal {
	font-size:22px;
	color:#555;
}

.dArea {
	height:40px;
	border-top   :2px solid #999;
	border-bottom:2px solid #999;
	border-left  :2px solid #999;
	background:#FFF;
}
.dArea .dVal {
	font-size:22px;
	line-height:18px;
	color:#666;
}
.dArea .wVal {
	font-size:10px;
	line-height:14px;
	letter-spacing:-0.1em
}

.dotDayOfWeek {
	font-size:7px;
}

/* タグコンテナ（共通） */
.tagContainer {
  position: sticky;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #fff;
}

/* 活動タグコンテナ */
.actTagContainer {
  top: 90px;
}
/* カテゴリタグコンテナ */
.categoryTagContainer {
  top: 110px;
}
/* 検索ワードコンテナ */
.searchWordContainer {
  top: 130px;
  padding-bottom: 3px;
  border-bottom: 1px solid #666;
}

/* タグフィルタ */
.tagFilter {
  cursor: pointer;
  transition: opacity 0.3s;
}

/* 未選択タグの透明度 */
.inactive {
  opacity: 0.45;
}

/* お気に入りボタン */
.favoBtn {
  width : 22px;
  height: 22px;
  margin-left: 1px;
  border-radius: 3px;
  border: solid 1px #ccc;
  background: #f0f0f0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: default;
  box-shadow: 0 0 0 1px #eee;
}

.favoBtn svg path:last-child {
  transition: fill 0.2s ease;
}

/* 追加：ホバーでちょっと拡大 */
.favoBtn:hover .icon_favo-svg {
/*
  transform: scale(1.1);
  transition: transform 0.2s ease;
*/
}

/* クリック時のポヨン動作 */
.favoBtn.clicked .icon_favo-svg {
  animation: pop 0.3s ease;
}

@keyframes pop {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.3); }
  100% { transform: scale(1); }
}

/* お気に入りアイコン */
.icon_favo-svg {
  width : 20px;
  height: 20px;
}

/* メニューのお気に入りアイコンポジション指定 */
.favoIconPosiWrapper {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.favoIconPosi {
  display: flex;
  margin: 2px 0 0 0;
  flex-direction: column;
  align-items: center;
}

/* メニューお気に入りアイコンのカウント */
.favoCount {
  font-size:8px;
  color: #ddd;
  margin: -1px 0 0 0;
}

/* メニューの情報提供ポジション指定 */
.providePosiWrapper {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.providePosi {
  display: flex;
  margin: 2px 0 0 0;
  flex-direction: column;
  align-items: center;
}
.provideLink {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-align: center;
  user-select: none;
  line-height: 1;
}
.provideLink .mainTxt {
  font-size: 13pt;
  line-height: 1;
}
.provideLink .subTxt {
  font-size: 5pt;
  line-height: 1;
}

/* セットリスト */
.setlist_supplement {
  margin: 10px 0 8px 0;
}
/* setlist専用ラッパーに限定して、影響範囲を狭める */
.setlist-container {
  display: flex;
  flex-direction: column;
}
.setlist-row {
  display: flex;
}
.sort-song {
  width: 20px; /* 固定幅 */
  text-align:right;
  margin: 0 8px 0 0;
}
.sort-se {
  margin: 0 0 8px 0;
  width: 100%;
}
.sort-mc {
  width: 20px; /* 固定幅 */
  margin: 8px 8px 8px 0;
}
.sort-encore {
  margin: 8px 0 0 0;
  width: 100%;
}
.setlist-song {
  flex-grow: 1; /* 残り幅を埋める */
  white-space: pre-wrap; /* 必要に応じて改行保持 */
}
.setlist-mc {
  flex-grow: 1; /* 残り幅を埋める */
  margin: 8px 0 8px 0;
  white-space: pre-wrap; /* 必要に応じて改行保持 */
}

