@charset "utf-8";

/* RESET
---------------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}

ul,ol {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after,q:before, q:after {content:''; content:none;}

a {margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; outline:none;}

del {text-decoration:line-through;}

abbr[title], dfn[title] {border-bottom:1px dotted; cursor:help;}

table {border-collapse:collapse; border-spacing:0;}

input, select {vertical-align:middle;}

img {vertical-align:bottom; border:none; font-size:0; line-height:0;}

em {font-style:normal;}

body {-webkit-text-size-adjust:none; font-family: Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ƒqƒ‰ƒMƒmŠpƒS ProN W3', 'ƒ‚ƒŠƒTƒ VƒS R', 'Droid Sans', ƒƒCƒŠƒI, 'sans-serif'; font-size:14px;}

address {font-style:normal;}


/*
 *	COMMON CLASS
 *
 *------------------------------------*/

.layout-fixed {table-layout: fixed;}

.w50 {width: 50px;}
.w80 {width: 80px;}
.w100 {width: 100px;}
.w150 {width: 150px;}
.w200 {width: 200px;}
.w250 {width: 250px;}
.w300 {width: 400px;}
.w400 {width: 400px;}
.w600 {width: 600px;}
.w100p {width: 100%;}

.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}

.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}

.taL, .tal {
	text-align: left !important;
}
.taC, .tac {
	text-align: center !important;
}
.taR, .tar {
	text-align: right !important;
}
.fL {
	float: left;
}
.fR {
	float: right;
}
.cB {
	clear: both;
}
.fwB, .fwb {
	font-weight: bold;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}


/*
 *	LAYOUT
 *
 *------------------------------------*/

body {color:#000;}

header .primary-wrap {border-bottom: 1px solid #000; background: linear-gradient(#FFF, #DDD);}
header .primary-wrap::after {content:""; display: block; clear: both;}
header h1 {float: left; width: 250px; height: 30px; padding: 10px; text-align: center; line-height: 30px; font-size:24px;}
header .primary-nav {float: left;}
header .primary-nav ul {border-left: 1px solid #DDD; border-right: 1px solid #FFF;}
header .primary-nav li {float: left; border-left: 1px solid #FFF; border-right: 1px solid #DDD;}
header .primary-nav li a {display: block; height:30px; padding: 10px 30px; line-height: 30px; text-decoration: none;}
header .primary-nav li a:hover {background: linear-gradient(#DDD, #FFF);}
header .primary-nav li a.active {background: linear-gradient(#FFF, #EEE);}

header .secondary-nav {clear:both; background: #EEE; border-bottom: 1px solid #CCC;}
header .secondary-nav::after {content:""; display: block; clear: both;}
header .secondary-nav ul {float: left; border-left: 1px solid #DDD; border-right: 1px solid #FFF;}
header .secondary-nav li {float: left; border-left: 1px solid #FFF; border-right: 1px solid #DDD;}
header .secondary-nav li a {display: block; height:20px; padding: 10px 30px; line-height: 20px; text-decoration: none;}

footer {margin-top:30px; height: 30px;}
.container {min-height:500px; padding: 20px 30px;}
.container p {margin-bottom: 10px;}
.container p:last-child {margin-bottom: 0;}

.cols {margin-left: -25px; margin-right: -25px;}
.cols::after {content: ""; display: block; clear: both;}
.col-4 {box-sizing: border-box; float: left; width: 33.3%; padding: 0 15px;}

/*
 *	TITLE
 *
 *------------------------------------*/

.page-title {
    position: relative;
	margin: 0 -20px 20px;
	padding: 10px;
	font-size: 18px;
	border-bottom: 3px solid #114;        
}

.page-title .btn-small {
    position: absolute;
    right:10px;
    top:5px;
}

.section-title {
	margin: 50px -10px 20px;
	padding: 10px;
	font-size: 18px;
	background: #DDD;
	border-bottom: 1px solid #114;
}

.section-title:first-child,
.page-title + .section-title {
    margin-top: 20px;
}

/*
 *	BUTTON
 *
 *------------------------------------*/

a {
    color: #114;
}

.btn {
	display: inline-block;
	text-decoration: none;
	color: #444;
	background: #EEE;
	border: none;
}
.btn:hover {
	/* opacity: 0.8; */
}
.btn-tiny {
	margin-right: 5px;
	padding: 1px 5px;
	border-radius:3px;
        font-size:14px;
        font-weight: normal;
}
.btn-small {
	padding: 3px 15px;
	border-radius:5px;
        font-size:14px;
        font-weight: normal;
}
.btn-medium {
	padding: 10px 0;
	min-width: 200px;
	text-align: center;
	border-radius:5px;
    font-size:16px;
    font-weight: normal;
}

.btn.btn-primary {
	color: #FFF;
	background: #F60;
        border-bottom: 2px solid #F40;
}
.btn.btn-proceed {
	color: #FFF;
	background: #6A0;
    border-bottom: 2px solid #490;
}
.btn.btn-plain {
	color: #000;
	background: #CCC;
	border-bottom: 2px solid #AAA;
}
.btn.btn-primary:hover {
    border-bottom: 2px solid #F60;
}
.btn.btn-proceed:hover {
    border-bottom: 2px solid #6A0;
}
.btn.btn-plain:hover {
    border-bottom: 2px solid #CCC;
}

/*
 *	SYSTEM MESSAGE
 *
 *------------------------------------*/

.sys-message-wrap {
	margin-bottom: 20px;
	padding: 10px 15px;
	border: 1px solid #888;
	background: #EEE;
	color: #000;
}
.sys-message-wrap.sys-message-error {
	border: 1px solid #F00;
	background: #FEE;
	color: #F00;
}
.sys-message-wrap.sys-message-success {
	border: 1px solid #0A0;
	background: #EFE;
	color: #0A0;
}
.sys-message-wrap p {
	margin-bottom: 10px;
}
.sys-message-wrap p:last-child {
	margin-bottom: 0;
}

p.sys-error-inline {
	margin-bottom: 5px;	
	color: #F00;
}

/*
 *	control
 *
 *------------------------------------*/

input[type=text],input[type=number],input[type=email],input[type=password] {height: 30px; padding: 5px; border-radius: 5px; box-sizing:border-box;}
input[type=text]:disabled {background: #EEE; color: #666;}
select {height: 30px; padding: 5px; border-radius: 5px; box-sizing:border-box;}
textarea {padding: 5px; border-radius: 5px; box-sizing:border-box;}
label {display: inline-block; padding: 2px 5px;}

/*
.control-select {}
.control-select select {width: 100%;}
.control-radio {}
.control-modal {}
.control-modal input {width: 80%; margin-right: 3%;}
.control-modal button {width: 15%;}
.control-inline {}
.control-inline input {width: 100%;}
.control-datepicker {}
.control-datepicker input {width: 100%;}
.control-list {}
.control-list input {width: 80%; margin-right: 3%;}
.control-list button {width: 15%;}
.control-textarea {}
.control-plain {}
.control-plain input:only-child {width: 100%;}
*/

.sys-input-text {width: 100%; height: 100px;}

.select2-container {width: 100% !important;}

.control-inline {position: relative;}
.control-inline .select-list {display: none; position: absolute; top: 100%; left: 0; z-index: 999; width: 90%; border: 1px solid #DDD; background: #EEE;}
.control-inline .select-list li {margin: 5px; padding: 5px 10px; background: #F8F8F8; border-radius: 5px;}
.control-inline .select-list li:first-child {border-top: none;}
.control-inline .select-list li.active {background: #AEA;}

.control-list .control-list-input {margin-bottom: 5px;}
.control-list .control-list-add .control-list-input {display: none;}

i.required {margin-left:0.5em; color:#F00;}
i.required::before {content: "*";}

/*
 *	MODAL
 *
 *------------------------------------*/

#modal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
}
.modal-inner {
	position: absolute;
	margin: auto;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 80%;
	height: 80%;
	background: #FFF;
}
.modal-box {
	padding: 20px;
}
.modal-title {
	margin-bottom: 20px;
	padding: 10px;
	background: #EEE;
	position: relative;
}
.modal-title .close {
	position: absolute;
	right: 20px;
	top: 10px;
	text-decoration: underline;
	font-weight: normal;
}
.modal-body {
	
}

.modal-loader {
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 20px;
    height: 20px;
    border: 5px solid #114;
    border-top: 5px solid #DDD;
    border-radius: 15px;
    animation: spin 0.5s linear infinite;
    -webkit-animation: spin 0.5s linear infinite;
    -moz-animation: spin 0.5s linear infinite;
    -ms-animation: spin 0.5s linear infinite;
}
@keyframes spin {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}
@-webkit-keyframes spin {
    0% {-webkit-transform: rotate(0deg);}
    100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
    0% {-moz-transform: rotate(0deg);}
    100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
    0% {-ms-transform: rotate(0deg);}
    100% {-ms-transform: rotate(360deg);}
}

/*
 *	TABLE
 *
 *------------------------------------*/

th, td {vertical-align: middle;}

.table-report {margin-bottom: 20px;}
.table-report td,
.table-report th {padding: 5px 10px; border: 1px solid #888;}
.table-report thead th {text-align: center; vertical-align: middle; background: #444; color: #FFF;}
.table-report tbody th {text-align: left; background: #DDD;}
.table-report tbody td {text-align: right;}
.table-report tbody tr:nth-child(even) {background: #EEE;}
.table-report tbody tr:nth-child(even) th {background: #CCC;}

.table-list {margin-bottom: 20px;}
.table-list thead th,
.table-list thead td {background: #EEE; color:#000; font-weight:normal;}
.table-list td {padding: 10px; border-bottom: 1px solid #888;}
.table-list th {padding: 10px;}
.table-list tr.alert td {background: #FCC;}
.table-list-compact th,
.table-list-compact td {padding: 10px 5px;}

.table-single {margin-bottom: 20px;}
.table-single th {padding: 10px; text-align: left; vertical-align: top; border-right: 1px solid #888;}
.table-single td {padding: 10px;}

.table-sammary {margin-bottom: 20px; border-bottom: 1px solid #CCC;}
.table-sammary th {padding: 10px ;background: #EEE;}
.table-sammary td {padding: 10px; background: #F8F8F8;}

.table-view {}
.table-view th,
.table-view td {padding:5px; border: 1px solid #CCC;}
.table-view thead th {background: #DDD;}
.table-view tbody th {text-align: left; background: #EEE; position: -webkit-sticky; position: sticky;}
.table-view tbody td {text-align: right;}
.table-view tbody td.foot {background: #EEE;}
.table-view tfoot td {text-align: right; background: #DDD;}

table.table-compact th,
table.table-compact td {padding: 5px;}

.sortable {position: relative; display: inline-block; padding-right: 20px;}
.sortable a {display: block; position: absolute; right: 0; width: 0; height: 0; border: 7px solid transparent;}
.sortable a.asc {bottom: 60%; border-bottom: 7px solid #FFF;}
.sortable a.desc {top: 60%; border-top: 7px solid #FFF;}
.sortable a.asc:hover {border-bottom: 7px solid #FF0;}
.sortable a.desc:hover {border-top: 7px solid #FF0;}
.sortable a.asc.sorted {border-bottom: 7px solid #FF0;}
.sortable a.desc.sorted {border-top: 7px solid #FF0;}

pre {
	width: 100%;
	box-sizing:border-box;
	margin-top: 30px;
	padding: 20px;
	background: #000;
	color: #FFF;
	letter-spacing: 2px;
	overflow:scroll;
}

.notice-not-in-codelist {color: #F00; position: relative;}
.notice-not-in-codelist:hover:after {content:"NOTICE：コードがありません"; position: absolute; width: 200px; padding: 5px; background: #F00; left: 0; top: 20px; color: #FFF;}
.notice-autoload {color: #F00; position: relative;}
.notice-autoload:hover:after {content:"NOTICE：JOINされていないので自動で全件取得されました"; position: absolute; width: 200px; padding: 5px; background: #F00; left: 0; top: 20px; color: #FFF;}


/*
 *	PROJECT
 *
 *------------------------------------*/

.admin-panel {margin-bottom:20px; padding: 10px; background:#CDE; border:1px solid #369; color:#369;}
.admin-panel:last-child {margin-bottom: 0;}
.admin-panel p {margin-bottom: 0;}
.admin-panel a {color:#088;}
