/* ++ initalize ++++++++++++++++++++++++ */
*
{
  margin:0px;
  padding:0px;
}
select option
{
  padding : 0 5px;
}
body
{
  font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",Osaka,sans-serif;
  font-size:12pt;
  margin:10px;
}
img { border:0px; }
label { margin-left:5px; }

/* ++ container +++++++++++++++++++++++++ */
body * { text-align:left; }

div.container
{
  display: -ms-flexbox;
  -ms-flex-direction: row;
  -ms-flex-align: start;

  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;

/*  overflow: hidden;*/
}

div.container
{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
div.menu
{
  width:262px;
}
div.main
{
  margin-left:4px;
  width:calc(100% - 267px);
}

div.main.nonmenu
{
  width:100%;
}

/* ++ header +++++++++++++++++++++++++++ */
div.header
{
  padding:3px;
  margin-bottom:7px;
  font-weight:bold;
}

/* ++ login input ++++++++++++++++++++++ */
div.login
{
  width:400px;
}
div.login table tr td input.edit
{
  height:14px;
}
div.login table tr td input.edit
{
  width:140px;
}
div.login table tr td input.mail
{
  width:150px;
}
div.login table tr td input.password
{
  width:100px;
}

/* ++ input select textarea ++++++++++++ */
input.edit, textarea.edit
{
  padding:2px;
}
select.edit, select.edit option
{
  padding:1px;
}

/* ++ field ++++++++++++++++++++++++++++ */
div.btn
{
  padding:5px 0px;
}

/* ++ menu ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
div.menu ul
{
}
div.menu ul li
{
  width:250px;
  display:block;
  padding:5px;
  margin-bottom:2px;
}
div.menu ul li.logoff
{
  width:100px;
  text-align:center;
}

/* ++ button ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
input.btn
{
  padding:1px 2px;
  padding:2px 4px;
  text-align:center;
}
td.btn input, div.btn input
{
  padding:3px 5px;
}
table.split * input.btn
{
  padding:3px 5px;
}

/* ++ input +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
input.iptP, select.iptP
{
  padding:2px;
}

/* ++ table +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* ++ wrap-list ++++++++++++++++++++ */
div.wrap-list
{
  display:table;
}
/* ++ split ++++++++++++++++++++++++ */
table.split
{
  width:100%;
  border-collapse:separate;
  border-spacing:2px;
}
table.split td.s1
{
  text-align:left;
}
table.split td.s2
{
  text-align:right;
}

/* ++ table +++++++++++++++++++++++ */
table.nowrap
{
  white-space:nowrap;
}

/* ++ list edit +++++++++++++++++++ */
table.list, table.edit
{
  border-collapse:separate;
  border-spacing:2px;
  empty-cells:show;
}
table.edit tr.header td,table.list tr.header td
{
  text-align:center;
}
table.edit td,table.list td
{
  padding:5px;
}
table.edit td.btn,table.list td.btn
{
  text-align:center;
}
table.edit td.title,table.list td.title
{
  font-weight:bold;
  font-size:20px;
  text-align:center;
}
table.edit td.msg,table.list td.msg
{
  text-align:center;
}
table.smallfont tr td, table tr td.smallfont, table tr td .smallfont
{
  font-size:12px;
}

table.list tr.blank td, table.list tr.blank th
{
  background-color:#ffffff !important;
  border:none !important;
}

/* tr より td を優先される為、バラバラに記入 */
table.list tr td.blank, table.list tr th.blank, table.list tr td.header.blank
{
  background-color:#ffffff !important;
  border:none !important;
}

/* ++ edit table +++++++++++++++++++++++ */
div.edit
{
  text-align:center;
  padding:10px;
  margin-bottom:10px;
}
div.edit table
{
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}

/* ++ select +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++ select up down +++++++++++++++++++++++++++++++++++++++++++++ */
table.selectud
{
  border-style:none;
  border-collapse:collapse;
}
table.selectud tr td
{
  border-style:none;
}

/* ++ selectud selectlr - 左に寄せる ++ */
table.selectud tr td.left
{
  width:0px;
}
table.selectud tr td.right
{
  width:100%;
}

/* ++ select left right ++++++++++++++++++++++++++++++++++++++++++ */
div.lr select
{
  width:120px;
  float:left;
}
div.lr div
{
  width:72px;
  text-align:center;
  float:left;
}
div.lr div input
{
  margin-top:10px;
}
/* サイズに合わせ button 位置調整 */
div.lr div.size5  { padding-top:2px; }
div.lr div.size10 { padding-top:35px; }

/* ++ select up down left right ++++++++++++++++++++++++++++++++++ */
div.udlr
{
  width: 100%;
}
div.udlr div.wrap
{
  float:left;
  padding:0;
  width:calc((100% - 60px) / 2); /* 60px = buttons:width */
  height:100%;
}
div.udlr div.wrap div.title
{
  text-align:center;
  font-weight:bold;
  font-size:14px;
}
div.udlr div.wrap select
{
  width:100%;
  height:100%;
  float:none;
}
div.udlr div.buttons
{
  width:60px;
  height:100%;
  display:flex;
  flex-flow:column;
  justify-content:space-around;
  float:left;
}
div.udlr div.buttons input
{
  width:50px !important;
  margin:0 auto;
}
div.udlr        { height:300px; } /* default */
div.udlr.size20 { height:200px; }
div.udlr.size30 { height:300px; }
div.udlr.size40 { height:400px; }

/* ++ sheet +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/*table.edit .header,table.edit .header td,table.list .header,table.list .header td,table.edit th,table.list th*/
table.sheet
{
  border-collapse:collapse;
  empty-cells:show;
  width:100%;
  border:none;
  color:black;
}
table.sheet tr td
{
  border:1px solid #aaaaaa;
  font-size:12px;
}
table.sheet tr.title td, table.sheet tr th
{
  font-weight:bold;
  font-size:20px;
  border:none;
}
table.sheet tr.header td, table.sheet tr td.header, table.sheet tr th, table.sheet thead tr td, table.sheet tfoot tr td
{
  text-align:center;
  font-weight:nomal;
}
table.sheet tr td
{
  padding:2px 4px;
}
table.sheet tr td
{
  background-color:#ffffff;
}

table.sheet.width
{
  table-layout: fixed;
  white-space: nowrap;
  width:100px;
}

/* ++ sheet red ++++++++++++++++++++++++++++++ */
table.sheet_red tr.header td, table.sheet_red tr td.header, table.sheet_red tr th
{
  background-color:#f090a0;
}
table.sheet_red tr.odd td, table.sheet_red tr td.odd
{
  background-color:#fef8f9;
}
table.sheet_red tr.even td, table.sheet_red tr td.even
{
  background-color:#fce6ea;
}

/* ++ sheet blue +++++++++++++++++++++++++++++ */
table.sheet_blue tr.header td, table.sheet_blue tr td.header, table.sheet_blue tr th,
table.sheet.blue tr.header td, table.sheet.blue tr td.header, table.sheet.blue tr th
{
  background-color:#b3dff5;
}
table.sheet_blue tr.odd td, table.sheet_blue tr td.odd,
table.sheet.blue tr.odd td, table.sheet.blue tr td.odd
{
  background-color:#f8fcfe;
}
table.sheet_blue tr.even td, table.sheet_blue tr td.even,
table.sheet.blue tr.even td, table.sheet.blue tr td.even
{
  background-color:#e6f5fc;
}

/* ++ sheet green ++++++++++++++++++++++++++++ */
table.sheet_green tr.header td, table.sheet_green tr td.header, table.sheet_green tr th
{
  background-color:#a0f090;
}
table.sheet_green tr.odd td, table.sheet_green tr td.odd
{
  background-color:#f9fef8;
}
table.sheet_green tr.even td, table.sheet_green tr td.even
{
  background-color:#eafce6;
}

/* ++ sheet orange +++++++++++++++++++++++++++ */
table.sheet_orange tr.header td, table.sheet_orange tr td.header, table.sheet_orange tr th
{
  background-color:#e7804d;
}
table.sheet_orange tr.odd td, table.sheet_orange tr td.odd
{
  background-color:#fefbfa;
}
table.sheet_orange tr.even td, table.sheet_orange tr td.even
{
  background-color:#fcefe9;
}

/* ++ color ++++++++++++++++++++++++++++++++++ */
table.sheet tr.blank td, table.sheet tr.blank th
{
  background-color:#ffffff !important;
  border:none !important;
}
table.sheet tr.bgR td, table.sheet tr.bgR th, table.sheet tr.bgR.sum td, table.sheet tr.bgR.sum th
{
  background-color:#f7e2db !important;
}
table.sheet tr.bgG td, table.sheet tr.bgG th
{
  background-color:#dcf7e3 !important;
}
table.sheet tr.bgB td, table.sheet tr.bgB th
{
  background-color:#dce3f7 !important;
}
table.sheet tr.bgGray td, table.sheet tr.bgGray th
{
  background-color:#dddddd !important;
}

/* tr より td を優先される為、バラバラに記入 */
table.sheet tr td.blank, table.sheet tr th.blank, table.sheet tr td.header.blank
{
  background-color:#ffffff !important;
  border:none !important;
}
table.sheet tr td.bgR, table.sheet tr th.bgR, table.sheet tr td.header.bgR
{
  background-color:#f7e2db;
}
table.sheet tr td.bgG, table.sheet tr th.bgG, table.sheet tr td.header.bgG
{
  background-color:#dcf7e3;
}
table.sheet tr td.bgB, table.sheet tr th.bgB, table.sheet tr td.header.bgB
{
  background-color:#dce3f7;
}
table.sheet tr td.bgGray, table.sheet tr th.bgGray, table.sheet tr td.header.bgGray
{
  background-color:#dddddd;
}

table.sheet tr td.lineblack-left
{
  border-left:solid 1px black !important;
}
table.sheet tr td.lineblack-right
{
  border-right:solid 1px black !important;
}

tr.alert, td.alert, tr.alert *, .alert, .alert *
{
  color:#990000 !important;
}
tr.error, td.error, .error, tr.error *
{
  background-color:#990000 !important;
  color:#ffffff;
}

/* blank */
table.sheet tr.blank.sizeS td, table.sheet tr.blank.sizeS th
{
  height:0px;
}
table.sheet tr.blank.sizeM td, table.sheet tr.blank.sizeM th
{
  height:10px;
}

/* alert */
table.sheet tr td.alert_text   { color:#660000 !important; }
table.sheet tr td.alert_border, table.sheet tr.alert_border  { border:2px solid #660000 !important; }
table.sheet tr td.alert_bg,     table.sheet tr.alert_bg td     { color:#ffffff !important; background-color:#660000 !important; }

/* ++ hilight ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* 背景色指定時、反映されない事がある為、2行目以降を追加 */
table tr.row_hilight td, table tr.row_select td,
table tr.bgR.row_hilight    td, table tr.bgR.row_select    td,
table tr.bgG.row_hilight    td, table tr.bgG.row_select    td,
table tr.bgB.row_hilight    td, table tr.bgB.row_select    td,
table tr.bgGray.row_hilight td, table tr.bgGray.row_select td
{
  background-color:#ffc20e !important;
}

/* ++ algin +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.al /* align left */   { text-align:left !important; }
.ac /* align center */ { text-align:center !important; }
.ar /* align right */  { text-align:right !important; }
input.calendar { text-align:center; }

/* ++ font-size +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
table.fsizeS * { font-size:8pt; }
table.fsizeM * { font-size:12pt; }

/* ++ size ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++ input ++ */
input.sizeSS { width:30px; }
input.sizeS  { width:70px; }
input.sizeM  { width:150px; }
input.sizeL  { width:300px; }
input.sizeLL { width:400px; }
input.calendar, input.sizeDate { width:80px; }

/* ++ td ++ */
td.sizeSS { width:50px; }
td.sizeS  { width:75px; }
td.sizeM  { width:120px; }
td.sizeL  { width:200px; }
td.sizeLL { width:250px; }
td.calendar, td.sizeDate { width:100px; }

/* ++ textarea ++ */
table.edit tr td textarea        { width:300px; height:100px; }
table.edit tr td textarea.sizeL  { width:300px; height:300px; }
table.edit tr td textarea.sizeLL { width:300px; height:400px; }

/* ++ div table ++ */
table.list   { width:100%; }
div.sizeEdit { width:800px; }
div.sizeEdit table.edit { width:750px; }
table.edit tr td.header { width:200px; }

pre
{
  font-size:10pt;
  margin-top:10px;

  /* 右端で折り返す */
/*
  white-space: pre;
  white-space: pre-wrap;
  white-space: pre-line;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -hp-pre-wrap;
  word-wrap: break-word;
*/
}

/* ++ IME +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
input.INPUT_n  { ime-mode:disabled; }
input.INPUT_h  { ime-mode:active; }
input.calendar { ime-mode:active; }
textarea.INPUT_h { ime-mode:active; }

