body{
	font-size: 16px !important;
	font-family: 
        "Hiragino Kaku Gothic ProN", /* macOS */
        "Hiragino Sans",             /* macOS 新しめ */
        "Yu Gothic UI", "Yu Gothic", /* Windows 8以降 */
        "Meiryo",                    /* Windows */
        sans-serif !important;                  /* 最後の保険 */
}

main{
	height: 100vh !important;
	overflow-x: scroll;
}
aside{
	min-height: 100vh;
	height: fit-content;
	background-color: #EC6C00 !important;
	position: relative;
    transform: translateX(0);
}

aside.close {
    overflow: hidden;
}

aside div.aside-content{
	background-color: #EC6C00 !important;
	width: 6.25vw;
	padding: 5px !important;
}
aside div.aside-show-toggle{
	position: absolute;
    top: 90%;
    right: 0px;
    background: #eee;
    height: 40px;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}
aside ul{
	align-items: center;
}
aside li{
	text-align: center;
	width: 100%;
	height: 5.21vw;
	position: relative;
	border-bottom: solid 2px #BF4706;
}
aside li i{
	color: #fff;
	font-size: 2.3vw !important;
}
aside li::after{
	content: "";
   	position: absolute;
   	left: 0;
  	bottom: -4px; /* 1本目との間隔 */
   	width: 100%;
   	border-bottom: 2px solid #F28C01; /* 2本目の線 */
}
aside a{
	color: #fff !important;
	text-align: center;
	font-size: 0.70vw !important;
}
aside a.link-body-emphasis{
	color: #fff !important;
}

#logo{
	position: relative;
	border-bottom: solid 2px #BF4706;
	justify-content: center;
}

#logo::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px; /* 1本目との間隔 */
  width: 100%;
  border-bottom: 2px solid #F28C01; /* 2本目の線 */
}



ul.dropdown-menu li, input, select{
	font-size: 14px !important;
}



/*ハンバーガーメニュー*/
#humburger-menu{
	width: 40px;
	height: 40px;
	display: none;
}
#humburger-menu span{
	width: 30px;
	height: 2px;
	margin: 8px;
	background-color: #666;
	border-radius: 2px;
}

/*ボタン*/
.btn{
	font-size: 13px !important;
	padding-right: 8px !important;
	padding-left: 8px !important;
}
.btn-success{
	background: #84C98B;
	border: #84C98B;
}
.btn-outline-success{
	border: solid 1px #40BA8D;
	color: #40BA8D;
}
.btn-warning{
	background: #FFAA39;
	border: #FFAA39;
}
.btn-outline-warning{
	border: solid 1px #FFAA39;
	color: #FFAA39;
}
.btn-danger{
	background: #fb6d12 !important;
	border: none;
}
.btn-outline-danger{
	border: solid 1px #fb6d12;
	color: #fb6d12;
}
.btn-default{
	background: #666;
    color:#fff;
}
.btn-sky{
	background: #65BBE9;
    color:#fff;
}
input[type='submit'] {
	height: auto;
	background: #666;
    color:#fff;
}

button[type='submit']{
	height: auto;
}




.container{
	max-width: 100vw;
}

div.input{
	width: 100% !important;
}

table th{
	padding: 5px 10px !important;
	background-color: #e6e2df !important;
}
table td{
	border: solid 1px #e6e2df;
	padding: 5px 10px !important;
}

#ui-datepicker-div table th, #ui-datepicker-div table td{
	padding: 5px !important;
}

/*chosen*/
.chosen-container-single .chosen-single{
	height: 35px !important;
	display: flex !important;
	align-items: center;
	background: #fff !important;
	border: solid 1px #ddd !important;
	box-shadow: none !important;
}


.nav-pills .nav-link.active, .nav-pills .show>.nav-link{
	background-color: #333;
}

/*ログイン画面*/
div.login-wrapper {
    position: absolute;
    width: 300px;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    padding: 30px;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 10px;
}

/*ページネーター*/
div.paginator ul li{
	margin-right: 10px;
}

div.paginator ul li a{
	color: #aaa;
}

div.paginator ul li.active a{
	color: #000 !important;
}





@media screen and (max-width: 1024px) {
	#logo{
		width: 10%;
		padding-bottom: 0 !important;
	}
	#logo, #logo::after, aside li, aside li::after{
		border-bottom: none !important;
	}
	#body-wrapper{
		flex-direction: column;
	}
	aside{
		min-height: 20px;
		display: flex;
		justify-content: space-between;
	}
	aside div.aside-content{
		width: 100%;
		padding: 10px !important;
		flex-direction: row !important;
		justify-content: space-between;
		padding-top: 3px !important;
		padding-bottom: 0 !important;
		align-items: center;
	}
	aside ul.flex-column{
		display: flex !important;
		flex-direction: row !important;
		margin-top: 5px !important;
		margin-bottom: 0 !important;
	}

	aside ul.flex-column li{
		width: auto;
		height: auto;
		margin-bottom: 0;
	}
	aside ul.flex-column li i{
		font-size: 25px !important;
	}
	aside ul.flex-column li span{
		font-size: 8px;
	}
	

	/*#humburger-menu, #humburger-menu span{
		display: block;
	}*/
	
	.aside-show-toggle{
		display: none !important;
	}
}



/*ローディング画面*/
#loading{
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
	z-index: 10;
	background-color: #fff;
	opacity: 0.8;
}

.loader {
  width: 60px;
  aspect-ratio: 2;
  --_g: no-repeat radial-gradient(circle closest-side,#EC6C00 90%,#0000);
  background: 
    var(--_g) 0%   50%,
    var(--_g) 50%  50%,
    var(--_g) 100% 50%;
  background-size: calc(100%/3) 50%;
  animation: l3 1s infinite linear;
}
@keyframes l3 {
    20%{background-position:0%   0%, 50%  50%,100%  50%}
    40%{background-position:0% 100%, 50%   0%,100%  50%}
    60%{background-position:0%  50%, 50% 100%,100%   0%}
    80%{background-position:0%  50%, 50%  50%,100% 100%}
}