@charset "utf-8";
/*
お知らせ
----------------------------------------------------------- */
.main_cont div {
	margin-bottom: 32px;
}

header #hamburgar {
	margin-bottom: 0;
}

dl {
	margin-bottom: 16px;
}

dl:last-of-type {
	margin-bottom: 0;
}

dt {
	margin-bottom: 12px;
	padding: 0 8px;
}

dd {
	padding: 0 8px 16px 8px;
	border-bottom: 1px solid #d6d6d6;
	line-height: 28px;
}

dd:last-of-type {
	margin-bottom: 0;
}

dd a {
	color: #444;
	display: block;
}

dd p {
	line-height: 28px;
}

dd a:hover,.side li:hover {
	color: #FF6F86;
}

/* ページネーション */
.main_cont ul {
	text-align: center;
}

.main_cont ul li {
	display: inline-block;
	width: 40px;
	margin-right: 8px;
}

.main_cont ul li:disabled {
	background-color: transparent;
}

.main_cont ul li:last-of-type {
	margin-bottom: 0;
}

.main_cont ul li a {
	display: inline-block;
	line-height: 38px;
	color: #444;
	background-color: #fff;
	border: 1px solid #C9C9C9;
	width: 100%;
	vertical-align: top;
}

.main_cont .selected a {
	background-color: #FF6F86;
	border: 1px solid #FF6F86;
	color: #fff;
	width: 100%;
}

.main_cont .disabled a {
	display: none;
}

#undefined {
	text-align: center;
}

@media screen and (max-width: 960px) {
	
	#flex_wrap {
		flex-direction: column-reverse;
		justify-content: flex-end;
	}



	#main {
		margin-bottom: 0;
	}

	#side_wrap {
		margin-top: 0;
		margin-bottom: 48px;
	}

	#side_wrap h3 {
		display: none;
	}

	.side {
		padding: 0;
		background-color: transparent;
		border: none;
	}

	.side h4 {
		display: none;
	}

	.side li {
		display: inline-block;
		width: calc(100% / 5);
		text-align: center;
		position: relative;
	}

	.side li::after {
		content: "";
		display: block;
		width: 1px;
		height: 24px;
		background-color: #c9c9c9;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}

	.side li:last-of-type::after {
		content: none;
	}

	.side a {
		padding: 10px 0;
		font-size: 12px;
	}

	.side a::before {
		content: none;
	}

	.current {
		background-color: transparent;
		font-weight: bold;
		position: relative;
	}

	.side .current::before {
		content: "";
		width: 72%;
		height: 2px;
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		background-color: #FF6F86;
		border: none;
	}

}

@media screen and (max-width: 520px) {
	.main_cont .hide_sp {
		display: none;
	}

	#category_wrap {
		overflow-x: auto;
	}

	.side ul {
		width: max-content;
  		-webkit-overflow-scrolling: touch;
	}

	.side li {
		width: 98px;
	}
}