html {
  width:100%;
  height:100%;
  overflow-x: auto;
  overflow-y: scroll;
}
html, body, form, h1, h2, h3, h4 {
  padding: 0;
  margin: 0;
}
td, th {
  font-size:10pt;
  padding : 5px;
}
body {
  font-size : 11pt;
  background-color : #E6F4FB;
  font-family:'lucida grande',verdana,helvetica,arial,sans-serif;
}
#wrapper {
  width:960px;
  margin: 0 auto;
  text-align: left;
  position : relative;
}
h1 {
  font-size:20pt;
}
h2 {
  margin-top : 8px;
  margin-bottom : 8px;
  border-left : 6px solid #000066;
  line-height : 1.5;
  padding-left : 4px;
  font-weight : 200;
  font-size:14pt;
}
h3 {
  margin-top : 4px;
  border-left : 3px solid #000066;
  line-height : 1.2;
  padding-left : 4px;
  font-weight : 200;
  font-size : 11pt;
}
p {
  padding: 10px 0 0;
}
table {
  margin: 20px 0 0;
}
table table {
  margin: 0;
}
table.table-bordered {
  border:1px solid #ddd;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -khtml-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  background: white;
  padding: 25px 0;
  margin-left: auto;
  margin-right: auto;
  border-collapse: collapse;
}
table.table-bordered th {
  background-color : #000066;
  color : white;
}
table.table-bordered tr {
  border : 1px solid #ddd;
}
table.table-bordered tr.even-row {
  background-color : #E3FFFF;
}
table.frame {
  width : 960px;
  border:1px solid #ddd;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -khtml-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  background: #fafafa;
  padding: 25px 0;
  margin-left: auto;
  margin-right: auto;
  border-collapse: collapse;
}
table.frame td, table.frame th {
  border:1px solid #ddd;
  padding: 6px 20px;
  font-size:9pt;
  line-height: 26px;
}
table.frame th {
  text-align: left;
}
table.frame td {
}
table.frame td td,
table.frame td th {
  padding: 0;
  border: 0;
}
table.frame th.caption {
  font-size:11pt;
  background:#000066;/*-- color --*/
  color: white;
  padding: 2px 15px;
  text-align: left;
}
table.frame td.confirm {
  color:#00F;    
}
label {
  margin-right: 12px;
}


input {
  margin:3px 6px 3px 0;
}
input.text {
  font-size:10pt;
  padding: 0 5px;
  height:26px;
  border:1px solid #bbb;
  background: #fff;
  outline: 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -khtml-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
}
textarea.text {
  font-size:10pt;
  padding: 0 5px;
  border:1px solid #bbb;
  background: #fff;
  outline: 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -khtml-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
}
input.text:focus {
  border-color: #666;
}
input.button {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -khtml-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  font-size:11pt;
  padding: 10px 40px;
  border: 1px solid #aaa;
  background: #fafafa;
  cursor: pointer;
}
input.button:hover {
  background: #fff;
}
input.button:active {
  background: #ddd;
  border-color: #666;
}
input.name {
  width:200px;
}
input.short {
  width:130px;
}
input.card {
  width:60px;
}
input.zip {
  width:60px;
}
input.birthday {
  width:40px;
}
input.amount {
  width:100px;
}
input.long {
  width:400px;
}


tr.require th:before {
  content: "*";
  color: #d00;
  display: inline-block;
  width:10px;
  margin-left:-10px;
  font-size:10pt;
}
tr.error {
  background: #FFECEC;
}
tr.error td, tr.error th {
  border-style: solid;
  border-color: #FCD7D8;
}
tr.error th {
  color: #c00;
  border-left-width: 1px;
}
tr.error td {
  border-right-width: 1px;
}
tr.error .text {
  border-color: #FAABAC;
}
tr.error .text:focus {
  border-color: #DE171C
}
div.error {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -khtml-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  font-size:8pt;
  font-weight: bold;
  color: #fff;
  background: #d00;
  line-height: 100%;
  padding: 3px 6px;
  display: inline-block;
}
div.error:before {
  display: block;
  content: " ";
  text-align: left;
  overflow: hidden;
}
.warning {
  color: #d00;
}
.japanese {
  color: #006;
}

.navigator {
  padding: 10px 0 0;
  height:30px;
  text-align: center;
}
.navigator .button {
  padding-left: 0;
  padding-right: 0;
  width:140px;
}
.navigator div {
  width:420px;
  height:30px;
}
.navigator .right {
  float: right;
  text-align: left;
}
.navigator .left {
  text-align: right;
  float: left;
}
.comment {
  text-align: center;
}

.copyright {
  text-align: center;
  padding: 30px 0 20px;
  font-size:9pt;
  font-weight: bold;
}

table#memo {
  margin-bottom:10px;
  border:#000 solid 1px;
  border-collapse:collapse;
}

table#memo th{
  padding:5px 5px 5px 5px;
  border:#000 solid 1px;
  border-collapse:collapse;
  background-color:#CCF;
  vertical-align:top;
}

table#memo td{
  padding:5px 5px 5px 5px;
  border:#000 solid 1px;
  border-collapse:collapse;
  vertical-align:top;
}

input.number{ 
  ime-mode: disabled;
}


span.important, p.important {
  color : red;
}

h1#logo {
  background-color : #000066;
  color : white;
  padding : 40px 10px;
}
h1#logo a {
  color : white;
}

h1#logo small {
  font-size : 0.3em;
  vertical-align : middle;
}

h2#deadline {
  border : none;
  color : red; 
}

td.white {
  background-color : white;
}

th.item {
  background-color : #EBF7F7;
}

td.nowrap,th.nowrap {
  text-align : left;
  white-space : nowrap;
}

#copyright {
  text-align : center;
  margin-top : 100px;
}

th.required:after {
   content : ' *';
   color : red;
}

div.centering {
  margin-top : 20px;
  text-align : center;
}

div.error-message {
  background-color : red;
  padding : 2px;
  color : white;
  font-weight : bold;
}

div#flashMessage, div#authMessage {
  font-size : 2em;
  padding : 5px;
  color : white;
  background-color : red;
}

div#review_desc {
  background-color : white;
  border : 1px solid;
  width : 950px;
  padding : 5px;
  height : 200px;
  overflow-y : scroll;
}
div#histogram {
  width : 100%;
  padding-bottom : 20px;
  background-color : white;
}
div#histogram div {
  margin : 10px auto;

}
@media print{
  h1#logo{display:none;}
  p#copyright{display:none;}
  body {
    background-color : white;
  }
} 
