@charset "UTF-8";
/* ------------------------------------------------------------
 * Gensha Labs Default Cascading Style Sheets
 * first edition: 2017-07-07
 * -----------------------------------------------------------*/
/*@import "./normalize.css";*/

/* ------------------------------------- */
/* レイアウト全体共通 */
/* ------------------------------------- */
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
	@font-face {
		font-family: "Yu Gothic Custom";
		font-weight: 300;
		src: local("Yu Gothic");
	}

	@font-face {
		font-family: "Yu Gothic Custom";
		font-weight: 500;
		src: local("Yu Gothic");
	}

	@font-face {
		font-family: "Yu Gothic Custom";
		font-weight: bold;
		src: local("Yu Gothic");
	}
}

@font-face {
	font-family: "Yu Gothic";
	font-weight: normal;
	src: local("YuGothic-Medium"),
	     local("Yu Gothic Medium"),
	     local("游ゴシック Medium"),
	     local("YuGothic-Regular"),
	     local("Yu Gothic"),
	     local("游ゴシック");
}

@font-face {
	font-family: "Yu Gothic";
	font-weight: bold;
	src: local("Yu Gothic Bold"),
	     local("Yu Gothic"),
	     local("游ゴシック"),
	     local("YuGothic-Bold");
}

* {
	margin: 0;
	padding: 0;
	outline: 0;
}

html {
	margin: 0%;
	padding: 0%;
	height: 100%;
	font-size: 75%;
}

body {
	position: relative;
	margin: 0%;
	padding: 0%;
	height: 100%;
	font-size: 100%; font-size: 1.0rem;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Helvetica', 'Verdana', 'Yu Gothic Custom', 'Yu Gothic', 'YuGothic', '游ゴシック', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', sans-serif;
	background-color: #fffff8;
	color: #131313;
}

header {
	top: 0;
	left: 0;
	max-width: 480px !important;
	z-index: 9001;
}

@media all and (-ms-high-contrast: none) {
	header {
		max-width: 1500px !important;
		white-space: nowrap;
	}
}

@media screen and (min-width: 481px) {
	header {
		max-width: none !important;
	}
}

@media screen and (min-width: 960px) {
	header {
		max-width: 1500px !important;
		white-space: nowrap;
	}
}

header h1 {
	margin-right: 0.5em !important;
	white-space: nowrap !important;
}

header h1,
header p {
	font-size: 2.25em !important;
	display: inline-block !important;
	text-align: left !important;
}

header p {
	position: relative;
	top: 0;
	padding: 0;
	font-size: 24px;
	font-family: 'Yu Mincho', 'YuMincho', serif;
}

header nav {
	position: fixed;
	top: 0.1em;
	right: 0%;
	display: inline-block;
	white-space: normal;
	z-index: 9002;
}

header nav ul {
	display: inline-block;
	margin: 0;
	padding: 0;
}

header nav li {
	display: inline-block;
	margin: 0;
	margin-right: -0.2em;
	padding: 0.5em 0.6em 0.5em 1em;
	font-size: 135%;
	font-weight: bold;
	border-right: 1px solid #006400;
	color: #006400;
	background-color: #dcebcc;
	/*color: #fafafa;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #37741a), color-stop(0.00, #8abe6f));
	background: -webkit-linear-gradient(#8abe6f, #37741a);
	background: -moz-linear-gradient(#8abe6f, #37741a);
	background: -ms-linear-gradient(#8abe6f, #37741a);
	background: -o-linear-gradient(#8abe6f, #37741a);
	background: linear-gradient(#8abe6f, #37741a);*/
}

header nav li:last-of-type {
	border-right: none;
}

header nav li:after {
	display: block;
	margin-bottom: 0.2em;
	margin-left: 1.2em;
	margin-right: 0em;
	padding-left: 0em;
	float: right;
	width: 0.5em;
	height: 0.5em;
	border-top: 0.2em solid #006400;
	border-right: 0.2em solid #006400;
	-ms-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	content: "";
}

header nav li:hover {
	cursor: pointer;
	background-color: #a1c88c;
	/*background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #37842a), color-stop(0.00, #9ace7f));
	background: -webkit-linear-gradient(#9ace7f, #37842a);
	background: -moz-linear-gradient(#9ace7f, #37842a);
	background: -ms-linear-gradient(#9ace7f, #37842a);
	background: -o-linear-gradient(#9ace7f, #37842a);
	background: linear-gradient(#9ace7f, #37842a);*/
}

header nav li#word_map_command {
	display: none;
	border-right: 1px solid #96342f;
	color: #96342f;
	background-color: #fdddce;
	/*background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #a04440), color-stop(0.00, #cc726d));
	background: -webkit-linear-gradient(#cc726d, #a04440);
	background: -moz-linear-gradient(#cc726d, #a04440);
	background: -ms-linear-gradient(#cc726d, #a04440);
	background: -o-linear-gradient(#cc726d, #a04440);
	background: linear-gradient(#cc726d, #a04440);*/
}

header nav li#word_map_command:hover {
	background-color: #f5beb0;
	/*background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #c06460), color-stop(0.00, #d17e7a));
	background: -webkit-linear-gradient(#d17e7a, #c06460);
	background: -moz-linear-gradient(#d17e7a, #a04440);
	background: -ms-linear-gradient(#d17e7a, #a04440);
	background: -o-linear-gradient(#d17e7a, #a04440);
	background: linear-gradient(#d17e7a, #a04440);*/
}

header nav li#word_map_command:after {
	border-top: 0.2em solid #96342f;
	border-right: 0.2em solid #96342f;
}

header nav a,
header nav a:link,
header nav a:visited,
header nav a:hover {
	background-color: transparent;
	text-decoration: none;
	color: #006400;
}

body > article {
	position: absolute;
	top: 125px;
	left: 0%;
	width: 100%;
}

article#detail-content {
	position: relative;
	top: 0;
	left: 0;
	margin: 0 auto;
	padding: 0 5%;
	width: auto;
	max-width: 480px;
}

@media all and (-ms-high-contrast: none) {
	article#detail-content {
		max-width: 1500px;
	}
}

@media screen and (min-width: 481px) {
	article#detail-content {
		max-width: none;
	}
}

@media screen and (min-width: 960px) {
	article#detail-content {
		max-width: 1500px;
	}
}

footer {
	border-top: 1px solid #131313;/* #9ea5ff #005abc */
	margin-top: 10em;
	margin-bottom: 1em;
	margin-left: 5%;
	margin-right: 5%;
	padding: 0;
	text-align: right;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
}

h1 {
	font-size: 2em !important;
	/* font-family: 'Times New Roman', 'Verdana', 'Lucida Sans Unicode', 'Tahoma', 'Arial', 'Helvetica', sans-serif; */
	margin: 2em;
	padding: 0;
	color: #131313;/*473a94 005abc 372a84 473a94*/
}

h2 {
	/*letter-spacing: 3px;*/
	border-bottom: 1px solid #336333;
	font-size: 170%;
	font-weight: bold;
	/*font-family: 'ヒラギノ丸ゴ Pro W4', 'Hiragino Maru Gothic Pro', 'Verdana', 'Lucida Sans Unicode', 'Tahoma', 'Arial', 'Helvetica', sans-serif;*/
	/* padding-top: 23px; */
	padding: 0;
	padding-bottom: 0.4em;
	margin: 1.5em 0;
	margin-top: 2.8em;
	text-align: left;
	line-height: 100%;
}

h2:first-of-type {
	margin-top: 1.5em;
}

h3 {
	/*letter-spacing: 0.1em;*/
	/*background-color: #c7ddae;*/
	font-size: 1.4em;
	font-weight: bold;
	/*font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "Verdana", "Arial", "Times New Roman", sans-serif;/* "Century Gothic", */
	margin: 1em 0;
	margin-top: 2.5em;
	/*padding: 0.1em 0.6em;*/
	padding: 0;
	color: #006400;
}

h4 {
	margin: 1em 0 0.5em 0;
	font-size: 1.15em;
	font-weight: bold;
}

h5 {
	margin: 0;
	margin-top: 1em;
	font-size: 1em;
	font-weight: bold;
}

h6 {
	margin: 0;
	margin-top: 1em;
	font-size: 1em;
	font-weight: bold;
}

h4 + p, h4 + ul, h4 + ol,
h5 + p, h5 + ul, h5 + ol,
h6 + p, h6 + ul, h6 + ol {
	margin-top: 0.5em !important;
}

ul,ol {
	margin: 1em 0 1em 1.25em;
	padding: 0;
	line-height: 1.6em;
	max-height: 100%;
}

ul {
	margin-left: 0.9em;
	list-style-image: url("../images/list-marker-disc.svg");
	list-style-type: none;
}

ul ul,
ul ol,
ol ul,
ol ol {
	margin-top: 0;
	margin-bottom: 0.25em;
}

ul ul,
ol ul {
	list-style-image: url("../images/list-marker-black.svg");
	list-style-type: none;
}

footer ul,
footer ol {
	list-style-image: none;
	list-style-type: none;
}

dl {
	margin: 1em 0;
	padding: 0;
	line-height: 1.6em;
	max-height: 100%;
}

dt {
	margin: 0.2em 0 0 0;
	padding: 0;
}

dd {
	margin: 0 0 0 2em;
	padding: 0;
}

address {
	font-style: normal;
}

table {
	border-top: 1px solid #b7cd9e;
	border-left: 1px solid #b7cd9e;
	border-spacing: 0;
	/* border-collapse: collapse; */
	margin: 1em 0;
}

tr {
	background-color: #fefefe;
}

td, th {
	border-bottom: 1px solid #b7cd9e;
	border-right: 1px solid #b7cd9e;
	vertical-align: baseline;
	padding: 0.2em;
}

th {
	background-color: #dfebd1; /* d7edbe */
	color: #006400;
}

/*
td {
	background-color: #fefefe;
}
*/

caption {
	font-weight: bold;
	padding: 0.2em;
}

hr {
	color: #006400;
	margin-left: 3%;
	margin-right: 6%;
	height: 1px;
}

p {
	margin: 1em 0;
	line-height: 1.6em;
	max-height: 100%;
}

fieldset {
	margin: 1em 0;
	padding: 0.5em 1em;
	max-width: 320px;
	width: auto;
}

@media all and (-ms-high-contrast: none) {
	fieldset {
		max-width: 1500px;
	}
}

@media screen and (min-width: 321px) {
	fieldset {
		max-width: 480px;
	}
}

@media screen and (min-width: 481px) {
	fieldset {
		max-width: 960px;
	}
}

@media screen and (min-width: 960px) {
	fieldset {
		max-width: 1500px;
	}
}

fieldset p.search_keywords input[type="text"],
fieldset p.search_filtering select {
	width: 75%;
}

@media all and (-ms-high-contrast: none) {
	fieldset p.search_keywords input[type="text"],
	fieldset p.search_filtering select {
		width: auto;
	}
}

@media screen and (min-width: 481px) {
	fieldset p.search_keywords input[type="text"],
	fieldset p.search_filtering select {
		width: 85%;
	}
}

@media screen and (min-width: 960px) {
	fieldset p.search_keywords input[type="text"],
	fieldset p.search_filtering select {
		width: auto;
	}
}

fieldset p {
	margin: 0.5em;
}

fieldset p label {
	white-space: nowrap;
}

input, select {
	font-family: 'Helvetica Neue', 'Helvetica', 'Verdana', 'Yu Gothic', 'YuGothic', '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif;
}

select {
	padding: 0.1em 0.1em;
	padding-right: 0.35em;
}

input {
	padding: 0.15em;
}

input[type="button"],
input[type="submit"] {
	padding: 0 0.6em;
}

input[type="checkbox"] {
	margin: 0.2em 0.25em;
}

input[type="text"]:focus {
	border-color: #8eb6eb;
	box-shadow: 0 0 2px 0 #8eb6eb;
}

textarea[name="new_data"] {
	width: 99.6%;
}

option {
	padding: 0 0.15em;
	font-family: 'Helvetica Neue', 'Helvetica', 'Verdana', 'Yu Gothic', 'YuGothic', '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif;
}

select[name="b_f_id"] option:disabled {
	display: none;
}

a:link {
	color: #131313;
	text-decoration: underline;
}

a:visited {
	color: #131313;
	text-decoration: underline;
}

a:hover {
	color: #fafafa;
	text-decoration: none;
	background-color: #5e8f5a;
}

a[href$=".pdf"]:after,
a[href$=".doc"]:after,
a[href$=".docx"]:after,
a[href$=".xls"]:after,
a[href$=".xlsx"]:after,
a[href$=".ppt"]:after,
a[href$=".pptx"]:after,
a[href$=".txt"]:after,
a[target="_blank"]:after {
	vertical-align: middle;
	position: relative;
	top: 2px;
	left: 2px;
}

a[href$=".pdf"]:after {
	content: url("../images/pdf-icon.svg");
}

a[href$=".doc"]:after,
a[href$=".docx"]:after {
	content: url("../images/word-icon.svg");
}

a[href$=".xls"]:after,
a[href$=".xlsx"]:after {
	content: url("../images/excel-icon.svg");
}

a[href$=".ppt"]:after,
a[href$=".pptx"]:after {
	content: url("../images/powerpoint-icon.svg");
}

a[href$=".txt"]:after {
	content: url("../images/txt-icon.svg");
}

a[target="_blank"]:after {
	content: url("../images/new-window-icon.svg");
}

p img,
li img,
dt img,
dd img {
	vertical-align: middle;
}

/* ------------------------------------- */
/* 検索結果表示領域のレイアウト */
/* ------------------------------------- */
article#result {
	margin: 0%;
	padding: 0%;
	width: 100%;
	min-height: 90%;
}

/* ------------------------------------- */
/* 検索結果リストのレイアウト		 */
/* ------------------------------------- */
.result_data {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 20em;
	/* width: 250px;
	display: none; */
	opacity: 0.0;
	border-radius: 1em;
	-webkit-box-shadow: 0.1em 0.1em 0.5em #d0eccd;
		box-shadow: 0.1em 0.1em 0.5em #d0eccd; /* beefba */
}

.result_data:hover {
	z-index: 9000;
}

.result_data thead tr:first-child,
.result_data tfoot tr:last-child {
	background-color: transparent;
}

.result_data thead tr:first-child th:first-child,
.result_data thead tr:first-child td:first-child {
	border-radius: 1em 1em 0 0;
}

.result_data tfoot tr:last-child th:last-child,
.result_data tfoot tr:last-child td:last-child {
	border-radius: 0 0 1em 1em;
}

.result_data thead tr:first-child th/* ,
.result_data tfoot tr:last-child th */ {
	background-color: #5e7552; /*37741a*/
	color: #fafafa;
	border: 1px solid #5f8858; /*37842a*/
}

.result_data thead tr:first-child th {
	padding-left: 0.75em;
	padding-right: 0.5em;
	font-size: 110%;
	font-weight: bold;
}

.result_data thead tr th,
.result_data tfoot tr th {
	cursor: move;
}

.hidden_data {
	/* display: none; */
	visibility: hidden;
}

.result_data .ui-selected {
	background-color: #ffffda !important;
}

table.selected_table {
	z-index: 8998;
	-webkit-box-shadow: 0 0 1.3em #e7d958;
		box-shadow: 0 0 1.3em #e7d958; /* 90de50 */
}

table.current_target_table {
	z-index: 8999;
	-webkit-box-shadow: 0 0 1.3em #98c03b;
		box-shadow: 0 0 1.3em #98c03b;
}

.focus_view_of_selected table.selected_table {
	opacity: 1 !important;
}

.focus_view_of_selected table.current_target_table {
	opacity: 1 !important;
}

.focus_view_of_selected .result_data {
	opacity: 0.5 !important;
}

.search_word {
	font-size: 120%;
}

.text {
	cursor: text !important;
}

.table_size_change {
	display: inline-block;
	margin-left: 1em;
	white-space: nowrap;
}

a.full_screen_button,
a.minimized_button {
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
}

table.minimized_screen_result .minimized_button img {
	display: none;
}

table.minimized_screen_result a.minimized_button:before {
	content: url("../images/restore-minimized-icon.svg");
	display: inline-block;
}

article#result table.full_screen_result {
	position: absolute !important;
	top: 5% !important;
	left: 7% !important;
	right: 7% !important;
	bottom: 5% !important;
	width: 86% !important;
	max-width: 920px !important;
	z-index: 10002 !important;
	display: table !important;
	margin: auto;
	font-size: 1.1em; font-size: 1.1rem;
}

article#result table.full_screen_result td,
article#result table.full_screen_result th {
	padding: 0.4em;
}

article#result table.minimized_screen_result thead tr:nth-of-type(n+2),
article#result table.minimized_screen_result tbody tr {
	display: none !important;
}

/* ------------------------------------- */
/* 検索結果のページ操作項目のレイアウト */
/* ------------------------------------- */
.result_page {
	font-family: 'Consolas', 'Source Code Pro', 'Source Han Code JP', 'Monaco', monospace;
	/*font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Yu Gothic UI', 'Meiryo UI', 'Helvetica Neue', sans-serif;*/
	font-weight: bold;
}

tr .result_page {
	padding: 0.2em 0.3em;
	line-height: 1.8em;
}

.result_page .page_button {
	color: #015801;
	/*border: 0px solid #37842a;*/
	background-color: #b0ceab;
	cursor: pointer;
}

.result_page .page_button:hover {
	color: #fcfcfc;
	background-color: #37842a;
}

.result_page .page_button:active {
	color: #fcfcfc;
	padding: 0.2em 0.35em 0.2em 0.55em;
	/*border: 0px solid #37842a;*/
	background-color: #4b8d3f;
}

tr .result_page span {
	font-size: 0.97em;
	color: #799c7e;
	padding: 0.2em 0.45em;
	/*border: 0px solid #9edc9e;*/
	background-color: #d3e0d3;
}

p.result_page a,
p.result_page span {
	color: #799c7e;
	padding: 0.2em 0.45em;
	/*border: 0px solid #9edc9e;*/
	background-color: #d3e0d3;
	text-decoration: none;
}

p.result_page a:link {
	color: #015801;
	/*border: 0px solid #37842a;*/
	background-color: #b0ceab;
	text-decoration: none;
}

p.result_page a:visited {
	color: #015801;
	/*border: 0px solid #37842a;*/
	background-color: #b0ceab;
	text-decoration: none;
}

p.result_page a:hover {
	color: #fcfcfc;
	background-color: #37842a;
}

p.result_page a:active {
	color: #fcfcfc;
	padding: 0.2em 0.35em 0.2em 0.55em;
	background-color: #4b8d3f;
}

p.result_page .current_page {
	color: #015801;
	font-weight: bold;
	padding: 0.5em 0.75em;
	/*border: 0px solid #37842a;*/
	background-color: #d3e0d3;
}

p.result_page .omission {
	color: #015801;
	padding: 0em 0.2em;
	/*border: 0px none transparent;*/
	background-color: transparent;
}

/* ------------------------------------- */
/* メイン＆ズームメニューのレイアウト */
/* ------------------------------------- */
#main_menu {
	position: fixed;
	top: 20%;
	left: 4%;
	font-size: 0.9em;
	z-index: 9002;
	cursor: move;
}

/* #zoom_menu {
	position: fixed;
	top: 10%;
	left: 35%;
	z-index: 9000;
} */

#zoom_panel {
	display: none;
}

#search_form input[type="text"] {
	width: 95%;
}

/* ------------------------------------- */
/* コンテクストメニューのレイアウト */
/* ------------------------------------- */
#context_menu {
	position: absolute;
	z-index: 9003;
	display: none;
	width: 15em;
	margin: 0;
	padding: 0;
	font-size: 0.9em;
	color: #3d3d3d;
	border: 1px solid #c9c9c9;
	background-color: #fffff8; /* ffffdf fafae1 eeffea */
	-webkit-box-shadow: 0.1em 0em 0.5em #c0c0c0;
		box-shadow: 0.1em 0em 0.5em #c0c0c0;
}

#result.overlay_display ~ #context_menu {
	z-index: 10003;
}

#context_menu p {
	margin: 0.5em 1em;
	padding: 0;
}

#context_menu ul {
	margin: 0;
	margin-top: 0.5em;
	padding: 0;
	/*border-top: 1px solid #b7cd9e;*/
}

#context_menu li {
	margin: 0;
	padding: 0.4em 1em;
	list-style-image: none;
	list-style-type: none;
	/* border: 1px solid #37842a; */
	/* border-left: 1px solid #b7cd9e;
	border-right: 1px solid #b7cd9e; */
	border-bottom: 1px solid #ebebeb;
	background-color: #fefefe; /* d7edbe cadfca */
}

/*#context_menu ul + li {
	border-top: 1px solid #b7cd9e;
}*/

#context_menu li:hover {
	cursor: pointer;
	/* border-left: 1px solid #b7cd9e;
	border-right: 1px solid #b7cd9e; */
	border-bottom: 1px solid #ebebeb;
	background-color: #7bace4;
	color: #fcfcfc;
}

#context_menu li:active {
	/*padding: 0.5em 0.7em 0.3em 1.3em;*/
	/*border: 2px solid #ebebeb;*/
	background-color: #5995da;
	color: #fcfcfc;
}

#context_menu .menu_title {
	margin: 0;
	padding: 0.2em 0;
	width: 100%;
	color: #696969;/* #131313 */
	font-size: 90%;
	font-weight: bold;
	background-color: #e9e9e9;/* #9ecf9a */
	cursor: move;
}

#context_menu .menu_title:before {
	content: "\00a0";
}

#context_menu .menu_close {
	display: block;
	position: absolute;
	top: 0.1em;
	right: 0.5em;
	cursor: pointer;
	color: #696969;
	margin: 0;
	padding: 0.1em 1em;
	/*border: 1px solid #745c1a;*/
	border-radius: 0.4em;
	background-color: #fefefe; /* d7edbe cadfca */
}

#context_menu .menu_close:hover {
	background-color: #7bace4;
	color: #fcfcfc;
}

#context_menu .menu_close:active {
	/*padding: 0.03em 0.9em 0.03em 1.1em;*/
	/*border: 1px solid #37621a;*/
	background-color: #5995da;
	color: #fcfcfc;
}

/* ------------------------------------- */
/* 操作メニューのレイアウト		 */
/* ------------------------------------- */
.operation {
	padding: 0.5em 1em 1em 1em;
	/*border: 1px solid #37842a;*/
	color: #3d3d3d;
	border: 1px solid #b3b3b3;
	background-color: #fffff8; /* ffffdf fafae1 eeffea */
	-webkit-box-shadow: 0.1em 0em 0.5em #c0c0c0;
		box-shadow: 0.1em 0em 0.5em #c0c0c0;
}

.operation h2 {
	margin: 2% 0;
	padding: 0.5em;
	border: 2px solid #a2c09f;
	/*border: none;*/
	background-color: #dfebd1;
	color: #006400;
	font-size: 100%;
}

.operation h2:first-of-type {
	margin-top: 0.5em;
}

.operation h2:hover {
	cursor: pointer;
	background-color: #b6d3a6;
}

.operation h2:active {
	padding: 0.5em 0.4em 0.4em 0.5em;
	background-color: #a7c298;
}

.operation h2.retractable:after {
	display: block;
	margin-top: 0.3em;
	margin-left: 1em;
	margin-right: 0.3em;
	float: right;
	width: 0.5em;
	height: 0.5em;
	border-top: 0.2em solid #568352;
	border-right: 0.2em solid #568352;
	-ms-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	content: "";
}

.operation h2:after {
	display: block;
	margin-bottom: 0.2em;
	margin-left: 1em;
	margin-right: 0.3em;
	float: right;
	width: 0.5em;
	height: 0.5em;
	border-top: 0.2em solid #568352;
	border-right: 0.2em solid #568352;
	-ms-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	content: "";
}

.operation h2.message_title {
	position: relative;
	padding-right: 1.5em;
}

.operation h2.message_title:before {
	content: "";
	display: block;
	position: absolute;
	top: 0.65em;
	right: 0.4em;
	width: 0.9em;
	height: 0.2em;
	margin-top: 0.3em;
	font-size: 100%;
	border: none;
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
		transform: rotate(45deg);
	background-color: #96342f;
}

.operation h2.message_title:after {
	content: "";
	display: block;
	position: absolute;
	top: 0.65em;
	right: 0.1em;
	width: 0.9em;
	height: 0.2em;
	margin-top: 0.3em;
	font-size: 100%;
	border: none;
	background-color: #96342f;
	-webkit-transform: rotate(135deg);
	   -moz-transform: rotate(135deg);
	     -o-transform: rotate(135deg);
		transform: rotate(135deg);
}

.operation ul,
.operation ol {
	padding: 0;
}

.operation dd {
	margin-left: 1em;
}

.operation legend {
	padding: 0.2em 0.3em;
	border: 1px solid #b3b3b3;
	border-top: 2px solid #b05450;
	background-color: #f7f7f0;/* #9ecf9a */
	color: #868686;/* #131313 */
	font-weight: bold;
}

.operation button[type="button"] {
	padding: 0.05em 0.35em;
}

/* ------------------------------------- */
/* 「閉じる」ボタン関連のレイアウト */
/* ------------------------------------- */
.close_operation {
	position: relative;
}

.close_operation:before,
.close_operation:after {
	content: "";
	display: block;
	position: absolute;
	top: 0.7em;
	left: 0.06em;
	width: 1.4em;
	height: 0.25em;
	margin: 0;
	padding: 0;
}

.close_operation:before {
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
		transform: rotate(45deg);
}

.close_operation:after {
	-webkit-transform: rotate(135deg);
	   -moz-transform: rotate(135deg);
	     -o-transform: rotate(135deg);
		transform: rotate(135deg);
}

.overlay_display .close_operation {
	position: absolute;
	top: 0.6em;
	right: 2%;
	width: 1.6em;
	height: 1.6em;
	margin: 0;
	padding: 0;
	background-color: #cedfca;	/* ボタン背景色 */
	border: 0.2em solid #37842a;	/* ボタンの枠 */
	border-radius: 0.4em;
}

.overlay_display .close_operation:before,
.overlay_display .close_operation:after {
	background-color: #37842a;	/* ×印の色 */
}

.close_operation:hover {
	cursor: pointer;
}

.overlay_display .close_operation:hover {
	background-color: #deefda;	/* ボタン背景色 */
	border-color: #47943a;		/* ボタンの枠色 */
}

.close_operation:active {
	/* padding: 0.4em 0.2em 0.2em 0.4em;
	border: 2px solid #37741a; */
	background-color: #cedfba;
}

.close_operation .text {
	display: none;
}

/* ------------------------------------- */
/* Information画面のレイアウト */
/* ------------------------------------- */
#information {
	/* position: absolute;
	top: 50%;
	left: 20%; */
	position: relative;
	top: 2.5em;
	left: 2em;
	margin: auto;
	padding: 1em 1.5em;
	width: 45%;
	max-width: 750px;
	z-index: 20001;
}

#information h3 {
	margin: 3% 0% 0% 0%;
	padding: 0.1em 0em;
	background-color: transparent;
	border-bottom: 1px solid #808080;
	font-size: 100%;
	font-weight: bold;
	color: #3d3d3d;
}

#information h3 + p,
#information h3 + ul {
	margin-top: 0.7em;
}

/* ------------------------------------- */
/* Help画面のレイアウト */
/* ------------------------------------- */
#help {
	display: none;
}

#help_howto_panel {
	display: none;
}

#help_detail_panel {
	display: none;
}

#version_info_panel {
	display: none;
}

#help_menu_list {
	margin: 0.5em 0 1.5em 0;
	padding: 0 auto;
	font-size: 105%;
}

#help_menu_list li {
	margin-right: 0.6em;
	padding: 0.5em;
	border: 1px solid #4e8344;
	border-radius: 0.5em;
	background-color: transparent;
	color: #4e8344;
	display: inline;
}

#help_menu_list li:hover {
	background-color: #4e8344;
	color: #fcfcfc;
	cursor: pointer;
}

/* ------------------------------------- */
/* 単語マップのレイアウト */
/* ------------------------------------- */
#word_map_view {
	position: absolute;
	top: 5.5em;/* 19%; */
	left: 2%;
	width: 98%;
	height: 92%;
	margin: 0;
	padding: 0;
}

#detail_view .word_map_data {
	z-index: 10007;
	opacity: 0;
	padding: 0.5em;
	/*border: 1px solid #37842a;*/
	border-radius: 0.5em;
	background-color: #d1e2c8; /* eeffea */
	width: auto;
	font-size: 110%;
	font-weight: bold;
}

#detail_view .word_map_data:hover {
	z-index: 10009;
	background-color: #37842a !important;
	color: #fafafa !important;
	cursor: pointer;
}

.map_arrow {
	z-index: 10006 !important;
}

.same_map_arrow {
	z-index: 10008 !important;
}

/* ------------------------------------- */
/* オーバーレイ表示のレイアウト */
/* ------------------------------------- */
.overlay_display {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	margin: 0;
	display: none;
	background-color: rgba(16, 16, 16, 0.6);
	z-index: 10001;
}

#result.overlay_display .full_screen_button:after {
	content: url("../images/close-button-icon.svg");
	position: absolute;
	display: block;
	top: -1em;
	right: -4em;
	cursor: pointer;
}

.overlay_window {
	position: relative;
	margin: 5% auto;
	padding: 0.5em 2em 2em 2em;
	max-width: 440px;
	min-height: 85%;
	border-radius: 1em;
	display: none;
	background-color: #fafafa;
	font-size: 110%;
	z-index: 10005;
}

@media all and (-ms-high-contrast: none) {
	.overlay_window {
		max-width: 1000px;
		padding: 0.5em 4em 3em 4em;
	}
}

@media screen and (min-width: 481px) {
	.overlay_window {
		max-width: none;
		padding: 0.5em 4em 3em 4em;
	}
}

@media screen and (min-width: 960px) {
	.overlay_window {
		max-width: 1000px;
		padding: 0.5em 4em 3em 4em;
	}
}

.overlay_window table {
	margin: 0;
}

.overlay_window ul,
.overlay_window ol {
	padding: 0;
}

.overlay_window dl {
	margin-left: 0.25em;
}

.overlay_window dt {
	border-left: 0.5em solid #c2d1a0;
	padding-left: 0.6em;
}

.type_title:hover,
.type_teacher:hover {
	text-decoration: underline;
	cursor: pointer;
	color: #37842a;
}

body.arrow_hidden_mode .data_arrow,
body.arrow_hidden_mode .same_arrow {
	display: none !important;
}

ul.link_list {
	list-style-image: url("../images/list-marker-black.svg");
}

/* ------------------------------------- */
/* 読み込み中表示のレイアウト */
/* ------------------------------------- */
#loading_screen {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	margin: 0;
	display: block;
	background-color: rgba(16, 16, 16, 0.4);
	z-index: 20001;
}

#loading_screen .now_loading {
	position: absolute;
	top: 45%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	width: 100%;
	margin: auto;
	text-align: center;
	font-weight: bold;
	font-size: 150%;
	color: #fefefe;
}

#loading_screen .now_loading:before {
	content: "";
	display: block;
	background-image: url("../images/loading-icon-white.gif");
	background-repeat: no-repeat;
	background-position: center;
	margin-left: auto;
	margin-right: auto;
	width: 32px;
	height: 32px;
}

#detail_view .now_loading {
	text-align: center;
	font-weight: bold;
	font-size: 120%;
	color: #343434;
}

#detail_view .now_loading:before {
	content: "";
	display: block;
	background-image: url("../images/loading-icon-green.gif");
	background-repeat: no-repeat;
	background-position: center;
	margin-left: auto;
	margin-right: auto;
	width: 32px;
	height: 32px;
}

#control_screen {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	margin: 0;
	display: none;
	background-color: transparent;
	z-index: 20001;
}

/* ------------------------------------- */
/* ステータス表示のレイアウト */
/* ------------------------------------- */
#status {
	position: fixed;
	top: 3%;
	right: 4%;
	max-width: 30%;
	padding: 0.2em 0.5em;
	z-index: 9100;
}

@media screen and (max-width: 480px) {
	#status {
		display: none;
	}
}

#status p {
	margin: 0.3em 0;
}

#status dl {
	margin: 0 0.2em 0.4em 0.2em;
}

#status dt {
	margin: 0.4em 0 0 0;
	padding: 0 0 0 0.1em;
	/* border-left: 5px solid #9ea5ff; */
}

#status dt:before {
	content: '';
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	display: inline-block;
	border: 0.45em solid transparent;
	border-left: 0.45em solid #37842a;
}

#status dd {
	margin: 0.1em 0 0 0.8em;
}

#loading_status + dd {
	margin: 0.1em 0 0 0;
}

/* ------------------------------------- */
/* メッセージ表示のレイアウト */
/* ------------------------------------- */
#message_view {
	position: fixed;
	top: 10%;
	left: 40%;
	max-width: 30%;
	padding: 0.2em 0.5em;
	z-index: 9200;
}
