body{
	line-height: 1.2;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'メイリオ', meiryo, sans-serif;
	-webkit-text-size-adjust:100%;
	font-size: 14px;
	color: #444444;
	width: 100%;
}

textarea{
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'メイリオ', meiryo, sans-serif;
	-webkit-text-size-adjust:100%;
    border-radius: 0;
}

input[type="text"],
input[type="submit"],
input[type="button"],
select{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

.input-box input[type="text"],
.input-box input[type="password"] {
	width: 100%;
	font-size: 15px;
}

select{
	padding: 5px 10px 5px 20px;
    background: #fff;
	border-radius: 0;
}

img{
	width: 100%;
	height: auto;
}

#titleBox h1{
	float: none;
	color: #fff;
	font-size: 14px;
	padding: 6px 0;
	margin: 0;
	font-weight: normal;
	text-align: center;
}

#main-contents {
	padding: 10px 0 60px;
	box-sizing: border-box;
}

/* サイドメニュー */
#side-menu {
	height: 20px;
}

#nav-drawer {
  position: absolute;
  top: 120px;
  right: 20px;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;/*線の太さ*/
    width: 25px;/*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: '';
    cursor: pointer;
}
#nav-open span:before {
    bottom: -8px;
}
#nav-open span:after {
    bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
    display: none;/*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;/*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;/*最前面に*/
    max-width: 230px;/*最大幅*/
    height: 100%;
    background: #039be5;/*背景色*/
    transition: .3s ease-in-out;/*滑らかに表示*/
    -webkit-transform: translateX(-105%);
    transform: translateX(105%);/*右に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
    display: block;/*カバーを表示*/
    opacity: .5;
}

#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);/*中身を表示*/
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

#side-menu li {
	height: 50px;
	border-bottom: 1px solid #fff;
}

.square_btn {
	color: #fff;
	background: #039be5;
	width: 230px;
	box-shadow: none;
	border-radius: 0px;
	line-height: 50px;
	border-bottom: 1px solid #fff;
	font-size: 18px;
}

.square_btn_select {
	/* TODO 色をどうするか？*/
	background: #D20B0B;
}

.square_btn_select:hover {
	background: #f75555;/*色*/
}

/* ここまで */

#description {
	margin: 10px;
}

#description p {
	font-size: 12px;
}

#main-wrapper {
	margin-top: 15px;
}

.u-menu li {
    width: 25%;
    margin-left: 10px;
}

.u-menu li a {
    font-size: 12px;
}

#search-area {
	margin: 10px;
}

#search-area-title {
	width: 12%;
	font-size: 12px;
}

#search-submit-area {
	width: 20%;
}

#search-submit-area input {
	width: 60px;
	margin: 2px;
}

.sel-title-o {
	font-size: 12px;
	margin-left: 5px;
	width: 50px;
}

#search-area-info {
	width: 65%;
}

#search-area-info input[type=text] {
	width: 120px;
}

#search-area-info select {
	margin: 0;
	line-height: 1;
}

.list-table {
	min-width: 500px;
}

.list-table tbody td {
	vertical-align: middle;
}

/* 勤怠 */
#timerecord-table table tbody tr {
	height: 40px;
}

.dl-area {
	margin: 40px auto 0;
	text-align: center;
}

/* カレンダー */
#calendar-header {
	font-size: 15px;
}

#calendar-header th {
	padding: 0px;
	padding-top: 10px;
}

#btn_prev {
	margin-left: 30px;
}

#btn_next {
	margin-right: 30px;
}

.weekday {
	height: 30px;
	line-height: 30px;
	font-size: 12px;
}

.day {
	height: 60px;
}

#today {
	height: 60px;
}

.contents_btn {
	width: 100px;
	font-size: 12px;
}

#info-msg2{
	width: 80%;
	padding: 1em;
}

#info-msg2 p{
	padding: 0;
}

#info-msg2:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    border-width: 20px 0 0 100px;
}

#redirect-area {
	margin: 20px auto;
	padding-bottom: 10px;
	text-align: center;
	font-size: 12px;
}

#redirect-area #btn_prev,
#redirect-area #btn_next {
	color: #fff;
	display: inline-block;
	width: 60px;
}

#redirect-area #btn_prev{
	margin-right: 5px;
}

#redirect-area #btn_next{
	margin-left: 5px;
}

#redirect-area #popup-close {
	display: inline-block;
	margin-bottom: 0px;
}

#logout-contents {
	float: none;
	padding: 10px 20px;
}

#logout {
	float: right;
}

.event-list {
	width: 90%;
	margin-top: 0;
}

#popup-search {
	margin: auto;
	min-height: 50%;
	padding: 30 10%;
}

.menu-area-contents {
	padding: 5px;
	font-size: 14px;
}

.menu-area-contents img{
	width: 20px;
}

.menu-area-contents tr{
	margin: 10px;
}

#select-area input[type=text] {
	font-size: 12px;
	height: 30px;
}

.sel-title-t {
	font-size: 14px;
	margin: 0;
}

.admin-des {
	font-size: 12px;
}

.dl-area select {
	padding: 0;
	margin: 0;
	width: auto;
	height: 29px;
	box-sizing: border-box;
	padding: 0 10px 0 30px;
}

.employee-name{
	margin-bottom: 10px;
}

.tablesorter-default .tablesorter-header,
.tablesorter-default thead .tablesorter-headerAsc,
.tablesorter-default thead .tablesorter-headerDesc
 {
	background-size: 12px 12px;
}

/* デザイン修正 */

#title-contents{
	width: 98%;
    margin: 0 auto;
    font-size: 90%;
}

#logout-contents{
	float: none;
	padding: 6px 0;
}

#header-contents {
    width: 98%;
    height: auto;
}

#logo {
    width: 40%;
}

#logo img{
	width: 100px;
	margin-bottom: 10px;
}

.menu-area-contents {
    box-sizing: border-box;
}

.a-menu li {
    width: 49%;
    margin: 0 2% 2% 0;
}

.a-menu li:nth-child(2n){
   margin-right: 0;	
}

.btn_regist {
    width: 25%;
    margin-left: 10px;
    font-size: 12px;
    padding: 0px;
}

.btn_delete {
    width: 25%;
    margin-left: 10px;
    font-size: 12px;
    padding: 0px;
}


#info-msg .use-link{
	margin-top: 10px;
}

#info-msg .use-link{
	background: #4CB5F9;
	padding: 0;
	margin-left: 0;
}

#info-msg a{
	background: #4CB5F9;
	padding: .5em;
	border-width: 5px;
	display: block;
	margin: 10px 0;
}

.event-list h3{
	font-size: 100%;
	padding: 0;
}

.input-box {
    padding: 20px 20px 0px 20px;
}

input[type=text],
input[type=password],
textarea{
	padding: 5px;
}

/* ヘルプページ */
#help-wrapper{
	padding: 1em;
	box-sizing: border-box;
}

#help-wrapper #nav li {
    width: 100%;
    margin: 0 0 2% 0;
    float: none;
    text-align: left;
    padding-left: 1em;
}

#help-wrapper #nav li:nth-child(2n){
	margin-right: 0;
}

/* 管理者ページ */

.btn_record_search{
	margin-top: 20px;
	height: 44px;
	width: 200px;
}

select[name="from_month"],
select[name="to_month"]{
	padding: 0 10px;
}

.wavy-line{
	width: 25px;
	padding: 0;
	margin: 0;
}

.detail {
	font-size: 12px;
	padding-left: 10px;
}

.detail:before{
	content: "";
	position: absolute;
	left: -23px;
	bottom: 0;
	width: 0px;
	height: 0px;
	border: 23px solid;
	border-color: transparent #F4F4F4 #F4F4F4 transparent;
}

/* Eラーニング */
#ati-content-area img {
	width: 100%;
	margin-bottom: 20px;
}

/* 調整用 */
.br-as:after{
	content: "\A";
	white-space: pre ;
}

.br-bs:before{
	content: "\A";
	white-space: pre ;
}