﻿@import url(//fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic);
/*--------------------------------------------
Bootstrap Reset
----------------------------------------------*/
.progress-bar-primary {background-color: #337ab7; }
.progress-bar-success {background-color: #5cb85c; }
.progress-bar-info {background-color: #5bc0de; }
.progress-bar-warning {background-color: #f0ad4e; }
.progress-bar-danger {background-color: #d9534f; }
.progress-bar-moon3 {background-color: #002B69; }
.text-primary {color: #337ab7; }
.text-success {color: #5cb85c; }
.text-info {color: #5bc0de; }
.text-warning {color: #f0ad4e; }
.text-danger {color: #d9534f; }
.text-white {color: #fff; }
.text-moon3 {color: #002780; }
.text-file2u {color: #CA4830; }
/*--------------------------------------------
Color
----------------------------------------------*/
.bg-primary {background-color: #337ab7; }
.bg-success {background-color: #5cb85c; }
.bg-info {background-color: #5bc0de; }
.bg-warning {background-color: #f0ad4e; }
.bg-danger {background-color: #d9534f; }
.bg-gray {background-color: #eaeaea; }
.bg-white {background-color: #ffffff; }
.bg-moon3 {background-color: #002780; }
.bg-file2u {background-color: #CA4830; }
.bg-light-black {background-color: #3a404a; }

.border-black {border-color: #000000; }
.border-blue {border-color: #002780; }
.border-green {border-color: #22bbaa; }
.border-yellow {border-color: #eecc55; }
.border-purple {border-color: #62549a; }
.border-red {border-color: #ff6600; }
.border-gray {border-color: #eaeaea; }
.border-white {border-color: #ffffff; }
.border-moon3 {border-color: #002780; }
.border-file2u {border-color: #CA4830; }
.border-light-black {border-color: #3a404a; }
.primary {color: #337ab7; }
.success {color: #5cb85c; }
.info {color: #5bc0de; }
.warning {color: #f0ad4e; }
.danger {color: #d9534f; }
.blue {color: #002780; }
.green {color: #22bbaa; }
.yellow {color: #eecc55; }
.purple {color: #62549a; }
.red {color: #ff6600; }
.gray {color: #808080; }
.silver {color: #c0c0c0; }
.white {color: #ffffff; }
.moon3 {color: #002780; }
.file2u {color: #CA4830; }
.light-black {color: #3a404a; }
.fs6 {font-size: 6px;}
.fs7 {font-size: 7px;}
.fs8 {font-size: 8px;}
.fs9 {font-size: 9px;}
.fs10 {font-size: 10px;}
.fs11 {font-size: 11px;}
.fs12 {font-size: 12px;}
.fs14 {font-size: 14px;}
.fs16 {font-size: 16px;}
.fs18 {font-size: 18px;}
.fs20 {font-size: 20px;}
.fs24 {font-size: 24px;}
.fs36 {font-size: 36px;}
.fs48 {font-size: 48px;}
.fs60 {font-size: 60px;}
.fw-normal{font-weight: normal}
.fw-bold{font-weight: bold}
.fw-lighter{font-weight: lighter}
.w20p {width: 20%}
.w30p {width: 30%}
.w40p {width: 40%}
.w50p {width: 50%}
.w60p {width: 60%}
.w80p {width: 80%}
.w90p {width: 90%}
.w95p {width: 95%}
.w99p {width: 99%}
.w100p {width: 100%}
.w200px {width: 200px}

.m5 {margin: 5px;}
.m10 {margin: 10px;}
.m10t {margin: 10px 0 0 0;}
.m10r {margin: 0 10px 0 0;}
.m10b {margin: 0 0 10px 0;}
.m10l {margin: 0 0 0 10px;}
.m10tl {margin: 10px 0 0 10px;}
.m10tr {margin: 10px 10px 0 0;}
.m10tb {margin: 10px 0 10px 0;}
.m10trb {margin: 20px 20px 20px 0;}
.m20 {margin: 20px;}
.m20t {margin: 20px 0 0 0;}
.m20r {margin: 0 20px 0 0;}
.m20b {margin: 0 0 20px 0;}
.m20l {margin: 0 0 0 20px;}
.m20tb {margin: 20px 0 20px 0;}
.m20tr {margin: 20px 20px 0 0;}
.m20trb {margin: 20px 20px 20px 0;}
.m20lt10b {margin: 20px 0 10px 20px;}
.m30 {margin: 30px;}
.m30t {margin: 30px 0 0 0;}
.m30r {margin: 0 30px 0 0;}
.m30b {margin: 0 0 30px 0;}
.m30b_important {margin: 0 0 30px 0 !important;}
.m30l {margin: 0 0 0 30px;}
.m30tb {margin: 30px 0 30px 0;}
.m40 {margin: 40px;}
.m40t {margin: 40px 0 0 0;}
.m40r {margin: 0 40px 0 0;}
.m40b {margin: 0 0 40px 0;}
.m40l {margin: 0 0 0 40px;}
.m40tb {margin: 40px 0 40px 0;}
.p0{padding: 0 0 0 0;}
.p5{padding: 5px;}
.p10{padding: 10px;}
.p10t{padding: 10px 0 0 0;}
.p10r{padding: 0 10px 0 0;}
.p10b{padding: 0 0 10px 0;}
.p10l{padding: 0 0 0 10px;}
.p20{padding: 20px 20px 20px 20px;}
.p20t{padding: 20px 0 0 0;}
.p20r{padding: 0 20px 0 0;}
.p20b{padding: 0 0 20px 0;}
.p20l{padding: 0 0 0 20px;}
.p30t{padding: 30px 0 0 0;}
.p30r{padding: 0 30px 0 0;}
.p30b{padding: 0 0 30px 0;}
.p30l{padding: 0 0 0 30px;}
.m10t-o{margin-top: 10px;}
.m20t-o{margin-top: 20px;}
.m10r-o{margin-right: 10px;}
.m20r-0{margin-right: 20px;}
.m10b-o{margin-bottom: 10px;}
.m20b-o{margin-bottom: 20px;}
.m10l-o{margin-left: 10px;}
.m20l-o{margin-left: 20px;}
.p10t-o{padding-top: 10px;}
.p20t-o{padding-top: 20px;}
.p10r-o{padding-right: 10px;}
.p20r-o{padding-right: 20px;}
.p10b-o{padding-bottom: 10px;}
.p20b-o{padding-bottom: 20px;}
.p10l-o{padding-left: 10px;}
.p20l-o{padding-left: 20px;}

.b-thin{border-width:thin}

.inline{display: inline;}
.line-inline{display: inline;float: left;}
.line20{display: inline-block;width: 20%;}
.line30{display: inline-block;width: 30%;}
.line40{display: inline-block;width: 40%;}
.line50{display: inline-block;width: 50%;}
.line60{display: inline-block;width: 60%;}
.line70{display: inline-block;width: 70%;}
.line75{display: inline-block;width: 75%;}
.line80{display: inline-block;width: 80%;}
.line90{display: inline-block;width: 90%;}
.line100{display: inline-block;width: 100%;}
.pull-right {float: right!important;}
.underline-none{text-decoration:none!important;}
.underline{text-decoration:underline!important;text-decoration-color: #808080 !important;text-underline-offset:7px;}

.chkbox14 {transform:scale(1.4);}
.chkbox16 {transform:scale(1.6);}
.chkbox18 {transform:scale(1.8);}
.clear {clear:both}
.logo{
  margin: 10px 0 0  0;
}
.ui {
  position: relative;
  width: 100%;
  min-width: 320px;
  height: auto;
  min-height: 100%;
  padding-top: 100px;
  overflow: hidden; }
  .ui-header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 50px;
    z-index: 100;
    background-color: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
    .ui-header .navbar-brand {
      padding: 0px 15px;
      line-height: 25px; }
    .ui-header.text-white .btn {color: inherit; }

    .ui-header .search-content {
      float: left;
      margin-top: 8px;
      position: relative;
      width: 230px; }
      .ui-header .search-content .form-control {
        border: none;
      
        box-shadow: none;
        float: left;
        width: auto;
        padding-left: 0;
        font-size: 12px;
        margin-bottom: 0;
        background-color: transparent;
        color: inherit; }
      .ui-header .search-content .srch-btn {
        float: left;
        background: none; }
  .ui-content {
    width: 100%;
    height: 100%;
    margin-left: 0;
/*    background: url(../img/home/merit-bg.svg) center center/contain no-repeat;*/
    transition: margin-left .3s; }
    .ui-content::before, .ui-content::after {

      display: table;
      content: " "; }
    .ui-content::after {
      clear: both; }
    .ui-content-body {
      float: left;
      width: 100%;
      margin-bottom: 40px;
      padding: 20px; }
  .ui-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin-left: 0px;
    padding-left: 10px;
    background-color: #ffffff;
    height: 50px;
    line-height: 50px;
    text-align: center;
    transition: all .3s;
    font-size: 12px; }

.ui-container {margin-right: 0; }

.nav li a {
  overflow: hidden; }
  .nav li a:focus {
    color: inherit;
    background-color: inherit; }
  .nav li a:hover {
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.065); }
  .nav li a i {
    float: left;
    width: 20px;
    margin-top: 3px; }
.nav .active {
  background-color: rgba(0, 0, 0, 0.065); }
.nav-sub {
  display: none;
  background-color: inherit; }
  .nav-sub--open {
    display: block; }
  .nav-sub .active a {
    background-color: inherit; }
  .nav-sub-header {
    display: none !important; }

@media (min-width: 768px) {
  .ui {
    padding-top: 50px; }
    .ui-header.text-white .navbar-collapse {
      color: inherit; }
}
@media (min-width: 1200px) {
  .ui-container {
    margin-right: 0;
    transition: margin-right .3s; }
}
.page-title {
  margin-bottom: 20px;
  margin-top: 0;
  letter-spacing: 0px !important;
  font-size: 22px; }

@media (max-width: 991px) {
  .breadcrumb.pull-right {
    float: left !important; } }
.layouts-box img {
  border: 1px solid #ddd;
  width: 300px;
  height: auto;
  margin: 0 auto 10px; }

.body-light {
  background: #ffffff; }
  .body-light .panel {
    border: 1px solid rgba(0, 0, 0, 0.07); }

.search-op-1 {
  border: 1px solid #dddddc;
  width: auto !important; }
  .search-op-1 input.form-control {
    width: 130px !important;
    transition: all .3s ease; }
    .search-op-1 input.form-control:focus {
      width: 230px !important;
      transition: all .3s ease;}

.text-white .search-op-1 {
  border: none;
  background: rgba(0, 0, 0, 0.3); }
  .text-white .search-op-1 input.form-control {
    width: 130px !important;
    transition: all .3s ease; }
    .text-white .search-op-1 input.form-control:focus {
      width: 230px !important;
      transition: all .3s ease; }



html, body {
  width: 100%;
  height: 100%; }

body {
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-x: hidden; }

*:focus {
  outline: 0 !important; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
}
h1 small,
h1 .small, h2 small,
h2 .small, h3 small,
h3 .small, h4 small,
h4 .small, h5 small,
h5 .small, h6 small,
h6 .small {
    font-weight: inherit;
    line-height: 1;
    color: inherit; }

.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: normal;
  margin: 0; }

h1 small,h1 .small, .h1 small,.h1 .small,
h2 small,h2 .small, .h2 small,.h2 .small,
h3 small,h3 .small, .h3 small,.h3 .small {  font-size: 65%; }
h4 small, h4 .small, .h4 small, .h4 .small,
h5 small, h5 .small, .h5 small, .h5 .small,
h6 small, h6 .small, .h6 small, .h6 .small {  font-size: 75%; }
h1, .h1 {  font-size: 36px; }
h2, .h2 {  font-size: 30px; }
h3, .h3 {  font-size: 24px; }
h4, .h4 {  font-size: 18px; }
h5, .h5 {  font-size: 14px; }
h6, .h6 {  font-size: 12px; }
small, .small {font-size: 75%; }

a {color: inherit; }
a:hover, a:focus, a:active {color: inherit; }

.table thead tr th,
.table tbody tr td {vertical-align: middle; }
.borders-none {border: none; }
.borders-none thead tr th,
.borders-none tbody tr td {border: none; }
.font-sans {font-family: "Open Sans", sans-serif; }
.font-heading {font-family: "Open Sans", sans-serif; }
.font-monospace {  font-family: Menlo, Monaco, Consolas, "Inconsolata", monospace; }
.font-light {  font-weight: 300; }
.font-normal {  font-weight: 400; }
.font-semi-bold {  font-weight: 600; }
.font-bold {  font-weight: 700; }
.font-italic {  font-style: italic; }

.breadcrumb {
  padding: 8px 0;
  margin-bottom: 10px;
  background: transparent;
}

.nav-tabs {
  position: relative;
  top: 3px;
  z-index: 10; }
  .nav-tabs .active {background-color: transparent; }
  .nav-tabs > li > a {
    transition: all 0.2s; }
    .nav-tabs > li > a:hover {
      color: inherit;
      background-color: rgba(0, 0, 0, 0.03);
      border-color: rgba(0, 0, 0, 0.03); }
  .nav-tabs.tabs-left {
    float: left;
    width: 200px;
    border-right: none;
    padding-top: 0;
    position: relative;
    z-index: 10; }
    @media (max-width: 640px) {
      .nav-tabs.tabs-left {
        width: 100%; } }
  .nav-tabs.tabs-right {
    float: right;
    width: 200px;
    border-left: none;
    padding-top: 0;
    position: relative;
    z-index: 10; }
    @media (max-width: 640px) {
      .nav-tabs.tabs-right {
        width: 100%; } }



.tab-content {
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
  border-radius: 0;
  padding: 15px;
}

.form-control {box-shadow: none; }

.form-variance .form-group {
  border-bottom: 1px solid #f5f5ff;
  width:99%;
  padding-bottom: 15px; }
  .form-variance .form-group:last-child {
    border-bottom-color: transparent;
    padding-bottom: 0; }

/*.btn {background-color: transparent;color: inherit; }*/
.btn:focus, .btn:active {box-shadow: none; }
.btn-group.open .dropdown-toggle {box-shadow: none; }
.btn-rounded {border-radius: 100px; }
.btn-default:hover, .btn-default:active, .btn-default:focus {background-color: #eee;border-color: #ccc; }
.btn-default:active:focus, .btn-default:active:hover {background-color: #e6e6e6;border-color: #bfbfbf; }
.open > .dropdown-toggle.btn-default:focus {background-color: #e6e6e6;border-color: #bfbfbf; }

.btn.btn-primary.dropdown-toggle {border-left: 1px solid #337ab7; }
.btn.btn-success.dropdown-toggle {border-left: 1px solid #5cb85c; }
.btn.btn-info.dropdown-toggle {border-left: 1px solid #5bc0de; }
.btn.btn-warning.dropdown-toggle {border-left: 1px solid #f0ad4e; }
.btn.btn-danger.dropdown-toggle {border-left: 1px solid #d9534f; }

.bg-primary {color: #ffffff;background-color: #337ab7; }
.bg-success {color: #ffffff;background-color: #5cb85c; }
.bg-info {color: #ffffff;background-color: #5bc0de; }
.bg-warning {color: #ffffff;background-color: #f0ad4e; }
.bg-danger {color: #ffffff;background-color: #d9534f; }

.badge-primary {background-color: #337ab7; }
.badge-primary[href]:focus, .badge-primary[href]:hover {background-color: #286090; }
.badge-success {background-color: #5cb85c; }
.badge-success[href]:focus, .badge-success[href]:hover {background-color: #449d44; }
.badge-info {background-color: #5bc0de; }
.badge-info[href]:focus, .badge-info[href]:hover { background-color: #31b0d5; }
.badge-warning {background-color: #f0ad4e; }
.badge-warning[href]:focus, .badge-warning[href]:hover {background-color: #ec971f; }
.badge-danger {background-color: #d9534f; }
.badge-danger[href]:focus, .badge-danger[href]:hover { background-color: #c9302c; }


table.dataTable {border: 1px solid #ddd; }
table.dataTable.no-footer{border-color: #ddd !important; }
table.dataTable thead th, table.dataTable thead td {border-bottom: none !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button {padding: 0px !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  border-color: transparent !important;
  background: transparent !important;
}






/*--------------------------------------------
Nav
----------------------------------------------*/
.navbar-header {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all .3s; }
.navbar-brand .logo > i {
  margin-right: 5px; }
.navbar-brand .logo-compact {
  display: none; }
.navbar-collapse {
  padding-right: 0;
  padding-left: 0;
  background-color: #fff;
  height: 51px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.navbar-collapse .toggle-btn {
  float: left;
  padding: 14px 15px; }
.navbar-collapse .navbar-nav {
  float: left;
  margin: 0; }
  .navbar-collapse .navbar-nav > li {
    float: left; }
  .navbar-collapse .navbar-nav .badge {
    display: inline-block;
    width: auto;
    background-color: #ff6600;
    border-radius: 2px;
    font-size: 10px;
    font-weight: normal;
    line-height: 13px;
    padding: 2px 5px;
    position: absolute;
    right: 4px;
    top: 10px; }
  .navbar-collapse .navbar-nav li a {
    padding-top: 15px;
    padding-bottom: 15px;
    height: 50px;
    text-align: center; }
    .navbar-collapse .navbar-nav li a:hover, .navbar-collapse .navbar-nav li a:focus {
      color: inherit;
      background-color: rgba(44, 44, 44, 0.1); }
  .navbar-collapse .navbar-nav .open > a {
    background-color: rgba(44, 44, 44, 0.1); }
  .navbar-collapse .navbar-nav .dropdown-menu a {
    text-align: left;
    height: auto; }
.navbar-collapse .navbar-right {
  float: right !important;
  margin: 0;
  height: 50px; }
.navbar-collapse .open > .dropdown-menu {
  display: block; }
.navbar-collapse .navbar-nav .open .dropdown-menu {
  position: absolute;
  min-width: 260px;
  background-color: #ffffff;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
  z-index: 1000;
}

.nav-title {
  padding-left: 20px;
  letter-spacing: 2px;
  font-size: 11px;
  font-weight: bold;
  opacity: .8;
  margin-top: 15px;
  margin-bottom: 15px; }


@media (min-width: 768px) {
  .navbar-header1 {
    width: 240px; }
  .navbar-collapse {
    height: 50px;
    background-color: transparent;
    border-top: none; }
    .navbar-collapse .toggle-btn {
      padding: 15px; } }
@media (max-width: 767px) {
  .ui-header {box-shadow: none; }
}

/*--------------------------------------------
Horizontal Nav
----------------------------------------------*/
.navbar-nav > li > a {cursor: pointer; }
.dropdown .dropdown-toggle span {font-size: 12px; }
@media (max-width: 767px) {
    .dropdown .dropdown-toggle span {
      top: 3px;
      position: relative;
      float: right;
    }
}
.dropdown-menu {
  min-width: 190px;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  transition: all .3s; }
.dropdown-menu li a {
    outline: none;
    cursor: pointer;
    position: relative;
}

@media (max-width: 767px) {
  .nav {width: 100%; }
  .navbar-brand {padding: 15px 0; }
  .navbar-nav.pull-right {float: none !important; }
  .dropdown-menu-right .dropdown-submenu > a:after,
  .navbar-right .dropdown-submenu > a:after {float: none; }
  .dropdown-menu {min-width: 100% !important; }
}

.dropdown-menu {
  padding: 0;
  border: none;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1) !important;
}
.dropdown-usermenu > a .user-avatar {
  display: inline-block;
  vertical-align: top;
  width: 25px;
  height: 25px;
  background-color: #eeeeee;
  margin-top: -3px;
  border-radius: 500%;
  overflow: hidden;
  margin-right: 5px; }
.dropdown-usermenu > a .user-avatar img {   width: 100%; }

.dropdown-menu-usermenu { min-width: 200px !important; }
.dropdown-menu-usermenu > li > a {padding: 10px 15px !important; }
.dropdown-menu-usermenu > li > a:focus,
.dropdown-menu-usermenu > li > a:hover {
      color: #2c2c2c !important;
      background-color: rgba(0, 0, 0, 0.06) !important;
}
.dropdown-menu-usermenu .divider {margin: 0; }

.panel {
  position: relative;
  border-radius: 0;
  border-radius: 4px;
}
.panel .panel-heading {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.panel .panel-border {border-bottom: 1px solid rgba(0, 0, 0, 0.1); }


/*--------------------------------------------
profile,company
----------------------------------------------*/
.profile-tabs .nav li.active > a {color: inherit; }
.profile-tabs .tab-content {border: none; }
.profile-tabs .nav-tabs > li.active > a, .profile-tabs .nav-tabs > li.active > a:focus, .profile-tabs .nav-tabs > li.active > a:hover, .profile-tabs .nav-tabs > li > a:hover {
  color: #ffffff;
  background-color: #002780;
  border: 1px solid transparent;
  border-bottom-color: transparent;
  border-radius: 3px 3px 0 0; }
.profile-tabs .nav-tabs {border-bottom: 1px solid #002780; }
.profile-tabs .tab-content {padding: 15px 0; }





/*--------------------------------------------
Drawer
----------------------------------------------*/
.drawer--left .drawer-nav {left: -25rem;}
.drawer-nav{width: 25rem;}
.drawer-hamburger {position:static;margin-right: 10px;}
.drawer-menu-item {margin-top: 15px;}
.drawer-menu-item {font-size: 1.3rem;}

/* ===== スマホ用ドロワーメニュー ===== */
@media (max-width: 767px) {
    .navbar-brand { padding: 10px; }
    .navbar-brand img { width: 100px; }

    .drawer-nav {
        width: 100vw !important;
        max-width: 100vw !important;
        background: #f8fafc !important;
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .drawer--left .drawer-nav {
        left: 0 !important;
        right: auto !important;
        transform: translate3d(-100%, 0, 0) !important;
        transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) !important;
    }
    .drawer--left.drawer-open .drawer-nav {
        transform: translate3d(0, 0, 0) !important;
    }

    .drawer-menu-header {
        position: sticky;
        top: 0;
        background: white;
        padding: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid rgba(0,0,0,0.1);
        z-index: 100;
    }
    .drawer-menu-logo { height: 28px; width: auto; }
    .drawer-close-btn {
        background: transparent;
        border: none;
        font-size: 28px;
        color: #64748b;
        cursor: pointer;
        padding: 4px 8px;
        line-height: 1;
        transition: color 0.2s ease;
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
    }
    .drawer-close-btn:hover { color: #1e293b; }

    .drawer-menu {
        padding: 16px !important;
        padding-bottom: 60px !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
        background: #f8fafc;
    }

    /* ホーム: 全幅ボタン */
    .drawer-menu > li:first-child {
        grid-column: 1 / -1 !important;
    }
    .drawer-dashboard-link {
        display: block;
        padding: 18px !important;
        font-size: 16px !important;
        font-weight: 700;
        text-align: center;
        background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
        color: white !important;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(59,130,246,0.25);
        transition: all 0.2s ease;
        text-decoration: none !important;
    }
    .drawer-dashboard-link:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 16px rgba(59,130,246,0.35) !important;
        color: white !important;
    }
    .drawer-dashboard-link i { margin-right: 8px; font-size: 18px; }

    /* アイコングリッドセル (送る/見せる/受け取る) */
    .drawer-menu > li {
        display: block !important;
        margin: 0 !important;
    }
    .drawer-menu-item {
        padding: 16px 8px !important;
        font-size: 11px !important;
        font-weight: 600;
        min-height: 90px !important;
        height: 100%;
        width: 100%;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        background: white !important;
        border-radius: 12px;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08);
        transition: all 0.2s ease;
        color: #1e293b !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }
    .drawer-menu-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(59,130,246,0.15) !important;
        color: #3b82f6 !important;
        background: white !important;
    }
    .drawer-menu-item i {
        margin-right: 0 !important;
        margin-bottom: 6px !important;
        width: auto !important;
        font-size: 28px !important;
        color: #3b82f6;
    }
    .drawer-menu-item span { display: block; line-height: 1.3; word-break: keep-all; }
    .drawer-menu li.active .drawer-menu-item {
        background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
        color: white !important;
        font-weight: 700;
        box-shadow: 0 4px 12px rgba(59,130,246,0.3) !important;
    }
    .drawer-menu li.active .drawer-menu-item i { color: white !important; }

    /* 区切り線 */
    .drawer-menu li.divider {
        grid-column: 1 / -1;
        height: 1px !important;
        background: rgba(0,0,0,0.08) !important;
        margin: 4px 0 !important;
        border: none !important;
    }

    /* セクションラベル */
    .drawer-section-label {
        grid-column: 1 / -1 !important;
        padding: 10px 4px 4px !important;
        color: #94a3b8 !important;
        font-size: 10px !important;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        background: transparent !important;
        min-height: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    /* divider以降のアイテム: 全幅・横並び */
    .drawer-menu > li.divider ~ li:not(.divider) {
        grid-column: 1 / -1 !important;
    }
    .drawer-menu > li.divider ~ li:not(.divider):not(.drawer-section-label) .drawer-menu-item {
        min-height: 52px !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        padding: 14px 16px !important;
        font-size: 13px !important;
        text-align: left !important;
    }
    .drawer-menu > li.divider ~ li:not(.divider):not(.drawer-section-label) .drawer-menu-item i {
        font-size: 18px !important;
        margin-bottom: 0 !important;
        margin-right: 12px !important;
    }

    .drawer-hamburger { padding: 20px !important; }
    .drawer-hamburger-icon,
    .drawer-hamburger-icon:before,
    .drawer-hamburger-icon:after { height: 3px !important; }
}

/*--------------------------------------------
Select 2
----------------------------------------------*/
.select2-container .select2-selection--single {height: 34px; }
.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-left: 12px;
  line-height: 34px; }

.select2-container--default .select2-selection--single .select2-selection__arrow {height: 32px; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  padding-left: 12px;
  padding-right: 12px; }

.select2-container .select2-selection {border-color: #ccc; }
.select2-container--open .select2-selection, .select2-container--focus .select2-selection {border-color: #002780 !important; }

.img-flag {
  height: 15px;
  width: 18px; }

.select2-result-repository {
  padding-top: 4px;
  padding-bottom: 3px; }

.select2-result-repository__avatar {
  float: left;
  width: 60px;
  margin-right: 10px; }

.select2-result-repository__avatar img {
  width: 100%;
  height: auto;
  border-radius: 2px; }

.select2-result-repository__meta {margin-left: 70px; }

.select2-result-repository__title {
  color: black;
  font-weight: bold;
  word-wrap: break-word;
  line-height: 1.1;
  margin-bottom: 4px; }

.select2-result-repository__forks, .select2-result-repository__stargazers {margin-right: 1em; }
.select2-result-repository__forks, .select2-result-repository__stargazers, .select2-result-repository__watchers {
  display: inline-block;
  color: #aaa;
  font-size: 11px; }

.select2-result-repository__description {
  font-size: 13px;
  color: #777;
  margin-top: 4px; }

.select2-results__option--highlighted .select2-result-repository__title {color: white; }
.select2-results__option--highlighted .select2-result-repository__forks, .select2-results__option--highlighted .select2-result-repository__stargazers, .select2-results__option--highlighted .select2-result-repository__description, .select2-results__option--highlighted .select2-result-repository__watchers {color: #c6dcef; }

/*--------------------------------------------
Bootstrap TimePicker
----------------------------------------------*/
.bootstrap-timepicker-widget table td input {

  box-shadow: none;
  border: 1px solid #ccc;
  width: 40px;
  height: 36px; }
.bootstrap-timepicker-widget table td a {color: #888; }

/*--------------------------------------------
other
----------------------------------------------*/
/*tool*/
.tools {
  margin-right: -10px;
  position: relative; }
.tools a {
  color: #C5C5CA;
  float: left;
  padding: 5px 10px;
  text-decoration: none;
  font-size: 11px; }

/*Login*/
.sign-in-wrapper {padding: 5%; }
.sign-in-wrapper .sign-container {
  max-width: 550px;
  background: #ffffff;
  border-color: #aaa;
  border-style: solid;
  border-width: 1px;
  padding: 20px;
  border-radius: 5px;
  margin: 0px auto;
  position: relative; }
.sign-in-wrapper .sign-container .copyright-txt {
  position: absolute;
  bottom: -25px;
  left: 0;
  right: 0; }
.sign-in-wrapper .logo {text-align: center;font-weight: bold; }
.sign-in-wrapper h2, .sign-in-wrapper h3 {margin: 0 0 15px 0; }
.sign-in-wrapper .sign-in-form {margin-top: 30px; }
.sign-in-wrapper .user-lock-thumb img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
}
.sign-in-wrapper .lock-bg {background: transparent; }

.error-txt {font-size: 140px; }

@media (max-width: 420px) {
  .sign-in-wrapper .sign-container {width: 300px; }
}


.confirm-label {
  padding-top: 7px;
  margin-bottom: 0;
  text-align: left;
}

/*init*/
.steps-form-3 {
  width: 150px;
  height: 170px;
  position: relative; }
.steps-form-3 .steps-row-3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
.steps-form-3 .steps-row-3:before {
  top: 14px;
  bottom: 0;
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background-color: #7283a7; }
.steps-form-3 .steps-row-3 .steps-step-3 {
  height: 150px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  position: relative; }
.steps-form-3 .steps-row-3 .steps-step-3.no-height {
  height: 50px; }
.steps-form-3 .steps-row-3 .steps-step-3 p {
  margin-top: 0.5rem; }
.steps-form-3 .steps-row-3 .steps-step-3 button[disabled] {
  opacity: 1 !important;
  filter: alpha(opacity=100) !important; }
.steps-form-3 .steps-row-3 .steps-step-3 .btn-circle-3 {
  width: 60px;
  height: 60px;
  border: 2px solid #4285F4;
  background-color: white;
  color: #4285F4;
  border-radius: 50%;
  padding: 18px 18px 15px 17px;
  margin-top: -22px; }
.steps-form-3 .steps-row-3 .steps-step-3 .btn-circle-3:hover {
  border: 2px solid #4285F4   ;
  color: white !important;
  background-color: #4285F4 !important; }
.steps-form-3 .steps-row-3 .steps-step-3 .btn-circle-3 .fa {
  font-size: 1.7rem; }

.step-done {
  border: 2px solid #4285F4 !important ;
  color: white !important;
  background-color: #4285F4 !important;
}

/*--------------------------------------------
modal
----------------------------------------------*/
.modal {text-align: center;}
@media screen and (min-width: 768px) {
  .modal:before {
    display: inline-block;
    vertical-align: middle;
    content: " ";
    height: 100%;
  }
}

.modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  height: 80%;
  margin: 0;
  padding: 0;
}

@media (min-width: 768px){
  .modal-dialog {
    width: 50%;
  }
}

.modal-content {
  height: auto;
  min-height: 100%;
  border-radius: 0;
}

.modal-body {
  max-height: calc(100vh - 212px);
  overflow-y: auto;
}

@media (min-width: 768px){
  .navbar-collapse.collapse {
    height: 100% !important;
  }
}


@media screen and (max-width: 1000px) {
  .pc-float{float:none;}
  .task-sum-list > li .tsk-title label {
    margin: 0 10px 0 0;
    position: relative;
    top: -2px;
  }
  .centering{
    position: relative;
    top: 10px;
    left:-15px;
  }

}


nav {
  height: 40px;
  overflow: hidden;
  position: relative;
  z-index: 10;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #ddd;
}



.naviContent {
  -webkit-user-select: none;
  display: block;
  height: 54px;
  overflow-y: hidden;
  padding: 0;
  margin-bottom: -5px;
  position: relative;
  -webkit-overflow-scrolling: touch;
  overflow-x: scroll;
}
.naviContent ul {
  display: inline-block;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  margin-left: 15px;
  margin-top: 10px;
  font-size: 0;
  top: 3px;
  z-index: 10;
}
.naviContent {margin-right: 15px;}

.naviContent ul li {
  display: inline-block;
  line-height: 40px;
  height: 40px;
  margin: 0;
  text-align: center;
  font-size: 14px;
  position: relative;
  margin-bottom: 0px;
}
.naviContent ul li.active:before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #ddd;
}
.naviContent ul li a {
  font-size: 1em;
  padding: 0px 16px;
  display: inline-block;
  color: #888;
  text-decoration: none;
}

.naviContent ul li{border-bottom: 5px solid #ddd;}
.naviContent ul li.active a{
  cursor: default;
  background-color: #fff;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom-color: transparent;
}
.naviContent ul li.active{border-bottom: 0px solid #fff;}




/*menu*/
.menu-underline li a:hover, .menu-underline li a:focus {
  float: left;
  border-bottom: solid 2px #777777;
}
.menu-h1 {display: inline-block}
.menu-right {
  margin: 0px auto 0px auto;
  padding: 0.5rem 1rem;
  display: -webkit-box !important;
  list-style: none;
}
.menu-right > li {
  padding: 0px 20px;
  white-space: nowrap;
}
.menu-right > li> a{
  padding: 10px 5px;
  border-bottom: 2px solid transparent;
}
.menu-right > li.active > a,
.menu-right > li:hover > a,
.menu-right > li > a:focus {
  border-color: #398bf7;
  text-decoration: none;
}

/*mypage */
a:hover.nohover{text-decoration: none;}

/*message*/
.message-body{
  padding: 30px 20px 30px 0px;
  border-bottom: 2px solid white;
  overflow-y: scroll;
  height: 360px;
  transform: translateZ(0);/*Retinaディスプレイでのスクロール対策*/
}

/*gym*/
.no-table-line >tbody>tr>td {border-top: none;padding:15px;}





/*--------------------------------------------
dropzone
----------------------------------------------*/
.drop_area {
  text-align: center;
  padding: 15px 0;
  height: 125px;
  color: #666;
  background-color: #f9f9f9;
  border: 2px dotted #bbb;
}
.dragover {
  color: #111               !important;
  background-color: #f1f1f1 !important;
  border: 4px dotted #777   !important;
}
.dz-preview {
  margin: 5px 0;
  padding: 10px;
  float: left;
}
.dz-details {
  padding: 0;
}
.dz-filename , .dz-size, .dz-my-separator , .dz-remove {
  font: 11px "Lucida Grande", Lucida, Verdana, sans-serif;
}
.dz-filename , .dz-my-separator, .dz-size , .dz-error-message {
  float: left;
}
.dz-my-separator {
  width: 20px;
  text-align: center;
}
.dz-size {
  margin-top: 1px;
}
.dz-progress {
  width: 100%;
}
.dz-progress .dz-upload {
  display: block;
  border: 5px solid #1E9BFF;
  border-radius: 2px;
}
.dz-remove {
  float: left;
  margin-left: 5px;
}
.dz-thumbnail {
  margin-bottom: 3px;
}
.fa-check-circle:before {
  color: #93C54B;
}
.dz-thumbnail , .dz-success-mark {
  display: block;
  float: left;
}
.dz-success-mark {
  height: 25px;
  margin-left: 5px;
}



.panel-body {padding: 0 0 15px 15px;}

.center {text-align:center;display: inline-block;}
.text-center {text-align: center;}
.text-right {text-align: right;}
.form-variance .form-group {padding-bottom: 10px;border-bottom-color: #ffffff}
.float{float:left;}
.float-r{float:right;}
.float-none{float:none;}
.cancel{text-decoration: line-through;}
.navbar-collapse {border-bottom: none;}
.no-line {border: none;padding: 15px;}
.no-pc{display: none;}


@media screen and (max-width: 765px) { .inline-no-pc{display: inline-block;} }
@media screen and (max-width: 1000px) { .no-pc{display: block;} }
@media screen and (max-width: 1000px) { .pc-only{display: none;} }
.no-display,.no-display-supplier,.no-display-company,.select-supplier,.no-display-contract-supplier{display: none;}
.inline-pc-only{display: inline;}

@media screen and (max-width: 765px) { .inline-pc-only{display: none;} }
@media (max-width: 767px) {
  .sm-overflow-x-scroll {
    overflow-x: scroll !important;
  }
  .dropdown-menu {
    min-width: 100px !important;
    left: 50px !important;
  }
  .bootstrap-timepicker-widget.dropdown-menu {
    min-width: 75% !important;
  }
  select.input-xs,
  select.input-sm,
  input.form-control.input-xs,
  input.form-control.input-sm {
    display: inline-block;
    width: auto;
  }
  .bootstrap-timepicker-widget table td input {
    width: 50%;
  }

  div#DataTables_Table_0_length {
    display: inline-block;
    width: auto;
    float: left;
    padding: 8px 0 0 10px;
  }
  .form-horizontal .control-label {
    padding-top: 0px;
  }
  .sm-fs10{font-size: 10px !important;}
  .sm-fs11{font-size: 11px !important;}
  .sm-fs12{font-size: 12px !important;}
}

.box{border-style: solid;}
.border-none {border: none !important;}

/*メニューバー対応*/
@media (min-width: 768px){.navbar-header{float: none;}}
@media (min-width: 1000px){.navbar-header{float: left;}}
@media (max-width: 768px){.ui{padding-top: 50px;}}

/*経費申請用*/
.chat-box {
  width: 100%;
  height: auto;
  overflow: hidden; /*floatの解除*/
  margin-bottom: 20px;
}
.chat-face {
  float: left;
  margin-right: -120px;
}
.chat-face img{
  border-radius: 30px;
  border: 1px solid #ccc;
  box-shadow: 0 0 4px #ddd;
}
.chat-area {
  width: 100%;
  float: right;
}
.chat-hukidashi {
  display: inline-block; /*コメントの文字数に合わせて可変*/
  padding: 15px 20px;
  margin-left: 120px;
  margin-top: 10px;
  border: 1px solid gray;
  border-radius: 10px;
}

.chat-hukidashi:after {
  content: "";
  position: absolute;
  top: 50%; left: -10px;
  margin-top: -10px;
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 10px 10px 10px 0;
  border-color: transparent #D9F0FF transparent transparent;
}
.someone {
  background-color: #BCF5A9;
}
.someone:after {
  border-color: transparent #BCF5A9 transparent transparent;
}

input[readonly] {
  border: 0;
  background-color: #fff!important;
}

.loading {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 0.2rem solid rgba(255, 255, 255, 1.0);
  border-top-color: rgb(132, 132, 132);
  animation: infinite linear 1s spin;
}

@keyframes spin{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

/*レイアウト用*/
/* ラジオボタンの○を消す */
.layout input[type="radio"] {
  display: none;
}
/* 画像の周りに隙間をあける */
.layout label img {
  margin: 0 3px 3px 3px;
  padding: 5px;
}
/* 未選択の場合、色を薄くする */
.layout input[type="radio"] + label img {
  opacity:0.2;
}
.layout input[type="radio"] + label p {
  color: #bbb;
}
/* 選択済みの場合、色を濃くする */
.layout input[type="radio"]:checked + label img {
  opacity:1;
}
.layout input[type="radio"]:checked + label p {
  color: #111;
}
.code404 {
  width: 100%;
  height: 100%;
  margin-left: auto;
  background: url(../img/home/merit-bg.svg) center center/contain no-repeat;
}




#price .container {
  padding-bottom: 4rem;
}

#price .container #priceInner {
  max-width: 84rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#price .container #priceInner input {
  display: none;
}

#price .container #priceInner label {
  cursor: pointer;
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  width: 19.7rem;
  max-width: 44%;
  padding: 0 0 3.2rem;
  margin: 0 1.8% 4.9rem;
  color: #C7C7C7;
  font-weight: 900;
  text-align: center;
  border-bottom: 0.5rem solid #C7C7C7;
}

#price .container #priceInner label + ul {
  display: none;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
}

#price .container #priceInner label + ul li {
  position: relative;
  width: 46.4%;
  border-radius: 1rem;
  -webkit-box-shadow: 2.5rem 2.5rem 2.5rem 0 rgba(0, 0, 0, 0.03);
  box-shadow: 2.5rem 2.5rem 2.5rem 0 rgba(0, 0, 0, 0.03);
  border: 1px solid #EBEBEB;
  overflow: hidden;
}

#price .container #priceInner label + ul li h3 {
  padding: 3.2rem 0;
  background: #FFE729;
  font-size: 2.4rem;
  font-weight: 900;
  text-align: center;
}

#price .container #priceInner label + ul li h3 small {
  display: block;
  margin-top: 1rem;
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
}

#price .container #priceInner label + ul li .text {
  padding: 5rem 0 15.4rem;
}

#price .container #priceInner label + ul li .text p {
  line-height: 1;
  text-align: center;
  padding: 0 1rem 1rem;
}

#price .container #priceInner label + ul li .text p b {
  color: #002780;
  font-size: 3.5rem;
  font-weight: 700;
}

#price .container #priceInner label + ul li .text p.otoku {
  color: #FF3838;
}

#price .container #priceInner label + ul li .text p.otoku b {
  color: inherit;
  font-size: 2rem;
}

#price .container #priceInner label + ul li a {
  display: block;
  position: absolute;
  width: 64%;
  left: 18%;
  bottom: 5.7rem;
  color: #fff;
  font-size: 1.8rem;
  line-height: 4.2;
  font-weight: 900;
  text-align: center;
  border-radius: 100px;
  background: #002780;
}

#price .container #priceInner label + ul li.free h3 {
  background: #002780;
  color: #fff;
}

#price .container #priceInner label + ul li.free a {
  color: #898989;
  font-weight: 400;
  border: 1px solid #898989;
  background: #fff;
}

@media (min-width: 768px) {
  #price .container #priceInner {
    /* 768- */
  }
  #price .container #priceInner input#priceInner-2 + label + ul li .text {
    padding-bottom: 13rem;
  }
  #price .container #priceInner input#priceInner-2 + label + ul li.free .text {
    padding-top: 6.6rem;
  }
}

#price .container #priceInner input:checked + label {
  color: #002780;
  border-bottom-color: #002780;
}

#price .container #priceInner input:checked + label + ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}


.radio_purpose{
  float: left;
  width: 100%;
  margin:0 0 50px 0;
}
.radio_purpose input{
  display: none;
}
.radio_purpose label{
  display: block;
  float: left;
  cursor: pointer;
  width: 200px;
  padding: 8px 0;
  background: #eaeaea;
  text-align: center;
  font-weight: normal;
}
.radio_purpose label:first-of-type{
}
.radio_purpose label:last-of-type{
  border-right: 0px;
}
.radio_purpose input[type="radio"]:checked + label {
  background-color: #337ab7;
  color: #fff;
}

.planNow{
  border: 1px solid #898989;
  padding:20px;
}

#priceInner {
  max-width: 84rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#priceInner  ul {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
}

#priceInner  ul li {
  position: relative;
  width: 40%;
  border-radius: 1rem;
  -webkit-box-shadow: 2.5rem 2.5rem 2.5rem 0 rgba(0, 0, 0, 0.03);
  box-shadow: 2.5rem 2.5rem 2.5rem 0 rgba(0, 0, 0, 0.03);
  overflow: hidden;
  margin-right:30px;
  float: left;
}

#priceInner  ul li h3 {
  padding: 3.2rem 0;
  background: #FFE729;
  font-size: 2.4rem;
  font-weight: 900;
  text-align: center;
}

#priceInner  ul li h3 small {
  display: block;
  margin-top: 1rem;
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
}

#priceInner  ul li .text {
  padding: 5rem 0 15.4rem;
}

#priceInner  ul li .text p {
  line-height: 1;
  text-align: center;
  padding: 0 1rem 1rem;
}

#priceInner ul li .text p b {
  color: #002780;
  font-size: 3.5rem;
  font-weight: 700;
}

#priceInner ul li .text p.otoku {
  color: #FF3838;
}

#priceInner ul li .text p.otoku b {
  color: inherit;
  font-size: 2rem;
}

#priceInner ul li button {
  display: block;
  position: absolute;
  width: 64%;
  left: 18%;
  bottom: 5.7rem;
  color: #fff;
  font-size: 1.8rem;
  line-height: 4.2;
  font-weight: 900;
  text-align: center;
  border-radius: 100px;
  background: #002780;
}

#priceInner ul li.month h3 {
  background: #002780;
  color: #fff;
}

#priceInner ul li.month a {
  color: #898989;
  font-weight: 400;
  border: 1px solid #898989;
  background: #fff;
}

.modal-large{
  width: 90% !important;
}
.modal-800 {
  max-width: 800px;
}
@media (max-width: 800px) {

  #priceInner ul li {
    position: relative;
    width: 90%;
    border-radius: 1rem;
    -webkit-box-shadow: 2.5rem 2.5rem 2.5rem 0 rgba(0, 0, 0, 0.03);
    box-shadow: 2.5rem 2.5rem 2.5rem 0 rgba(0, 0, 0, 0.03);
    overflow: hidden;
    margin-left:0px;
    float: left;
  }
}

/* credit card*/

.card-label-container {
  height: 1.5em;
  width: 100%;
  display: flex;
  margin: 10px 0;
  font-size: 0.8em;
  font-weight: 800;
  align-items: center;
}
.card-label-container ion-icon {
  font-size: 1.4em;
  margin: 0 6px;
}
.card-label-container label {
  pointer-events: none;
}
ion-row {
  margin: 10px 0;
}
.input {
  padding: 5px 0 6px 0;
  border-bottom: 1px solid #ddd;
}


.input-center {
  height: 45px;
  margin-bottom: 20px;
  font-size: 20px;
  text-align: center;
}


/*--------------------------------------------
dropzone upload
----------------------------------------------*/

#drop {
  background-color: #fff;
  padding: 100px 50px;
  margin-bottom: 30px;
  border: 2px dashed #eaeef3;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  text-align: center;
  text-transform: uppercase;
  color: #999;}
#drop input {
  display: none; }

#upload {
  background-color: #fff;
  width: 100%;
  padding: 0 30px;
  -webkit-border-radius: 3px;
  border-radius: 3px; }
#upload ul {
  list-style: none;
  margin: 0;
  padding: 0; }
#upload ul li {
  position: relative;
  background-color: #eaeef3;
  padding: 15px;
  height: 80px;
  margin: 10px 0 15px 0; }
#upload ul li input {
  display: none; }
#upload ul li p {
  width: 144px;
  overflow: hidden;
  white-space: nowrap;
  color: #4aa9e9;
  font-size: 16px;
  font-weight: bold;
  position: absolute;
  top: 20px;
  left: 100px; }
#upload ul li i {
  font-weight: normal;
  font-style: normal;
  color: #999;
  display: block; }
#upload ul li canvas {
  top: 15px;
  left: 32px;
  position: absolute; }
#upload ul li span {
  font-size: 14px;
  line-height: 16px;
  position: absolute;
  top: 34px;
  right: 33px;
  cursor: pointer; }
#upload ul li span::before {
  font-family: FontAwesome;
  content: "\f00d"; }
#upload ul li.working span {
  color: #4aa9e9; }
#upload ul li.working span::before {
  font-family: FontAwesome;
  content: "\f00c"; }
#upload ul li.error {
  color: rgba(255, 108, 96, 0.5); }



/*--------------------------------------------
borderlss table
----------------------------------------------*/

.table-borderless > tbody > tr > td,
.table-borderless > tbody > tr > th,
.table-borderless > tfoot > tr > td,
.table-borderless > tfoot > tr > th,
.table-borderless > thead > tr > td,
.table-borderless > thead > tr > th {
  border: none;
}


.item {
  position: relative;
  padding: 100px 20px;
  cursor: pointer;
}

.item:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  top: 15px;
  left: 0;
  background: #666666;
  padding: 8px 12px;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  white-space: nowrap;
  font-size: 13px;
  color: #333;
  z-index: 1;
}

/*--------------------------------------------
Logo Upload (Account Page) - Modern Style
----------------------------------------------*/
/* ドラッグ&ドロップエリア */
/* dropzone.min.cssをオーバライド */
.dropzone .dz-message {
  margin: 0!important;
}
.drop-area-modern {
  border: 2px dashed #cbd5e1;
  border-radius: 12px;
  padding: 15px;
  text-align: center;
  background: rgba(248, 250, 252, 0.8);
  transition: all 0.3s ease;
  cursor: pointer;
}

.drop-area-modern:hover {
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.05);
}

.drop-area-modern .dz-message {
  color: #64748b;
  font-size: 11px;
  line-height: 1.4;
}

.drop-area-modern .dz-message span {
  display: block;
  margin-bottom: 2px;
}

/* 画像プレビュー */
.image-preview {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  background: white;
  padding: 10px;
  max-width: 200px;
  margin: 0 auto;
}

.image-preview img {
  width: 100%;
  height: auto;
  max-height: 150px;
  object-fit: contain;
  border-radius: 4px;
}

.icon-cloud {
  font-size: 40px;
  color: #cbd5e1;
  margin-bottom: 4px;
}

/* ===== Dashboard Mobile Layout ===== */
@media (max-width: 767px) {
    .db-desktop { display: none !important; }
    .db-mobile  { display: block !important; }

    /* ページタイトル */
    .db-page-title {
        font-size: 22px;
        font-weight: bold;
        margin: 16px 0 12px;
        padding: 0 4px;
        color: #222;
    }

    /* お知らせバナー */
    .db-notice {
        border: 1.5px solid #5bc0de;
        border-radius: 8px;
        padding: 11px 14px;
        margin-bottom: 12px;
        background: #fff;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 13px;
        color: #31708f;
        cursor: pointer;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    }
    .db-notice .db-notice-text { flex: 1; line-height: 1.5; }
    .db-notice .db-notice-arrow { color: #5bc0de; font-size: 13px; margin-left: 8px; flex-shrink: 0; }

    /* メインメニュー — 各カード独立 */
    .db-main-item {
        display: flex;
        align-items: center;
        padding: 17px 16px;
        text-decoration: none;
        color: #333;
        background: #fff;
        border-radius: 8px;
        border: 1px solid #e4e4e4;
        margin-bottom: 10px;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06);
        transition: background 0.15s;
    }
    .db-main-item:active { background: #f5f5f5; }
    .db-main-icon {
        width: 46px;
        height: 46px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 15px;
        font-size: 24px;
        flex-shrink: 0;
    }
    .db-main-icon.icon-send    { background: #e8f0fc; color: #337ab7; }
    .db-main-icon.icon-view    { background: #eafbea; color: #3a9c3a; }
    .db-main-icon.icon-receive { background: #fdf0e8; color: #d9534f; }
    .db-main-label { flex: 1; font-size: 18px; font-weight: bold; }
    .db-main-chevron { color: #c0c0c0; font-size: 13px; }

    /* サブ単独カード（利用情報） */
    .db-sub-item {
        display: flex;
        align-items: center;
        padding: 13px 16px;
        text-decoration: none;
        color: #2d4f2d;
        font-size: 14px;
        font-weight: 500;
        border-radius: 8px;
        border: 1px solid #c8e6c9;
        margin-bottom: 10px;
        box-shadow: 0 1px 4px rgba(0,0,0,0.05);
        transition: filter 0.15s;
    }
    .db-sub-item:active { filter: brightness(0.94); }

    /* アコーディオンカード（自社管理・連絡先管理） */
    .db-accordion {
        background: #fff;
        border-radius: 8px;
        border: 1px solid #e4e4e4;
        margin-bottom: 10px;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06);
        overflow: hidden;
    }
    .db-acc-header {
        display: flex;
        align-items: center;
        padding: 13px 16px;
        background: #fff;
        border: none;
        width: 100%;
        text-align: left;
        font-size: 14px;
        font-weight: 600;
        color: #333;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    .db-acc-header:active { background: #f5f5f5; }
    .db-acc-icon { color: #bbb; font-size: 12px; margin-left: auto; transition: transform 0.2s; }
    .db-acc-header.open .db-acc-icon { transform: rotate(180deg); }
    .db-acc-body { display: none; border-top: 1px solid #efefef; }
    .db-acc-body.open { display: block; }
    .db-acc-link {
        display: flex;
        align-items: center;
        padding: 12px 16px 12px 46px;
        text-decoration: none;
        color: #444;
        font-size: 14px;
        border-bottom: 1px solid #f3f3f3;
        background: #fafafa;
        transition: background 0.15s;
    }
    .db-acc-link:last-child { border-bottom: none; }
    .db-acc-link:active { background: #f0f0f0; }
    .db-acc-link-icon { width: 20px; margin-right: 10px; color: #999; font-size: 13px; text-align: center; flex-shrink: 0; }
    .db-acc-link-label { flex: 1; }
    .db-acc-link-chevron { color: #ccc; font-size: 11px; }

    /* アイコン共通 */
    .db-sub-icon {
        width: 30px;
        text-align: center;
        margin-right: 11px;
        font-size: 16px;
        flex-shrink: 0;
    }
    .db-sub-label { flex: 1; }

    /* ストレージ */
    .db-storage-row {
        display: flex;
        align-items: center;
        padding: 13px 16px;
        background: #fff;
        border-radius: 8px;
        border: 1px solid #e4e4e4;
        margin-bottom: 10px;
        font-size: 13px;
        color: #555;
        box-shadow: 0 1px 4px rgba(0,0,0,0.05);
        text-decoration: none;
    }
    .db-storage-row .db-sub-icon { color: #777; }
    .db-storage-detail { flex: 1; line-height: 1.4; }
    .db-storage-nums { font-size: 12px; color: #888; margin-top: 2px; }
    .db-progress-wrap {
        margin-top: 6px;
        height: 6px;
        background: #e0e0e0;
        border-radius: 3px;
        overflow: hidden;
    }
    .db-progress-bar {
        height: 100%;
        border-radius: 3px;
        background: #5bc0de;
        transition: width 0.3s;
    }
    .db-progress-bar.warn   { background: #f0ad4e; }
    .db-progress-bar.danger { background: #d9534f; }

    /* ui-contentの余白調整 */
    .ui-content-body .ui-container { padding-left: 10px; padding-right: 10px; }
    .db-desktop-title { display: none !important; }
}

@media (min-width: 768px) {
    .db-desktop { display: block !important; }
    .db-mobile  { display: none !important; }
    .db-desktop-title { display: block !important; }
}

/* ===== はじめてガイド ===== */
.guide-panel {
    border: 2px solid #5cb85c;
    border-radius: 6px;
}
.guide-panel > .panel-heading {
    background: #5cb85c;
    color: #fff;
    border-radius: 4px 4px 0 0;
}
.guide-intro {
    margin-top: 10px;
    margin-bottom: 16px;
}
.guide-step {
    margin-bottom: 10px;
}
.guide-step-done {
    color: #888;
    text-decoration: line-through;
}
.guide-icon-done { color: #5cb85c; }
.guide-icon-open { color: #aaa; }
.guide-icon-next { color: #337ab7; }
.guide-step-btn  { margin-left: 12px; }
.guide-hint-alert {
    margin-bottom: 25px;
    border-left: 4px solid #5cb85c;
}

/* ガイドバナー（目立つ大きめ版） */
.guide-hint-banner {
    display: flex;
    align-items: flex-start;
    background: #f0faf0;
    border: 2px solid #5cb85c;
    border-radius: 6px;
    padding: 18px 20px;
    margin-bottom: 25px;
}
.guide-hint-banner-icon {
    font-size: 38px;
    color: #5cb85c;
    margin-right: 16px;
    line-height: 1;
    flex-shrink: 0;
}
.guide-hint-banner-body { flex: 1; }
.guide-hint-banner-title {
    font-size: 17px;
    font-weight: bold;
    color: #3a7d3a;
    margin: 0 0 6px 0;
}
.guide-hint-banner-text {
    font-size: 15px;
    margin: 0;
    color: #333;
    line-height: 1.6;
}

/* フィールド直下の小ヒント */
.guide-field-hint {
    font-size: 13px;
    color: #5a9a5a;
    margin-top: 5px;
    margin-bottom: 0;
}

/* 直接入力パネル内のインラインヒント */
.guide-inline-hint {
    background: #fffbe6;
    border-left: 4px solid #f0ad4e;
    border-radius: 3px;
    padding: 10px 14px;
    margin-top: 8px;
    margin-bottom: 12px;
    margin-right: 4px;
    font-size: 14px;
    color: #7a5c00;
}
