/*---BASE---*/
body{font-size:.95rem; background-color: #fff; padding: 0;}
.feather{width:16px;height:16px;vertical-align:text-bottom}
.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:100;padding:48px 0 0;box-shadow:inset -1px 0 0 rgba(0,0,0,.1)}
.sidebar-sticky{position:relative;top:0;height:calc(100vh - 48px);padding-top:.5rem;overflow-x:hidden;overflow-y:auto}
.sidebar .nav-link{font-weight:500;color:#333}
.sidebar .nav-link .feather{margin-right:4px;color:#999}
.sidebar .nav-link.active{color:#007BFF}
.sidebar .nav-link:hover .feather, .sidebar .nav-link.active .feather{color:inherit}
.sidebar-heading{font-size:.75rem;text-transform:uppercase}
.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem;background-color:rgba(0,0,0,.25);box-shadow:inset -1px 0 0 rgba(0,0,0,.25)}
.navbar .navbar-toggler{top:.25rem;right:1rem}
.navbar .form-control{padding:.75rem 1rem;border-width:0;border-radius:0}
.form-control-dark{color:#fff;background-color:rgba(255,255,255,.1);border-color:rgba(255,255,255,.1)}
.form-control-dark:focus{border-color:transparent;box-shadow:0 0 0 3px rgba(255,255,255,.25)}

/*---GLOBAL---*/
.main-inner{min-height: 80vh;}
.sec{margin-bottom: 2rem;}
.sec-head{margin-bottom: 30px; padding: 20px 0 15px; border-bottom: 1px solid #dee2e6;}
.sec-title{font-weight: bold; font-size: 24px;}
#set_login_bar{z-index: 999;}

/*---HEADER---*/
.navbar-brand{font-weight: bold;}
.logo{width: 30px;}
.sidebar .nav-link{font-size: 18px;}
.navbar-nav{flex-direction:row;}

/*---INDEX---*/
.wrp-csvform{max-width: 480px;}
.hidden{display: none;}

/*---TABLE---*/
table.tb-small th,table.tb-small td{padding: 3px; font-size: 12px;}
table.tb-small thead {display: table-header-group;}
table.tb-small th{font-size: 9px;}
thead th {
  position: sticky;
  top: 0;
  background-color: #fff; /* 背景色を設定しておくことで、スクロール時にセルの内容がヘッダーを通り抜けるのを防ぐ */
  z-index: 1; /* テーブルボディの内容よりも前面に表示されるようにする */
}
.td-w_a{width: 90px;}
.td-w_b{width: 150px;}
.td-w_c{width: 250px;}
.td-flex{flex-wrap: wrap;}
.td-flex > span{margin-right: 15px;}
.td-flex > span:last-child{margin-right: 0;}
.td-block > span{display: block;}
.td-last{font-weight: bold;}
.td-w{ width: 65px; min-width: 65px;}
.td-w_2{ width: 85px; min-width: 85px;}
.td-type_1{ width: 105px; min-width: 105px;}
.style-kenren{background-color: #007BFF; color: #fff; font-weight: bold;}
tr.td-sum td{background-color: #ffe6aa; font-weight: bold;}
tr.td-last td{background-color: #ff4b21; color: #fff; font-weight: bold;}

.thead_fixed{position: fixed; top: 0;}
.navbar{z-index: 999;}

/*---SHOPLIST---*/
.td-w_1 { width: 400px; min-width: 400px; } 
.td-w_2 { width: 220px; min-width: 220px; } 
.td-w_3 { width: 152px; min-width: 152px; } 
.td-w_4 { width: 100px; min-width: 100px; } 

.sub-text { font-size: 18px; font-weight: bold; margin-bottom: 20px; } 
.edit-block { margin-top: 30px; font-size: 18px; } 
.edit-block .item-head { background-color: #f5f5f5; padding: 15px 30px; border: 2px solid #fff; border-width: 0 2px 2px;} 
.edit-block .item-help { width: 50px; margin-left: 20px; } 
.edit-block .item-main { border: 2px solid #f5f5f5; border-width: 0 2px 2px; } 
.edit-block .item-main > div { padding: 25px; } 
.edit-block .item-main .item-val { width: 100%; } 
.edit-block .item-label { border-right: 2px solid #f5f5f5; min-width: 255px; } 
.edit-block .item-longlabel { padding: 25px; font-weight: bold; } 
.edit-block .item-longlabel.v2 { padding:15px 30px; background-color: #fbfff1; } 
.pdf-btns { text-align: center } 
.edit-block .item-shop_address { padding: 10px; background-color: #f4f4f4; margin-top: 10px; } 
.edit-block .item-shop_address .item-title { margin-bottom: 5px; } 
.edit-block .item-shop_address .item-inner { border-top: 1px dashed #ccc; padding-top: 10px; } 
.edit-block.tab-style_1 .item-main{background-color: #ededee; border: none;}
.edit-block.tab-style_1 .nav-tabs{border: none;}

/*---LOGIN REMINDPASS---*/
.logo-login img { max-width: 380px; } 
.main-login { padding: 150px 0 0 !important;} 
.main-login > .container { max-width: 640px; } 
.login-title { text-align: center; margin-bottom: 30px; } 
.page-sub { margin: 0; } 
.page-head { margin-bottom: 30px; } 
.main-login .page-title { margin-bottom: 10px; } 
.form-label-group { position:relative; margin-bottom:1rem } 
.form-label-group label { margin: .5rem 0 0; } 
.login-sub_text { margin-top: 10px; } 
.wrp-input_pass { position: relative; } 
.js-see_pass { right: 15px; top: 9px; } 
.js-see_pass.click_on > i::before { content: "\f070"; }
.wrp-login_sub{border-radius: 10px; font-size: 14px; background-color: #fff; border: 1px solid #ddd; padding: 10px; margin-top: 30px;}

/*---MODAL---*/
#modal_base_inner { width: 100%; height: 100%; position: fixed; } 
.modal-body { max-height: 75vh; overflow: auto; } 
.modal-size_sm { max-width: 640px; } 
.modal-size_md { max-width: 865px; } 
.modal-size_lg { max-width: 1100px; } 
.modal-size_xl { max-width: 1280px; } 
.modal-size_lg .img_duble img { width: 50%; } 
.modal-title { font-size: 24px; font-weight: bold; margin-bottom: 30px; } 
.modal-header .modal-title { margin-bottom: 0; } 
.modal-outer { position: relative; pointer-events:auto; } 
.modal-progress { height: 100%; } 
.modal-progress .modal-content { padding: 25px; } 
.modal-one_title { text-align: center; font-weight: bold; margin: 0; font-size: 28px; margin-bottom: 20px; } 
.modal-out_btn { position: absolute; z-index: 9; right: -15px; top: -15px; } 
.btn-moclose { border-radius: 5px; font-size: 30px; padding: 0 8px 6px; line-height: 1; text-align: center; } 
.modal-size_md .modal-body { padding:20px; } 
.modal-out_footer { text-align: center; margin-top: 20px; } 
.modal-mcn_sc .modal-body { padding:40px 40px 20px; } 
.modal-out_footer .btn { font-size: 22px; padding:5px 0; border-radius: 50px; max-width: 240px; } 
.modal-out_footer.v-search .btn { width: 100%; } 

@supports ((position: -webkit-sticky) or (position: sticky)) {
    .sidebar-sticky {
      position: -webkit-sticky;
      position: sticky;
    }
}

@media (max-width: 767.98px) {
    .sidebar {top: 2rem;} 
}
