﻿html, body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

/* ---------------------------------------------------
    　ヘッダー
----------------------------------------------------- */
header {
	height: 50px;
	background: rgb(20, 55, 90);
	color: #fff;
}

	header a {
		color: #fff;
		text-decoration: none;
	}

ul {
	display: flex;
	justify-content: flex-end;
	list-style: none;
}

	ul > li {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 15px;
	}


/* 「icon」ではじまるclass名をもつアイコンすべてに適用 */
[class^="icon"] {
	width: 25px;
	height: 25px;
	margin-right: 10px;
}

.parent {
	position: relative;
}

.child-left {
	position: absolute;
}

.child-right {
	position: absolute;
	right: 0;
}

.title {
	font-size: 28px;
	background: rgba(200, 200, 200, 0.3);
	width: fit-content;
	padding: 5px 10px 5px 10px;
}

/* ---------------------------------------------------
    　メイン
----------------------------------------------------- */
#map {
	width: 100%;
	height: calc(100% - 50px);
	position: absolute;
	margin: 0;
	padding: 0;
}

/* ---------------------------------------------------
    　検索レイヤー選択ボックス
----------------------------------------------------- */
.leafletDiv {
	border: 1px solid rgb(20, 55, 90) !important;
	border-radius: 4px;
}

.selectSearchLayer {
	color: #888;
	font-size: 14px;
	padding: 5px;	
}

/* ---------------------------------------------------
    　ポップアップテーブル（leaflet）
----------------------------------------------------- */
.leaflet-popup-content-wrapper {
	font-size: 14px;
	width: 600px !important;
}

.leaflet-popup-content {
	margin: 30px !important;
	width: calc(100% - 60px) !important;
}

.leaflet-container a.leaflet-popup-close-button {
	padding: 10px 12px 0 0 !important;
	font: 32px/17px Tahoma, Verdana, sans-serif !important;
}

.popup_table {
	border-collapse: collapse;
	width: 100%;
	max-width: 700px;
}

	.popup_table th, .popup_table td {
		border-bottom: 2px solid #c1c7c6;
		padding: 1em;
	}

	.popup_table th {
		border-bottom: 2px solid #4d9bc1;
		font-weight: bold;
		width: 30%;
		min-width: 4em;
	}

/* ---------------------------------------------------
   ポップアップダイアログ
----------------------------------------------------- */
.popup {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background-color: rgba(120,120,120,0.5);
}

	.popup a {
		color: #fff;
		text-decoration: none;
		border: 1px solid #333333;
		border-radius: 5px;
		background-color: rgb(33,37,41);
		padding: 5px;
	}

}

.popup_title {
	font-size: 24px;
	font-weight: bold;
}

.popup_content {
	font-size: 18px;
	position: fixed;
	width: 50%;
	height: auto;
	max-height: 80vh;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	padding: 20px;
	background-color: rgba(255,255,255);
	border-radius: 20px;
	border: 10px solid #000;
	box-shadow: 0 0 10px #000;
}

.popup_close {
	font-size: 32px;
	position: absolute;
	top: -8px;
	right: 4px;
	cursor: pointer;
}

.popup_3D {
	padding: 18px;
	border: 1px solid #333333;
	width: 48vw;
	height: 50vh;
}

/* ---------------------------------------------------
    　ファイルリスト
----------------------------------------------------- */
.all_fileDownloadBtn {
	margin: 10px;
	padding: 5px;
	background-color: rgb(33, 37, 41);
	color: rgb(255, 255, 255);
	border-radius: 5px;
}

.fileList-container {
	width: 95%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: auto 100px;
	grid-template-rows: 35px 35px;
	gap: 5px 5px;
}

.fileList-name {
	font-size: 18px;
	color: #5d85fe !important;
	border: none !important;
	background: none !important;
	padding: 0px !important;
	text-decoration: none;
	grid-column: 1;
	grid-row: 1;
	align-items: center;
	display: grid;
}

.fileList-hover:hover {
	text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
}

.fileList-title:hover {
	text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
}

.fileList-summary {
	font-size: 16px;
	grid-column: 1;
	grid-row: 2;
	align-items: center;
	display: grid;
}

.fileList-download {
	grid-column: 2;
	grid-row: 1 / 3;
	align-items: center;
	justify-content: center;
	display: grid;
	width: fit-content;
}

.single_fileDownloadBtn {
	border: none;
	border-radius: 8px;
	background-color: rgba(204, 255, 204);
}

	.single_fileDownloadBtn:hover {
		border: 3px solid rgba(204, 255, 204);
		background-color: rgba(204, 255, 204, 0.8);
	}

.fileList-hr {
	grid-column: span 2;
	width: 100%;
}

#fileList {
	height: auto;
	max-height: 60vh;
	overflow: auto;
	padding: 18px;
	border: 1px solid #333333;
}

/* ---------------------------------------------------
   ローディングメッセージ
----------------------------------------------------- */
#nowLoading {
	display: table;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #fff;
	opacity: 0.8;
	z-index: 10000;
}

#innerMsg {
	display: table-cell;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	padding-top: 140px;
	z-index: 11000;
	background: url("../Images/spinner.gif") center center no-repeat;
}

/* ---------------------------------------------------
    　leaflet CSS
----------------------------------------------------- */
.leaflet-control-search .search-input {
	width: 120px !important;
}

.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar, .leaflet-control-search, .leaflet-control-measure {
	border: 2px solid rgb(20, 55, 90) !important;
}