﻿@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Noto+Sans+JP:wght@300;400;500;600&family=Noto+Serif+JP:wght@300;400;500;600;700&family=Roboto+Flex:opsz,wdth,wght@8..144,50,400;8..144,50,500;8..144,50,600&family=Roboto:wght@300;400;500&display=swap');


* {
	font-family: "Noto sans JP", sans-sefif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	--color_Pink: #e88;
	--color_Wine: #c66;
}
body {
	background-color: #f8f8ff !important;
	color: #000;
	padding: 10px;
}
_hide {
	display: node !important;
}
table, td, th {
	border: none;
}

/* ************************************* */
/* リード部 */
/* ************************************* */
#logo {
	display: block;
	text-align: center;
	background-color: #fff;
	margin: 0 auto;
	padding-bottom: 6px;
}
#logo img {
	text-align: center;
	width: 50%;
	max-width: 400px;
}

h1 {
	font-family: "Noto Serif JP", serif;
	margin: 0 0 20px 0;
	padding: 10px;
	text-align: center;
	font-size: 2.5em;
	background-color: #0000cd;
	font-weight: 600;
	white-space: nowrap;
	color: #fff;
}

/* ************************************* */
/* 導入ページ */
/* ************************************* */
#top-lead {
	font-size: 16px;
}
#top-graphic .caption {
	margin-top: 30px;
	margin-bottom: 30px;
	padding-top: 20px;
	text-align: center;
	font-weight: 500;
	white-space: nowrap;
	border-top: 1px solid #aaa;
}
#top-graphic figure {
	width: 100%;
	display: block;
	margin: 0 auto;
	text-align: center;
}
img {
	width: 90%;
	max-width: 600px;
}
.flex {
	margin: 40px auto;
	display: flex;
	justify-content: center;
}
#linkTo_jstage {
	width: 90%;
	max-width: 600px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #999;
	background-color: #fff;
	padding: 3px;
	gap: 10px;
	cursor: pointer;
}
#linkTo_jstage div {
	font-size: 18px;
}
#linkTo_jstage img{
	width: 100px;
}
#linkTo_form a {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	width: 90%;
	max-width: 600px;
	border: none;
	background-color: var(--color_Pink);
	border: 8px double #fff;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	padding: 10px;
	border-radius: 100px;
	cursor: pointer;
}



/* ************************************* */
/* 検索凡例 */
/* ************************************* */
#manual {
	border: 1px solid var(--color_Pink);
	background-color: #ffefef;
	padding: 6px;
	margin-bottom: 16px;
}
.buttonStyle {
	background-color: var(--color_Pink);
	border-radius: 20px;
	color: #fff;
	padding: 1px 4px;
	margin-right: 4px;
}

/* ************************************* */
/* 検索フォーム */
/* ************************************* */
#formTable {
	border-collapse: collapse;
	border: none;
	padding: 0;
	background-color: #fff;
	margin-bottom: 20px;
	border-bottom: 1px solid #888;
}
#searchForm .Q {
	padding: 6px;
	font-weight: bolder;
	background-color: #eee;
	border-top: 2px solid #888;
	vertical-align: top;
	white-space: nowrap;
}
#searchForm .A {
	width: 100%;
	padding: 10px 8px;
	border-top: 1px solid #888;
	white-space: nowrap;
}
#searchForm select {
	padding: 0 4px 2px 4px;
	border: 1px solid #999;
	border-radius: 3px;
	position: relative;
	top: 2px;
	width: 200px;
}
#searchForm input[type="radio"] {
	appearance: none;
	display: none;
	word-break: keep-all;
	color: red;
	cursor: pointer;
}
#searchForm label {
	display: inline-block;
	cursor: pointer;
	border: 1px solid #aaa;
	margin: 0.3em 0.5em;
	background-color: #fff;
	border-radius: 20px;
	padding: 1px 8px 1px 8px;
	min-width: 90px;
	user-select: none;
}
#searchForm .label-long label {
	min-width: 200px;
}
#searchForm label:hover {
	background-color: #eee;
}
#searchForm label:has(:checked) {
	background-color: var(--color_Pink);
	border-color: var(--color_Pink);
	color: #fff;
}
#searchForm input[type="text"] {
	border: 1px solid #999;
	border-radius: 3px;
	padding: 0 4px;
	width: 200px;
}
.toButton {
	display: block;
	width: 100% !important;
	margin-bottom: 10px;
	border: 1px solid #999 !important;
	border-radius: 10px !important;
	background-color: #a97 !important;
	padding: 3px 10px !important;
	text-align: center !important;
	font-size: 1.2rem !important;
	font-weight: bolder !important;
	color: #fff !important;
	cursor: pointer !important;
	height: 2em;
}
#searchForm .wbr {
	display: none;
}
@media screen and (max-width: 520px) {
	#searchForm .A {
		.wbr { display:none; }
	}
	#searchForm .wbr {
		white-space: nowrap;
		display: inline-block !important;
	}
}

/* ************************************* */
/* 結果表示 */
/* ************************************* */
.DB_area {
	width: 100%;
	margin-bottom: 15px;
	padding: 0;
	line-height: 1;
	border-left: 1px solid #999;
	border-top: 1px solid #999;
	border-right: 3px solid #999;
	border-bottom: 3px solid #999;
	border-collapse: collapse;
}
.DB_area * {
	padding: 0px 5px;
	background-color: #fff;
}
.d_Hub {
	font-size: 0.9em;
	padding: 5px 8px;
}
.d_Contanct td{
	padding-top: 100px;
}
.d_Name {
	background-color: #fff;
	font-size: 1.5em;
	font-weight: bolder;
	padding: 8px;
	background-color: #444;
	background-color: var(--color_Wine);
	color: #fff;
}
.d_Area {
	float: right;
	font-size: 0.6em;
	border: 1px solid #fff;
	border-radius: 4px;
	padding: 2px 4px;
	font-weight: normal;
	color: #fff;
	position: relative;
	top: 4px;
}
.d_Hokkaido { background-color: #00bfff; }
.d_tohoku { background-color: #ff7150; }
.d_Kanto { background-color: #b55; }
.d_Koshinetsu { background-color: #70cc70; }
.d_Hokuriku { background-color: #8b4513; }
.d_Tokai { background-color: #ba55d3; }
.d_Kinki { background-color: #228b22; }
.d_Chugoku { background-color: #d2b48c; }
.d_Shikoku { background-color: #20b2aa; }
.d_Kyushu { background-color: #6a5acd; }

.d_Adrress::before {
	font-family: "Material Icons";
	content: "\e0c8";
	color: #66aacc;
	position: relative;
	top: 2px;
	margin-right: 4px;
}
/*
.d_Tel::before {
	font-family: "Material Icons";
	content: "\e0b0";
	color: #66aacc;
	position: relative;
	top: 2px;
}
*/
.d_Adr a {
	text-decoration: none;
	font-weight: bolder;
	color: #d89;
}
.d_Url::before {
	font-family: "Material Icons";
	content: "\e894";
	color: #66aacc;
	position: relative;
	top: 2px;
	margin-right: 4px;
}

.tr_Adr td {
	padding: 6px 0;
}

.tr_Infos * {
	border-top: 1px solid #bbb;
	padding: 3px 8px;
}
.d_Info {
	width: 11em;
	background-color: #f0f0f0;
}
.d_Contents {
	background-color: #fff;
}

[class*="page"] {
	display: none;
}
.page0 {
	display: table;
}
.resultCounts {
	font-size: 1.4rem;
	font-weight: bolder;
	color: var(--color_Wine);
	margin-right: 4px;
}
.nextButton {
	float: left;
	margin-bottom: 20px;
	border: 1px solid #a97 !important;
	border-radius: 6px !important;
	background-color: #fff !important;
	padding: 3px 10px;
	text-align: center !important;
	font-weight: bolder;
	color: #a97;
	cursor: pointer !important;
	display: none;
}
#next1 {
	display: block;
}
.nextButton::before {
	font-family: "Material Icons";
	content: "\e5db";
	color: var(--color_Pink);
	position: relative;
	top: 2px;
	margin-right: 4px;
}
#toTop {
	float: right;
	margin-bottom: 20px;
	border: 1px solid #a97 !important;
	border-radius: 6px !important;
	background-color: #fff !important;
	padding: 3px 10px;
	text-align: center !important;
	font-weight: bolder;
	color: #a97;
	cursor: pointer !important;
	text-decoration: none;
}
#toTop::before {
	font-family: "Material Icons";
	content: "\e5d8";
	color: var(--color_Pink);
	position: relative;
	top: 2px;
	margin-right: 4px;
}

#formWrap {
	padding-bottom: 30px;
}

@media screen and (max-width: 520px) {
	.d_Name {
		font-size: 1.2em;
	}
}