@charset "utf-8";

html{}

body {
  position:relative;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-size:14px;
  line-height:1.715em; /*14px-24px相当*/
  letter-spacing:normal;
  vertical-align:baseline;
  margin:0;   
  padding:0;   
  color:#4c4c4c;
  background:url(../img/body_bg.png) no-repeat center top #c7e5f2;
}

h1, h2, h3, h4, h5, h6,
div, p, ul, li, ol, dl, dt, dd,
pre, span, address , table, th, td {
  margin:0;
  padding:0;
  font-size: 1em;
  font-style:normal;
}

p,li,dd {
  text-align:justify;
  text-justify:inter-ideograph;
}

ul li { list-style-type:none; }

ol li {
  list-style-position:outside;
  margin-left:1.5em;
}

em{
  text-decoration:none;
  font-style:normal;
  font-weight:normal;
}

img, a img { border:0; }

img {vertical-align: top; }

a{
  color:#4c4c4c;
  text-decoration:none;
}

a:hover{
  text-decoration:underline;
}

br { letter-spacing:0; }

/*テーブル*/
table{
  width:100%;
  border-collapse: collapse;
  border-spacing:0;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
}

th{
  text-align:left;
  font-weight:normal;
  font-style:normal;
  display: block;
}

td {
  display: block;
}

.ui-datepicker td,
.ui-datepicker th {
  display: table-cell;
}


/*form*/
form{
  display:block;
  padding:0;
  margin:0;
}

label{
  cursor:pointer;
  line-height:2.4em;
}

form dd label{
  margin-left:0.25em;
  margin-right:0.5em;
}

form input,
form textarea,
form button{
  font-family:inherit;
  font-size:100%;
  font-style:inherit;
  font-weight:inherit;
  margin:0;
  padding:0;
  vertical-align:baseline;
  overflow:auto;
}

form input[type="text"],
form input[type="password"]{
  height:34px;
  padding:0 8px;
  letter-spacing:normal;
  color:#4c4c4c;
  border:1px solid #b8e5ff;
  background-color:#fff;
  overflow:hidden;
  line-height:34px;
}

  * html input{
    padding:0 0.5em;
    height:2.4em;
    line-height:2.4em;
    vertical-align:middle;
    border:1px solid #b8e5ff;
    background-color:#fff;
  }


form select {
  border:1px solid #b8e5ff;
  background-color:#fff;
  padding:8px;
  vertical-align:middle;
}

form option {
  font-family:inherit;
  font-size:100%;
  font-style:inherit;
  font-weight:inherit;
  vertical-align:middle;
  padding-left:8px;
}

form textarea{
  padding:8px;
  line-height:1.5em;
  letter-spacing:0;
  color:#4c4c4c;
  border:1px solid #b8e5ff;
  background-color:#fff;
  height:200px;
  width:95%;
}

form input[type="text"]:hover,
form input[type="text"]:focus,
form input[type="password"]:hover,
form input[type="password"]:focus,
form textarea:hover,
form textarea:focus{
  border-color:#dbf2ff;
}

form input.cr{
  line-height:1em;
  height:1em;
  margin:auto 5px auto auto;
  padding:0;
  border:none;
  background:none;
  vertical-align:middle;
}

  /*safari*/
  html:not(:only-child:only-child) form input[type="checkbox"],
  html:not(:only-child:only-child) form input[type="radio"]{
    vertical-align:baseline;
  }

form input[type="submit"],
form input[type="reset"],
form input[type="button"]{
  border:0;
  margin: 10px;
  width: 190px;
  height: 35px;
  font-size:0%;
  line-height:0%;
  text-indent:-9999em;
  overflow:hidden;
  background:no-repeat center bottom;
  cursor:pointer;

}

  *+html form input[type="submit"],
  *+html form input[type="reset"],
  *+html form input[type="button"] {
    display:block;
  }


/*form input[type="submit"]:hover,
form input[type="reset"]:hover,
form input[type="button"]:hover{
  background-position:top;
  color:#0edaff;
}*/

.btnbox{
  width:100%;
  text-align:center;
  padding-top:20px;
}

.btnbox form{ display:inline; }

.error{
  padding:10px 10px 10px 65px;
  background:url(../img/icon_error.png) no-repeat 20px 10px #fffed8;
  min-height:33px;
  height:auto !important;
  height:33px;
  margin-bottom:20px;
}

.valid{
  padding:10px 10px 10px 20px;
  background:#dbf9f3;
  min-height:33px;
  height:auto !important;
  height:33px;
  margin-bottom:20px;
  font-size:16px;
  line-height:33px;
  border:1px solid #ccc;
}

.error p{
  color:#e50012;
  line-height:33px;
}

form .mini{ width:35px;}
form .long{ width:95%;}
form .namelabel{ padding:0 0.5em; }

.sealbox{
  width:115px;
  height:57px;
  padding-top:30px;
  margin:0 auto;
}

/*レスポンシブ表組み*/
.table-responsive,
.img-responsive {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

.table-responsive::after,
.img-responsive::after {
  content: "← 左右にスクロールできます →";
  display: block;
  padding-bottom: 5px;
  margin-top: 10px;
  font-size: 12px;
  text-align: center;
  white-space: nowrap;
}

.table-responsive table {
  width: 100% !important;
  table-layout: fixed;
  margin: 0;
}

.table-responsive table th,
.table-responsive table td {
  display: table-cell;
}

.img-responsive img {
  max-width: unset;
}