@charset "utf-8";
/*------------------------------------------------------------
    レイアウト
------------------------------------------------------------*/
html,body {
    text-align: center;
    background:#FFFFFF;
    height: 100%;
    margin: 0;
}

/*------------------------------------------------------------
    #header
------------------------------------------------------------*/
#header {
    box-sizing:border-box;
    height: 136px;
    background: #fff;
    position: relative;
}
#header .logoArea{
    text-align:left;
    top: 15px;
    left: 10px;
    position: absolute;
}
#header .logoArea a:nth-child(2) {
	display: none;
}
#header .headerRightArea {
    display: table;
    float: right;
}
#header .util01Area {
    display: inline-block;
    padding: 20px 20px 16px;
}
#header .managerArea {
    float:right;
    margin-left:10px;
}
#header .managerArea p{
    font-size:16px;
    color:#bc0000;
}
#header .util01Area .loginUserSchool {
    font-size: 16px;
    color: #2A3F54;
    padding: 0;
    display: block;
    clear: both;
    text-align: left;
}
#header .util01Area .loginUserName {
    font-size: 16px;
    color: #2A3F54;
    padding: 10px 0 0 25px;
    background: url("../img/header/ic-acount.png") no-repeat left bottom;
    display: block;
    clear: both;
    text-align: left;
}
#header .userArea {
    float: right;
    padding: 19px 20px 16px;
}
#header .userArea a {
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    box-sizing-border:box;
    padding: 13px 15px 11px 46px;
    display: block;
    color: #2A3F54;
    -webkit-box-shadow:    0 0 1px #cecdca;
    -moz-box-shadow:    0 0 1px #cecdca;
    box-shadow:    0 0 1px #cecdca;
    border: 1px solid #d9d9d9;
    border-bottom: 3px solid #ccc;
}

#header .userArea .btnAdmin a {
    padding-left:15px;
}

#header .userArea a:hover {
    background-color: #EBF7F5;
    color: #00785D;
    transform: translateY(1px);/*下に動く*/
    -ms-transform: translateY(1px);
    -webkit-transform: translateY(1px);
    margin: 1px 0 0;
}
#header .btnLogout a {
    background-image: url("../img/icon/button_icon/ic-logout.png");
    background-position: left 12px bottom 11px;
    background-repeat: no-repeat;
}

#header .logout:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}
#header .username{
    padding:2px 5px 2px 2px;
    text-align:right;
    color:#bc0000;
    box-sizing-border:box;
}
.menu_btn {
    display: none;
}

/*------------------------------------------------------------
    .gmenu グローバルメニューの表示
------------------------------------------------------------*/
.gmenu {
    box-sizing: border-box;
    background-color: #2f4f4f;
    height: 58px;
    clear: both;
}
.gmenu_inner {
    width: 800px;
    height: 100%;
    margin: 0 auto;
}
.gmenu_inner ul {
    height: 100%;
    display: flex;
}
.gmenu_inner li {
    flex: 1 1 auto;
    display: flex;
    border-top:solid #2f4f4f 10px;
    border-bottom:solid #2f4f4f 10px;
    border-left: solid #f1f1f1 1px;
}
.gmenu_inner li:first-child {
    border-left: none;
}
.gmenu a {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    padding: 0 10px 0 40px;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    align-items: center;
}
.gmenu_inner li.menu_home a {
    background-image: url("../img/header/ic-home.png");
    background-repeat: no-repeat;
    background-position: 10px;
    background-size: 26px auto;
}
.gmenu_inner li.menu_zaiko a {
    background-image: url("../img/icon/button_icon/ic-people.png");
    background-repeat: no-repeat;
    background-position: 10px;
    background-size: 30px auto;
}
.gmenu_inner li.menu_request a {
    background-image: url("../img/icon/button_icon/ic-turn-arrow.png");
    background-repeat: no-repeat;
    background-position: 10px;
    background-size: 26px auto;
}
.gmenu_inner li.menu_recorder_view a {
    background-image: url("../img/header/ic-timecheck.png");
    background-repeat: no-repeat;
    background-position: 10px;
    background-size: 26px auto;
}
.gmenu_inner li.menu_pass a {
    background-image: url("../img/icon/button_icon/ic-boxRbutton.png");
    background-repeat: no-repeat;
    background-position: 10px;
    background-size: 26px auto;
}
.gmenu_inner li.menu_manual a {
    background-image: url("../img/header/ic-manual.png");
    background-repeat: no-repeat;
    background-position: 10px;
    background-size: 26px auto;
}
.gmenu a:hover {
    text-decoration: underline;
}
.gmenu .spmenu_btngroup {
	display: none;
}

/*------------------------------------------------------------
    .defineDate 出勤日時の表示
------------------------------------------------------------*/
.defineDate {
    padding-top: 20px;
    background: #F1F1F1;
    font-weight: bold;
    letter-spacing: 0.15em;
}
.defineDate p {
    color: #2a3f54;
    display: inline-block;
    font-size: 24px;
}

/*------------------------------------------------------------
    #container
------------------------------------------------------------*/
#container{
    filter:alpha(opacity=0);
    -moz-opacity: 0.0;
    opacity: 0.0;
    min-height:100%;
    height:auto !important;
    height:100%;
    /* margin:0px auto -90px; */
    margin:0px auto;
    background: #F1F1F1;
    background-image: url("../img/body/patterns07.gif");
    background-repeat: repeat;
}
/*------------------------------------------------------------
    #contents
------------------------------------------------------------*/
#contents{
    width: 80%;
    min-width: 800px;
    margin: 0 auto;
    clear: both;
    padding: 0;
    box-sizing: border-box;
}

#contents:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}

/*------------------------------------------------------------
    #main
------------------------------------------------------------*/
#main {
    margin: 0 auto;
    background: #fff;
    padding-bottom: 20px;
}

/*------------------------------------------------------------
    #footer
------------------------------------------------------------*/
#footer,
.push {
    height:60px;
}
#footer {
    /* margin-top: 50px */;
    height: 40px;
    box-sizing: border-box;
    background: #2f4f4f;
}
#footer .copyright {
    /* margin-top: 10px */;
    color: #FFFFFF;
    padding: 15px 0 0;
    font-size: 85%;
}
/*------------------------------------------------------------
    .navi01
------------------------------------------------------------*/
.navi01 a{
    text-decoration:none;
}
/*------------------------------------------------------------
    .button01
------------------------------------------------------------*/
input.button01,
.button01{
    line-height: 1;
    color:#FFFFFF;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    white-space: nowrap;
    text-decoration:none;
    padding:12px;
    border:none;
    cursor:pointer;
    background:url("../img/button/button01.png") repeat-x left top;
}

td.actions .button01{
        padding:10px;
}

a.button01 {
    color: #fff;
    letter-spacing: 0;
    display: inline-block;
    position: relative;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    white-space: nowrap;
}

.button01:hover{
    text-decoration:none;
    color: yellow;
}

/*================汎用ボタン（小）==================*/
.btn_small,
.btn_small:hover,
.btn_small:active,
.btn_small:visited{
    white-space: nowrap;
    color: #111 !important;
    text-decoration: none;
    text-align: center;
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 0.06em;
    display: inline-block;
    padding: 3px;
    background: #efefef;
    background: -moz-linear-gradient(top,  #efefef 0%, #f2f2f2 50%, #e0e0e0 51%, #e0e0e0 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#efefef), color-stop(50%,#f2f2f2), color-stop(51%,#e0e0e0), color-stop(100%,#e0e0e0));
    background: -webkit-linear-gradient(top,  #efefef 0%,#f2f2f2 50%,#e0e0e0 51%,#e0e0e0 100%);
    background: -o-linear-gradient(top,  #efefef 0%,#f2f2f2 50%,#e0e0e0 51%,#e0e0e0 100%);
    background: -ms-linear-gradient(top,  #efefef 0%,#f2f2f2 50%,#e0e0e0 51%,#e0e0e0 100%);
    background: linear-gradient(to bottom,  #efefef 0%,#f2f2f2 50%,#e0e0e0 51%,#e0e0e0 100%);
    border: 1px solid #777;
    -webkit-border-radius: 3px;/* for Safari and Chrome */
    -moz-border-radius: 3px; /* for Firefox */
    -o-border-radius: 3px; /* for opera */
    border-radius: 3px;
    box-shadow: 0 0 3px #fff inset;
}
.btn_small:hover{
    background: #d3e7ea;
    background: -moz-linear-gradient(top,  #d3e7ea 1%, #d0e7ea 50%, #9fe0f2 51%, #c0e9ed 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#d3e7ea), color-stop(50%,#d0e7ea), color-stop(51%,#9fe0f2), color-stop(100%,#c0e9ed));
    background: -webkit-linear-gradient(top,  #d3e7ea 1%,#d0e7ea 50%,#9fe0f2 51%,#c0e9ed 100%);
    background: -o-linear-gradient(top,  #d3e7ea 1%,#d0e7ea 50%,#9fe0f2 51%,#c0e9ed 100%);
    background: -ms-linear-gradient(top,  #d3e7ea 1%,#d0e7ea 50%,#9fe0f2 51%,#c0e9ed 100%);
    background: linear-gradient(to bottom,  #d3e7ea 1%,#d0e7ea 50%,#9fe0f2 51%,#c0e9ed 100%);
}
/*------------------------------------------------------------
    シンプルボタン
------------------------------------------------------------*/
a.btn_simple{
    color: #111;
}
.btn_simple,
.btn_simple:hover,
.btn_simple:active,
.btn_simple:visited {
    color: #111;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    letter-spacing: 0.06em;
    width:50px;
    padding: 5px 14px;
    line-height: 18px;
    display:inline-block;
    vertical-align: middle;
    display: inline-block;
    background: #efefef;
    background: -moz-linear-gradient(top,  #efefef 0%, #f2f2f2 50%, #e0e0e0 51%, #e0e0e0 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#efefef), color-stop(50%,#f2f2f2), color-stop(51%,#e0e0e0), color-stop(100%,#e0e0e0));
    background: -webkit-linear-gradient(top,  #efefef 0%,#f2f2f2 50%,#e0e0e0 51%,#e0e0e0 100%);
    background: -o-linear-gradient(top,  #efefef 0%,#f2f2f2 50%,#e0e0e0 51%,#e0e0e0 100%);
    background: -ms-linear-gradient(top,  #efefef 0%,#f2f2f2 50%,#e0e0e0 51%,#e0e0e0 100%);
    background: linear-gradient(to bottom,  #efefef 0%,#f2f2f2 50%,#e0e0e0 51%,#e0e0e0 100%);
    border: 1px solid #777;
    -webkit-border-radius: 3px;/* for Safari and Chrome */
    -moz-border-radius: 3px; /* for Firefox */
    -o-border-radius: 3px; /* for opera */
    border-radius: 3px;
    box-shadow: 0 0 3px #fff inset;
    }
.btn_simple:hover{
    background: #d3e7ea;
    padding: 5px 14px;
    display: table-cell;
    vertical-align: middle;
    background: -moz-linear-gradient(top,  #d3e7ea 1%, #d0e7ea 50%, #9fe0f2 51%, #c0e9ed 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#d3e7ea), color-stop(50%,#d0e7ea), color-stop(51%,#9fe0f2), color-stop(100%,#c0e9ed));
    background: -webkit-linear-gradient(top,  #d3e7ea 1%,#d0e7ea 50%,#9fe0f2 51%,#c0e9ed 100%);
    background: -o-linear-gradient(top,  #d3e7ea 1%,#d0e7ea 50%,#9fe0f2 51%,#c0e9ed 100%);
    background: -ms-linear-gradient(top,  #d3e7ea 1%,#d0e7ea 50%,#9fe0f2 51%,#c0e9ed 100%);
    background: linear-gradient(to bottom,  #d3e7ea 1%,#d0e7ea 50%,#9fe0f2 51%,#c0e9ed 100%);
}

@media print, screen and (min-width:900px){
    .btn_simple{
        height:40px;
        display:table-cell;
    }
}
@media screen and (max-width:900px) {
    .btn_simple:hover{
       padding: 10px;
       width:100%;
       display: inline-block;
    }
    
    .btn_simple{
        width:100%;
        padding: 10px;
    }
}

/*------------------------------------------------------------
    その他ボタン
------------------------------------------------------------*/

.btnLogout a {
    background:url("../img/icon/button_icon/ic-logout.png") no-repeat left 15px center;
}

.button01Header a{
    color: #2A3F54;
    text-decoration:none;
    padding: 3px 0 3px 30px;
}

.button01Header a:hover {
    color:#FF0000;
}

/*------------------------------------------------------------
    .message01
------------------------------------------------------------*/
.message01{
    color:#bc0000;
    font-weight:bold;
    margin:10px auto;
    line-height:24px;
}
.message01 p{
}
/*------------------------------------------------------------
    .alert01
------------------------------------------------------------*/
.alert01{
    color:#bc0000;
    text-align:left;
    margin-bottom:15px;
    line-height: 120%;
}
/*------------------------------------------------------------
    .title01
------------------------------------------------------------*/
.title01{
    background: #fff;
    border-bottom:2px solid #2f4f4f;
    color: #2a3f54;
    font-weight: bold;
    font-size: 24px;
    line-height: 26px;
    padding: 15px 0;
    margin-bottom: 20px;
}

@media screen and (max-width:800px){
    .title01{
        background: #2f4f4f;
        color: #fff;
        margin-bottom:30px;
        font-size: 20px;
        border-bottom:none;
        
    }
}


/*------------------------------------------------------------
    .title02
------------------------------------------------------------*/
.title02{
    margin-bottom:10px;
    text-align:center;
    font-weight:bold;
    font-size:20px;
    line-height:30px;
    padding:10px;
}
/*------------------------------------------------------------
    .require01
------------------------------------------------------------*/
.require01:before{
    content:'必須';
    margin-right:10px;
    background:#bc0000;
    color:#FFFFFF;
    font-size:14px;
    padding:2px 4px;
}
@media screen and (max-width: 520px) {
    .require01:before{
        content:'必';
        margin-right:5px;
        background:#bc0000;
        color:#FFFFFF;
        font-size:14px;
        padding:2px 4px;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
    }
}
/*------------------------------------------------------------
    input
------------------------------------------------------------*/
input.input01{
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
    background:#e0f3f6;
    box-sizing:border-box;
    font-size:14px;
    padding:5px;
    height:34px;
    border:1px solid #000000;
}
/*------------------------------------------------------------
    textArea
------------------------------------------------------------*/
textArea.textArea01{
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
    background:#e0f3f6;
    box-sizing:border-box;
    font-size:14px;
    padding:5px;
    border:1px solid #000000;
}
/*------------------------------------------------------------
    radio
------------------------------------------------------------*/
div.radio_area{
    border:1px solid #000000;
    width:auto;
    padding:0;
    border-radius: 3px;
}
.radio input {
    display: none;
}
.radio label{
    display: inline-block;
    cursor: pointer;
    padding: 7px;
    background: #dddddd;
    color: #869198;
    text-align: center;
    line-height: 1;
    transition: .10s;
/*    border-radius: 3px;*/
    width:100px;
    border:none;
}
.radio input[type="radio"]:checked + label {
    font-weight:bold;
    background-color: #e67168;
    color: #fff;
}
/*------------------------------------------------------------
    checkbox
------------------------------------------------------------*/
input.checkbox01 {
    display: none;
}
input[type="checkbox"]{
    display: none;
}
input[type="checkbox"]+label:before{
    font-family: sans-serif;
    display: inline-block;
    content: "";
    vertical-align: text-bottom;
    background-color: #e0f3f6;
    color: #666666;
    border: 1px solid #000000;
    width:25px;
    height:25px;
    margin-right:5px;
    margin-top:5px;
}
input[type="checkbox"]:checked+label:before{
    font-family: sans-serif;
    content: "\2714";
    font-size:24px;
    line-height: 24px;
}
/*------------------------------------------------------------
    select
------------------------------------------------------------*/
select.select01,
.datewidget select {
    font-size:14px;
    background:#e0f3f6;
    height:34px;
    padding:5px;
    border:1px solid #000000;
    box-sizing: border-box;
}
select.select01 option {
    font-size:16px;
    margin:4px;
}
/*------------------------------------------------------------
    textarea
------------------------------------------------------------*/
textarea.textarea01 {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;

    background:#e0f3f6;
    width:100%;
    height:140px;
    padding:10px;
    border:1px solid #000000;
    box-sizing: border-box;
}

/*------------------------------------------------------------
    #pager
------------------------------------------------------------*/
#pager ul li{
    float:left;
    position: relative;
    left: -50%;
}
#pager {
    position: relative;
    overflow: hidden;
    box-sizing:border-box;
    text-align:center;
    font-size:16px;
    padding:0px 10px;
    margin:10px auto;
}
#pager ul {
    float: left;
    position: relative;
    left: 50%;
}
#pager:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}

#pager li {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    background: #000000 url("../img/button/button01.png") repeat-x 0 0;
    color:#bc0000;
    font-size:16px;
    margin-left:5px;
    font-weight:bold;
}

#pager li.active a {
    font-weight:bold;
    color: #bc0000;
}

#pager li a {
    display: inline-block;
    padding:10px 12px 10px 12px;    
}

#pager a:link,
#pager a:hover,
#pager a:active,
#pager a:visited
{
    color: #FFFFFF;
    font-weight:normal;
    text-decoration: none;
}

img#bodyLoader{
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
    width: 48px;
    height: 48px;
    position:absolute;
    display:block;
    filter:alpha(opacity=100);
    -moz-opacity: 1.0;
    opacity: 1.0;
}
#help{
    width:80%;
    margin:10px auto;
}
#help .helpTitle{
    background:#ffcf00;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    padding:10px;
}
#help .helpTitle p{
    font-weight:bold;
    font-size:20px;
}
#help .inner01{
    padding:10px;
    font-size:16px;
    line-height:26px;
}

/*------------------------------------------------------------
    カレンダー入力
----------------------------------------------------*/
input.inputCalender{
	border:1px solid #000000;
	background:#e0f3f6;
	width:110px;
	padding:5px;
	font-size:20px;
}

/*------------------------------------------------------------
    ２階層目
----------------------------------------------------*/
.secondInnerWrap {
    margin: 0 auto 0;
}

/*------------------------------------------------------------
    処理結果表示メッセージ
----------------------------------------------------*/
div.message {
    background-color: #82D5EE;
    box-shadow: 2px 2px 1px #ccc;
    color: #333;
    cursor: pointer;
    display: flex;
    font-weight: normal;
    line-height: 2.5em;
    width: auto;
    height: initial;
    overflow: hidden;
    position: absolute;
    top: 125px;
    left: auto;
    right: 20px;
    padding: 20px 40px;
    z-index: 999;
}
div.message.hidden {
    opacity: 0;
    height:  0;
    top: -400px;
    -webkit-transition: all 1s ease-in-out 0s;
    -moz-transition: all 1s ease-in-out 0s;
    -ms-transition: all 1s ease-in-out 0s;
    -o-transition: all 1s ease-in-out 0s;
}
div.message.error {
   background-color: #C3232D;
   color: #FFF;
}
div.message::before {
    line-height: 0px;
    font-size: 25px;
    height: 12px;
    width: 12px;
    -webkit-border-radius: 15px;/* for Safari and Chrome */
    -moz-border-radius: 15px; /* for Firefox */
    -o-border-radius: 15px; /* for opera */
    border-radius: 15px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    left: -11px;
    background-color: #FFF;
    padding: 17px 10px 2px 10px;
    content: "i";
    color: #a0d3e8;
}
div.message.error::before {
   padding: 13px 8px 2px 8px;
   color: #C3232D;
   content: "x";
   font-size: 20px;
}

div.message.error a{
   color:#fff;
   text-decoration:underline;
}

@media screen and (max-width:800px){
    div.message {
        background-color: #82D5EE;
        box-shadow: 2px 2px 1px #ccc;
        cursor: default;
        display: flex;
        line-height: 1.5em;
        height: initial;
        position: fixed;
        margin: 0 10px 10px 20px;
        padding: 20px 20px;
        z-index: 9999;
        top: 75px;
        left: 10px;
        right: auto;
        width: 80%;
        cursor: pointer; 
    }
    div.message:hover {
        opacity: 1;
    }
    div.message.hidden {
        opacity: 1;
        height:  auto;
        top: -400px;
        -webkit-transition: all 1s ease-in-out 0s;
        -moz-transition: all 1s ease-in-out 0s;
        -ms-transition: all 1s ease-in-out 0s;
        -o-transition: all 1s ease-in-out 0s;
    }
    button#selectChangeBtn, button#selectCreateBtn {
        float: none;
        display: table;
    }
    button#selectCreateBtn {
        margin-top: 30px;
    }
    div.message.error {
       background-color: #C3232D;
       color: #FFF;
    }
    div.message::before {
        line-height: 0px;
        font-size:25px;
        height: 12px;
        width: 12px;
        -webkit-border-radius: 15px;/* for Safari and Chrome */
        -moz-border-radius: 15px; /* for Firefox */
        -o-border-radius: 15px; /* for opera */
        border-radius: 15px;
        text-align: center;
        vertical-align: middle;
        display: inline-block;
        position: relative;
        left: -11px;
        background-color: #FFF;
        padding: 17px 10px 1px 9px;
        content: "i";
        color: #a0d3e8;
        font-weight: bold;
    }
    div.message.error::before {
       padding: 14px 10px 4px 9px;
       color: #C3232D;
       content: "x";
       font-size: 20px;
       margin-bottom: 5px;
    }
    div.message.error a{
       color:#fff;
       text-decoration:underline;
    }
}

.error-message {
    color: red;
    display: table;
    margin: 10px 0px 0px;
    padding: 0;
}
.error-message:before {
    content: "**";
}

/*------------------------------------------------------------
 =Responsive Structure
----------------------------------------------- */
@media screen and (max-width: 1200px) {
    #contents{
        width: 100%;
    }
}
@media screen and (max-width: 1000px) {

    html {
    -webkit-text-size-adjust: 100%
    }
    body {
        min-width: 320px;
        margin: 0;
        padding: 0;
        font-size: 0.875em !important;
    }

    /*------------------
    Structure
    ------------------*/
    #header {
        height: 100%;
    }
    #header .headerRightArea {
        float: none;
        margin: 0 auto;
        padding: 0;
        display: inline-block;
    }
    #header .userArea a {
        background-color: #fff;
    }
    .headerRightArea-inner {
        display: inline-block;
        margin: 0 auto;
    }
    #header .userArea {
        padding: 10px 0 10px;
    }
    #header .util01Area {
        padding: 10px 20px;
    }
    #header .logoArea {
        top: 12px;
        display: inline-block;
        text-align: center;
    }
    #header .logoArea a:nth-child(1) {
        display: none;
    }
    #header .logoArea a:nth-child(2) {
        display: inline-block;
    }
    #header .logoArea a img {
        margin: 0 auto;
    }
}

@media screen and (max-width: 800px) {
    #contents{
        min-width: inherit;
    }
    #header .userArea {
        display: none;
    }
    .defineDate p {
        font-size: 20px;
    }
    #header .util01Area .loginUserName {
        display: inline-block;
    }
    .defineDate {
        background: #00785d;
    }
    .defineDate p {
        color: #fff;
    }
    .message {
        padding: 0.5em 1em;
    }

    .tleft.w500.center {
        width: auto;
        display: inline-block;
    }
    .input01.w500.mr10 {
        width: 250px;
    }
    .input01.w400 {
        width: 250px;
    }

    .searchArea {
        line-height: 3.5em;
    }

    /*------------------
    スマートフォンメニュー
    ------------------*/
    #container {
        position: relative;
    }
    .gmenu {
        display: none;
    }
    .menu_btn {
        display: inline-block;
        position: absolute;
        top: 12px;
        right: 10px;
        cursor: pointer;
        z-index: 100;
    }
    .overlay {
        content: "";
        display: block;
        width: 0;
        height: 0;
        background-color: rgba(0, 0, 0, 0.5);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        opacity: 0;
        transition: opacity .5s;
    }
    .overlay.open {
        width: 100%;
        height: calc(100% + 40px);
        opacity: 1;
    }
    .menu_btn.active {
        transform: translateX(-250px);
        -ms-transform: translateX(-250px);
        -webkit-transform: translateX(-250px);
    }
    .menu_btn.active img {
        opacity: 0;
    }
    .menu_btn span {
        opacity: 0;
        transition: opacity .5s;

    }
    .menu_btn.active span {
        display: inline-block;
        box-sizing: border-box;
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #fff;
        opacity: 1;
    }
    .menu_btn.active span:nth-of-type(1) {
        top: 0;
        transform: translateY(12px) rotate(-45deg);
        -ms-transform: translateY(12px) rotate(-45deg);
        -webkit-transform: translateY(12px) rotate(-45deg);
    }
    .menu_btn.active span:nth-of-type(2) {
        top: 0;
        transform: translateY(12px) rotate(45deg);
        -ms-transform: translateY(12px) rotate(45deg);
        -webkit-transform: translateY(12px) rotate(45deg);
    }
    .gmenu.open {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        -ms-transform: translateZ(0);
    }
    .gmenu {
        display: block;
        width: 250px;
        height: 100%;
        padding: 5px 20px;
        background-color: #00785d;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 200;
        transform: translate(250px);
        -ms-transform: translate(250px);
        -webkit-transform: translate(250px);
        transition: all .5s;
    }
    .gmenu_inner {
        width: auto;
        height: auto;
    }
    .gmenu_inner ul {
        display: block;
    }
    .gmenu_inner li {
        padding: 10px 0;
        border-left: none;
        border-top: none;
        border-bottom: solid #80bcae 1px;
        height: 56px;
    }
    .gmenu_inner li:nth-child(6) {
        border-right: none;
        border-bottom: none;
    }
    .gmenu a {
        font-size: 19px;
        justify-content: flex-start;
        padding-left: 50px;
    }
    .gmenu .spmenu_btngroup {
        display: block;
        border: none;
        height: auto;
        margin-top: 10px;
    }
    .gmenu .spmenu_btngroup ul li {
        background-color: #fff;
        border-radius: 10px;
        height: 40px;
        margin-bottom: 10px;
        flex: 1 1 auto;
        display: flex;
    }
    .gmenu .spmenu_btngroup ul li:nth-last-child(2) a {
        background-image: url(../img/icon/button_icon/ic-logout.png);
        background-repeat: no-repeat;
        background-position: 22px;
        background-size: 20px auto;
    }
    .gmenu .spmenu_btngroup ul li:nth-last-child(1) {
        background-color: transparent;
        margin-top: 25px;
        height: auto;
        font-size: 15px;
        font-weight: 700;
        color: #fff;
        justify-content: center;
        height: 1.2em;
        cursor: pointer;
    }
    .gmenu .spmenu_btngroup ul li:nth-last-child(1) span {
        border-bottom: solid 1px;
    }
    .gmenu .spmenu_btngroup ul li:nth-last-child(1) span:hover {
        border-bottom: none;
    }
    .gmenu .spmenu_btngroup a {
        color: #555;
        font-weight: 500;
        justify-content: center;
        padding: 0px 10px;
    }
}

@media screen and (max-width: 520px) {
    /*------------------
     Header
    ------------------*/
    #header .util01Area .loginUserName,
    #header .util01Area .loginUserSchool {
        font-size: 14px;
    }
    
    #header .util01Area {
        max-width:245px;
    }
    
    .defineDate p {
        font-size: 16px;
        background-size: 20px auto;
        padding: 6px 0 6px 30px;
    }
    #header .userArea a {
        padding: 10px 10px 8px 35px;
        background-position: left 9px bottom 11px !important;
        background-size: 17px;
    }

    /*------------------
     Main
    ------------------*/
    .defineDate {
        padding: 6px 0 5px;
    }

    /*------------------
     pager
    ------------------*/
    #pager li {
        margin-bottom: 5px;
    }
}

/*------------*
 * マウスオーバー時の吹き出し要素
 *------------*/
.hosoku{
    position: relative;
}
.hosoku_img {
    position: absolute;
    display: none;
    min-width: 150px;
    top: 30px;
    left: 0px;
    padding: 10px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    background: #2f4f4f;
    color: #fff;
    z-index: 1;
    text-align: left;
}
.hosoku_img:before {
    content: "";
    position: absolute;
    top: -25px;
    left: 30px;
    margin-left: -15px;
    border: 14px solid transparent;
    border-bottom: 14px solid #2f4f4f;
    z-index: 1;
}
/*虫眼鏡を押したときの動き*/
.hosoku_check:checked ~ .hosoku_img{
    display:block;
}
.hosoku_text{
    width:50px;
    display: block;
    text-align: center;
}
.hosoku_text::before{
    display: none !important;
}
.hosoku_text::after{
    margin-left: 5px;
    content: "";
    position: absolute;
    left:45px;
    width:20px;
    height:20px;
    background-image: url("../img/icon/ic-glass-plus.png");
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position:center center;
}

/*虫眼鏡を押したときの動き*/
.hosoku_check:checked ~ .hosoku_text::after{
    background-image: url("../img/icon/ic-glass-minus.png");
}



/*------------*
 * 2023.4 法改正対応修正
 * 打刻確認画面
 * 労働時間管理画面
 * 管理メニュー
 * 勤務確定状況一覧画面
*------------*/
.info-supp {
    display: flex;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.infowrap {
    padding: 20px;
    background-color: #eaf8f5;
}

.infowraparea {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.infowraparea > div {
    width: calc((100% - 60px) / 3);
    position: relative;
}

.infowraparea > div:nth-child(n + 2)::before {
    content:"";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #bbb;
    position: absolute;
    top: 0;
    left: -15px;
}

.infowraparea > div > h4 {
    font-size: 16px;
    color: #00785d;
}

.infowraparea > div > h4 + p {
    margin-top: 10px;
}

/*確定操作*/
.infoConf div.confbtn {
    margin-top: 15px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 3px;
    position: relative;
}

.infoConf > div.infoConfElm {
	display: flex;
    flex-flow: column;
    justify-content: center;
    gap: 0 20px;
	align-items: center;
}

.confProgress + div.confbtn + div.confbtn {
    margin-left: 10px;
}

.infoConf div.confbtn:hover {
    opacity: 0.9;
}

.infoConf div.decision {
    background: #FF8C00;
    border-bottom: 4px solid #d2691e;
}
.infoConf div.decision input {
    font-size: 20px;
}

.infoConf div.confcancel {
    background: #978063;
    border-bottom: 4px solid #584a39;
}
.infoConf div.confcancel input {
    font-size: 16px;
}

.infoConf div.confbtn input {
    background: transparent;
    font-weight: bold;
    padding-left: 44px;
}

.infoConf div.confbtn input:hover {
    color: #fff;
}

.infoConf div.confbtn::before {
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 1.8em;
    height: 1.8em;
}

.infoConf div.confbtn[name="申請確定"]::before {
    background-image: url(../img/icon/appconf.svg);
    background-position: center;
}

.infoConf div.confbtn[name="精算確定"]::before {
    background-image: url(../img/icon/checkmark.svg);
    background-position: center;
}

.infoConf div.confbtn[name="申請確定取り消し"]::before, .infoConf div.confbtn[name="精算確定取り消し"]::before {
    background-image: url(../img/icon/confcancel.svg);
    background-position: center top;
}

.infoConf div[name="精算確定取り消し"]:last-of-type {
    margin-top: 15px;
}

.infoConf div.decision:active {
    margin-top: 17px;
    border-bottom: 2px solid #d2691e;
}

.infoConf div.confcancel:active {
    margin-top: 17px;
    border-bottom: 2px solid #584a39;
}

.infoConf div.confbtn.unresbtn {
    background-color: #bbb;
}

.infoConf div.confbtn.unresbtn:hover {
    opacity: 1;
}

.infoConf div.confbtn.unresbtn::before {
    content: none;
}

.infoConf div.confbtn.unresbtn input.button01 {
    cursor: default;
    font-size: 16px;
    padding: 12px;
}

.confPeriod {
    /*font-size: 16px;
    font-weight: bold;
    color: red;*/
    margin-top: 15px;
    letter-spacing: normal;
    white-space: nowrap;
    text-align:left;
}

.confProgress {
    margin-top: 10px;
    line-height: 2em;
    list-style-type: none;
    display:table;
    width:100%;
    padding:0;
    overflow:hidden;
}

.confProgress span {
    vertical-align: middle;
    display:table-cell;
    position:relative;
    background: #aaaaaa;
    padding: 5px 0px 5px 15px;
    color: #fff;
    white-space: nowrap
}
.confProgress span:first-child{
    padding-right: 0em;
    padding-left: 0.5em;
  }
.confProgress span:last-child{
  padding-right: 1em;
  padding-left: 1.5em;
}
.confProgress span:last-child:before,
.confProgress span:last-child:after{
  display:none;
}
.confProgress span:before,
.confProgress span:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
}
.confProgress span:before{
  top:-10px;
  right:-1em;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 30px 0 30px 1em;
  z-index: 10;
}
.confProgress span:after{
  top:-10px;
  right:-.8em;
  border-style: solid;
  border-color: transparent transparent transparent #aaaaaa;
  border-width: 30px 0 30px 1em;
  z-index: 10;
}
.confProgress .reach:after{
  border-color: transparent transparent transparent #00785d;
}
.confProgress .reach {
  background: #00785d;
  font-weight: bold;
}
.confProgress .unreach {
  border-color: transparent transparent transparent #aaaaaa;
}

.infoConf div:last-of-type a {
    display: inline-block;
    margin-top: 10px;
    color: #000;
}
.confMessage{
    text-align:left;
    margin-top:5px;
}
/*勤怠グラフ*/
#flex_glaph {
    margin-top: 15px;
}

.glaphHanreiwrap {
    margin-top: 10px;
    line-height: 1.4em;
}

.glaphHanreiwrap > span {
    display: inline-block;
}

.glaphHanreiwrap > span:not(:last-of-type) {
    margin-right: 10px;
}

.glaphHanreiwrap .c_kotei::before {
    content: "";
    display: inline-block;
    height: .9em;
    width: .9em;
    margin-right: 5px;
    background-color: #ccc;
    vertical-align: middle;
    border: 1px #333 solid;
    box-sizing: border-box;
}

.glaphHanreiwrap .c_work::before {
    content: "";
    display: inline-block;
    height: .9em;
    width: .9em;
    margin-right: 5px;
    background-color: #ffd700;
    vertical-align: middle;
    border: 1px #333 solid;
    box-sizing: border-box;
}
.glaphHanreiwrap .c_break::before {
    content: "";
    display: inline-block;
    height: .9em;
    width: .9em;
    margin-right: 5px;
    background-color: #ffc0cb;
    vertical-align: middle;
    border: 1px #333 solid;
    box-sizing: border-box;
}


/*休暇表示*/
.infoVacation {
    max-width: 400px;
}

@media screen and (max-width: 800px) {
    .infoVacation {
        max-width: none;
    }
}

.infoVacarea {
    width: 100% !important;
    margin-right: 0 !important;
}

/*補足説明*/
.supplementarea {
    margin-top: 15px;
    /*width: 80%;*/
    margin-left: 20px;
    /*margin-right: auto;*/
}
.supplementarea ul li {
    display: inline-block;
    line-height: 1.2em;
}

.supplementarea ul li .text_with_img {
    vertical-align: -webkit-baseline-middle !important;
}

/*勤務確定機能なし表示*/
.info-supp .infowrap {
    background-color: #fff;
    width: 100%;
    max-width: 400px;
    padding-left: 0;
    padding-right: 0;
    order: 1;
}

@media screen and (max-width: 800px) {
    .info-supp .infowrap {
        max-width: none;
    }
}


.info-supp .infowrap .infowraparea {
    width: 100%;
}

.info-supp .infowrap .infowraparea .infoVacation {
    width: 100%;
}

.info-supp .supplementarea {
    width: 65%;
    flex-grow: 1;
    margin-right: 20px;
    margin-top: 20px;
    order: 0;
}

/*月表示*/
.monthDisplayarea {
    position: relative;
}

.monthDisplaywrap {
    display: flex;
    align-items: center;
    position: absolute;
    top: 10px;
    left: 0;
}

.monthDisplayarea .monthDisplaywrap div ul {
    display: flex;
}

.monthDisplayarea .monthDisplaywrap div ul a {
    color: #000;
}

/*表*/
.tablewrap {
    max-width: 100%;
}

/*レスポンシブ対応*/
@media screen and (max-width: 1400px) {
    .infowraparea {
        width: 95%;
    }
    
    .supplementarea {
        width: 95%;
    }

    .info-supp {
        width: 95%;
    }
    
}

@media screen and (max-width: 800px) {
    .infowraparea {
        flex-flow: column;
    }

    .infowraparea > div {
        width: auto;
    }

    .infowraparea > div:nth-child(n + 2)::before {
        width: 100%;
        height: 1px;
        top: -15px;
        left: auto;
    }

    .monthDisplaywrap {
        position: static;
        flex-flow: column;
        gap: 15px;
    }

    .info-supp {
        flex-flow: column;
    }

    .info-supp .infowrap {
        width: auto;
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .info-supp .supplementarea {
        width: auto;
        margin-left: 20px;
        margin-right: 20px;
    }
}



/*------------*
 * 2023.4
 * 勤務確定状況一覧画面　確定状況色分け
*------------*/
.soc-mikakutei {
    background-color: #d9d9d9;
    padding: 6px 1.5em;
    border-radius: 1em;
    display: inline-block;
}

.soc-shinseikakutei {
    background-color: #bdd7ee;
    padding: 6px 1.5em;
    border-radius: 1em;
    display: inline-block;
}

.soc-seisankakutei {
    background-color: #f8cbad;
    padding: 6px 1.5em;
    border-radius: 1em;
    display: inline-block;
}