@CHARSET "UTF-8";
/*---------------------------------------------------------------------------*/
/* サイドメニュー */
.main_block .page_side {
	position: relative;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}
.main_block .page_side:after {
	content: "";
	clear: both;
	display: block;
}
/*-------------------------------------*/
/* サイドメニュー内容 */
.page_side .side_block {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: center; /* ブロックのセンタリング */
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	#border: solid 1px #77f;
}
/*-------------------------------------*/
.page_side .side_main {
	position: relative;
	width: 100%;
	max-width: 900px;
	margin: 0;
	padding: 0;
	margin-top: 20px;
	overflow: hidden;
}
@media screen and (max-width: 1080px) {
	.page_side .side_main {
		max-width: 800px;
	}
}
@media screen and (max-width: 800px) {
	.page_side .side_main {
		max-width: 350px;
		margin-top: 10px;
	}
}
.side_block .side_main .category {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	min-width: 340px;
	margin: 0;
	padding: 5px;
	border: solid 1px #008080;
	border-radius: 5px;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}
.side_block .side_main .category{
	display: flex;
	flex-wrap: wrap;
	gap: 3px 5px;
}
.side_block .side_main span { /* チェックボックスのセル */
	position: relative;
	display: block;
	#flex: 1 1 10%;
	width: fit-content;
	min-width: 60px;
	margin: 0;
	padding: 0 5px;
	font-family: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 15px;
	letter-spacing: -0.5px;
	line-height: 2.0;
	text-align: left;
	background: transparent;
	#border: solid 1px #7f7;
}
/*-------------------------------------*/
/* カスタムチェックボックス */
.side_block label {
	display: inline-block;
	margin: 0;
	padding: 4px 0 0 0;
	font-family: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 15px;
	line-height: 1.0;
	color: #333;
}
.side_block input[type="checkbox"]{
    display: none;
}
.side_block input[type="checkbox"]+label{
    display: inline-block;
    position: relative;
    padding-left: 26px;
    cursor: pointer;
}
.side_block input[type="checkbox"]+label::before{
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #888;
    background-color: #fafafa;
}
.side_block input[type="checkbox"]:checked+label::after{
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 3px;
    width: 12px;
    height: 6px;
    transform: rotate(-50deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color:  #333;
}
/***/
/*=====================================*/
/* END */
