html {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
body {
	text-align: center;
}

.clsAdditionalSearch{
	color: #600060;
	text-decoration:underline;
	cursor: pointer;
}

#popupSearch {
	display: none; /* label でコントロールするので input は非表示に */
}

.popupSearch-open {
	cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}

.popupSearch-overlay {
	display: none; /* input にチェックが入るまでは非表示に */
}

#popupSearch:checked ~ .popupSearch-overlay {
	display: block;
	z-index: 2147483647;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}

.popupSearch-window {
	width: 90vw;
	max-width: 560px;
	padding: 10px;
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	position: fixed;
	top: 52.5%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.popupSearch-window2 {
	width: 100%;
	max-width: 560px;
}

.clsPopupSearchTitle {
	text-align: right;
	margin-top: auto;
	margin-bottom: auto;
	margin-right: 8px;
    line-height: 40px;
	font-size: 13px;
}
.clsPopupSearchItem {
	text-align: left;
	margin-top: auto;
	margin-bottom: auto;
	margin-right: 8px;
}
.clsPopupSearchItem2 {
	text-align: left;
	margin-top: auto;
	margin-bottom: auto;
	margin-right: 8px;
	grid-column-start: 2;
	grid-column-end: 5;
}

.popupSearch-text:not(:last-of-type) {
	margin-bottom: 1em
}

.popupSearch-close {
	cursor: pointer;
	position: absolute;
	top: -36px;
	right: 0;
}

#popup {
	display: none; /* label でコントロールするので input は非表示に */
}
#popup2 {
	display: none; /* label でコントロールするので input は非表示に */
}

.popup-open {
	cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
	display: inline-block;
	width: 95%;
	max-width: 720px;
}
.popup2-open {
	cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
	display: inline-block;
	width: 95%;
	max-width: 720px;
}

.popup-overlay {
	display: none; /* input にチェックが入るまでは非表示に */
}
.popup2-overlay {
	display: none; /* input にチェックが入るまでは非表示に */
}

#popup:checked ~ .popup-overlay {
	display: block;
	z-index: 2147483647;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
#popup2:checked ~ .popup2-overlay {
	display: block;
	z-index: 2147483647;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}

.popup-window {
	width: 90vw;
	max-width: 560px;
	padding: 10px;
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	position: fixed;
	top: 52.5%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.popup2-window {
	width: 90vw;
	max-width: 560px;
	padding: 10px;
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	position: fixed;
	top: 52.5%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.popup-text {
	margin: 0;
}
.popup2-text {
	margin: 0;
}

.popup-text:not(:last-of-type) {
	margin-bottom: 1em
}
.popup2-text:not(:last-of-type) {
	margin-bottom: 1em
}

.popup-close {
	cursor: pointer;
	position: absolute;
	top: -36px;
	right: 0;
}
.popup2-close {
	cursor: pointer;
	position: absolute;
	top: -36px;
	right: 0;
}

.clsPopupHeader{
	display: grid;
	grid-template-columns: 1fr 2fr;
}
.clsPopupSearchHeader{
	display: grid;
	grid-template-columns: 4fr 1fr 4fr 1fr;
}
.popupSearch-Label{
	font-weight: bold;
}
.clsPopupContents{
	display: grid;
	grid-template-columns: 1fr 3fr;
	grid-template-rows: 1fr 1fr 1fr 1fr;
	gap: 5px;
}
.clsPopupShopID{
	width: 100%;
	text-align: left;
	color: #000000;
	font-size: 12px;
}
.clsPopupLastUpdate{
	width: 100%;
	text-align: right;
	color: #404040;
	font-size: 12px;
}
.clsPopupTable{
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
	table-layout: fixed;
}
.clsPopupTitleTD{
	background-color: #9932cc;
	color: #ffffff;
	font-size: 16px;
	width: 80px;
}
.clsPopupTitle{
	color: #ffffff;
	font-size: 16px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.clsPopupDetailTD00{
	background-color: #cfcfcf;
	color: #000000;
	font-size: 16px;
}
.clsPopupDetail{
	background-color: #cfcfcf;
	color: #000000;
	font-size: 16px;
	text-align: left;
	padding: 8px;
	max-height: 64px;
	overflow-y: hidden;
	line-break: strict;
}
.clsPopupDetail2{
	color: #000000;
	font-size: 12px;
	text-align: right;
	padding-left: 8px;
	margin-top: auto;
	margin-bottom: auto;
}
.clsPopupDetail3_00{
	background-color: #cfcfcf;
	color: #000000;
	font-size: 20px;
	text-align: center;
	padding-left: 8px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.clsPopupDartsTitle{
	background-color: #32cc84;
	color: #ffffff;
	font-size: 16px;
	padding-top: 4px;
	padding-bottom: 4px;
}
.clsPopupDartsTitle2{
	background-color: #9932cc;
	color: #ffffff;
	font-size: 16px;
	padding-top: 4px;
	padding-bottom: 4px;
}
.clsPopupContents2{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 32px 1fr 1fr 1fr;
	gap: 5px;
}
.fs12{
	font-size: 12px;
}

.clsTextIcon_ON{
	width: 90%;
	border: 1px solid #000000;
	border-radius: 10px;
	display: inline-block;
	margin-bottom: 5px;
	background-color: #0000ff;
	color: #ffff00;
	padding: 5px;
}
.clsTextIcon_OFF{
	width: 90%;
	border: 1px solid #000000;
	border-radius: 10px;
	display: inline-block;
	margin-bottom: 5px;
	background-color: #808080;
	color: #afafaf;
	padding: 5px;
}
.clsShopSearch{
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
	width: 95%;
}
.clsShopSearchObject{
	text-align: left;
}
.clsSearchItem{
	text-align: left;
}
.clsSearchItem2{
	text-align: left;
	margin-top: 8px;
}
.clsShopNameInput{
	border: 1px solid #ddd;
	border-radius: 6px;
	height: 48px;
	flex: 1;
	width: 100%;
	background: #eaedf2;
	font-size: 18px;
	padding-left: 1em;
}
.clsShopSearchTitle{
	margin-top: auto;
	margin-bottom: auto;
}

/* CSSコード */
input[type="checkbox"].text {
	position: relative;
}
input[type="checkbox"].text::after {
	content: attr(data-text-off);
	font-size: 8px;
	position: absolute;
	right: 2px;
	top: 2px;
}
input[type="checkbox"].text:checked::after {
	color: #ffffff;
	content: attr(data-text-on);
	left: 2px;
	right: auto;
}

* {
	box-sizing: border-box;
}

input[type="checkbox"] {
	border: 1px solid #0c0c0d4d;
	color: #737373;
	display: inline-block;
	margin-left: 4px;
}
/* 楕円部 */
input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #0c0c0d1a;
	border-radius: 8px;
	height: 16px; 
	width: 32px;
	top: -1px;
}
input[type="checkbox"]:hover {
	background-color: #0c0c0d33;
	border-color: #0c0c0d7f;
}
input[type="checkbox"]:active {
	background-color: #0c0c0d4d;
}
input[type="checkbox"]:focus {
	box-shadow: 0 0 0 1px #a00080 inset, 0 0 0 1px #a00080, 0 0 0 1px #600060;
}
input[type="checkbox"]:checked {
	background-color: #97539E; /* 青 */
	border-color: #97539E;
}
input[type="checkbox"]::before {
	background-color: currentColor; /* ●の色=グレー */
	border-radius: 6px;             /* heightの半分 */
	content: "";                    /* おまじない */
	display: inline-block;          /* おまじない */
	height: 12px;                   /* 楕円部のheightより2px小さいくらい */
	margin-left: 1px;               /* 楕円部と●のすき間 */
	margin-top: 1px;                /* 楕円部と●のすき間 */
	transition: margin-left .2s cubic-bezier(.07, .95, 0, 1); /* ヌルっと具合は調整 */
	width: 12px;                    /* heightに合わせる */
}
input[type="checkbox"]:checked::before {
	background-color: #ffffff; /* 白（楕円部の色と調整） */
	margin-left: 17px;         /* ●を右へ移動 */
}

.clsSearchResultDiv{
	margin-top: 10px;
}

.clsShopBlock{
	margin-top: 0px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	height: 100px;
	background-color: #cfcfcf;
    cursor: pointer;
 	border: 1px solid #808080;
}
.clsShopDataTr01{
	height: 12px;
}
.clsShopDataTr02{
	height: 40px;
}
.clsShopDataTr03{
	height: 28px;
}
.clsShopDataTr04{
	height: 18px;
}
.clsH40{
	height: 40px;
}
.clsShopIconTD{
	margin: 0px;
	padding: 0px;
	width: 100px;
	height: 100px;
	font-size: 11.5px;
	vertical-align: middle;
}
.clsShopDataTD{
	margin: 0px;
	padding: 0px;
	vertical-align: top;
}
.clsShopType00{
	background-color: #cfcfcf;
}
.clsShopType01{
	background-color: #ffffff;
}
.clsShopType02{
	background-color: #ffffcf;
}
td{
	padding: 0px;
	overflow-wrap: anywhere;
	vertical-align: middle;
}
.clsShopIcon{
	margin: 0px;
	padding: 0px;
	max-width: 100px;
	max-height: 100px;
	background-color: #808080;
	display: block;
}
.clsShopIcon2{
	margin: 0px;
	padding: 0px;
	max-width: 128px;
	max-height: 32px;
	display: inline-block;
}
.clsShopData_Distance01{
	position: relative;
    top: 10px;
    text-align: right;
    right: 16px;
    color: #97539e;
}
.clsShopData_Distance02{
	position: relative;
    top: 10px;
    text-align: right;
    right: 16px;
    color: #606060;
}
.clsShopData_Type{
	text-align: left;
	color: #202020;
	font-size: 12px;
}
.clsShopData_Title{
	text-align: left;
	color: #000000;
	font-size: 16px;
	margin-top: 0px;
	margin-bottom: 0px;
	height: 40px;
}
.clsShopData_Title td{
	margin: 0px;
	padding: 0px;
}
.clsShopData_Title2{
	text-align: left;
	line-height: 20px;
	position: relative;
	top: 0px;
	left: 2px;
	max-height: 40px;
    overflow-y: hidden;
}
.clsShopData_Address{
	text-align: left;
	color: #000000;
	font-size: 12px;
	line-height: 14px;
	max-height: 28px;
	overflow-y: hidden;
}
.clsShopData_Footer{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.clsShopData_Tel{
	text-align: right;
	color: #000000;
	font-size: 14px;
	margin-top: 5px;
}
.clsShopData_LastUpdate{
	width: 100%;
	text-align: right;
	color: #808080;
	margin-top: 5px;
	font-size: 12px;
}
#imgLogo {
	background-color: #ffffff;
}

/* iPhone SE */
@media screen and (max-height:668px) {
.popup-window {
	max-height: 617px;
}
.popupSearch-window {
	max-height: 617px;
}
.popup-window2 {
	max-height: 617px;
	overflow-y: scroll;
}
.popupSearch-window2 {
	max-height: 617px;
	overflow-y: scroll;
}
.clsPopupSearchTitle {
	font-size: 13px;
}
}
/* SmartPhone */
@media screen and (min-height:669px) and (max-height:740px) {
.popup-window {
	max-height: 689px;
}
.popupSearch-window {
	max-height: 689px;
}
.popup-window2 {
	max-height: 689px;
	overflow-y: scroll;
}
.popupSearch-window2 {
	max-height: 689px;
	overflow-y: scroll;
}
.clsPopupSearchTitle {
	font-size: 14px;
}
}
/* PC,Tablet */
@media screen and (min-height: 741px){
.clsPopupSearchTitle {
	font-size: 14px;
}
}
