@charset "UTF-8";
/* ===================================================================
CSS information
file name  : common.css
style info : 基本・共通設定
=================================================================== */
/* -----------------------------------------------------------
	基本設定、リンクカラーなど
----------------------------------------------------------- */
html {
  font-size: 1em;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  html {
    height: 100%;
  }
}

body {
  font-family: "Yu Gothic", YuGothic, "游ゴシック体", "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #333333;
  background: #fff;
  -webkit-text-size-adjust: none;
}
body a {
  text-decoration: underline;
}
.mouse body a:hover, .touch body a.touchstart {
  text-decoration: none;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
}
@media only screen and (min-width: 768px) {
  body {
    height: 100%;
  }
}

body,
pre,
input,
textarea,
select {
  font-family: "Yu Gothic", YuGothic, "游ゴシック体", "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

input,
select,
textarea {
  font-size: 100%;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="button"],
input[type="submit"] {
  font-size: 100%;
  -webkit-appearance: none;
}

button {
  display: block;
  -webkit-appearance: none;
  padding: 0;
  background: none;
  border: none;
  font-size: 1em;
}

input,
select,
textarea {
  font-size: 100%;
  padding: 4px;
}

input[type="text"],
textarea {
  width: 100%;
}

select {
  padding: 5px;
  cursor: pointer;
}

input[type="submit"] {
  border-radius: 0;
}

.sp_hide {
  display: none !important;
}
@media only screen and (min-width: 768px) {
  .sp_hide {
    display: block !important;
  }
}

/* -----------------------------------------------------------
	#page
----------------------------------------------------------- */
#page {
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

/* -----------------------------------------------------------
	header
----------------------------------------------------------- */
header {
  background: #77a04d;
  color: #fff;
}
header .inner {
  background: #669933;
  overflow: hidden;
  padding: 15px;
  line-height: 1;
}
header .inner #name {
  font-weight: bold;
  float: left;
  font-size: 1.2em;
}
header .inner #btn_open {
  float: right;
  font-size: 1.2em;
}
header #gnav {
  display: none;
  clear: both;
  padding-bottom: 20px;
}
header #gnav ul {
  margin-bottom: 20px;
}
header #gnav ul li {
  border-bottom: 1px solid #86ae5e;
}
header #gnav ul li:first-child {
  border-top: 1px solid #86ae5e;
}
header #gnav ul li a {
  text-decoration: none;
  color: #fff;
  display: block;
  padding: 10px 15px;
  font-weight: bold;
}
header #gnav #btn_logout {
  padding-right: 15px;
  text-align: right;
}
header #gnav #btn_logout a {
  border: 1px solid #86ae5e;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  padding: 10px 15px;
  line-height: 1;
  background: #669933;
}
header #gnav #btn_logout a:after {
  content: "\f08b";
  font-family: 'FontAwesome';
  float: right;
  font-weight: normal;
  margin-left: 5px;
}
@media only screen and (min-width: 768px) {
  header {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 25%;
    height: 100%;
  }
  header .inner {
    padding: 0 15px;
  }
  header .inner #name {
    line-height: 50px;
  }
  header .inner #btn_open {
    display: none !important;
  }
  header #gnav {
    display: block !important;
  }
}
@media only screen and (min-width: 1025px) {
  header {
    width: 20%;
  }
  header #gnav ul li a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
  }
  header #gnav #btn_logout a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
  }
}
@media print {
  header {
    width: 20%;
  }
  header #gnav ul li a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
  }
  header #gnav #btn_logout a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
  }
}
.ie8 header {
  width: 20%;
}
.ie8 header #gnav ul li a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.ie8 header #gnav #btn_logout a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}

/* -----------------------------------------------------------
	#contents
----------------------------------------------------------- */
#contents #con_header {
  background: #212223;
  padding: 15px;
  color: #fff;
}
#contents #con_header h2 {
  font-weight: bold;
}
#contents #con_inner {
  padding: 15px 15px 30px;
}
#contents #con_inner .btn_area.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  #contents {
    padding-left: 25%;
    height: 100%;
    position: relative;
  }
  #contents #con_header {
    padding: 0 15px;
    position: fixed;
    top: 0;
    right: 0;
    width: 75%;
    z-index: 1;
  }
  #contents #con_header h2 {
    line-height: 50px;
    font-size: 1.2em;
  }
  #contents #con_inner {
    padding: 70px 15px 50px;
  }
  #contents #con_inner .btn_area.fixed {
    width: 80%;
    left: 20%;
  }
}
@media only screen and (min-width: 1025px) {
  #contents {
    padding-left: 20%;
  }
  #contents #con_header {
    width: 80%;
  }
  #contents #con_inner {
    padding: 70px 30px 50px 15px;
  }
}
@media print {
  #contents {
    padding-left: 20%;
  }
  #contents #con_header {
    width: 80%;
  }
  #contents #con_inner {
    padding: 70px 30px 50px 15px;
  }
}
.ie8 #contents {
  padding-left: 20%;
}
.ie8 #contents #con_header {
  width: 80%;
}
.ie8 #contents #con_inner {
  padding: 70px 30px 50px 15px;
}

/* -----------------------------------------------------------
	footer
----------------------------------------------------------- */
footer {
  text-align: center;
  font-size: .6em;
  padding: 15px 0;
}
@media only screen and (min-width: 768px) {
  footer {
    font-size: .9em;
  }
}

/* -----------------------------------------------------------
  可変テーブル用表記
----------------------------------------------------------- */
.txt_rwd_table {
  margin-bottom: 15px;
  font-size: .9em;
  background: #F2EABA;
  line-height: 1;
  padding: 5px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .txt_rwd_table {
    display: none !important;
  }
}

/* -----------------------------------------------------------
	テーブル
----------------------------------------------------------- */
table {
  border: 1px solid #ccc;
  border-bottom: none;
  width: 100%;
  margin-bottom: 30px;
}
table th,
table td {
  padding: 7px;
  border: 1px solid #ccc;
  text-align: left;
}
table th {
	/*
  background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #e5e5e5));
  background: -moz-linear-gradient(#ffffff, #e5e5e5);
  background: -webkit-linear-gradient(#ffffff, #e5e5e5);
  background: linear-gradient(#ffffff, #e5e5e5);
  *zoom: 1;
  filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#FFFFFFFF', endColorstr='#FFE5E5E5');
  */
  background-color: #e5e5e5;
  width: 30%;
}
table td {
  background: #fff;
}
table.ui-datepicker-calendar th {
  width: auto;
}
table.rwd {
  display: block;
}
table.rwd thead {
  display: block;
  float: left;
  overflow-x: scroll;
}
table.rwd thead th {
  display: block;
  width: auto;
  border-top: none;
  border-left: none;
  height: 50px;
  vertical-align: middle;
}
table.rwd tbody {
  display: block;
  width: auto;
  overflow-x: auto;
  white-space: nowrap;
  letter-spacing: -5px;
}
table.rwd tbody tr {
  display: inline-block;
  width: 100%;
  letter-spacing: normal;
}
table.rwd tbody td {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-top: none;
  border-left: none;
  height: 50px;
  vertical-align: middle;
}
table.rwd tbody td .btn_c input {
  padding: 3px 0;
}
table.smart th,
table.smart td {
  float: left;
  width: 100%;
  border-right: none;
  border-top: none;
  border-left: none;
}
@media only screen and (min-width: 768px) {
  table.rwd {
    display: table;
  }
  table.rwd thead {
    display: table-header-group;
    float: none;
  }
  table.rwd thead th {
    display: table-cell;
  }
  table.rwd tbody {
    display: table-row-group;
  }
  table.rwd tbody tr {
    display: table-row;
  }
  table.rwd tbody td {
    display: table-cell;
    white-space: normal;
  }
  table.rwd tbody td .btn_c input {
    padding: 7px 15px;
  }
  table.smart th,
  table.smart td {
    float: none;
    width: auto;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
  }
  table.smart th {
    width: 30%;
  }
}
@media only screen and (min-width: 1025px) {
  table th {
    width: 20%;
  }
  table.smart th {
    width: 20%;
  }
}
@media print {
  table th {
    width: 20%;
  }
  table.smart th {
    width: 20%;
  }
}
.ie8 table th {
  width: 20%;
}
.ie8 table.smart th {
  width: 20%;
}

/*20191002 追記*/

table.tbl_schedule th {
  width: 12.5%;
}