body {
	overscroll-behavior: none;
}

/*スマホ最適化*/
@media only screen and (max-width: 767.9px) {

	/*============================
#main_selector
============================*/
	.top_fixed {
		position: fixed;
		width: 100%;
		background-color: rgba(255, 255, 255, .7);
		border-bottom: 4px solid #F3F3F3;
		top: 55.5px;
		z-index: 1;
		transform: translateY(-100%);
		transition: transform 0.3s ease;
	}

	.top_fixed.show {
		transform: translateY(0);
	}

	section#main_selector {
		margin: 12px 0;
		text-align: center;
	}

	section#main_selector div.inner {
		display: inline-block;
	}

	section#main_selector div.inner ul {
		display: grid;
		gap: 15px;
		grid-template-columns: repeat(2, 165px);
	}

	section#main_selector div.inner ul li {
		text-align: center;
		border-radius: 8px;
		border: 1px solid #ccc;
		background-color: #fff;
	}

	section#main_selector div.inner ul li.active {
		background: transparent linear-gradient(180deg, #8EDDD7 0%, #E8C7F1 100%) 0% 0% no-repeat padding-box;
		font-family: "A-OTF-ShinGoPro-Medium";
		border: none;
	}

	section#main_selector div.inner ul li a {
		font-size: 16px;
		display: block;
		color: #000;
		padding: 7px 0;
	}

	section#main_selector div.inner ul li.active a {
		color: #fff;
	}

	/*============================
#sub_selector
============================*/
	.middle_fixed {
		margin-top: 25px;
	}

	.middle_fixed section#sub_selector {
		background-color: #fff;
		padding: 0;
		height: auto;
	}

	.middle_fixed section#sub_selector div.inner ul li {
		width: 155px;
		border-radius: 8px;
		margin-bottom: 0;
		display: inline-block;
		height: 32px;
	}

	section#sub_selector {
		background-color: #F3F3F3;
		text-align: center;
	}

	section#sub_selector div.inner {
		display: inline-block;
	}

	section#sub_selector div.inner ul {
		display: inline-block;
		width: var(--content-width);
	}

	section#sub_selector div.inner ul li {
		display: inline-block;
		min-width: 61px;
		border: 1px solid #CCC;
		padding: 0 10px;
		border-radius: 8px;
		font-size: 12px;
		font-weight: 600;
		background-color: #fff;
		margin: 10px 7px;
		box-sizing: border-box;
		height: 32px;
	}

	section#sub_selector div.inner ul li:nth-of-type(5n) {
		margin-right: 0;
	}

	section#sub_selector div.inner ul li.active {
		background-color: #A7E1DD;
		color: #fff;
		font-weight: 400;
		border: none;
	}

	section#sub_selector div.inner ul li a {
		line-height: 23px;
		display: block;
		color: #000;
		height: 32px;
		padding-top: 3px;
		font-size: 15px;
	}

	section#sub_selector div.inner ul li.active a {
		color: #fff;
	}

	/*============================
#sns_modal
============================*/
	section#sns_modal {
		margin-top: 36px;
	}

	section#sns_modal div.inner h3.A-OTF-ShinGoPro-Light01 {
		margin-bottom: 20px;
	}

	section#sns_modal div.inner ul {
		width: var(--content-width);
		margin: 0 auto;
		margin-top: 6px;
		display: grid;
		row-gap: 6px;
		column-gap: 6px;
		grid-template-columns: repeat(3, 112px);
	}

	section#sns_modal div.inner ul li {
		cursor: pointer;
	}

	section#sns_modal div.inner ul li img {
		height: 112px;
		width: 112px;
		object-fit: cover;
	}

	.almanach02_view_button {
		cursor: pointer;
	}

	/*============================
#cast_ranking #shop_ranking
============================*/
	section.area_layout01 div.inner {
		margin-top: 60px;
	}

	section.area_layout01 div.inner div.top {
		text-align: center;
		margin-top: 24px;
	}

	section.area_layout01 div.inner div.top div.selector {
		display: inline-block;
		margin-bottom: 20px;
	}

	section.area_layout01 div.inner div.top div.selector ul {
		display: grid;
		row-gap: 0px;
		column-gap: 0px;
		grid-template-columns: repeat(2, 132px);
	}

	section.area_layout01 div.inner div.top div.selector ul li {
		text-align: center;
		font-size: 16px;
		font-family: almanach, sans-serif;
		font-weight: 300;
		color: #000;
		padding-bottom: 12px;
	}

	section.area_layout01 div.inner div.top div.selector ul li.active {
		color: #E5B6F1;
		border-bottom: 2px solid #E5B6F1;
	}

	.new_line {
		display: block;
	}

	section.area_layout01 div.inner div.top div.rank {
		display: inline-block;
	}

	section.area_layout01 div.inner div.top div.rank ol {
		display: grid;
		row-gap: 10px;
		column-gap: 10px;
		grid-template-columns: repeat(3, 108px);
	}

	section.area_layout01 div.inner div.top div.rank ol li {
		width: auto;
	}

	section.area_layout01 div.inner div.top div.rank ol li img {
		width: 50%;
	}

	section.area_layout01 div.inner div.top div.rank ul li img {
		width: 100%;
	}

	section.area_layout01 div.inner div.bottom {
		text-align: center;
		margin-top: 3px;
	}

	section.area_layout01 div.inner div.bottom div.wrap {
		display: inline-block;
		position: relative;
	}

	div.bottom.ranking ul {
		display: grid;
		row-gap: 0px;
		column-gap: 15px;
		grid-template-columns: repeat(3, 106px);
		overflow: hidden;
	}

	div.bottom ul {
		overflow: hidden;
	}

	ul li div.thum_img img {
		object-fit: cover;
		height: 106px;
		width: 106px;
		border-radius: 10px;
	}

	ul li p.post {
		margin: 4px 0;
		font-size: 10px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		color: #000;
		line-height: 1.3;
		text-align: center;
	}

	ul li h4.entry-title {
		margin: 4px 0;
		font-size: 11px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		width: 106px;
		color: #000;
		line-height: 1.3;
	}

	ul li h4.entry-title a {
		font-size: 12px;
		color: #8EDDD7;
	}

	section.area_layout01 div.inner div.bottom div.wrap ul li h5 {
		font-size: 8px;
	}

	section.area_layout01 div.inner div.bottom div.wrap ul li h6 {
		margin-top: 5px;
		font-size: 8px;
		color: #000;
	}
}
