/*------------------------------------------------------------------------------
	??{
 *------------------------------------------------------------------------------*/
 *				{
	box-sizing : border-box;
	-moz-box-sizing : border-box;
	-webkit-box-sizing: border-box;
}

body			{
	margin: 5px;
}

td				{
	font-size: 12px;
}

th				{
	font-size: 12px;
}

a				{
	color: steelblue;
}

/*------------------------------------------------------------------------------
?w?b?_
*------------------------------------------------------------------------------*/
div.MainHead {
vertical-align: middle;
background-color: darkslateblue;
font-family: Arial;
font-size: 20px;
color: #ffffff;
padding-right: 20px;
padding-top: 5px;
padding-bottom: 5px;
position: fixed; /* ???\??????? */
top: 20px; /* MainMenu??????? */
left: 0; /* ???[???? */
width: 100%; /* ??????S???L???? */
}

/*------------------------------------------------------------------------------
?V?X?e?????j???[
*------------------------------------------------------------------------------*/
div.MainMenu {
background-color: #ffffff;
font-family: Arial;
font-size: 12px;
height: 20px;
position: fixed; /* ???\??????? */
top: 0; /* ?y?[?W??????? */
left: 0; /* ???[???? */
width: 100%; /* ??????S???L???? */
text-align: right; /* ?E?? */
padding-top: 2px;
}

/*------------------------------------------------------------------------------
?t?b?^
*------------------------------------------------------------------------------*/
div.MainFoot {
background-color: white;
font-family: Arial;
font-size: 12px;
border-style: solid;
border-color: black;
border-width: 1px 0px 0px 0px;
padding-top: 3px;
color: #336666;
position: fixed; /* ???\??????? */
bottom: 0; /* ?y?[?W????????? */
left: 0; /* ???[???? */
width: 100%; /* ??????S???L???? */
z-index: 1000; /* ????v?f????\?????????X?^?b?L???O???? */
}

/*------------------------------------------------------------------------------
?t?b?^
*------------------------------------------------------------------------------*/
td.Content {
padding-top: 10px;
position: fixed; /* ???\??????? */
top: 70px; /* MainMenu??MainHead?????z?u */
left: 0; /* ???[???? */
width: 20%; /* ???????? */
height: calc(100% - 120px); /* ??????v?f???????????? */
overflow-y: auto; /* ?I?[?o?[?t???[????X?N???[?? */
}
/*------------------------------------------------------------------------------
?@?\???j???[???X?g
*------------------------------------------------------------------------------*/
td.FunctionList	{
	background-color: whitesmoke;
	font-family: Arial;
	font-size: 12px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 5px;
	padding-right: 5px;
}

/*------------------------------------------------------------------------------
?@?\?u???b?N
*------------------------------------------------------------------------------*/
td.Function {
background-color: white;
font-size: 12px;
padding-left: 10px;
padding-top: 60px;
padding-bottom: 60px;
margin-left: 20%; /* Content??????????????? */
height: calc(100% - 120px); /* ??????v?f???????????? */
overflow-y: auto; /* ?I?[?o?[?t???[????X?N???[?? */
}

/*------------------------------------------------------------------------------
?@?\?^?C?g??
*------------------------------------------------------------------------------*/
div.FuncTitle	{
	vertical-align: middle;
	background-color: white;
	border-style: solid;
	border-color: black;
	border-width: 1px;
	padding-left: 2px;
	font-family: Arial;
	font-size: 18px;
	height: 26px;
	margin-bottom: 10px;
}

/*------------------------------------------------------------------------------
?@?\???^?C?g??
*------------------------------------------------------------------------------*/
th.DetailTitle,
td.DetailTitle	{
	font-family: Arial;
	font-size: 12px;
	font-weight: bold;
	border-width: 0px 0px 1px 0px;
	border-color: silver;
	border-style: solid;
	background-color: #efefef;
}

/*------------------------------------------------------------------------------
???X?\??
*------------------------------------------------------------------------------*/
td.Response		{
	font-size: 12px;
	border-width: 0px 0px 1px 0px;
	border-color: silver;
	border-style: solid;
	word-break: break-all;
}

/*------------------------------------------------------------------------------
???O?\??
*------------------------------------------------------------------------------*/
.LogExport		{
	font-size: 10px;
}

div.oExcuted	{
	padding: 5px;
	margin: 10px 0;
	background-color: #eeeeff;
	border: 1px solid #9999ff;
	text-decoration: none;
	color: blue;
	font-size: 14px;
}

div.xExcuted	{
	padding: 5px;
	padding:5px;
	background-color:#ffeeee;
	border:1px solid #ff9999;
	font-size:18px;
	text-decoration:none;
	color:red;
	font-size: 14px;
}

div.LoginForm	{
	padding: 50px 0;
	width: 300px;
}

/*------------------------------------------------------------------------------
?????
*------------------------------------------------------------------------------*/
.NormalStyle	{
	font-weight: normal;
}

.GrayColor		{
	color: #666666;
}

.UnderLine		{
	text-decoration: underline;
}

input.delete	{
	float: right;
	color: red;
}

  /* CodeMirror */
  .CodeMirror {
	border: 1px solid #ddd;
	height: 500px;
	min-height: 300px;
	font-size: 14px;
	font-family:SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  }
  .cm-trailingspace {
	  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUXCToH00Y1UgAAACFJREFUCNdjPMDBUc/AwNDAAAFMTAwMDA0OP34wQgX/AQBYgwYEx4f9lQAAAABJRU5ErkJggg==);
	  background-position: bottom left;
	  background-repeat: repeat-x;
  }
  .cm-matchhighlight {
	  background-color: lightgreen;
  }
  .cm-fullwidth-space {
	  background-color: rgba(255, 200, 0, 0.5);
  }
/* ギャラリー全体 */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px;
    padding: 10px;
  }
  /* 各タイル（アイコン） */
  .gallery-item {
    position: relative;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px;
    background: #fff;
    text-align: center;
    font-size: 0.9em;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  }
  /* サムネイル画像 */
  .gallery-item img {
    display: block;
    max-width: 100%;
    max-height: 100px;
    margin: 0 auto;
    object-fit: cover;
  }
  /* チェックボックスを左上に重ねる */
  .gallery-item input[type="checkbox"] {
    position: absolute;
    top: 5px;
    left: 5px;
  }
  /* タイトルなど説明文 */
  .gallery-item .title {
    margin-top: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* オーバーレイ全体 */
.image-overlay {
	display: none;               /* 非表示 */
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(0,0,0,0.8);
	justify-content: center;     /* 中央揃え */
	align-items: center;
	z-index: 1000;
  }
  /* 拡大画像 */
  .image-overlay img {
	max-width: 90%;
	max-height: 90%;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	cursor: default;
  }