@charset "UTF-8";
/* 検索の強化（app/search.php。設定の search_plus がある環境だけ読む。2026-11-03）
   絞り込みの欄は calender_bar.css（.cal_bar）の見た目を使い、ここでは足した部品だけを書く */

/* 一覧の絞り込みの欄 */
/* 下に余白を取り、一覧との境目を分かりやすくする（2026-11-03 ユーザー指示） */
.sp_bar{ margin: 20px 0 48px; }
.sp_bar + .sp_tags{ margin-top: -32px; margin-bottom: 48px; }   /* 動画は言葉のボタンが続くので、余白はボタンの下に取る */
.sp_bar .cal_bar_area select{ max-width: 180px; }
.sp_sel{
	display: inline-flex;
	align-items: center;
	height: 36px;
	border: 1px solid #ccc;
	border-radius: 5px;
	background-color: #fff;
}
.sp_sel.on{ border-color: #49afcd; background-color: #eef8fb; }
.sp_sel select{
	height: 34px;
	padding: 0 10px;
	border: none;
	background: transparent;
	font-size: 14px;
	color: #333;
	cursor: pointer;
}
.sp_chk{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid #ccc;
	border-radius: 18px;
	background-color: #fff;
	font-size: 14px;
	color: #333;
	white-space: nowrap;
	cursor: pointer;
}
.sp_chk input{ margin: 0; }
.sp_chk.on{ border-color: #f49700; background-color: #fff4e0; color: #b86e00; font-weight: bold; }
.sp_song{ max-width: 300px; }
.sp_song button{ background-color: #6c8ebf !important; border-color: #6c8ebf !important; }

/* イベントの期間のボタン */
.sp_periods{ display: inline-flex; flex-wrap: wrap; gap: 6px; }
.sp_periods a{
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 12px;
	border: 1px solid #49afcd;
	border-radius: 15px;
	background-color: #fff;
	color: #49afcd !important;
	font-size: 13px;
	text-decoration: none !important;
	white-space: nowrap;
}
.sp_periods a:hover,
.sp_periods a.on{ background-color: #49afcd; color: #fff !important; }

/* 動画の言葉のボタン */
.sp_tags{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 20px; font-size: 13px; }
.sp_tags span{ color: #888; margin-right: 4px; }
.sp_tags a{
	display: inline-block;
	padding: 4px 12px;
	border: 1px solid #ddd;
	border-radius: 15px;
	background-color: #fff;
	color: #555 !important;
	text-decoration: none !important;
}
.sp_tags a:hover{ border-color: #49afcd; color: #49afcd !important; }
.sp_tags a.on{ border-color: #49afcd; background-color: #49afcd; color: #fff !important; }
.sp_tags a i{ margin-right: 4px; }

/* 印 */
.sp_badge{
	display: inline-block;
	margin-right: 6px;
	padding: 1px 8px;
	border-radius: 3px;
	background-color: #f49700;
	color: #fff;
	font-size: 12px;
	font-style: normal;
	font-weight: bold;
	vertical-align: middle;
	line-height: 1.6;
}
.sp_badge.sub{ background-color: #eef8fb; color: #2f7f99; border: 1px solid #b9dfeb; }
.sp_badges{ margin: 0 0 16px; }

/* 終わったイベント */
.sp_past{ margin: 30px 0; }
.sp_past summary{
	padding: 12px 16px;
	border-radius: 5px;
	background-color: #f5f5f5;
	color: #555;
	font-weight: bold;
	cursor: pointer;
}
.sp_past[open] summary{ margin-bottom: 10px; }

/* 終わったイベントのページ送り */
.sp_pager{ display: flex; justify-content: center; align-items: center; gap: 16px; margin: 16px 0; font-size: 14px; }
.sp_pager span{ color: #888; }

/* 詳細ページのつながり */
.sp_detail{ max-width: 1000px; margin: 0 auto 30px; padding: 0 5%; box-sizing: border-box; }
.sp_rel{ margin: 0 0 24px; }
.sp_rel h3{
	margin: 0 0 8px;
	padding: 0 0 6px;
	border-bottom: 2px solid #49afcd;
	font-size: 16px;
	font-weight: bold;
	color: #333;
}
.sp_rel_list{ margin: 0; padding: 0; list-style: none; }
.sp_rel_list li{ padding: 8px 0; border-bottom: 1px solid #eee; }
.sp_rel_list li a{ font-weight: bold; }
.sp_rel_list li span{ margin-left: 10px; font-size: 13px; color: #888; }
.sp_more{ margin: 8px 0 0; text-align: right; font-size: 13px; }

/* まとめて検索 */
.sp_all{ max-width: none !important; }
.sp_hint{ margin: 16px 0; color: #666; font-size: 14px; }
.sp_all_sec{ margin: 0 0 30px; }
.sp_all_sec h2{
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	padding: 0 0 6px;
	border-bottom: 2px solid #49afcd;
	font-size: 18px;
}
.sp_all_sec h2 span{ margin-left: auto; font-size: 13px; color: #888; font-weight: normal; }
.sp_none{ color: #999; font-size: 14px; }

@media screen and (max-width: 768px){
	.sp_bar .cal_bar_area select{ max-width: none; }
	.sp_song{ max-width: none; }
	.sp_bar{ margin-bottom: 36px; }
	.sp_bar + .sp_tags{ margin-top: -24px; margin-bottom: 36px; }
	.sp_rel_list li span{ display: block; margin: 2px 0 0; }
}
