@charset "UTF-8";

/* ここから他でも使いそうなスタイル */

.bg-gray {
  background: #eee;
}

.text-darkred {
  color: #c00;
}

.text-darkblue {
  color: #00c;
}

.text-green {
  color: #090;
}

.text-violet {
  color: #c0c;
}

.text-gray {
  color: #666;
}

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

.text-red {
  color: #f33;
}

.text-blue {
  color: #33f;
}

/* ここまで他でも使いそうなスタイル */

/* ここまで他でも使いそうなスタイル */

* {
  box-sizing: border-box;
}

button,
select {
  cursor: pointer;
}

/*
 * Bootstrap
 */

body .badge-notification {
  color: #fff;
  background-color: red;
  padding: 0.6em 0;
  width: 2em;
  height: 2em;
  line-height: 1em;
  opacity: 1;
  border-radius: 50%;
}

body .badge-notification-top {
  position: absolute;
  top: -9px;
  right: 0;
}

body .nav-tabs {
  margin-top: 1em;
  margin-bottom: 1em;
}

body .nav-tabs .nav-item {
  position: relative;
}

body .nav-tabs .nav-item .nav-link {
  padding-right: 24px;
}

body .nav-tabs .nav-item.nav-add .nav-link {
  padding-right: 16px;
}

body .nav-tabs .nav-item .dropdown-toggle {
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
}

body .nav-tabs .nav-item .dropdown-toggle:hover::after {
  color: #007bff;
}

body .nav-tabs .nav-item .dropdown-menu {
  position: absolute;
}

body .nav-tabs .nav-item .dropdown-menu .dropdown-item {
  position: relative;
}

body .nav-tabs .nav-link {
  border-radius: 0;
  background: #f5f5f5;
  border-color: #dee2e6 #dee2e6 #dee2e6;
}

body .nav-tabs .nav-item:not(:last-child) {
  border-right: none;
}

body .tab-content {
  padding: 10px;
  margin: 0;
  border: solid 1px #dee2e6;
  border-top: none;
}

body .input-group-small .input-group-text {
  padding: 0.1rem 0.15rem;
  font-size: 0.7rem;
  line-height: 1.2;
  color: #495057;
}

body .input-group-small .custom-file,
body .input-group-small .custom-select,
body .input-group-small .form-control {
  flex: none;
}

body .pagination {
  margin: 2em 0;
}

body .cur-pointer {
  cursor: pointer;
}

body .card-header {
  /* padding: .5rem .5rem; */
  font-weight: 600;
}

body .card .headding01 {
  font-weight: 600;
}

body .card .headding01 {
  background: #005AA0;
  color: #fff;
  text-align: center;
  padding: 0.3em 0.6em;
  margin: 0.5em 0;
}

body .card .headding02 {
  font-weight: bold;
  background: #eee;
  color: #111;
  text-align: left;
  padding: 0.3em 0.6em;
  margin: 0.5em 0;
}

body .btn {
  border: solid 1px #ddd;
}

body .btn:hover {
  opacity: 0.8;
}

body .table-hover tbody tr:hover {
  background-color: #ffe;
}

.expense-caption {
  width: 100%;
  color: #fff;
  background-color: #28a745;
  padding: 0.5rem;
  margin-bottom: 1em;
  position: relative;
}

/* 
 * 各種ランク
 */

/**  初期表示 **/

.rank-default {
  color: #000;
}

.rank-registration,
.rank-done,
.rank-settled,
.rank-paid {
  color: #c00;
}

.rank-already,
.rank-reserve,
.rank-agree {
  color: #00c;
}

.rank-purchase,
.rank-sale {
  color: #090;
}

.rank-information,
.rank-notset {
  color: #c0c;
}

.rank-pending,
.rank-revenue,
.rank-exclude {
  color: #666;
}

/* 正方形ボタン */

.btn-icon {
  background: #f1f1f1;
}

/* ボーダーなしボタン */

.btn-nb {
  border: none;
  background: transparent;
  padding-left: 0.2 0.5rem;
  padding-right: 0.2 0.5rem;
}

body {
  padding-top: 70px;
  font-size: 0.9rem;
  position: relative;
  /*
  .form-control {
      padding: .355rem .55rem;
      font-size: .9rem;
      line-height: 1.2;
  }
  */
}

body .container-fluid {
  min-width: 1000px;
  margin: auto;
}

body.narrow .container-fluid {
  min-width: 740px;
  max-width: 740px;
}

body.wide .container-fluid {
  max-width: 1200px;
}

body.full .container-fluid {
  max-width: 100%;
}

body.left .container-fluid {
  margin-left: 0;
}

body .small {
  font-size: 80%;
  font-weight: normal;
  color: #666;
}

body .strong {
  font-weight: bold;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  margin: 1.5em 0;
}

body h1 .small,
body h2 .small,
body h3 .small,
body h4 .small,
body h5 .small,
body h6 .small {
  font-size: 55%;
  margin-left: 1em;
}

body .page-title {
  margin-top: 0;
  font-size: 1.75rem;
  line-height: 1;
  height: 1.75em;
}

body .page-title .tb {
  vertical-align: top;
  display: inline-block;
  font-size: 0.5em;
}

body .page-title .tb .btn {
  padding: 0.2rem 0.5rem;
  font-size: 0.85rem;
  line-height: 1.5;
  border-radius: 0.2rem;
  margin-left: 10px;
}

body .page-title .tb .btn .fa,
body .page-title .tb .btn .fab,
body .page-title .tb .btn .fas,
body .page-title .tb .btn .svg-inline--fa {
  margin-right: 0.5rem;
}

body h3 {
  font-size: 1.5rem;
}

body .site-footer {
  margin-top: 2em;
  padding: 0.5rem 1rem;
  font-size: 80%;
  color: #ccc;
}

body .site-footer a {
  color: #666;
}

body .site-footer a:hover {
  text-decoration: underline;
}

body .mt1em {
  margin-top: 1em;
}

body .tooltip .tooltip-inner {
  text-align: left;
}

body .badge {
  opacity: 0.75;
}

body .row-inline {
  padding: 0.5em 0;
}

body .row-inline .form-control {
  display: inline-block;
}

body .row-inline label {
  padding-top: 0.5em;
  white-space: nowrap;
}

body .form-group input[type=checkbox],
body .form-group input[type=radio] {
  margin-right: 0.5em;
}

body .form-group .radio-inline,
body .form-group .checkbox-inline {
  margin-right: 1em;
}

body .navbar {
  border: none;
  color: #fff;
  background-color: #374149;
  border: none;
  /*
    &::after {
      content: '';
      width: 100%;
      height: 1px;

      display: block;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
    }
  */
}

body .navbar.fixed-top {
  z-index: 10000;
}

body .navbar .navbar-brand {
  border: solid 1px #fff;
  border-radius: 5px;
  width: 34px;
  height: 34px;
  display: block;
  padding: 0px 0;
  position: relative;
}

body .navbar .navbar-brand a {
  display: block;
  position: absolute;
  margin: 0 auto;
  top: 7px;
  left: 0;
  right: 0;
  width: 22px;
  height: 22px;
  line-height: 1;
}

body .navbar .navbar-brand a .fas {
  margin: 0;
}

body .navbar a {
  color: #fff;
  margin-right: 20px;
}

body .navbar a:hover {
  color: #eee;
}

body .navbar a .fab,
body .navbar a .fas {
  margin-right: 5px;
}

body .navbar .navbar-btn {
  display: inline-block;
  width: 30px;
  height: 30px;
  padding: 0 !important;
  color: #fff;
  border: none;
  border-radius: 50%;
  position: relative;
  text-align: center;
  margin-top: 5px;
}

body .navbar .navbar-btn .svg-inline--fa,
body .navbar .navbar-btn .fa,
body .navbar .navbar-btn .fas,
body .navbar .navbar-btn .far {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 7px;
}

body .navbar .navbar-btn::after {
  display: none;
}

body .navbar .dropdown.show .navbar-btn,
body .navbar .navbar-btn:hover {
  color: #4651a4;
  background-color: rgba(255, 255, 255, 0.9);
}

body .navbar a.dropdown-item {
  color: #333;
}

body .navbar a.dropdown-item:hover {
  background: #eee;
}

body .navbar .develop {
  display: none;
}

body .navbar .dropdown .label {
  color: #999;
  width: 100%;
  padding: 0.1rem 0.8rem;
  font-size: 76%;
}

body .navbar .navbar-collapse {
  height: 30px;
}

body .navbar .navbar-collapse .navbar-nav {
  position: absolute;
}

body .navbar .navbar-collapse .navbar-nav-left .nav-item.dropdown,
body .navbar .navbar-collapse .navbar-nav-left .nav-item.nav-item-right {
  margin-right: 15px;
}

body .navbar .navbar-collapse .navbar-nav-left .nav-item.nav-item-title {
  margin-top: 7px;
}

body .navbar .navbar-collapse .navbar-nav-left .nav-item.nav-item-title a {
  color: #fff !important;
  text-decoration: none;
}

body .navbar .navbar-collapse .navbar-nav-right {
  right: 20px;
}

body .navbar .navbar-collapse .navbar-nav-right .dropdown {
  width: 160px;
  text-align: right;
}

body .navbar .navbar-collapse .navbar-nav-right .timestamp-disabled {
  cursor: pointer;
  color: #fff;
  opacity: 0.5;
}

body .container-fluid {
  padding-left: 30px;
  padding-right: 30px;
}

body .invalid-feedback {
  display: block;
}

.edit-form {
  max-width: 800px;
  margin: 1em auto;
}

.delete-form {
  margin-top: 20px;
}

span.require {
  color: #f00;
  font-family: Arial;
  margin-left: 0.2em;
  font-size: 88%;
}

select.groups-list .company-0 {
  border-top: solid 1px #ccc;
}

.nav-buttons {
  margin-bottom: 2em;
  position: relative;
  clear: both;
}

.nav-buttons.bottom {
  margin-top: 2em;
}

.nav-buttons.border-top {
  border-top: solid 1px #ccc;
  padding-top: 1.5em;
}

.nav-buttons .btn {
  margin-right: 0.5em;
}

.nav-buttons .btn .fas {
  margin-right: 0.5em;
}

.nav-buttons .btn-delete {
  color: #dc3545;
  background: none;
}

.nav-buttons .btn-right {
  position: absolute;
  right: 0;
}

/**共通検索フォーム **/

.search-form-box {
  border: solid 1px #dee2e6;
  padding: 1em 1em 2em 1em;
  border-radius: 2px;
  margin-bottom: 1em;
  background: #f9f9f9;
}

.search-form-box .row-inline {
  margin-bottom: 0.1em;
}

.search-form-box .buttons {
  text-align: center;
}

.search-form-box .buttons .btn {
  border-color: #ddd;
}

.search-form-box .buttons .btn-search {
  padding-left: 4em;
  padding-right: 4em;
  margin-right: 1em;
}

.search-form-box .buttons .btn-search .fas {
  margin-right: 0.5em;
}

/** 注意喚起アイコン **/

.project_alert {
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url("/assets/images/project_alert.svg") 0 0 no-repeat;
  background-size: 300px 90px;
  /* 上下水道 */
  /* 都市計画道路 */
  /* 文化埋蔵 */
  /* 地区計画 */
  /* 風致地区 */
  /* 高低差 */
  /* 地滑り */
  /* 土壌汚染 */
  /* 宅地造成区域法 */
  /* 解体予定建物 */
}

.project_alert.water_supply {
  background-position: 0 0;
}

.project_alert.city_planned_road {
  background-position: -30px 0;
}

.project_alert.cultural_reserve {
  background-position: -60px 0;
}

.project_alert.district_planning {
  background-position: -90px 0;
}

.project_alert.scenic_zone {
  background-position: -120px 0;
}

.project_alert.difference_in_height {
  background-position: -150px 0;
}

.project_alert.landslide {
  background-position: -180px 0;
}

.project_alert.soil_contamination {
  background-position: -210px 0;
}

.project_alert.residential_building_area_law {
  background-position: -240px 0;
}

.project_alert.building_to_be_dismantled {
  background-position: -270px 0;
}

/** ランクタブ **/

.nav-tabs-rank .nav-item {
  position: relative;
}

.nav-tabs-rank .nav-item .fa-caret-down {
  position: absolute;
  display: block;
  top: -20px;
  left: 0;
  right: 0;
  text-align: center;
  color: orange;
}

ul.memo {
  margin: 0;
  padding: 0 0 0 1em;
}

ul.memo li a {
  color: #000;
}

ul.memo li a:hover {
  text-decoration: none;
}

ul.memo .meta {
  margin-left: 0.5em;
  font-size: 90%;
  opacity: 0.55;
}

ul.memo .deleted {
  opacity: 0.5;
  text-decoration: line-through;
}

ul.submenu {
  margin: 0;
  padding: 0;
}

ul.submenu li {
  margin: 0;
  padding: 0;
  display: inline-block;
}

ul.submenu li::after {
  color: #ccc;
  content: "|";
  margin: 0 0.3em;
}

ul.submenu li:last-child::after {
  display: none;
}

ul.submenu li.delete {
  font-size: 80%;
}

ul.submenu li.delete a {
  color: #c00;
}

/** テーブルここから **/

.table thead th,
.table tbody th {
  text-align: center;
}

.table thead th,
.table thead td,
.table tbody th,
.table tbody td {
  vertical-align: middle;
}

.table .user_name {
  width: 120px;
  white-space: nowrap;
}

.table .user_count {
  width: 80px;
}

.table td.user_count {
  text-align: right;
  white-space: nowrap;
}

.table .sort {
  width: 80px;
}

.table td.sort {
  text-align: center;
}

.form-group-table {
  display: table;
}

.form-group-table .form-group-table-col {
  display: table-cell;
  width: auto;
}

/** 基本テーブル **/

.table td {
  position: relative;
}

.table td .hover-controls {
  right: 0;
  position: absolute;
}

.table-small th,
.table-small td {
  font-size: 0.8rem;
  font-weight: normal;
  padding: 0.25rem 0.35rem;
  /** 最小 **/
}

.table-small th .form-group,
.table-small td .form-group {
  margin-bottom: 0.5em;
}

.table-small th .form-group:last-of-type,
.table-small td .form-group:last-of-type {
  margin-bottom: 0;
}

.table-small th .form-control,
.table-small td .form-control {
  width: auto;
  max-width: 100%;
  font-size: 0.8rem;
  padding: 0.1rem 0.15rem;
  display: inline-block;
}

.table-small th .form-control-1btn,
.table-small td .form-control-1btn {
  width: calc(100% - 20px);
}

.table-small th .form-control-2btn,
.table-small td .form-control-2btn {
  width: calc(100% - 40px);
}

.table-small th .form-control-3btn,
.table-small td .form-control-3btn {
  width: calc(100% - 60px);
}

.table-small th .form-control-w-xs,
.table-small td .form-control-w-xs {
  width: 30px;
}

.table-small th .form-control-w-sm,
.table-small td .form-control-w-sm {
  width: 50px;
}

.table-small th .form-control-w-md,
.table-small td .form-control-w-md {
  width: 70px;
}

.table-small th .form-control-w-lg,
.table-small td .form-control-w-lg {
  width: 90px;
}

.table-small th .form-control-w-xl,
.table-small td .form-control-w-xl {
  width: 110px;
}

.table-small thead th {
  white-space: nowrap;
}

.table {
  margin-top: 20px;
  /* 借入先テーブル */
  /* マスタテーブル */
}

.table tr.deleted th,
.table tr.deleted td {
  color: #ccc;
}

.table tr.clickable {
  cursor: pointer;
}

.table tr.clickable:hover {
  background: #f5f5f1;
}

.table .date {
  width: 100px;
  white-space: nowrap;
  text-align: center;
}

.table .datetime {
  width: 160px;
  white-space: nowrap;
  text-align: center;
}

.table .furigana {
  color: #ccc;
  font-size: 85%;
}

.table .user_name {
  width: 90px;
}

.table .datetime {
  width: 100px;
}

.table .datetime_full {
  width: 200px;
}

.table td {
  padding: 0.5rem 0.7rem;
}

.table td .row-actions {
  min-height: 1em;
  overflow: hidden;
  color: #ddd;
  font-size: 87%;
  padding: 2px 0 0;
  visibility: hidden;
}

.table td .row-actions .fas {
  margin-right: 0.2em;
}

.table td .row-actions a.delete {
  color: #dc3545;
}

.table td .row-actions a::after {
  content: "|";
  color: #ddd;
  margin: 0 0.2em;
}

.table td .row-actions a:last-child::after {
  display: none;
}

.table td:hover .row-actions {
  visibility: visible;
  width: auto;
}

.table td:hover .row-actions a {
  text-decoration: none !important;
}

.table.lenders-table .branch_name {
  width: 200px;
  white-space: nowrap;
}

.table.lenders-table .status {
  width: 80px;
  white-space: nowrap;
}

.table.masters-table td,
.table.masters-table th {
  text-align: left;
}

.table.masters-table .id {
  width: 50px;
  white-space: nowrap;
}

.table.masters-table .type {
  width: 80px;
}

.table.masters-table .key {
  width: 80px;
}

.table.masters-table .sort {
  width: 80px;
}

.table.masters-table .update {
  width: 200px;
}

/* プロジェクトテーブル */

table.project-table {
  width: 100%;
}

table.project-table thead tr th {
  background: #eee;
  text-align: center;
}

table.project-table tbody tr .no {
  width: 80px;
}

table.project-table tbody tr .name {
  font-size: 110%;
  font-weight: bold;
}

table.project-table tbody tr .date {
  width: 80px;
  text-align: right;
}

table.project-table tbody tr .primary_operator {
  width: 100px;
  text-align: center;
}

table.project-table tbody tr .memo {
  min-height: 2em;
  position: relative;
}

table.project-table tbody tr .state-icons {
  text-align: center;
}

table.project-table tbody tr .state-icons img {
  width: 32px;
  height: 32px;
  border: none;
}

/* 会社テーブル */

table.companies-table .name {
  margin-right: 1em;
}

table.companies-table tr:first-child .furigana {
  display: none;
}

table.companies-table td {
  height: 4em;
  vertical-align: top;
}

table.companies-table td .types {
  float: right;
  text-align: right;
}

table.company-users-table td .types {
  float: right;
  text-align: right;
}

/* 社員テーブル */

table.users-table .company .badge {
  margin: 0 2px;
}

table.users-table .type {
  width: 100px;
  white-space: nowrap;
}

table.users-table .status {
  width: 80px;
  white-space: nowrap;
}

/* 地域マスタテーブル */

table.areas-table .prefecture_code {
  width: 70px;
  white-space: nowrap;
}

table.areas-table .code {
  width: 100px;
  white-space: nowrap;
}

table.areas-table .sort {
  width: 100px;
  white-space: nowrap;
}

table.areas-table .cdc {
  width: 100px;
  white-space: nowrap;
}

.devmsg {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: rgba(255, 255, 0, 0.5);
  padding: 28px 10px 5px 0px;
  z-index: 1024;
}

.devmsg .close {
  cursor: pointer;
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 12px;
}

/** Headding **/

.header01 {
  background: none;
  color: #000;
  border-bottom: solid 1px #000;
  font-size: 110%;
  font-weight: bold;
  padding: 0.2em 0.4em;
  margin: 0 0 1em 0;
}

.header02 {
  background: #666;
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.4em;
  margin: 0 0 1em 0;
}

/** Nested Tabs **/

.nested-tabs .nav-tabs {
  margin-bottom: 0;
}

.nested-tabs .nav-tabs-child {
  margin: 1em 0 0 0;
}

.nested-tabs .tab-content-parent {
  background: #fff;
}

.nested-tabs .tab-content-parent .nav-tabs {
  margin-bottom: 0;
}

.nested-tabs .tab-content-child {
  background: #fff;
}

/** ログイン画面**/

.login {
  position: inherit;
  margin: 0;
  width: 100%;
  height: 100%;
  color: #333;
  background-image: url("/assets/images/login.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

.login a,
.login a:hover {
  color: #000;
}

.login form {
  display: block;
}

.login .container-fluid {
  padding: 0;
  width: 100%;
  height: 100%;
}

.login .container-fluid .alert {
  background: none;
}

.login .container-fluid .useragent {
  /*
        color: #333;
        background: rgba(200,200,200,.85);
        border-radius: 4px;
  */
  padding: 10px;
  margin-top: 20px;
  font-size: 88%;
  text-align: center;
}

.login .container-fluid .useragent p {
  margin-bottom: 10px;
}

.login .container-fluid .useragent .browser {
  width: 32px;
  height: 32px;
  margin: 0 5px;
}

.login .container-fluid .login-box {
  width: 400px;
  height: 360px;
  margin: auto;
  padding: 20px;
  border-radius: 8px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 250px;
  text-align: center;
  margin: auto;
  background: rgba(255, 255, 255, 0.8);
  font-size: 86%;
}

.login .container-fluid .login-box .title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 1em;
}

.login .container-fluid .login-box form {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  width: 100%;
}

.login .container-fluid .login-box form .help-block {
  font-size: 90%;
  color: #c00;
}

.login .container-fluid .login-box form button {
  border: none;
}

.login .container-fluid .login-box form button:hover {
  opacity: 0.75;
}

.login .container-fluid .login-box .form-in {
  position: relative;
}

.login .container-fluid .login-box .form-in .form-group {
  margin: 0;
}

.login .container-fluid .login-box .form-in .form-group .form-control {
  border: none;
}

.login .container-fluid .login-box .form-in .form-group #email {
  border-radius: 0.25rem 0.25rem 0 0;
  border-bottom: solid 1px #ccc;
}

.login .container-fluid .login-box .form-in .form-group #password {
  border-radius: 0 0 0.25rem 0.25rem;
}

.login .container-fluid .login-box .form-in .link-small {
  display: block;
  text-align: center;
  margin: 16px 0;
}

.login .container-fluid .login-box .form-in .btn-login {
  position: absolute;
  top: 52px;
  right: 0;
  border: none;
  background: none;
  color: #ccc;
}

.login .container-fluid .login-box .form-in .btn-login:hover {
  color: #008cd7;
}

.company-edit .office-table {
  margin-bottom: 1em;
}

.company-edit .office-table .realestate_engaged_office_name {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.company-edit .office-table .realestate_engaged_office_address {
  border-radius: 0;
  border-top: none;
  border-bottom: none;
}

.company-edit .office-table .realestate_engaged_office_tel {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.company-edit .office-table .btn-plus {
  margin-bottom: 0.3em;
  display: none;
}

.company-edit .office-table:first-child .btn-plus {
  display: block;
}

.company-user-edit .partner {
  margin-bottom: 1em;
}

.company-user-edit .partner textarea {
  height: 5em;
}

/** ログ **/

.log .remote_addr {
  font-size: 85%;
  color: #999;
  width: 100px;
  white-space: nowrap;
  margin-right: 3px;
  /*
          &::before {
              content: '(';
          }
          &::after {
              content: ')';
          }
  */
}

.input-list {
  border: solid 1px #ccc;
  margin: 0;
}

.input-list {
  padding: 0.5em;
}

.input-list .caption {
  padding: 0 1em;
  font-weight: bold;
}

.input-list .caption span {
  margin-left: 1em;
  font-weight: normal;
}

.input-list .item {
  margin: 0.5em 1em 1em 1em;
  position: relative;
  width: 100%;
  display: table;
}

.input-list .item .left {
  display: table-cell;
  width: 40%;
}

.input-list .item .right {
  display: table-cell;
  width: 60%;
}

.input-list .item .right > .form-control {
  width: 94%;
}

.input-list .item .row {
  margin-bottom: 0.5em;
}

.input-list.input-list-mt {
  margin-top: 1em;
}

.input-list + .input-list {
  border-top-width: 0;
  margin-top: 0;
}

/*
 * アイコン
 */

span[class*=sticon-] {
  width: 40px;
  height: 40px;
  display: inline-block;
  background-size: cover;
}

/* 水道：上下水道 */

.sticon-water_supply {
  background-image: url("/assets/images/sticon/water_supply_0.svg");
}

.sticon-water_supply.s1 {
  background-image: url("/assets/images/sticon/water_supply_1.svg");
}

.sticon-water_supply.s9 {
  background-image: url("/assets/images/sticon/water_supply_9.svg");
}

/*  地区計画"　*/

.sticon-district_planning {
  background-image: url("/assets/images/sticon/district_planning_0.svg");
}

.sticon-district_planning.s1 {
  background-image: url("/assets/images/sticon/district_planning_1.svg");
}

.sticon-district_planning.s9 {
  background-image: url("/assets/images/sticon/district_planning_9.svg");
}

/*  はにわ：文化埋蔵 */

.sticon-haniwa {
  background-image: url("/assets/images/sticon/haniwa_0.svg");
}

.sticon-haniwa.s1 {
  background-image: url("/assets/images/sticon/haniwa_1.svg");
}

.sticon-haniwa.s9 {
  background-image: url("/assets/images/sticon/haniwa_9.svg");
}

/*  道路：都計道路　*/

.sticon-road {
  background-image: url("/assets/images/sticon/road_0.svg");
}

.sticon-road.s1 {
  background-image: url("/assets/images/sticon/road_1.svg");
}

.sticon-road.s9 {
  background-image: url("/assets/images/sticon/road_9.svg");
}

/*  風：風致地区　*/

.sticon-wind {
  background-image: url("/assets/images/sticon/wind_0.svg");
}

.sticon-wind.s1 {
  background-image: url("/assets/images/sticon/wind_1.svg");
}

.sticon-wind.s9 {
  background-image: url("/assets/images/sticon/wind_9.svg");
}

/*  高低差：高低差　*/

.sticon-dih {
  background-image: url("/assets/images/sticon/dih_0.svg");
}

.sticon-dih.s1 {
  background-image: url("/assets/images/sticon/dih_1.svg");
}

.sticon-dih.s9 {
  background-image: url("/assets/images/sticon/dih_9.svg");
}

/*  地すべり：地滑り　*/

.sticon-landslide {
  background-image: url("/assets/images/sticon/landslide_0.svg");
}

.sticon-landslide.s1 {
  background-image: url("/assets/images/sticon/landslide_1.svg");
}

.sticon-landslide.s9 {
  background-image: url("/assets/images/sticon/landslide_9.svg");
}

/*  宅地造成区域法　*/

.sticon-residential_land_development {
  background-image: url("/assets/images/sticon/residential_land_development_0.svg");
}

.sticon-residential_land_development.s1 {
  background-image: url("/assets/images/sticon/residential_land_development_1.svg");
}

.sticon-residential_land_development.s9 {
  background-image: url("/assets/images/sticon/residential_land_development_9.svg");
}

/*  毒：土壌汚染　*/

.sticon-poison {
  background-image: url("/assets/images/sticon/poison_0.svg");
}

.sticon-poison.s1 {
  background-image: url("/assets/images/sticon/poison_1.svg");
}

.sticon-poison.s9 {
  background-image: url("/assets/images/sticon/poison_9.svg");
}

/*  家 */

.sticon-house1 {
  background-image: url("/assets/images/sticon/house1.svg");
}

.sticon-house2 {
  background-image: url("/assets/images/sticon/house2.svg");
}

.buypurchase_table {
  width: auto;
}

.buypurchase_table th,
.buypurchase_table td {
  width: 150px;
}

.buypurchase_table th.auto,
.buypurchase_table td.auto {
  width: auto;
}

/*
 * 買付作成・契約書作成共通
 *
 */

.cards-purchase {
  margin: 2em 0;
}

.cards-purchase .card {
  margin-bottom: 2em;
  border-color: #191970;
}

.cards-purchase .card .card-header {
  color: #fff;
  background: #191970;
}

.purchase-input .tab-content {
  padding: 1em 0 0 0;
  border: none;
}

.purchase-input .card-body .form-group .col-9 .row {
  margin: 0.2em 0;
}

.purchase-input .card-body .indent1 {
  padding-left: 2em;
}

.purchase-input .card-body .form-check-answer .form-check {
  margin-bottom: 0.1em;
}

.purchase-input .card-body .form-check-answer .form-check .form-check-label {
  margin-left: 2em;
  position: relative;
}

.purchase-input .card-body .form-check-answer .form-check .form-check-label .answer {
  position: absolute;
  margin-left: -1.5em;
}

.purchase-input .card-body .incomplete_memo .form-text {
  margin-top: 0.7em;
}

.purchase-input .sub-label {
  font-weight: bold;
  margin: 0.5em 0 0.2em 0;
}

.purchase-input .checkboxes .sub-label {
  background: #eee;
  padding: 0.2em 0.4em;
  margin: 0.5em 0;
}

.purchase-input .checkboxes .form-check {
  margin-left: 1.5em;
  margin-bottom: 0.5em;
  padding-left: 0.5em;
}

.purchase-input .checkboxes .freetext {
  position: relative;
  margin-bottom: 0.5em;
}

.purchase-input .checkboxes .freetext .form-control {
  width: calc(100% - 36px);
}

.purchase-input .checkboxes .freetext .button {
  display: block;
  position: absolute;
  top: 12px;
  right: 7px;
  cursor: pointer;
}

/*
 * A1
 * PJシート＆チェックリスト
 *
 */

.a1 .table-general {
  width: 100%;
  margin: 0.5em 0;
}

.a1 .table-general th {
  text-align: center;
  font-weight: normal;
  padding: 0 0 0;
}

.a1 .table-general td {
  width: 25%;
  padding: 0.15rem 0.75rem 1.25rem 0.75rem;
}

.a1 .table-general td .row .col-4 {
  white-space: nowrap;
}

.a1 .table-checklist {
  width: 100%;
  margin: 0.5em 0;
}

.a1 .table-checklist th {
  text-align: center;
  font-weight: normal;
  padding: 0 0 0;
}

.a1 .table-checklist td {
  width: 20%;
  padding: 0.15rem 0.75rem 1.25rem 0.75rem;
}

.a1 .table-checklist td .row .col-4 {
  white-space: nowrap;
}

.a1 .table-purchase .first {
  width: 25%;
  font-weight: 700;
  text-align: center;
}

.a1 .table-purchase .first .form-control {
  width: 100%;
}

.a1 .table-purchase .second {
  width: 35%;
  min-width: 444px;
}

.a1 .table-purchase .third {
  width: 30%;
}

.a1 .table-purchase th,
.a1 .table-purchase td {
  position: relative;
}

.a1 .table-purchase th .form-control,
.a1 .table-purchase td .form-control {
  margin: 0 0.2em;
  display: inline-block;
  width: 100px;
}

.a1 .table-purchase th .form-control.memo,
.a1 .table-purchase td .form-control.memo {
  width: 200px;
}

.a1 .table-purchase th .form-control.dummy,
.a1 .table-purchase td .form-control.dummy {
  background: red;
  border: solid 1px #fff;
}

.a1 .table-purchase th .btn-auto,
.a1 .table-purchase th .btn-remove,
.a1 .table-purchase td .btn-auto,
.a1 .table-purchase td .btn-remove {
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  border: none;
}

.a1 .table-purchase th .btn-remove,
.a1 .table-purchase td .btn-remove {
  background-color: #fee;
  color: #c00;
}

.a1 .table-purchase th span {
  font-weight: normal;
  display: block;
}

.a1 .table-purchase tbody tr th {
  border-top-width: 0;
}

.a1 .tabmemo {
  height: 4em;
}

.a1 .table-plan-reference {
  margin: 1em 0;
  width: 600px;
}

.a1 .table-plan-reference th {
  width: 120px;
  background: #eee;
}

.a1 .nav-tabs {
  margin-top: 2em;
}

.a1 .table-plan-list {
  margin: 1em 0;
}

.a1 .table-plan-list .section {
  width: 40px;
  white-space: nowrap;
}

.a1 .table-plan-list .reference {
  width: 120px;
}

.a1 .table-plan-list .plan {
  position: relative;
}

.a1 .table-plan-list .plan .btn-copy {
  font-size: 80%;
  position: absolute;
  top: 14px;
  right: 16px;
  text-align: center;
  padding: 4px 6px;
  border: none;
  background: none;
}

.a1 .table-plan-list .plan .btn-copy:hover {
  color: #00f;
}

.a1 .table-plan-list .unitprice {
  width: 160px;
}

.a1 .table-plan-list .fee2 select {
  width: 80px;
}

.a1 .table-plan-list .fee2 .add_button,
.a1 .table-plan-list .fee2 .remove_button {
  position: absolute;
  left: auto;
  right: 0;
  top: 40%;
}

.a1 .table-plan-list td .btn-auto {
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  border: none;
}

.a1 .table-plan-list thead th {
  background-color: #f5f5f5;
}

.a1 .table-plan-total {
  margin: 1em 0;
}

.a1 .table-plan-total th {
  background-color: #fee;
  color: #c00;
  width: 20%;
}

.a1 #collapseThree .caption {
  font-weight: bold;
}

.a1 #collapseThree .caption small {
  margin-left: 1em;
}

/*
 * .g3-1
 * チェックリスト
 *
 */

.g3-1 .caption {
  padding: 0;
  margin: 0.4em 0.2em;
}

.g3-1 .table-qa-list {
  width: 100%;
  margin-top: 10px;
}

.g3-1 .table-qa-list .disable {
  color: #aaa;
}

.g3-1 .table-qa-list td {
  height: 4em;
  vertical-align: top;
}

.g3-1 .table-qa-list td .badge {
  margin-right: 0.5em;
}

.g3-1 .table-qa-list .id {
  display: inline-block;
  width: 50px;
  text-align: left;
}

.g3-1 .table-qa-list .operation {
  white-space: nowrap;
}

.g3-1 .table-qa-list .operation .fas {
  margin-right: 5px;
}

.g3-1 .table-qa-list .type {
  width: 150px;
}

/*
 * .g3-2
 * チェックリスト編集（新規）
 *
 */

.g3-2 textarea {
  height: 7em;
}

/*
 * .g3-3
 * チェックリスト編集（新規）
 *
 */

.g3-3 .table-qa-categories .id {
  width: 40px;
  white-space: nowrap;
  text-align: center;
  vertical-align: top;
  padding-top: 0.9rem;
}

.g3-3 .table-qa-categories .buttons {
  display: none;
}

.g3-3 .table-qa-categories .editable .buttons {
  display: block;
}

div + .card-subheader01 {
  margin-top: 1.5em;
}

.card-subheader01 {
  color: #fff;
  background: navy;
  padding: 0.5rem;
  position: relative;
  width: 100%;
}

.card-subheader01 .form-check-label {
  font-weight: 600;
  color: #fff !important;
}

.card-subheader01 .totals {
  position: absolute;
  display: table;
  width: 400px;
  right: 0.5rem;
  top: 0;
  padding: 0;
}

.card-subheader01 .totals .box {
  display: table-cell;
  width: 33.333%;
  padding: 0.5rem;
  position: relative;
}

.card-subheader01 .totals .box label {
  width: 100px;
  display: inline;
}

.card-subheader01 .totals .box .value {
  display: inline;
}

.card-subheader01 .totals .box .unit {
  margin-left: 0.25em;
  font-size: 85%;
}

/*
 * A4 アシストA & A5 アシストB共通
 *
 */

.table-whole-hover:hover td {
  background-color: #ffe;
}

.table-parcel-list {
  table-layout: fixed;
  min-width: 1110px;
}

.table-parcel-list td {
  position: relative;
}

.table-parcel-list .row-control-buttons {
  display: none;
  position: absolute;
  height: 1em;
  top: 0;
  right: -7px;
  bottom: 0;
  margin: auto;
  font-size: 110%;
  line-height: 1;
  z-index: 1;
}

.table-parcel-list tr:hover .row-control-buttons,
.parcel_building:hover .row-control-buttons {
  display: block;
}

.parcel_address {
  width: 150px;
}

.parcel_address select.form-control {
  width: 100%;
}

.parcel_address input.form-control {
  width: calc(100% - 20px);
}

.parcel_number {
  width: 110px;
}

.parcel_land_category {
  width: 90px;
}

.parcel_use_district {
  width: 130px;
}

.parcel_project_owner {
  width: 230px;
}

.parcel_buil_number {
  width: 180px;
}

.parcel_buil_type {
  width: 120px;
}

.parcel_buil_attach {
  width: 90px;
}

.parcel_buil_date {
  width: 230px;
}

.parcel_buil_structure {
  width: 260px;
}

.parcel_buil_roof {
  width: 190px;
}

.card + .incomplete_memo {
  margin-top: 1em;
}

/*
 * A4 アシストA
 *
 */

.a4 .table-small td i {
  font-size: 0.9rem;
}

.a4 .totals .input-group-text {
  font-size: 0.8rem;
}

/*
 * A5 アシストB
 *
 */

.a5 .table-small td i {
  font-size: 0.9rem;
}

.a5 .totals .input-group-text {
  font-size: 0.8rem;
}

/*
 * A12 仕入契約
 *
 */

.a12 .table-parcel-list .parcel_owner {
  width: 110px;
}

.a12 .table-parcel-list .parcel_contractor {
  width: 230px;
}

.a12 .table-parcel-list .parcel_type {
  width: 80px;
}

.a12 .table-parcel-list .parcel_share {
  width: 120px;
}

.a12 .table-parcel-list .building_usetype {
  width: 120px;
}

.a12 .table-parcel-list .parcel_size_and_floor_count {
  width: 180px;
}

.a12 .table-parcel-list .parcel_address_join {
  width: 270px;
}

.a12 .table-parcel-list .parcel_th {
  width: 150px;
}

.a12 .table-parcel-list .parcel_ctl {
  width: 50px;
}

.a12 .table-parcel-list .mediation_dealtype {
  width: 110px;
}

.a12 .table-parcel-list .mediation_balance {
  width: 70px;
}

.a12 .table-parcel-list .mediation_reward {
  width: 130px;
}

.a12 .table-parcel-list .mediation_reward_reference {
  width: 110px;
}

.a12 .table-parcel-list .mediation_date {
  width: 110px;
}

.a12 .table-parcel-list .mediation_status {
  width: 70px;
}

.a12 .table-parcel-list .mediation_bank {
  width: 150px;
}

.a12 .table-parcel-list .mediation_trader {
  width: auto;
}

/*
 * A12 仕入契約作成
 *
 */

.a13 {
  /* rowspanでborderが一部消えるバグ対応 */
}

.a13 .table-parcel-list {
  table-layout: fixed;
  min-width: 1110px;
}

.a13 .table-parcel-list .row-control-buttons {
  display: none;
  position: absolute;
  height: 1em;
  top: 0;
  right: -7px;
  bottom: 0;
  margin: auto;
  font-size: 110%;
  line-height: 1;
  z-index: 1;
}

.a13 .table-parcel-list tr:hover .row-control-buttons,
.a13 .table-parcel-list .parcel_building:hover .row-control-buttons {
  display: block;
}

.a13 .table-parcel-list .parcel_address {
  width: 150px;
}

.a13 .table-parcel-list .parcel_address select.form-control {
  width: 100%;
}

.a13 .table-parcel-list .parcel_address input.form-control {
  width: calc(100% - 20px);
}

.a13 .table-parcel-list .parcel_number {
  width: 110px;
}

.a13 .table-parcel-list .parcel_land_category {
  width: 90px;
}

.a13 .table-parcel-list .parcel_use_district {
  width: 130px;
}

.a13 .table-parcel-list .parcel_build_ratio,
.a13 .table-parcel-list .parcel_floor_ratio {
  width: 110px;
}

.a13 .table-parcel-list .parcel_size,
.a13 .table-parcel-list .parcel_survey_size {
  width: 90px;
}

.a13 .table-parcel-list .parcel_project_owner {
  width: 230px;
}

.a13 .table-parcel-list .parcel_buil_number {
  width: 180px;
}

.a13 .table-parcel-list .parcel_buil_type {
  width: 120px;
}

.a13 .table-parcel-list .parcel_buil_attach {
  width: 90px;
}

.a13 .table-parcel-list .parcel_buil_date {
  width: 230px;
}

.a13 .table-parcel-list .parcel_buil_structure {
  width: 260px;
}

.a13 .table-parcel-list .parcel_buil_roof {
  width: 190px;
}

.a13 .table-small td i {
  font-size: 0.9rem;
}

.a13 .totals .input-group-text {
  font-size: 0.8rem;
}

.a13 .parcel_building:hover td,
.a13 .parcel_risks:hover td {
  background-color: #ececec;
}

.a13 .parcel_owner {
  width: 110px;
}

.a13 .parcel_type {
  width: 80px;
}

.a13 .parcel_share {
  width: 120px;
}

.a13 .building_usetype {
  width: 120px;
}

.a13 .parcel_size {
  width: 180px;
}

.a13 .parcel_address_join {
  width: 270px;
}

.a13 .parcel_th {
  width: 150px;
}

.a13 .parcel_ctl {
  width: 50px;
}

.a13 .table-small th .form-control-w-xxxl,
.a13 .table-small td .form-control-w-xxxl {
  width: 310px;
}

.a13 .table-parcel-list thead th,
.a13 .table-parcel-list tbody td {
  position: static;
}

.a13 .buypurchase_table {
  width: auto;
}

.a13 .buypurchase_table th,
.a13 .buypurchase_table td {
  width: 150px;
}

.a13 .input-group-text-xs {
  padding: 0.1rem 0.15rem;
  font-size: 0.7rem;
  line-height: 1.2;
  color: #495057;
}

.a13 .input-group-small > .custom-file,
.a13 .input-group-small > .custom-select,
.a13 .input-group-small > .form-control {
  flex: none;
}

.a13 .road-type-contents {
  margin: 0;
}

.a13 .road-type-contents li {
  margin: 0;
  position: relative;
}

.a13 .road-type-contents li::before {
  content: "\25A1";
  position: absolute;
  left: -2.7em;
  margin: auto;
  top: 0;
  bottom: 0;
  height: 100%;
}

.a13 .road-type-contents li.checked::before {
  content: "\25A0";
}

.a13 .road-type-contents li.input {
  margin: 0.3em 0;
}

.a13 .road-type-contents li.input::before {
  top: 18px;
}

.a13 ol.kakko {
  list-style-type: none;
  margin: 0 0 1.5em 0;
  padding: 0 0 0 3em;
}

.a13 ol.kakko li {
  counter-increment: cnt;
}

.a13 ol.kakko li:before {
  content: "(" counter(cnt) ") ";
  display: inline-block;
  margin-left: -2.5em;
  width: 2.5em;
}

/* 共通テーブル（現状A１６＆B2で使用） */

.table-expense-list {
  table-layout: fixed;
  min-width: 1110px;
}

.table-expense-list .expense_name {
  width: 13%;
}

.table-expense-list .expense_decided {
  width: 10%;
}

.table-expense-list .expense_date,
.table-expense-list .expense_paid {
  width: 8%;
}

.table-expense-list .expense_budget,
.table-expense-list .expense_payee,
.table-expense-list .expense_note,
.table-expense-list .expense_bank,
.table-expense-list .expense_status {
  width: 11%;
}

.table-expense-list .expense_tax {
  width: 12%;
}

td.position-relative .btn_overflow {
  position: absolute;
  right: -7px;
}

.table-small-x th,
.table-small-x td {
  font-size: 0.7rem;
  font-weight: normal;
  padding: 0.15rem 0.2rem;
  vertical-align: middle;
}

.table-small-x th .form-group,
.table-small-x td .form-group {
  margin-bottom: 0.3em;
}

.table-small-x th .form-group:last-of-type,
.table-small-x td .form-group:last-of-type {
  margin-bottom: 0;
}

.table-small-x th .form-control,
.table-small-x td .form-control {
  width: auto;
  max-width: 100%;
  font-size: 0.7rem;
  padding: 0.1rem 0.15rem;
  display: inline-block;
  height: calc(1.5rem + 1px);
}

.table-small-x th .form-control-1btn,
.table-small-x td .form-control-1btn {
  width: calc(100% - 15px);
}

.table-small-x th .form-control-2btn,
.table-small-x td .form-control-2btn {
  width: calc(100% - 30px);
}

.table-small-x th .form-control-3btn,
.table-small-x td .form-control-3btn {
  width: calc(100% - 45px);
}

.table-small-x th .form-control-w-xs,
.table-small-x td .form-control-w-xs {
  width: 30px;
}

.table-small-x th .form-control-w-sm,
.table-small-x td .form-control-w-sm {
  width: 50px;
}

.table-small-x th .form-control-w-md,
.table-small-x td .form-control-w-md {
  width: 70px;
}

.table-small-x th .form-control-w-lg,
.table-small-x td .form-control-w-lg {
  width: 80px;
}

.table-small-x th .form-control-w-xl,
.table-small-x td .form-control-w-xl {
  width: 110px;
}

.table-small-x thead th {
  white-space: nowrap;
}

/* ここまで融資・入出金(B2)でも利用している */

@media print {
  .navbar,
  .nav-buttons,
  .page-title .tb,
  .noprint {
    display: none;
  }
}

/*
 * B
 * マスター
 *
 */

.b .icon-comment,
.b .icon-comment-text {
  left: 23px;
  top: -18px;
  z-index: 99;
}

.b table.mastar-table {
  margin: 25px 0 0 0;
  min-width: 1110px;
}

.b table.mastar-table .master_id {
  width: 5%;
}

.b table.mastar-table .master_number {
  width: 7%;
}

.b table.mastar-table .master_status {
  width: 5%;
}

.b table.mastar-table .master_book_price,
.b table.mastar-table .master_section_price_total,
.b table.mastar-table .master_section_profit_total,
.b table.mastar-table .master_loan_balance,
.b table.mastar-table .master_loan_day {
  width: 7%;
}

.b table.mastar-table th {
  background: #eee;
}

.b table.mastar-table td.master_status,
.b table.mastar-table td.master_book_price,
.b table.mastar-table td.master_section_price_total,
.b table.mastar-table td.master_section_profit_total,
.b table.mastar-table td.master_loan_balance,
.b table.mastar-table td.master_loan_day {
  text-align: right;
}

.b1 .table-section-list {
  table-layout: fixed;
  min-width: 1110px;
}

.b1 .table-section-list .section_id {
  width: 3%;
}

.b1 .table-section-list .section_size {
  width: 14%;
}

.b1 .table-section-list .section_price_budget,
.b1 .table-section-list .section_price_decided,
.b1 .table-section-list .section_book_price,
.b1 .table-section-list .section_loan_book_price {
  width: 8%;
}

.b1 .table-section-list .section_buid_condition {
  width: 8%;
}

.b1 .table-section-list .section_profit_budget_ratio,
.b1 .table-section-list .section_profit_decided_ratio {
  width: 7%;
}

.b1 .table-section-list .section_status {
  width: 4%;
}

.b1 .table-section-list .section_book_price_type {
  width: 11%;
}

.b1 .table-section-list .section_division {
  width: 10%;
}

.b1 .table-section-list .section_name {
  width: 4%;
}

.b1 .table-section-list .sold td {
  background-color: #eef;
}

.b1 .table-section-list .abolition td {
  background-color: #ccc;
}

.b2 {
  /* 仕入契約者情報 */
  /* 融資情報 */
}

.b2 .table-contractor-list-loan {
  table-layout: fixed;
  min-width: 1110px;
}

.b2 .table-contractor-list-loan .contractor {
  width: 120px;
}

.b2 .table-contractor-list-loan .contractor_address {
  width: 320px;
}

.b2 .table-contractor-list-loan .contractor_identification {
  width: 150px;
}

.b2 .table-contractor-list-loan .contractor_building_guarantee {
  width: auto;
}

.b2 .table-repayment-list {
  table-layout: fixed;
  min-width: 1110px;
}

.b2 .table-repayment-list .repayment_section {
  width: 4%;
}

.b2 .table-repayment-list .repayment_money,
.b2 .table-repayment-list .repayment_date,
.b2 .table-repayment-list .repayment_loan_bookprice_reference {
  width: 8%;
}

.b2 .table-repayment-list .repayment_loan_bookprice {
  width: 12%;
}

.b2 .table-repayment-list .repayment_account {
  width: 14%;
}

.b2 .table-repayment-list .repayment_note {
  width: 28%;
}

.b2 .table-repayment-list .repayment_status {
  width: 13%;
}

.b2 .table-small th .form-control-w-xxxl,
.b2 .table-small td .form-control-w-xxxl {
  width: 310px;
}

/* 基本データ */

/* 事業清算 */

.b4 table.section-table1 {
  margin: 20px 0 0 0;
  min-width: 1110px;
}

.b4 table.section-table2 {
  margin: 0;
  min-width: 1110px;
  table-layout: fixed;
}

.b4 table.section-table2 .section_id {
  width: 6%;
}

.b4 table.section-table2 .section_number {
  width: 14%;
}

.b4 table.section-table2 .loan_days,
.b4 table.section-table2 .section_size {
  width: 10%;
}

.b4 table.section-table2 .section_book_price,
.b4 table.section-table2 .section_price,
.b4 table.section-table2 .section_profit,
.b4 table.section-table2 .section_loan_balance,
.b4 table.section-table2 .section_loan_budget,
.b4 table.section-table2 .section_loan {
  width: 10%;
}

/* 区画清算 */

.b5 table.payoff-table tbody td {
  text-align: right;
}

/*
 * c3 販売契約作成
 *
 */

.c3 {
  /* rowspanでborderが一部消えるバグ対応 */
}

.c3 .table-parcel-list {
  table-layout: fixed;
  min-width: 1110px;
}

.c3 .table-parcel-list .row-control-buttons {
  display: none;
  position: absolute;
  height: 1em;
  top: 0;
  right: -7px;
  bottom: 0;
  margin: auto;
  font-size: 110%;
  line-height: 1;
  z-index: 1;
}

.c3 .table-parcel-list tr:hover .row-control-buttons,
.c3 .table-parcel-list .parcel_building:hover .row-control-buttons {
  display: block;
}

.c3 .table-parcel-list .parcel_address {
  width: 150px;
}

.c3 .table-parcel-list .parcel_address select.form-control {
  width: 100%;
}

.c3 .table-parcel-list .parcel_address input.form-control {
  width: calc(100% - 20px);
}

.c3 .table-parcel-list .parcel_number {
  width: 110px;
}

.c3 .table-parcel-list .parcel_land_category {
  width: 90px;
}

.c3 .table-parcel-list .parcel_use_district {
  width: 130px;
}

.c3 .table-parcel-list .parcel_build_ratio,
.c3 .table-parcel-list .parcel_floor_ratio {
  width: 110px;
}

.c3 .table-parcel-list .parcel_size,
.c3 .table-parcel-list .parcel_survey_size {
  width: 90px;
}

.c3 .table-parcel-list .parcel_project_owner {
  width: 230px;
}

.c3 .table-parcel-list .parcel_buil_number {
  width: 180px;
}

.c3 .table-parcel-list .parcel_buil_type {
  width: 120px;
}

.c3 .table-parcel-list .parcel_buil_attach {
  width: 90px;
}

.c3 .table-parcel-list .parcel_buil_date {
  width: 230px;
}

.c3 .table-parcel-list .parcel_buil_structure {
  width: 260px;
}

.c3 .table-parcel-list .parcel_buil_roof {
  width: 190px;
}

.c3 .table-small td i {
  font-size: 0.9rem;
}

.c3 .totals .input-group-text {
  font-size: 0.8rem;
}

.c3 .parcel_building:hover td,
.c3 .parcel_risks:hover td {
  background-color: #ececec;
}

.c3 .parcel_owner {
  width: 110px;
}

.c3 .parcel_type {
  width: 80px;
}

.c3 .parcel_share {
  width: 120px;
}

.c3 .building_usetype {
  width: 120px;
}

.c3 .parcel_size {
  width: 180px;
}

.c3 .parcel_address_join {
  width: 270px;
}

.c3 .parcel_th {
  width: 150px;
}

.c3 .parcel_ctl {
  width: 50px;
}

.c3 .table-small th .form-control-w-xxxl,
.c3 .table-small td .form-control-w-xxxl {
  width: 310px;
}

.c3 .table-parcel-list thead th,
.c3 .table-parcel-list tbody td {
  position: static;
}

.c3 .buypurchase_table {
  width: auto;
}

.c3 .buypurchase_table th,
.c3 .buypurchase_table td {
  width: 150px;
}

.c3 .input-group-text-xs {
  padding: 0.1rem 0.15rem;
  font-size: 0.7rem;
  line-height: 1.2;
  color: #495057;
}

.c3 .input-group-small > .custom-file,
.c3 .input-group-small > .custom-select,
.c3 .input-group-small > .form-control {
  flex: none;
}

.c3 .road-type-contents {
  margin: 0;
}

.c3 .road-type-contents li {
  margin: 0;
  position: relative;
}

.c3 .road-type-contents li::before {
  content: "\25A1";
  position: absolute;
  left: -2.7em;
  margin: auto;
  top: 0;
  bottom: 0;
  height: 100%;
}

.c3 .road-type-contents li.checked::before {
  content: "\25A0";
}

.c3 .road-type-contents li.input {
  margin: 0.3em 0;
}

.c3 .road-type-contents li.input::before {
  top: 18px;
}

.c3 ol.kakko {
  list-style-type: none;
  margin: 0 0 1.5em 0;
  padding: 0 0 0 3em;
}

.c3 ol.kakko li {
  counter-increment: cnt;
}

.c3 ol.kakko li:before {
  content: "(" counter(cnt) ") ";
  display: inline-block;
  margin-left: -2.5em;
  width: 2.5em;
}

/*
 * .g3-1
 * チェックリスト
 *
 */

.g3-1 .caption {
  padding: 0;
  margin: 0.4em 0.2em;
}

.g3-1 .table-qa-list {
  width: 100%;
  margin-top: 10px;
}

.g3-1 .table-qa-list .disable {
  color: #aaa;
}

.g3-1 .table-qa-list td {
  height: 4em;
  vertical-align: top;
}

.g3-1 .table-qa-list td .badge {
  margin-right: 0.5em;
}

.g3-1 .table-qa-list .id {
  display: inline-block;
  width: 50px;
  text-align: left;
}

.g3-1 .table-qa-list .operation {
  white-space: nowrap;
}

.g3-1 .table-qa-list .operation .fas {
  margin-right: 5px;
}

.g3-1 .table-qa-list .type {
  width: 150px;
}

/*
 * .g3-2
 * チェックリスト編集（新規）
 *
 */

.g3-2 textarea {
  height: 7em;
}

/*
 * .g3-3
 * チェックリスト編集（新規）
 *
 */

.g3-3 .table-qa-categories .id {
  width: 40px;
  white-space: nowrap;
  text-align: center;
  vertical-align: top;
  padding-top: 0.9rem;
}

.g3-3 .table-qa-categories .buttons {
  display: none;
}

.g3-3 .table-qa-categories .editable .buttons {
  display: block;
}

/*
 *  このCSSは開発開始前の画面仕様でのみ使用する
 */

.spec #toggle-btn {
  position: fixed;
  right: 15px;
  top: 55px;
  z-index: 10000;
}

.spec .port-tooltip {
  position: absolute;
  display: block;
  z-index: 9999;
  color: #fff;
  background: #00f;
  padding: 2px 4px;
  cursor: pointer;
  opacity: 0.5;
}

.spec .port-tooltip:hover {
  opacity: 0.1;
}

@media print {
  .navbar,
  .nav-buttons,
  .page-title .tb,
  .noprint {
    display: none;
  }
}

