body {
	/* font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif !important;
    font-weight: 500 !important; */
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    /* font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif !important;
    font-weight: 500 !important; */
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}

.login_footer {
    margin-top: 1rem;
    text-align: center;
    color: #fff;
}

.error-message {
	color: red;
	font-weight: bold;
}

[role="button"] {
	cursor: pointer;
}

.navbar-brand {
	padding-left: 50px !important;
}

.actions {
    padding: 10px 8px !important;
}

/* sticky table */
.sticky_table {
    display: block;
    overflow: hidden;
    width: 100%;
    /* fixed value */
    height: calc(100vh - 13rem);
    /* fixed value */
    margin: 0 auto;
}

.sticky_table table {
	table-layout: fixed;
    display: block;
    position: relative;
    overflow: scroll;
    width: 100%;
    height: 100%;
    border-collapse: collapse;
    font-size: 0;
}

.sticky_table table thead,
.sticky_table table tbody {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

@supports (-ms-ime-align:auto) {
    .sticky_table table thead,
    .sticky_table table tbody {
        display: block;
        width: 4000px;
    }
}

.sticky_table table th,
.sticky_table table td {
    display: inline-block;
    width: 110px;
    /* fixed value */
    font-size: 1.2rem;
}

.sticky_table table thead th {
	color: #fff;
	background-color: rgba(32,32,32,.9);
	border-color: rgba(128,128,128,.9);
}

.sticky_table .left-top-label {
	width: 250px;
}

.sticky_table .left-label,
.sticky_table table tbody th {
	width: 250px;
}
.sticky_table table tbody th {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 3;
}
.sticky_table table thead {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 4;
}
.sticky_table table thead th.blank {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 5;
}

/* design */
.sticky_table th,
.sticky_table td {
    height: 30px;
    font-weight: normal;
}

.row-white {
    background-color: #fff;
}

.row-green {
    background-color: #E0F8E0;
}

.row-light-green {
    background-color: #EFFBEF;
}

.row-thin-green {
    background-color: #fff;
}

.row-pink {
    background-color: #F8E0EC;
}

.row-light-pink {
    background-color: #FBEFF5;
}

.row-thin-pink {
    background-color: #fff;
}

.input-w {
    cursor: cell;
    background-color: #fff;
}

.input-w:hover {
    border: 1px solid black;
}

.input-y {
    cursor: cell;
    background-color: #F3F781;
}

.input-y:hover {
    border: 1px solid black;
}

.status-y {
    background-color: #F3F781 !important;
}

.status-ab {
    background-color: #eaf8fd !important;
}

.input-unsaved {
    border: 2px solid red !important;
}

#monthly-payments thead th {
    font-weight: normal;
    color: #fff;
	background-color: rgba(32,32,32,.9);
	border-color: rgba(128,128,128,.9);
}

#monthly-payments tbody th {
    font-weight: normal;
}

.row-accordion:hover {
    cursor: pointer;
}

.row-accordion:before {
    padding-right: 0.25em;
    color: blue;
    font-family: "Material Design Icons";
    content: "\F703";
}

.row-accordion-open:before {
    padding-right: 0.25em;
    color: red;
    font-family: "Material Design Icons";
    content: "\F6f1";
}

/* modal start */
#modal-main {
    display: none;
    width: 500px;
    height: auto;
    margin: 0;
    padding: .875rem;
    background-color: #ffffff;
    color: #666666;
    position:fixed;
    z-index: 2001;
    font-size: .875rem;
}

#modal-bg {
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2000;
}
/* modal end */

/* jquery sortable start */
#sortable {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

#sortable li {
    margin-bottom: 5px;
    padding: .375rem .75rem;
    font-size: 1em;
    height: 2em;
    cursor: move;
    border-radius: .25rem;
}

html>body #sortable li {
    height: 2em;
    line-height: 1.2em;
}

.ui-state-highlight {
    height: 2em;
    line-height: 1.2em;
}
/* jquery sortable end */

.table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td {
    padding: 5px;
}

th.header {
    background-image: url('../tablesorter/img/bg.gif');
    background-repeat: no-repeat;
    background-position: center right;
}
th.headerSortUp {
    background-image: url('../tablesorter/img/asc.gif');
}
th.headerSortDown {
    background-image: url('../tablesorter/img/desc.gif');
}
th.header:hover {
    cursor: pointer;
}

/* alert (by ample-admin 4) */
.alert-primary {
    color: #3a406d;
    background-color: #e2e5f6;
    border-color: #d7daf2; }
    .alert-primary hr {
      border-top-color: #c4c8ec; }
    .alert-primary .alert-link {
      color: #282c4c; }

  .alert-secondary {
    color: #474f58;
    background-color: #e7eaee;
    border-color: #dee2e7; }
    .alert-secondary hr {
      border-top-color: #cfd5dc; }
    .alert-secondary .alert-link {
      color: #30363c; }

  .alert-success {
    color: #176c42;
    background-color: #d5f6e5;
    border-color: #c4f2db; }
    .alert-success hr {
      border-top-color: #afedce; }
    .alert-success .alert-link {
      color: #0e4228; }

  .alert-info {
    color: #175976;
    background-color: #d5eef9;
    border-color: #c4e7f7; }
    .alert-info hr {
      border-top-color: #aedef4; }
    .alert-info .alert-link {
      color: #0f394b; }

  .alert-warning {
    color: #856539;
    background-color: #fff3e2;
    border-color: #ffeed6; }
    .alert-warning hr {
      border-top-color: #ffe3bd; }
    .alert-warning .alert-link {
      color: #614a2a; }

  .alert-danger {
    color: #852a2a;
    background-color: #ffdcdc;
    border-color: #ffcece; }
    .alert-danger hr {
      border-top-color: #ffb5b5; }
    .alert-danger .alert-link {
      color: #5e1e1e; }

  .alert-light {
    color: #808283;
    background-color: #fdfefe;
    border-color: #fdfefe; }
    .alert-light hr {
      border-top-color: #ecf6f6; }
    .alert-light .alert-link {
      color: #676869; }

  .alert-dark {
    color: #191919;
    background-color: #d6d6d6;
    border-color: #c5c5c5; }
    .alert-dark hr {
      border-top-color: #b8b8b8; }
    .alert-dark .alert-link {
      color: black; }

  .alert-cyan {
    color: #296580;
    background-color: #dcf3fd;
    border-color: #ceeefd; }
    .alert-cyan hr {
      border-top-color: #b6e6fc; }
    .alert-cyan .alert-link {
      color: #1d4759; }

  .alert-orange {
    color: #856539;
    background-color: #fff3e2;
    border-color: #ffeed6; }
    .alert-orange hr {
      border-top-color: #ffe3bd; }
    .alert-orange .alert-link {
      color: #614a2a; }

  .alert-purple {
    color: #3a406d;
    background-color: #e2e5f6;
    border-color: #d7daf2; }
    .alert-purple hr {
      border-top-color: #c4c8ec; }
    .alert-purple .alert-link {
      color: #282c4c; }

  .alert-inverse {
    color: #282d36;
    background-color: #dbdde1;
    border-color: #cdd0d4; }
    .alert-inverse hr {
      border-top-color: #bfc3c8; }
    .alert-inverse .alert-link {
      color: #121519; }

.jump {
    animation: jump 10s linear 5s infinite;
}

@keyframes jump {
    0% { transform: scale(1.0, 1.0) translate(0%, 0%); }
    2% { transform: scale(1.1, 0.9) translate(0%, 5%); }
    5% { transform: scale(1.2, 0.8) translate(0%, 15%); }
    6% { transform: scale(1.0, 1.0) translate(0%, 0%); }
    8% { transform: scale(0.9, 1.2) translate(0%, -15%); }
    9% { transform: scale(0.9, 1.2) translate(0%, -3%); }
    11% { transform: scale(1.2, 0.8) translate(0%, 15%); }
    13% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

.shake {
    animation: shake 4s linear 2s infinite;
}

@keyframes shake {
    0% { transform: translateX(0); }
    2% { transform: translateX(-3%); }
    4% { transform: translateX(3%); }
    6% { transform: translateX(-3%); }
    8% { transform: translateX(3%); }
    10% { transform: translateX(0); }
}

#swal2-content {
    font-weight: bold;
}

/* 可読性アップのため、色味修正 */
.text-success {
    color: #05944c !important;
}
.btn-warning {
    color: #212529;
}
.btn-warning:hover {
    color: #212529 !important;
}
.btn-warning:focus {
    color: #212529 !important;
}

/* for iOS 13.4.1 fixed */
.navbar-default.sidebar {
    overflow: auto !important;
}

/* Input Number スピンボタン無効化 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    -moz-appearance: textfield;
}

.glowblink {
    animation: glowBlink 1s linear 0s infinite;
}

@keyframes glowBlink {
    0% { box-shadow: 0 0 10px rgba(0, 0, 0, 0); }
    50% { box-shadow: 0 0 10px #ff7676; }
    100% { box-shadow: 0 0 10px rgba(0, 0, 0, 0); }
}

.ellipsis {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pointer {
	cursor: pointer;
}

/* 絞り込み検索用スタイル */
.search-form .form-control.select-brand-products {
	height: auto;
	max-height: 200px;
	overflow-y: auto;
}
.search-form .close-icon {
	position: relative;
}
.search-form .close-icon i {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
}