@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Zen+Kurenaido&display=swap");
.pcHide {
	display: block;
}
@media (min-width: 768px) {
	.pcHide {
		display: none;
	}
}
.pcShow {
	display: none;
}
@media (min-width: 768px) {
	.pcShow {
		display: block;
	}
}
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "Noto Sans JP", sans-serif;
	background-color: #ffffff;
	color: #222;
	line-height: 1.5;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a {
	-webkit-transition: all 0.2s ease-out 0s;
	transition: all 0.2s ease-out 0s;
}
.page-container {
	overflow-x: hidden;
	padding-top: 56px;
	margin: 0 auto;
	width: 100vw;
	min-height: 100vh;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	background-color: #ffffff;
}
@media (min-width: 800px) {
	.page-container {
		padding-top: 67px;
	}
}
.header {
	position: fixed;
	top: 0;
	width: 100%;
	background-color: #ffffff;
	z-index: 100;
}
.header .header-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 8px 12px 8px 16px;
}
.header .header-wrap .logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 130px;
	-o-object-fit: cover;
	object-fit: cover;
}
.header .header-wrap .nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 8px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.header .header-wrap .nav .nav-link {
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "Noto Sans JP", sans-serif;
	font-size: 12px;
	font-weight: 700;
	color: #222;
	text-decoration: underline;
	line-height: 1.6;
	text-align: center;
	padding: 6px 4px;
}
.header .header-wrap .nav .nav-link-store {
	padding: 7px 12px 6px;
	font-size: 11px;
	line-height: 1.2;
	background-color: #eee;
	border-radius: 20px;
	text-decoration: none;
}
@media only screen and (min-width: 800px) {
	.header .header-wrap {
		width: 800px;
		padding: 14px 16px;
		margin: 0 auto;
	}
	.header .header-wrap .logo {
		width: 182px;
	}
	.header .header-wrap .nav {
		gap: 16px;
	}
	.header .header-wrap .nav .nav-link {
		font-size: 16px;
		padding: 6px 4px;
	}
	.header .header-wrap .nav .nav-link:hover {
		color: #d4003b;
	}
	.header .header-wrap .nav .nav-link-store {
		position: relative;
		padding: 10px 16px;
		font-size: 16px;
		overflow: hidden;
		z-index: 1;
	}
	.header .header-wrap .nav .nav-link-store:after {
		background: #d4003b;
		position: absolute;
		top: -10px;
		left: 0;
		content: "";
		width: 100%;
		z-index: -1;
		-webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
		transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
		-webkit-transform: skewY(-10deg) scale(1, 0);
		transform: skewY(-10deg) scale(1, 0);
		height: 180px;
	}
	.header .header-wrap .nav .nav-link-store:hover {
		color: #fff;
	}
	.header .header-wrap .nav .nav-link-store:hover:after {
		-webkit-transform: skewY(-10deg) scale(1, 1);
		transform: skewY(-10deg) scale(1, 1);
	}
}
.footer {
	background-color: #000;
	color: #ffffff;
}
.footer .footer-links {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
}
.footer .footer-link {
	position: relative;
	padding-left: 1.25em;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 12px;
	font-weight: 400;
	color: #ffffff;
	text-decoration: none;
}
.footer .footer-link:before {
	content: "";
	position: absolute;
	top: calc(50% + 1px);
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	pointer-events: none;
	-webkit-transform: translateY(-50%) rotate(135deg);
	transform: translateY(-50%) rotate(135deg);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.footer .copyright {
	padding: 16px 30px;
	font-size: 10px;
	font-weight: 400;
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}
@media only screen and (min-width: 800px) {
	.footer .footer-links {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 24px;
		width: 800px;
		margin: 0 auto;
	}
	.footer .footer-link {
		font-size: 16px;
		font-weight: 400;
	}
	.footer .footer-link:hover {
		color: #d4003b;
	}
	.footer .footer-link:hover:before {
		border-color: #d4003b;
	}
	.footer .copyright {
		padding: 16px;
		font-size: 14px;
	}
}
.pageTitle {
	margin: 16px 0px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: hsl(343, 100%, 42%);
}
@media only screen and (min-width: 800px) {
	.pageTitle {
		margin: 24px 0px;
		font-size: 24px;
	}
}
.control-panel {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 100%;
}
.control-panel .sortArea,
.control-panel .clearArea {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 16px;
}
.control-panel .sortArea #prefecture-select {
	position: relative;
	width: 100%;
	padding: 12px;
	text-align: left;
	-moz-text-align-last: center;
	text-align-last: center;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid #dddddd;
	background-color: #ffffff;
	color: #222;
	font-size: 14px;
}
.control-panel .sortArea #prefecture-select option {
	text-align: left;
}
.control-panel .sortArea:after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #d4003b;
	border-left: 2px solid #d4003b;
	pointer-events: none;
	-webkit-transform: translateY(-50%) rotate(-135deg);
	transform: translateY(-50%) rotate(-135deg);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.control-panel .clearArea {
	justify-content: flex-end;
}
.control-panel .clearArea #prefecture-clear {
	appearance: none;
	background: #ffffff;
	border: solid 1px #d8d8d8;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 15px;
	font-size: 14px;
	cursor: pointer;
	margin-top: 8px;
	line-height: 1;
}
.control-panel .novelty-info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 10px;
	margin-top: 16px;
	padding: 16px 24px;
	background-color: #f6f6f6;
}
.control-panel .novelty-info .novelty-content {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
}
.control-panel .novelty-info .novelty-content .novelty-badge {
	background-color: #ffffff;
	border: 1px solid #d4003b;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 8px;
	font-weight: bold;
	color: #d4003b;
	font-size: 12px;
	text-align: center;
	line-height: 12px;
	white-space: nowrap;
}
.control-panel .novelty-info .novelty-content .novelty-text {
	color: #000000;
	font-size: 14px;
	text-align: center;
	line-height: 18.2px;
	white-space: nowrap;
}
.control-panel .disclaimer {
	padding: 16px 24px;
}
.control-panel .disclaimer p {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-family: "Yu Gothic", sans-serif;
	color: #666666;
	font-size: 12px;
}
@media only screen and (min-width: 800px) {
	.control-panel .sortArea,
	.control-panel .clearArea {
		width: 800px;
		margin: 0 auto;
	}
	.control-panel .sortArea #prefecture-select {
		padding: 16px;
		font-size: 16px;
	}
	.control-panel .clearArea #prefecture-clear {
		padding: 16px 20px;
		font-size: 16px;
	}
	.control-panel .novelty-info {
		margin-top: 32px;
		padding: 24px;
	}
	.control-panel .novelty-info .novelty-content {
		width: 800px;
		margin: 0 auto;
	}
	.control-panel .novelty-info .novelty-content .novelty-badge {
		padding: 10px;
		font-size: 14px;
		line-height: 14px;
	}
	.control-panel .novelty-info .novelty-content .novelty-text {
		font-size: 16px;
	}
	.control-panel .disclaimer {
		width: 800px;
		margin: 0 auto;
		padding: 16px 0;
	}
	.control-panel .disclaimer p {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		color: #666666;
		font-size: 12px;
	}
}
.shop-list {
	padding: 0 24px;
	margin-bottom: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.shop-list .shop-item {
	padding: 24px 0;
	border-bottom: 1px solid #dddddd;
}
.shop-list .shop-item.is-last-visible {
	border-bottom: none;
}
.shop-list .shop-item .shop-header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 8px;
}
.shop-list .shop-item .shop-header .premium-badge {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 8px;
	padding: 3px 6px 2px 6px;
	background-color: #000000;
	border: 1px solid #000000;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}
.shop-list .shop-item .shop-header .premium-badge span {
	font-weight: bold;
	color: #ebc563;
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.96px;
	line-height: 15.6px;
	white-space: nowrap;
}
.shop-list .shop-item .shop-info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.shop-list .shop-item .shop-info .shop-name {
	font-weight: bold;
	color: #222222;
	font-size: 16px;
	margin-bottom: 4px;
}
.shop-list .shop-item .shop-info .shop-address {
	color: #222222;
	font-size: 14px;
}
.shop-list .shop-item .shop-info .shop-online {
	color: #222222;
	font-size: 14px;
}
.shop-list .shop-item .shop-info .shop-warning {
	color: #d4003b;
	font-size: 11px;
	letter-spacing: 0.33px;
	margin-top: 4px;
}
.shop-list .shop-item .shop-badges {
	margin-top: 16px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
}
.shop-list .shop-item .shop-badges .shop-novelty-badge {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 10px;
	padding: 8px;
	border: 1px solid;
}
.shop-list .shop-item .shop-badges .shop-novelty-badge.active {
	background-color: #ffffff;
	border-color: #d4003b;
}
.shop-list .shop-item .shop-badges .shop-novelty-badge.active span {
	color: #d4003b;
}
.shop-list .shop-item .shop-badges .shop-novelty-badge.inactive {
	background-color: #eeeeee;
	border-color: #dddddd;
}
.shop-list .shop-item .shop-badges .shop-novelty-badge.inactive span {
	color: #aaaaaa;
}
.shop-list .shop-item .shop-badges .shop-novelty-badge span {
	font-weight: bold;
	font-size: 12px;
	text-align: center;
	line-height: 12px;
	white-space: nowrap;
}
@media only screen and (min-width: 800px) {
	.shop-list {
		width: 800px;
		margin: 0 auto 40px;
		padding: 0;
	}
	.shop-list .shop-item .shop-header .premium-badge {
		padding: 5px 8px 4px 8px;
	}
	.shop-list .shop-item .shop-header .premium-badge span {
		font-size: 14px;
	}
	.shop-list .shop-item .shop-info {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.shop-list .shop-item .shop-info .shop-name {
		font-size: 18px;
	}
	.shop-list .shop-item .shop-info .shop-address {
		font-size: 16px;
	}
	.shop-list .shop-item .shop-info .shop-online {
		font-size: 16px;
	}
	.shop-list .shop-item .shop-info .shop-online:hover {
		color: #d4003b;
	}
	.shop-list .shop-item .shop-info .shop-warning {
		color: #d4003b;
	}
	.shop-list .shop-item .shop-badges .shop-novelty-badge {
		padding: 10px;
	}
	.shop-list .shop-item .shop-badges .shop-novelty-badge span {
		font-size: 14px;
	}
}
