@charset "UTF-8";
body {
  font-family: "IBM Plex Sans JP",sans-serif;
  font-size: .875rem;
  /* font-size: 1rem; */
  font-weight: 400;
  letter-spacing: 0;
  /* line-height: var(--bs-body-line-height); */
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background-color: #f0f0f0;
  /* word-break: keep-all; */
}

/* -----全体の構成/共通系----- */

/* 構成 */

.app-common {
  /* width: 100vw; */
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.main-common {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  margin-top: 51px;
}

/* 色系統 */

/* ベース色 */
.menu-button-wrap, .sidebar, .sidebar .sidebar-menu, .treeview-menu {
  background-color: #E29923;
}

/* 読専色 */
.read-color {
  background-color: #FFFCF3;
}

/* お客様色 */

.customer-color-dark {
  background-color: #972727!important;
}

.customer-color {
  background-color: #cb5f5f!important;
}

.customer-color-light {
  background-color: #FFD8D8!important;
}


/* 契約色 */

.agreement-color-dark {
  background-color: #225494!important;
}

.agreement-color {
  background-color: #5F85B6!important;
}

.agreement-color-light {
  background-color: #BEC7D3!important;
}

/* 工事色 */

.kouji-color-dark {
  background-color: #179374!important;
  color: #fff;
}

.kouji-color {
  background-color: #56B59D!important;
  color: #fff;
}

.kouji-color-light {
  background-color: #D8FDF4!important;
}

/* 財務色 */

.finance-color-dark {
  background-color: #043752;
  /* background-color: #6533CC; */
}

.finance-color {
  background-color: #165D83;
  /* background-color: #8F69DD; */
}

.finance-color-light {
  background-color: #A9CDE1!important;
}

/* その他マスタ等色 */

.other-color-dark {
  background-color: #6F5334;
}

.other-color {
  background-color: #A5896A;
}

.other-color-light {
  background-color: #DEC9B2;
}

/* その他 */

.alert-color, .granhouse-red {
  /* color: #ff0000; */
  color: #CF1131!important;
}

.alert-background-color {
    background-color: #f5ceda!important;
}

.disable-color {
    /* color: #ff0000; */
    color: #000!important;
}

.disable-background-color {
    background-color: #dfdfdf!important;
}

/* レイアウト */

.flex-row {
  display: flex;
	flex-wrap: wrap;
  justify-items: center;
}

.flex-row > div {
  margin-right: 2rem;
  margin-bottom: 1rem;
}

.flex-row > div:last-of-type {
  margin-right: 0;
}

.flex-row > div:has(.area-content.card) {
  margin-bottom: 0;
}

.flex-column {
  display: flex;
  flex-direction: column;
  justify-items: center;
}

.flex-column > div,
.flex-column > form > div {
  margin-bottom: 1rem;
}

.flex-column > div:last-of-type:not(.area-content.card, .screen-title-area),
.flex-column > div:has(.area-content.card, > dl) {
  margin-bottom: 0;
}

/* .flex-row.flex-no-width-margins > div {
  flex-grow: 1;
} */

.flex-row.width-equal-division > * {
  flex-grow: 1;
  /* width: 100%; */
}

/* .flex-row.width-equal-division {
  margin-bottom: 1rem;
} */

/* .flex-row.width-equal-division:last-of-type {
  margin-bottom: 0;
} */

.flex-row.width-equal-division.flex-col-2 > * {
  width: calc((100% - 2rem) / 2);
}

.flex-row.width-equal-division.flex-col-3 > * {
  width: calc((100% - 4rem) / 3);
}

.flex-row.width-equal-division > * > * {
  width: 100%;
}

.flex-row.width-equal-division.pdf-split-screen > .flex-column:nth-of-type(1) {
  flex-basis: 50%;
}

.flex-row.width-equal-division.pdf-split-screen > .flex-column:nth-of-type(2) {
  flex-basis: calc(50% - 2rem);
}

.flex-row.space-between,
.flex-column.space-between {
  justify-content: space-between;
}

.flex-row.space-around,
.flex-column.space-around {
  justify-content: space-around;
}

.flex-row.align-start,
.flex-column.align-start {
  align-items: flex-start;
}

.wrap-reverse {
  flex-flow: wrap-reverse!important;
}

.flex-row.align-center,
.flex-column.align-center {
  align-items: center;
}

.dl-flex dl {
  margin-right: 1rem;
  margin-bottom: 0.5rem;
}

.flex-row.align-end {
  justify-content: flex-end;
}

.flex-row.align-end dl {
  margin-right: 0!important;
  margin-left: 1rem;
}

.flex-row.align-end dl:first-of-type {
  margin-left: 0;
}

.flex-row.align-end dl:last-of-type {
  margin-left: 1rem!important;
}

.dt-dd-flex dl {
  display: flex;
  justify-items: center;
  /* flex-grow: 1; */
}

.in-dl-shadow dl {
  box-shadow: 1px 1px 3px 0 rgb(0 0 0 / 50%);
}

/* .dt-dd-flex dl dt {
  padding-top: 7px;
}

table .dt-dd-flex dl dt {
  padding-top: 1.5px;
} */

/* その他 */

.sp-only, .narrow-sp-only {
  display: none!important;
}

.sp-only-disp-flex, .narrow-sp-only-disp-flex {
  display: none!important;
}

.fixed {
  position: fixed;
}

.disp-inline {
  display: inline;
}

.disp-inline-flex {
    display: inline-flex;
}

.disp-inherit {
  display: inherit;
}

.elem-hide {
  display: none;
}

.cursor-point {
  cursor: pointer;
}

.text-strong {
  font-weight: bold!important;
  font-size: 1em!important;
}

.full-width {
  width: 100%;
}

p.message-l {
  font-size:1rem;
  margin-bottom: 1rem;
}

p.message, p.message-m {
  font-size:1rem;
  margin-bottom: 1rem;
}

p.message-s {
  /* font-size:1rem; */
  margin-bottom: .5rem;
}

ul.supplement {
  list-style: none;
  padding-left: 0px;
}

.supplement {
  color: #8D959F;
  /* font-size: .75rem; */
  font-size: .825rem;
}

p.supplement {
  margin-bottom: 1rem;
  /* white-space: nowrap; */
}

p.supplement::before,
span.supplement::before,
ul.supplement li::before {
  content: "※ ";
}

p.supplement,
ul.supplement li {
  padding-left: 1.4em;
  text-indent: -1.4em;
}

.supplement.important {
  font-size: .825rem;
}

.word-break-keep-all {
  word-break: keep-all
}

.white-space-nowrap {
  white-space: nowrap;
  display: inherit;
}

.none-border-radius {
  border-radius: 0!important;
}

/* マージン／パディング系／寄せ */

.margin-0 { margin: 0!important; }
.margin-top-0 { margin-top: 0!important; }
.margin-right-0 { margin-right: 0!important; }
.margin-bottom-0 { margin-bottom: 0!important; }
.margin-left-0 { margin-left: 0!important; }

.padding-0 { padding: 0!important; }
.padding-top-0 { padding-top: 0!important; }
.padding-right-0 { padding-right: 0!important; }
.padding-bottom-0 { padding-bottom: 0!important; }
.padding-left-0 { padding-left: 0!important; }

.margin-left-auto {
  margin-left: auto;
}

.float-right {
  float: right;
}

.float-right + * {
  clear: both;
}

/* -----共通機能----- */

/* モーダル */

.modal-bg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(152, 152, 152, 0.7);
  width: 100%;
  height: 100%;
  z-index: 10;
}

.modal {
  display: none;
  position: fixed;
  z-index: 11;
  vertical-align: middle;
  /* top: 15%; */
  top: 50%;
  left: 50%;
  height: auto;
  width: auto;
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
  /* -webkit-transform: translate(-50%, -10%);
  transform: translate(-50%, -10%); */
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border: 1px solid rgba(0,0,0,.2);
  /* box-shadow: 1px 1px 3px 0 rgb(0 0 0 / 50%); */
  max-height: 750px;
  min-width: 350px;
}

.modal-title {
  margin-bottom: 1rem;
}

.modal-content {
  border: none;
}

.modal-content .button-area {
  margin-top: 2rem;
}

.common-modal {
  z-index: 12;
}

/* 通知モーダル */

/* .modal-info {
  top: 30%;
  left: 50%;
} */

.modal-info-title::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-right: 15px;
  background-image:url(/img/information.png);
  background-size: contain;
  vertical-align: middle;
}

.modal-info-content {
  padding: 10px;
}

.modal-info-message {
  font-size: 16px;
  margin-bottom: 40px;
}

/* 確認モーダル */

/* .modal-confirm {
  top: 30%;
  left: 50%;
} */

.modal-confirm-title::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-right: 15px;
  background-image:url(/img/confirm.png);
  background-size: contain;
  vertical-align: middle;
}

.modal-confirm-content {
  padding: 10px;
}

.modal-confirm-message {
  font-size: 16px;
  margin-bottom: 40px;
}

/* エラーモーダル */
/*
.modal-error {
  top: 30%;
  left: 50%;
} */

.modal-error-title::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-right: 15px;
  background-image:url(/img/error.png);
  background-size: contain;
  vertical-align: middle;
}

.modal-error-content {
  padding: 10px;
}

.modal-error-message {
  font-size: 16px;
  margin-bottom: 5px;
  color: #cb5f5f;
}

/* メール内容入力モーダル */
.modal-mail-input {
  /* overflow-x: initial;
  overflow-y: initial; */
  padding: 5px;
  /* width: 500px; */
  width: 70%;
  max-height: 90%;
}

.modal-mail-input .modal-mail-title {
  border-left: solid 4px #56B59D;
  padding-left: 7.5px;
}

.modal-mail-input .rw-form {
  margin-bottom: 5px;
}

.modal-mail-input .rw-form dt {
  width: 90px;
  background-color: #56B59D;
  color: #fff;
}

.modal-mail-input .rw-form dd {
  width: calc(100% - 90px);
  text-align: left;
  word-break: break-all;
}

.modal-mail-input .table-scroll,
.modal-mail-input .mail-address-area {
  /* height: 170px; */
  overflow-y: auto;
  margin-bottom: 1rem;
  /* border-bottom: #5F6368 1px dashed; */
}

/* .modal-mail-input .table-scroll::-webkit-scrollbar {
  display: none;
} */

.modal-mail-input .table-scroll thead th,
.modal-mail-input .mail-address-area thead th {
  background-color: #56B59D;
  color: #fff;
}

/* PDF */

.pdf-area {
  /* background-color: gainsboro; */
  background-color: #323639;
  /* border: solid 1px #444; */
  position: relative;
}

.pdf-area .none-disp-pdf {
  color: #a0aec0;
  font-size: 1.25rem;
  text-align: center;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  /* -webkit- transform: translateY(-50%) translateX(-50%); */
}

/* -----ヘッダ----- */

.header {
  height: 51px;
  background-color: #FFFCF3;
  /* box-sizing: border-box; */
  display: flex;
  border-bottom: 1px solid #E29923;
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: 6;
}

/* ロゴ */

.header .inner-title {
  padding: 10px;
}

.header .inner-title img {
  height: 30px;
  width: auto;
}

/* ユーザ名とベルマーク */

.header-profile {
  margin-left: auto;
  margin-right: 15px;
  padding: 10.5px 5px;
  white-space: nowrap;
  position: relative;
}

.header-profile .alert-img img {
  width: 30px;
  height: 30px;
  transform: rotate(15deg);
}

.header-profile .help-img img {
  width: 30px;
  height: 30px;
}

.header-profile a {
  text-decoration: none;
}

.profile-span-text {
  margin-right: 10px;
  vertical-align: middle;
}

.alert-count {
  position: relative;
  top: -5px;
  /* right: 35px; */
  left: 5px;
  border-radius: 7px;
  border: solid 2px #ff0000;
  /* width: 25px; */
  width: auto;
  height: 25px;
  background-color: #ff0000;
  z-index: 999;
  color: #fff;
  padding: 0px 6px;
  font-size: 14px;
  font-weight: bold;
  box-shadow: 1px 1.5px 1.5px 0 rgba(0, 0, 0, .1);
  /* 点滅 */
  /* -webkit-animation:blink 2.5s ease-in-out infinite alternate;
  -moz-animation:blink 2.5s ease-in-out infinite alternate;
  animation:blink 2.5s ease-in-out infinite alternate; */
}

.header-profile .alert-count {
  left: -8px;
}

/* サイドメニュー用の通知カウンタ */
.alert-count-sidebar {
  position: absolute;
  top: unset;
  left: unset;
  right: 5px;
  /* margin-top: 8px; */
  background-color: #ff0000;
  border: solid 2px #ff0000;
}

/* 点滅アニメーション */
.blinking {
  animation: flash 3s linear infinite;
  background: #fcefac;
}

/* 点滅エフェクト指定 */
/* @-webkit-keyframes blink{
    0% {opacity:0.5;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0.5;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0.5;}
    100% {opacity:1;}
} */

/* メニューボタン */

.menu-button {
  position: relative;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  margin-top: 12px;
  margin-left: 3px;
}

.menu-button-wrap {
  /* background-color: #C27D0E; */
  width: 50px;
  cursor: pointer;
}

/* 三本線のスタイル */
.menu-button span.menu-bar-1,
.menu-button span.menu-bar-2,
.menu-button span.menu-bar-3 {
  display: block;
  width: 22px;
  height: 2px;
  background: #444;
  position: absolute;
  left: 11px;
  transition: all 0.5s ease;
  background-color: #FFFFFF;
}

.menu-button .menu-bar-1 {
  top: 0px;
}

.menu-button .menu-bar-2 {
  top: 6px;
}

.menu-button .menu-bar-3 {
  top: 12px;
}

.menu-button .menu-text {
  position: absolute;
  left: 8px;
  bottom: 19px;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: bold;
}

/* -----サイドバー----- */

.sidebar {
  width: 200px;
  position: relative;
  transition: all 0.5s ease;
  box-shadow: 0 1.9px 2.5px rgba(0,0,0,.057),
              0 5px 6.1px rgba(0,0,0,.076),
              0 10.1px 11.4px rgba(0,0,0,.086),
              0 19.2px 19.8px rgba(0,0,0,.092);
  z-index: 5;
}

.sidebar.menu-collapse {
  width: 50px;
}

.sidebar.menu-collapse .menu {
  width: 50px;
}

.sidebar .sidebar-menu,
.sidebar-menu-list {
  /* font-size: 13px; */
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar .sidebar-menu>li {
  position: relative;
  border-bottom: dotted 1px #f2c06f;
}

.sidebar .sidebar-menu .menu-allow::before {
  position: absolute;
  content: "";
  top: 20px;
  right: 15px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all 0.5s ease;
}

.sidebar .sidebar-menu li.rotate-135::before {
  transform: rotate(135deg);
}

.sidebar .sidebar-menu li .span-text {
  font-weight: 450;
  padding-left: 8px;
  transition: all 0.5s ease;
  /* font-size: .85rem; */
}

.sidebar .sidebar-menu li .span-img img {
  width: 25px;
}

.sidebar .sidebar-menu li>a {
  text-decoration: none;
  /* color: #FFFFFF; */
  color: #000;
  display: block;
  letter-spacing: .10em;
}

.sidebar .sidebar-menu .menu-title {
  padding: 9.5px 10px;
  font-size: .85rem;
}

.sidebar .sidebar-menu .sidebar-menu-list li {
  display: none;
  white-space: nowrap;
}

.sidebar .sidebar-menu .sidebar-menu-list li>a {
  padding: 2px 20px;
  padding-right: 10px;
  font-size: .8rem;
}

.sidebar .sidebar-menu .sidebar-menu-list .text-left-subicon {
  /* color: #FFFFFF; */
  color: #000;
  margin-right: 10px;
}

.treeview-menu {
  display: block !important;
  position: absolute;
  width: 180px;
  top: -1px;
  left: 48px;
  /* background-color: #E29923; */
  transition: all 0.5s ease;
  /* z-index: 8; position:relative側に付けないと効かない */
}

/* メニューカレント表示 */
.menu-inner-item {
    background-color: #f6f2e8;
    border-bottom: dotted 1px #E29923;
}

.menu-inner-item.current {
  /* background-color: #fff; */
  background-color: #ffde39;
}

.sidebar .sidebar-menu .menu-inner-item.current a,
.sidebar .sidebar-menu .menu-inner-item.current .text-left-subicon {
  color: #000;
  /* font-weight: bold; */
}

/* メニューホバー */

.sidebar .sidebar-menu-list li>a:hover,
.sidebar .sidebar-menu .menu-inner-item.current>a:hover,
.logout-menu>a:hover {
  background-color: #ffde39;
  color: #000;
}

.sidebar .sidebar-menu-list li>a:hover .text-left-subicon,
.sidebar .sidebar-menu .menu-inner-item.current>a:hover .text-left-subicon,
.logout-menu>a:hover {
  color: #000;
}

/* ユーザメニュー */

.menu-profile {
  text-align: center;
  padding: 10px;
  font-weight: normal;
  font-size: 1rem;
  border-bottom: dotted 1px #f2c06f;
}

.menu-profile a {
  text-decoration: none;
  color: #FFFFFF;
}

.menu-profile img {
  background-color: #FFFFFF;
  margin-bottom: 5px;
}

.menu-profile .profile-authority {
  background-color: #ffffff;
  margin: 0 auto;
  margin-top: 5px;
  border-radius: 8px;
  font-size: 12px;
  padding: 5px 0px;
  color: #b94047;
  font-weight: bold;
}

.menu-profile  p {
    line-height: 1.5em;
}

/* アンケート起動メニュー */
.question-menu {
  padding-top: 50px;
}

.question_table {
    width: 100%;
    background-color: #fff;
    border-collapse: collapse;
    /* table-layout: fixed; */
}

.question_table tbody td,
.question_table tbody th {
    border: solid 1px;
    padding: 2px 5px;
}

.question_table tbody th {
    line-height: 1.2;
}

.question_table tbody th {
    /* width: 10%;
    max-width: 80px; */
    text-align: center;
}

.question-form .form-select {
  top: -3px;
  left: 55px;
}

.question-form .form-select + span{
  top: 0px;
  left: 135px;
}
.question-form .form-select.customer-select {
  left: 65px;
}

.question-form .form-select.z-index-3 {
  z-index: 3;
}

.question-form .form-select.z-index-2 {
  z-index: 2;
}

.question-form .form-select.z-index-1 {
  z-index: 1;
}

.question-form .inline-flex-row {
    text-wrap: nowrap;
}

.question-form .question-base-info .right-input {
    margin-left: 8px;
}

.question-form .question-base-info .left-input {
    margin-right: 8px;
}

.question-modal {
    width: 70%;
}

#btn-zipno {
    line-height: 0.8em;
    padding-left: 2rem;
}

#btn-zipno > i {
    padding: 0 0.2rem;
    margin-right: 0.3rem;
}

.modal-passwd {
    background-color: #fdf9e2;
}

.modal-passwd img {
    width: 40px;
}

.modal-passwd .area-title-part {
    display: flex;
}

.modal-passwd .area-title-part .area-title {
    font-size: 1em;
    margin: 10px 0 0 10px;
    padding: 0;
}


.modal-passwd dl {
    display: flex;
}

.modal-passwd dl dt {
    font-size: 0.8em;
    min-width: 80px;
}

.modal-passwd dl dd input {
    width: 140px;
}

.modal-passwd input {
    background-color: #fff!important;
}

.modal-staff {
    /* background-color: #fdf9e2; */
    min-width: 0px;
}

.modal-passwd img {
    width: 40px;
}

.modal-passwd .area-title-part {
    display: flex;
}

.modal-staff .area-title-part .area-title {
    font-size: 1em;
    margin: 10px 0 0 10px;
    padding: 0;
}


.modal-staff dl {
    display: flex;
}

/* .modal-staff dl dt {
    font-size: 0.8em;
    min-width: 80px;
} */

/* .modal-staff dl dd input {
    width: 140px;
} */

/* .modal-staff input {
    background-color: #fff!important;
} */

/* ログアウトボタン */

.logout-menu {
  width: 100%;
  padding-top: 20px;
  /* margin-bottom: 20px; */
  /* position: absolute !important; */
}

/* スクロール追従 */
.sidebar nav.menu {
  position: sticky;
  top: 51px;
}

/* -----パーツ----- */

/* フォーム */

.form-block {
  margin-bottom: 1rem;
}

.form-block:last-of-type {
  margin-bottom: 0;
}

.rw-form .flex-row > .form-block {
  margin-right: 1rem;
  margin-bottom: 0;
}

.rw-form .flex-row > .form-block:last-of-type {
  margin: 0;
}

.rw-form .flex-row > * {
  margin: 0;
}

.rw-form dl {
  width: 100%;
  margin-bottom: 5px;
}

.rw-form dl:last-of-type {
  margin-bottom: 0;
}

.rw-form.flex-row dl {
  width: auto;
  margin-right: 1rem;
  margin-bottom: 0;
  border-radius: 5px;
}

.rw-form.flex-row dl:last-of-type {
  margin-right: 0;
}

.rw-form dt {
  background-color: #e5e6ed;
  border-radius: 5px 0 0 5px;
  padding: 2px 10px;
  text-align: center;
  /* word-break: break-all; */
}

.rw-form dd {
  background-color: #fdf9e2;
  text-align: center;
  padding: 2px 10px;
  border-radius: 0 5px 5px 0;
  /* word-break: break-all; */
  /* border-bottom: 1px dotted #a5896a; */
  position: relative;
}

.rw-form dl dt:nth-of-type(n + 2) {
  margin-left: 1rem;
}

.rw-form dd:has(input)  {
  text-align: left;
}

.rw-form dl dd:has(+ .no-text) {
  margin-right: .75rem;
}

.rw-form dl dd.no-text {
  background-color: inherit;
  padding: 0;
  /* width: auto!important; */
}

.rw-form dl:has(dd input) dt {
  line-height: 25px;
}

/* セレクトBOXで高さが変わった際に縦中央にならなかったためやむなく */

.rw-form.dt-dd-flex dl:has( > dd select) dt {
  padding: 7px;
}

.rw-form.dt-dd-flex dl:has( > dd select) dd.no-text {
  padding: 4px 10px;
}

/*
.rw-form dd:has(span[class^="unit"]) {
  white-space: nowrap;
}

.rw-form dd:has(span[class^="unit"]) input  {
  display: inline;
}

.rw-form .string {
  text-align: left;
} */

/* .rw-form dd:has(.txt-date) { */
.rw-form dd:has(
  .txt-contract-no,
  .txt-customer-no,
  .txt-kouji-no,
  .txt-code,
  .txt-seikyu-no,
  .txt-hacchu-no,
  .txt-mitsumori-no,
  .txt-name,
  .txt-tel,
  .txt-mail-address,
  .txt-address,
  .txt-staff,
  .txt-kouji-name,
  .txt-kouji-place,
  .txt-date,
  .txt-year-month,
  .txt-term,
  .txt-month,
  .txt-day,
  .txt-num,
  .txt-company-name,
  .txt-kouji-kind,
  .txt-seikyu-item,
  .txt-authority,
  .txt-kind
) {
  width: auto!important;
}

/* .rw-form dd.num {
  text-align: right;
}

.rw-form dd.num input {
  text-align: right;
}

.rw-form dd.num:has(> .unit-yen) input {
  width: calc(100% - 18px);
}

.rw-form dd.num:has(> .unit-square-metre) input {
  width: calc(100% - 23px);
}

.rw-form dd.num:has(> .unit-tsubo) input {
  width: calc(100% - 23px);
}

.rw-form dd.num:has(> .unit-percent) input {
  width: calc(100% - 23px);
} */

/* ラジオボタン */

.radio-group {
  text-align: center;
}

/* *:has( > .radio-group) {
  position: relative;
} */

.radio-group {
  /* position:absolute; */
  position: relative;
  top:50%;
  transform: translateY(-50%);
}

.radio-group label {
  padding: 0 .25em;
}

/* テーブル */
/* bootstrap Classの上書きはreset.cssへ カスタマイズはここ */

.table {
  width: 100%;
  /* box-shadow: 0.5px 0.5px 0 0 rgba(0,0,0,.18); */
  box-shadow: 1px 1px 3px 0 rgb(0 0 0 / 50%);
  /* box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.5); */
  /* box-shadow: 1px 1.5px 1.5px 0 rgba(0, 0, 0, .2); */
  /* box-shadow: 0 1.9px 2.5px rgba(0,0,0,.057),
              0 5px 6.1px rgba(0,0,0,.076),
              0 10.1px 11.4px rgba(0,0,0,.086),
              0 19.2px 19.8px rgba(0,0,0,.092); */
}

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

.table thead tr:last-of-type > *,
.table .border-bottom-double {
  border-bottom: double 3px #dee2e6;
}

.table:has( > tbody > tr > th) > thead > tr > *:first-of-type,
.table > tbody > tr > th {
  border-right: double 3px #dee2e6;
}

.table tbody {
  background-color: #fff;
}

.table tbody th {
  font-weight: normal;
}

.table tbody tr {
  text-align: center;
  vertical-align: middle;
}

.table.back-color-white tbody tr td {
  background-color: #fff!important;
}

.table:not(.datatable, .table-striped, .back-color-white) tbody tr td {
  background-color: #fcfaf0;
  font-weight: normal;
}

.table:not(.datatable, .table-striped, .back-color-white) tbody tr td.hacchu-bg-color,
.rw-form dd.hacchu-bg-color  {
  background-color: #ffd900;
}

.table>:not(caption)>*>* {
    padding: .1rem .5rem .2rem .5rem;
}

/* .table tr th.num, .table tr td.num, .table tr td.num input {
  text-align: right;
} */

/* .table tr th.string, .table tr td.string {
  text-align: left;
} */

/* データテーブルで使えなくなった */
/* .table-hover > tbody > tr:hover {
  --bs-table-accent-bg: #FFFAD9;
} */

table.card-table > thead {
  display: none;
}

table.card-table {
  border-spacing: 0px 0.75rem;
  box-shadow: none;
  border: none;
  /* border-radius: none; */
}

table.card-table > tbody > tr td.dataTables_empty {
  padding: 10px;
  box-shadow: none;
  border: none;
  background-color: #f0f0f0!important;
  border-radius: 0px!important;
}

table.card-table:not(:has(> tbody tr td:only-of-type)) > tbody tr td:first-of-type:not(.dataTables_empty) {
  display: none;
}

table.card-table > tbody > tr > td {
  padding: 0;
  border: solid 1px #c0c4c9;
  /* border-top: 5px solid #9EA0A3; */
  border-radius: 5px!important;
  box-shadow: 1px 1px 3px 0 rgb(0 0 0 / 50%);
  background-color: #fff!important;
}

table.card-table > tbody tr td .top-line {
  background-color: #9EA0A3;
  border-radius: 5px 5px 0 0;
  /* height: 5px; */
  padding: 4px;
  width: 100%;
  color: #fff;
}

table.card-table > tbody tr td .inner {
  padding: 0.5rem;
}

/* table.card-table > tbody tr td .inner .button-area:last-of-type {
  margin-bottom: 11px;
} */

table.card-table > tbody tr td dl:first-of-type {
  margin-top: 0;
}

table.card-table > tbody tr td dl {
  display: flex;
  justify-items: center;
}

table.card-table > tbody tr td dl,
table.card-table > tbody > tr > td > * > * {
  margin-top: 0.25rem;
}

table.card-table > tbody tr td dl dt,
table.card-table > tbody tr td dl dd {
  padding: 4px 10px;
  /* padding: 2px 10px; */
  text-align: center;
}

table.card-table > tbody tr td dl dt {
  background-color: #e5e6ed;
  border-radius: 5px 0 0 5px;
}

table.card-table > tbody tr td dl dd {
  border-bottom: 1px dotted #9EA0A3;
  /* border-bottom: 1px dotted #D0D0D1; */
  position: relative;
  width: 100%;
}

table.card-table > tbody tr td dl dt.main-title {
  width: 80px!important;
}

table.card-table > tbody tr td dl:has(.main-title) > dd {
  width: calc(100% - 80px)!important;
}

table.card-table > tbody tr td dl dd dl dt {
  width: 90px!important;
}

table.card-table > tbody tr td dl dd dl dd {
  width: calc(100% - 90px)!important;
}

table.card-table > tbody tr td dl + p {
  padding: 8px;
  padding-bottom: 4px;
}

/* ボタンエリア */

.button-area {
  /* text-align: center; */
  justify-content: center;
  align-items: center;
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1rem;
}

.button-area.align-left {
  justify-content: flex-start;
}

.button-area.align-right {
  justify-content: flex-end;
  text-align: right;
}

.button-area.align-bottom {
  align-items: flex-end;
}

.button-area button {
  margin-right: .625rem;
  /* margin-bottom: .625rem; */
}

.button-area.align-right button {
  margin-right: 0;
  margin-left: .625rem;
}

.button-area button:has(+ form, + .white-space-nowrap) {
  margin-right: .625rem!important;
}

/* .button-area:has(.white-space-nowrap) {
  row-gap: 1rem;
} */

.button-area.align-right button:has(+ form, + .white-space-nowrap) {
  margin-right: 0!important;
  margin-left: .625rem!important;
}

.button-area button:only-of-type,
.button-area button:last-of-type {
  margin-right: 0;
}

/* .button-area .flex-row {
  margin-right: .625rem;
}

.button-area .flex-row:last-of-type {
  margin-right: 0;
}

.button-area .flex-row > div {
  margin-bottom: 0;
} */

/* .button-area .flex-row > div button {
  margin-bottom: 1rem;
} */

/* .screen-title-area .button-area button {
  margin-bottom: 1rem;
} */


/* アイコン／ボタン */

/* ボタンアニメーション */

.btn-animation {
  animation: flash 1.5s linear infinite;
}

@keyframes flash {
	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.3;
	}
}

/* 内訳全表示ボタン */

.modification-icon img {
  width: 20px;
}

/* 進捗状況ボタン */

.construction-common-btn {
  /* border-radius: 0 10px 10px 0; */
  border-radius: 15px;
  color: #ffffff;
  padding: 0px 5px;
  cursor: pointer;
  white-space: nowrap;
  /* font-size: .6em; */
  text-align: center;
  width: 100%;
  max-width: 130px;
  min-width: 80px;
  display: inline-block;
  /* line-height: 2em; */
  line-height: 1em;
  padding: 5px;
  font-size: 1em;
  box-shadow: 1px 1px 0 0 rgba(0,0,0,.18);
  margin: 2px 2px 0 2px;
}

.no-click-btn {
  cursor: default;
  box-shadow: none;
  width: 80%;
}

.construction-common-btn.small {
  min-width: 65px;
}

.construction-common-btn.construction-long-btn {
  max-width: 95px;
  margin:0 auto;
}

.construction-common-btn.quotation-btn,
.construction-common-btn.req-quotation-btn,
.construction-common-btn.order-process-btn,
.construction-common-btn.payment-approval-btn,
.construction-common-btn.order-confirmation-btn,
.construction-common-btn.invoice-btn,
.construction-common-btn.mitsumori-skip-order-btn {
  /* background: #d20303; */
  /* background: #d203030a;
  border: 1px solid #bf0000;
  color: #bf0000;
  font-weight: bold; */
  background: #bf004e;
  color: #fff;
}

.construction-common-btn.add-invoice {
  background: #ffe900;
  color: #000000;
  font-weight: bold;
}

.construction-common-btn.wait-quotation,
.construction-common-btn.wait-order-confirmation,
.construction-common-btn.wait-invoice,
.construction-common-btn.wait-purchase-order,
.construction-common-btn.wait-payment-approval {
  /* background: #0078c2; */
  /* background: #0078c214;
  border: 1px solid #0078c2;
  color: #0078c2;
  font-weight: bold; */
  /* background: #0078c2; */
  background: #004f80;
  color: #fff;
}

.before-kouji-mark {
    text-wrap: nowrap;
    color: #be1010;
    font-weight: bold;
    line-height: 1.3em;
}

.before-kouji-mark-comp {
    text-wrap: nowrap;
    color: #000;
    line-height: 1.3em;
}

.before_kouji_row td.kouji-kind-name,
.before_kouji_row td.sekou-company-name,
.before_kouji_row td.mitsumori-status,
.before_kouji_row td.hacchu-status,
.before_kouji_row td.ukesyo-status,
.before_kouji_row td.approval-status,
.before_kouji_row td.hacchu-money {
    background-color: #80620036 !important
}

.before_kouji_col {
    background-color: #80620036 !important
}

.construction-common-btn.before-kouji {
    background: #806200;
    color: #fff;
    float: right;
    width: auto;
    border-radius: 0;
    font-size: 0.8em;
    padding: 5px;
    min-width: unset;
}

.construction-common-btn.completed {
  /* background: #7f7f7f38;
  border: 1px solid #353535;
  color: #000; */
  background: #7F7F7F;
  color: #fff;
  box-shadow: none;
}

.construction-common-btn.unnecessary {
  background: #cdcaca;
  color: #797575;
  box-shadow: none;
}

/* リンクボタン */

.link-button {
  text-decoration: none;
}

.link-button p:hover {
  color: #fff;
  background: #2c8b87bd;
  border: 1px solid #2c8b87bd;
}

.link-button p {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  padding: 0.9em 2em;
  border: 1px solid #2c8b87;
  border-radius: 5px;
  background-color: #2c8b87;
  color: #fff;
  font-size: 1em;
  box-shadow:0 1px 0 0 rgba(0,0,0,.18);
}

.link-button p::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
}


/* トグルボタン／プラマイボタン */

.toggle-btn-area {
  position: relative;
}

.toggle-btn {
  cursor: pointer;
  position: absolute;
  top: 50%;
  left: 100px;
  transform: translateY(-50%);
  background: #0052a4;
  display: block;
  width: 24px;
  height: 24px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
}

.toggle-btn.pink {
  background: #972727;
}

.toggle-btn.blue {
  background: #225494;
}

.toggle-btn.green {
  background: #179374;
}

.toggle-btn.indigo {
  background: #043752;
}

.toggle-btn.orange {
  background: #F2A700;
}

.toggle-btn.brown {
  background: #6F5334;
}

.toggle-btn:before,
.toggle-btn:after,
.plus_button:before,
.plus_button:after,
.minus_button:before,
.minus_button:after {
  display: block;
  content: '';
  background-color: #fff;
  position: absolute;
  width: 10px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.toggle-btn.selected:before,
.plus_button:before {
  width: 2px;
  height: 10px;
}

.plus_button,
.minus_button {
  cursor: pointer;
  position: absolute;
  /* top: 50%;
  transform: translateY(-50%); */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #0052a4;
  display: block;
  width: 20px;
  height: 20px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 20%;
}

.operation div {
  position: relative;
  margin: auto!important;
  height: 50px;
  width: 20px;
}

.operation div.horizontal {
  height: 20px;
  width: 50px;
}

.operation div .plus_button,
.operation div .minus_button {
  transform: none;
}

.operation div .plus_button {
  top: 0;
  left: 0;
}

.operation div .minus_button {
  top: inherit;
  left: inherit;
  right: 0;
  bottom: 0;
}

/* text input/read */

.txt-contract-no, .txt-customer-no, .txt-kouji-no, .txt-code, .txt-seikyu-no, .txt-hacchu-no, .txt-mitsumori-no {
  width: 12em!important;
}

.txt-name {
  width: 14em!important;
}

.txt-tel {
  width: 14em!important;
}

.txt-mail-address {
  width: 26em!important;
}

.txt-address {
  width: 30em!important;
}

.txt-staff {
  width: 14em!important;
}

.txt-kouji-name {
  width: 28em!important;
}

.txt-kouji-place {
  width: 30em!important;
}

.txt-date {
  width: 10em!important;
}

.txt-year-month {
  width: 15em!important;
}

.txt-term {
  width: 17.5em!important;
}

.txt-month {
  width: 4em!important;
}

.txt-day {
  width: 6em!important;
}

.txt-num {
  width: 14em!important;
}

.txt-company-name {
  width: 20.5em!important;
}

.txt-kouji-kind {
  width: 14em!important;
}

.txt-seikyu-item {
  width: 10em!important;
}

.txt-authority {
  width: 12em!important;
}

.txt-kind {
  width: 16em!important;
}

.txt-seikyu-able {
  width: 5em!important;
}

/* 寄せ／単位 */

.string {
  text-align: left!important;
}

.num:not(input), .num input {
  text-align: right!important;
}

.num:has(span[class^="unit"]) input  {
  display: inline-block;
}

.num:has(span[class^="unit"]) {
  white-space: nowrap;
}

.num:has(> .unit-yen) input {
  width: calc(100% - 19px);
}

.num:has(> .unit-square-metre) input {
  width: calc(100% - 23px);
}

.num:has(> .unit-tsubo) input {
  width: calc(100% - 23px);
}

.num:has(> .unit-percent) input {
  width: calc(100% - 23px);
}

/* 影付き */
.box-shadow {
  box-shadow: 1px 1px 0 0 rgba(0,0,0,.18);
}

/* グループBOX */

.box {
  border: 1px solid #c0c4c9;
  border-radius: 5px;
  position: relative;
  margin-top: 1em;
}

.box .title {
  text-align: left;
  position: absolute;
  right: 0;
  left: 5px;
  top: -0.85em;
}

.box span {
  padding: 0 .5em;
  /* background-color: #FFFCF3; */
}

.box span.back-gray {
  padding: 0 .5em;
  background-color: #f0f0f0;
}

.box .inner {
  padding: 15px 10px 10px;
  /* padding: 10px; */
}

.box .inner > * {
  padding-right: 5px;
}

.box .inner > *:last-of-type {
  padding-right: 0;
}

/* -----コンテンツ----- */

.content-bg {
  display: none;
  position: fixed;
  top: 51px;
  left: 0;
  background-color: rgba(152, 152, 152, 0.7);
  width: 100%;
  height: 100%;
  z-index: 11;
}

.content {
  width: 100%;
  padding: 15px 60px;
  /* margin: auto; */
  /* font-size: .9em; */
  /* line-height: 1.2em; */
}

.screen-title-area {
  width: 100%;
  /* box-sizing: content-box; */
  /* padding: 6.5px 0 3.5px 0; */
  /* margin-bottom: 20px; */
}

.screen-title-area > * {
  margin-bottom: 1.25rem;
  margin-right: 1.25rem;
}

.screen-title-area > *:not(h5):last-of-type {
  margin-right: 0;
}

/* .screen-title-area > .button-area {
  margin-bottom: .25rem;
} */

.screen-title {
  font-weight: bold;
  /* margin-bottom: 0px; */
  /* padding-top: 1px; */
  padding-left: 10px;
  line-height: 1.8;
  width: auto;
  height: auto;
}

.area-title-part {
  position: relative;
  margin-bottom: 10px;
}

.area-content.card {
  border: solid 1px #c0c4c9;
  border-radius: 5px;
  /* box-shadow: 0.5px 0.5px 0 0 rgba(0,0,0,.18); */
  box-shadow: 1px 1px 3px 0 rgb(0 0 0 / 50%);
  /* box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.5); */
  /* box-shadow: 1px 1.5px 1.5px 0 rgba(0, 0, 0, .2); */
  /* box-shadow: 0 1.9px 2.5px rgba(0,0,0,.057),
              0 5px 6.1px rgba(0,0,0,.076),
              0 10.1px 11.4px rgba(0,0,0,.086),
              0 19.2px 19.8px rgba(0,0,0,.092); */
  /* margin-right: 1rem; */
  margin-bottom: 1rem;
  padding: 10px;
  background-color: #ffffff;
  width: auto;
  /* padding-top: 0; */
}

/* .flex-row .area-content.card:last-of-type {
  margin-right: 0;
} */

/* -----検索系----- */

.search-condition-area {
  margin-bottom: 5px;
}

.search-form .flex-row .flex-column {
  margin-right: 0;
  margin-bottom: 0;
}

/* -----詳細共通ヘッダ----- */

/* 番号 */

.content .detail-header-area .key-no-part {
  margin-bottom: 0;
}

.content .detail-header-area .key-no-group {
  display: inline-block;
}

.content .detail-header-area .key-no-group dl {
  display: inline-flex;

}

.content .detail-header-area .key-no-group dl {
  margin-right: 10px;
  margin-bottom: 0.5rem;
}

.content .detail-header-area .key-no-group dl dt {
  border: 1px solid #c0c4c9;
  border-radius: 5px 0 0 5px;
  color: #fff;
  width: 90px;
  padding: 3px 9px;
}

.content .detail-header-area .key-no-group dl dd {
  border: 1px solid #c0c4c9;
  border-left: none;
  border-radius: 0 5px 5px 0;
  background-color: #FFFCF3;
  text-align: center;
  padding: 3px 9px;
}

.content .detail-header-area .key-no-group .customer-block dt {
  background-color: #cb5f5f;
}

.content .detail-header-area .key-no-group .contract-block dt {
  background-color: #225494;
}

.content .detail-header-area .key-no-group .kouji-block dt {
  background-color: #179374;
}

/* お客様氏名 */

.content .detail-header-area .name-part {
  margin: 10px 0;
  /*width: 300px;*/
}

.content .detail-header-area .customer-kana {
  padding-left: 5px;

}

.content .detail-header-area .customer-name {
  font-size: 2em;
  font-weight: bold;
  line-height: 1.3;
  margin: 0;
  border-bottom: 2px dotted #c0c4c9;
  padding-left: 5px;
}

/* お客様情報（担当者）*/

.content .detail-header-area .customer-info-part {
  margin-bottom: 15px;
}

.content .detail-header-area .customer-info {
  line-height: 1.8;
  margin: 0;
}

.content .detail-header-area .customer-info p {
  display: inline-block;
  font-size: 0.9em;
  margin-right: 15px;
  line-height: 1.8;
}

.content .detail-header-area .customer-info .text-strong {
  font-size: 1.1em;
}

/* 進捗 */

.content .detail-header-area .progress-item-wrap {
  border: 1px solid #ff3bc340;
  border-radius: 8px;
  display: inline-block;
  background-color: #fdfcfa;
  padding: 4px 10px 8px 10px;
  /* box-shadow: 1px 1.5px 1.5px 0 rgba(0, 0, 0, .3); */
  box-shadow: 1px 1px 3px 0 rgb(0 0 0 / 50%);
  width: 100%;
}

.content .detail-header-area .progress-item-wrap p {
  /* margin: 0px; */
  /* font-size: .9em; */
  /* color: #3a2909; */
  padding: 0px;
  color: #000;
  margin-bottom: 2px;
}

.content .detail-header-area .progress-item-wrap p span {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 1.5em;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  /* margin-bottom: 3px; */
  margin-right: 3px;
}

.content .detail-header-area .progress-item-inner {
  /* display: flex; */
  /* display: inline-block; */
  /* justify-content: space-around; */
  /* padding: 10px; */
  /* float: left; */
  /* margin-bottom: 5px; */
  border-radius: 8px;
  width: 100%;
}

.content .detail-header-area .progress-item {
  border-radius: 3px;
  /* font-size: 12px; */
  padding: 2px 5px;
  padding-top: 4px;
  /* padding-right: 10px; */
  min-width: 6em;
  text-align: center;
  white-space: nowrap;
  font-size: 0.8em;
  margin-right: 5px;
  margin-bottom: 5px;
  /* float: left; */
  border-radius: 5px 15px 15px 5px;
}

.content .detail-header-area .progress-item:last-of-type {
  margin-right: 0;
}

.content .detail-header-area .progress-item::before {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-size: 1em;
  margin: 0 5px 0 0;
  vertical-align: middle;
}

.content .detail-header-area .progress-item.item-color-complete {
  /* background-color: #eedec4; */
  background-color: #ff3bc3;
  /* border: 3px solid #a37621; */
  /* color: #3a2909; */
  color: #fff;
  /* border-radius: 5px 15px 15px 5px; */
  box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, .3);
  font-family: sans-serif;
  /* padding-top: 4px; */
  /* padding-right: 10px; */
}

.content .detail-header-area .progress-item.item-color-complete::before {
  /* color: #a37621; */
  color: #fff;
  content: "check_circle";
}

.content .detail-header-area .progress-item.item-color-gray {
  border: 1px dashed #a7a7a7;
  background-color: #EEEEEE;
  color: #AEAEAE;
  /* border-radius: 5px 15px 15px 5px; */
  /* margin-top: 2px; */
}

.content .detail-header-area .progress-item.item-color-gray::before {
  color: #AEAEAE;
  content: "remove";
}

/* .content .detail-header-area .progress-title {
  background-color: #FAE800;
  color: #595959;
  float: left;
  height: 100%;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  width: 40px;
  text-align: center;
  padding: 9px;
  writing-mode: vertical-rl;
} */

/* タイトル */

.screen-title-area {
  display: flex;
	flex-wrap: wrap;
  align-items: center;
}

.screen-title-area .button-area,
.screen-title-area .button-area {
  margin-left: auto;
  margin-top: 0;
}

.area-title-part {
  width: 100%;
}

.area-title {
  padding-left: 7.5px;
}

/* -----画面別----- */

/* ログイン */

.auth.login .flex-row {
  height: 96vh;
}

.auth.login .login-area {
  width: 450px;
  margin-top: 10%;
}

.auth.login .login-area .area-content {
  border-radius: 10px;
  padding: 0;
}

.auth.login .login-area .area-content .inner-head {
  /* height: 50px; */
  background-color:#FFFCF3;
  padding: 20px;
  border-radius: 10px 10px 0 0;
  /* border-radius: 10px; */
  border-bottom: 1px solid #E29923;
}

.auth.login .login-area .area-content img {
  height: 32px;
}

.auth.login .login-area .area-content img.icon_house {
    height: 42px;
}

.auth.login .login-area .area-content .inner-body {
  padding:2rem;
}

.auth.login .login-area .area-content .inner-body .rw-form {
  padding: 0.5rem 1rem 1rem 1rem;
}

.auth.login .login-area .area-content .inner-body .rw-form dt,
.auth.login .login-area .area-content .inner-body .rw-form dd {
  text-align: left;
  background-color: #fff;
}

.auth.login .login-area .area-content .inner-body .area-title-part {
  text-align: center;
  margin-bottom: 0;
}

.auth.login .login-area .area-content .inner-body .area-title-part h5 {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 0;
  padding-top: 10px;
  /* line-height: 32px; */
  vertical-align: middle;
}

.auth.login .login-area .area-content .inner-body p.supplement {
  margin-bottom: 0;
}

.auth.login .error-area {
  color: #cb5f5f;
  text-align: center;
  font-weight: bold;
}

/* TOP */

/* お客様管理 - タイトル */

.top .left-panel {
    /* float: left; */
    min-width: 40%;
    margin-right: 60px;
}

.top .right-panel {
    /* float: left; */
}

.top .screen-title-area .screen-title {
  border-left: solid 5px #E29923;
}

.top .area-title {
  border-left: solid 4px #FFCC7A;
}

/* TOP - お知らせ／通知エリア */

/* .top .information-area {
  background-color: #FFD8D8;
} */

.top .information-area .area-content,
.top .notification-area .area-content {
  overflow-y: scroll;
  padding: 0;
}

.top .information-area .area-content {
    max-height: 300px;
}

.top .notification-area .area-content {
    max-height: calc(100vh - 450px);
}

.top .information-area .area-content > ul,
.top .notification-area .area-content > ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.top .information-area .area-content > ul li,
.top .notification-area .area-content .message_row {
  padding: 12px 16px;
  border-bottom: 1px solid #dfe4e9;
}

.top .information-area .area-content > ul li:last-of-type,
.top .notification-area .area-content .message_row > a:last-of-type li {
  border-bottom: none;
}

/*
.message_row {
    display: flex;
} */

.message_row li {
    margin-top: 5px;
    margin-left: 20px;
}

.message_row img {
    margin-right: 15px;
}

.fin_icon {
    width: 20px;
    height:20px;
    margin-left: 5px;
}

.new_icon {
    width: 32px;
    height:32px;
    animation: flash 2s ease infinite;
}
@keyframes flash {
    0%,100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

/* アンケート媒体集計 */

.top .questionnaire-media-tally-area {
  /* width:800px; */
  width: auto;
}

.top .questionnaire-media-tally-area .area-content div#piechart {
  /* width: 750px; */
  width: 550px;
  /* height: 450px;  */
  height: 350px;
  /* margin: auto; */
  padding: 30px;
}

/* お客様管理 */

/* お客様管理 - タイトル */

.customer .screen-title-area .screen-title {
  border-left: solid 5px #972727;
}

.customer .area-title {
  border-left: solid 4px #cb5f5f;
}

/* お客様管理 - テーブル */
.customer .table th {
  background-color: #cb5f5f;
  color: #fff;
}

.customer .table tbody tr td {
  background-color: #fff;
}

.customer .table tbody tr.only-doc-request td {
  background-color: #CDCDCD;
}

.customer table.card-table tbody tr td .top-line {
  background-color: #cb5f5f;
}

.customer table.card-table tbody tr td dl dt {
  background-color: #cb5f5f;
  color: #fff;
  width: 100px;
}

.customer table.card-table tbody tr td dl dd {
  width: calc(100% - 100px);
}

/* お客様管理 - エリア共通 */

.customer .rw-form dt {
  background-color: #FFD8D8;
}

/* お客様管理 - 新規登録／詳細/編集 - 1列目 */
.customer .flex-row.width-equal-division > .flex-column:nth-of-type(1) {
  flex-basis: 40%;
}
/* お客様管理 - 新規登録／詳細/編集 - 2列目 */
.customer .flex-row.width-equal-division > .flex-column:nth-of-type(2) {
  flex-basis: calc(30% - 4rem);
}
/* お客様管理 - 新規登録／詳細/編集 - 3列目 */
.customer .flex-row.width-equal-division > .flex-column:nth-of-type(3) {
  flex-basis: 30%;
}

/* お客様管理 - 新規登録／詳細/編集 - 基本情報エリア */

/* .customer .base-info-area {
  width: 550px;
} */

.customer .base-info-area .rw-form dt {
  background-color: #cb5f5f;
  color: #fff;
  width: 140px;
}

.customer .base-info-area .rw-form dd {
  width: calc(100% - 140px);
}

/* お客様管理 - 新規登録／詳細/編集 - 関係者エリア */

/* .customer .flex-row .flex-column:has(.concerned-person-area) {
  flex-basis: 40%;
} */

/* .customer .concerned-person-area {
  width: 550px;
} */

.customer .concerned-person-area .rw-form dt {
  width: 140px;
}

.customer .concerned-person-area .rw-form dd {
  width: calc(100% - 140px);
}

/* お客様管理 - 新規登録／詳細/編集 - 担当エリア */

/* .customer .staff-area {
  width: 350px;
} */

.customer .staff-area .rw-form dt {
  width: 150px;
}

.customer .staff-area .rw-form dd {
  width: calc(100% - 150px);
}

/* お客様管理 - 新規登録／詳細/編集 - 資料請求エリア */

/* .customer .document-request-area {
  width: 350px;
} */

/* .customer .document-request-area .rw-form dt {
  width: 150px;
} */

/* .customer .document-request-area .rw-form dd {
  width: calc(100% - 150px);
} */

/* お客様管理 - 新規登録／詳細/編集 - 来場記録（初回）エリア */

/* .customer .first-visit-record-area {
  width: 350px;
} */

.customer .first-visit-record-area .rw-form dt {
  width: 150px;
}

.customer .first-visit-record-area .rw-form dd {
  width: calc(100% - 150px);
}

/* お客様管理 - 新規登録／詳細/編集 - 交渉記録（2回目以降）エリア */

/* .customer .meeting-record-area {
  width: 350px;
} */

.customer .meeting-record-area .rw-form dt {
  width: 150px;
}

.customer .meeting-record-area .rw-form dd {
  width: calc(100% - 150px);
}

/* お客様管理 - 新規登録／詳細/編集 - アンケートエリア */

/* .customer .questionnaire-area {
  width: 400px;
} */

.customer .questionnaire-area .rw-form dt {
  width: 100px;
}

.customer .questionnaire-area .rw-form dd {
  width: calc(100% - 100px);
}

/* 契約管理 */

/* 契約管理 - タイトル */

.agreement .screen-title-area .screen-title {
  border-left: solid 5px #225494;
}

.agreement .area-title {
  border-left: solid 4px #5F85B6;
}

/* 契約管理 - テーブル */

/* データテーブルで使えなくなった */
/* .agreement .table {
  --bs-table-striped-bg: #F8FBFF;
} */

.agreement .table th {
  /* background-color: #5F85B6; */
  background-color: #165D83;
  color: white;
}

.agreement table.card-table tbody tr td .top-line {
  background-color: #5F85B6;
}

.agreement table.card-table tbody tr td dl dt {
  background-color: #5F85B6;
  color: #fff;
  width: 100px;
}

.agreement table.card-table tbody tr td dl dd {
  width: calc(100% - 100px);
}

/* 契約管理 - エリア共通 */

.agreement .rw-form dt {
  background-color: #dee2e6;
}

/* 契約管理 - 関連契約書リンク */

.agreement .relation-link-area {
  overflow: auto;
}

.agreement .relation-link-form {
  display: flex;
  /* justify-content: center; */
  align-items: center;
  /* margin-left: 20px; */
  white-space: nowrap;
}

.agreement .relation_contract {
  /* min-width: 40px; */
  /* font-weight: bold; */
  text-align: center;
  background-color: #80808099;
  box-shadow: none;
  color: #fff;
  padding: 5px 10px;
  margin: 0 5px;
  border-radius: 5px;
  box-shadow: 1.5px 1.5px 1.5px 0 rgba(0, 0, 0, .2);
}

.agreement .relation_contract.selected {
  background-color: #225494;
  box-shadow: none;
}

.agreement .relation_contract a {
  color: #fff;
}

/* .agreement > div.flex-row:nth-of-type(3) {
  background-color: red;
} */

/* 契約管理 - 新規登録／詳細/編集 - 1行目 */

/* .agreement .flex-row.width-equal-division.row-1 {
  margin-bottom: 1rem;
} */

/* 契約管理 - 新規登録／詳細/編集 - 1行目 - 1列目 */
.agreement .flex-row.width-equal-division.row-1 > .flex-column:nth-of-type(1) {
  flex-basis: 45%;
}
/* 契約管理 - 新規登録／詳細/編集 - 1行目 - 2列目 */
.agreement .flex-row.width-equal-division.row-1 > .flex-column:nth-of-type(2) {
  flex-basis: calc(30% - 2rem);
}
/* 契約管理 - 新規登録／詳細/編集 - 1行目 - 3列目 */
.agreement .flex-row.width-equal-division.row-1 > .flex-column:nth-of-type(3) {
  flex-basis: calc(25% - 2rem);
}

/* 契約管理 - 新規登録／詳細/編集 - 2行目 - 1列目 */
.agreement .flex-row.width-equal-division.row-2 > .flex-column:nth-of-type(1) {
  flex-basis: 45%;
}
/* 契約管理 - 新規登録／詳細/編集 - 2行目 - 2列目 */
.agreement .flex-row.width-equal-division.row-2 > .flex-column:nth-of-type(2) {
  flex-basis: calc(55% - 2rem);
}

/* 契約管理 - 契約詳細/契約編集 - 契約書エリア */

/* .agreement .contract-area {
  width: 600px;
} */

.agreement .contract-area .name-number-form {
  display: inline;
}

.agreement .contract-area .name-number-form .name-change-button {
  padding: 3px 6px;
  float: right;
}

.agreement .contract-area .rw-form dt {
  /* background-color: #5F85B6; */
  background-color: #225494;
  color: #fff;
  width: 90px;
}

.agreement .contract-area .rw-form dd {
  width: calc(100% - 90px);
}

.agreement .contract-area .contract-no > *,
.agreement .contract-area .contract-no > .button-area > * {
  margin-bottom: .5rem;
}

.agreement .contract-area .contract-no > .button-area {
  margin-bottom: 0;
}

.agreement .contract-area .contract-no .txt-key-no {
  width: 200px;
}

.agreement .contract-area .contract-no .select-key-no {
  width: 250px;
}

.agreement .contract-area .flex-row > div {
  width: 45%;
}

/* 契約管理 - 契約詳細/契約編集 - 仮契約エリア */

/* .agreement .provisional-contract-area {
  width: 350px;
} */

.agreement .provisional-contract-area .rw-form dt {
  width: 200px;
}

.agreement .provisional-contract-area .rw-form dd {
  width: calc(100% - 200px);
}

/* 契約管理 - 契約詳細/契約編集 - 本契約エリア */

/* .agreement .formal-contract-area {
  width: 350px;
} */

.agreement .formal-contract-area .rw-form dt {
  width: 150px;
}

.agreement .formal-contract-area .rw-form dd {
  width: calc(100% - 150px);
}

.agreement dl.contract-amount dt,
.agreement dl.contract-amount dd {
  font-weight: bold;
}

.agreement dl.contract-amount dt {
  /* background-color: #5F85B6; */
  background-color: #225494;
  color: #fff;
}

/* .agreement dl.contract-amount dd {
} */

/* 契約管理 - 契約詳細/契約編集 - その他エリア */

/* .agreement .other-area {
  width: 350px;
} */

.agreement .other-area .rw-form dt {
  width: 75px;
}

.agreement .other-area .rw-form dd:not(.txt-date) {
  width: calc(100% - 75px);
}

/* 契約管理 - 契約詳細/契約編集 - 土地エリア */

/* .agreement .land-area {
  width: 350px;
} */

.agreement .land-area .rw-form dt {
  width: 75px;
}

.agreement .land-area .rw-form dd:not(.txt-date) {
  width: calc(100% - 75px);
}

/* 契約管理 - 契約詳細/契約編集 - 工事実績エリア */

/* .agreement .kouji-results-area {
  width: 350px;
} */

.agreement .kouji-results-area .rw-form dt {
  width: 120px;
}

.agreement .kouji-results-area .rw-form dd {
  width: calc(100% - 120px);
}

/* 契約管理 - 契約詳細/契約編集 - 担当者情報エリア */

/* .agreement .staff-info-area {
  width: 350px;
} */

.agreement .staff-info-area .rw-form dt {
  width: 90px;
}

.agreement .staff-info-area .rw-form dd {
  width: calc(100% - 90px);
}

/* 契約管理 - 契約詳細/契約編集 - 請負金額内訳エリア */

/* .agreement .contract-amount-breakdown-area {
  width: 600px;
} */

.agreement .contract-amount-breakdown-area tr td:not(.seisan-button-cell, .complet-letter-button-cell) button,
.agreement .bill-info-area tr td:not(.seisan-button-cell, .complet-letter-button-cell) button {
  padding: 5px 4px;
}

/* 契約管理 - 契約詳細/契約編集 - 請求情報エリア */
/* 契約管理 - 契約詳細/契約編集 - 入金情報エリア */

/* .agreement .bill-info-area,
.agreement .deposit-info-area {
  width: 680px;
} */

/* 契約管理 - 契約書作成 */

.agreement.contract dl dt {
  /* background-color: #5F85B6; */
  background-color: #225494;
  color: #fff;
}

.agreement.contract dl dd .btn-select-content {
  padding: 5px;
  margin-left: 10px;
}

/* 契約管理 - 契約書作成 - 1列目
.agreement.contract .flex-row.width-equal-division > .flex-column:nth-of-type(1) {
  flex-basis: 50%;
}
契約管理 - 契約書作成 - 2列目
.agreement.contract .flex-row.width-equal-division > .flex-column:nth-of-type(2) {
  flex-basis: calc(50% - 2rem);
} */

.agreement.contract .contract-info-area {
  max-width: 560px;
}

.agreement.contract .contract-info-area .rw-form dt {
  /* background-color: #5F85B6;
  color: #fff; */
  width: 120px;
}

.agreement.contract .contract-info-area .rw-form dd {
  width: calc(100% - 120px);
}

.agreement .flex-row.width-equal-division.pdf-split-screen > .flex-column:nth-of-type(1) {
  flex-basis: 25%;
}

.agreement .flex-row.width-equal-division.pdf-split-screen > .flex-column:nth-of-type(2) {
  flex-basis: calc(50% - 2rem);
}

/* 契約管理 - 重要事項説明書 */

.agreement.juyou-jikou dl dt {
  /* background-color: #5F85B6; */
  background-color: #225494;
  color: #fff;
}

.agreement.juyou-jikou .base-info-area {
  max-width: 500px;
}

.agreement.juyou-jikou .base-info-area .rw-form dt {
  width: 90px;
}

.agreement.juyou-jikou .base-info-area .rw-form dd {
  width: calc(100% - 90px);
}

.agreement.juyou-jikou .base-info-area .rw-form dd button {
  padding: 5px;
  margin-left: auto;

}

/* 契約管理 - 追加契約登録 */

.agreement.add-agreement-money dl dt {
  /* background-color: #5F85B6; */
  background-color: #165D83;
  color: #fff;
}

.agreement.add-agreement-money .contract-info-area {
  max-width: 450px;
}

.agreement.add-agreement-money .contract-info-area .rw-form dt {
  width: 130px;
}

.agreement.add-agreement-money .contract-info-area .rw-form dd {
  width: calc(100% - 130px);
}

.agreement.add-agreement-money .contract-info-area .rw-form dd:has(#show-select-file-input) {
  width: auto;
}

.agreement.add-agreement-money .contract-detail-area .area-content tr td button {
  padding: 5px;
  margin-left: auto;

}

/* 契約管理 - 追加契約登録 - 合計金額エリア */

.agreement.add-agreement-money .total-order-amount-area.float-right {
  width: 37%;
  margin-right: 10%;
}

.agreement.add-agreement-money .total-order-amount-area dt {
  width: 32.5%;
}

.agreement.add-agreement-money .total-order-amount-area dd {
  width: 67.5%;
}

.agreement.add-agreement-money .total-order-amount-area.sp {
  width: 90%;
}

.agreement.add-agreement-money .total-order-amount-area.sp dt {
  width: 40%;
}

/* 契約管理 - 請求書作成（顧客） */

.agreement.invoice-customer dl dt {
  /* background-color: #5F85B6; */
  background-color: #165D83;
  color: #fff;
}

.agreement.invoice-customer .contract-info-area {
  max-width: 400px;
}

.agreement.invoice-customer .contract-info-area .rw-form dt {
  width: 90px;
}

.agreement.invoice-customer .contract-info-area .rw-form dd {
  width: calc(100% - 90px);
}

/* 契約管理 - 契約詳細 - モーダル */

.agreement-type-select-modal .rw-form dt,
.select-number-payment-modal .rw-form dt {
  /* background-color: #5F85B6; */
  background-color: #225494;
  color: #fff;
}

.agreement-type-select-modal .rw-form dt {
  width: 100px;
}

.agreement-type-select-modal .rw-form dd {
  width: calc(100% - 100px);
}

.agreement-cancel-text {
  max-width: 355px;
}

/* 工事管理／工事書類管理 */

/* 工事管理 - タイトル */

.contractor .screen-title-area .screen-title,
.kouji .screen-title-area .screen-title {
  border-left: solid 5px #179374;
}

.contractor .area-title,
.kouji .area-title {
  border-left: solid 4px #56B59D;
}

/* 工事管理 - テーブル共通 */

.kouji .table th,
.contractor .table th {
  /* background-color: #56B59D; */
  background-color: #2e594e;
  color: #fff;
}

.kouji table tbody td.dt-dd-flex dt,
.contractor table tbody td.dt-dd-flex dt {
  width: 70px;
}

.kouji table tbody td.dt-dd-flex dd,
.contractor table tbody td.dt-dd-flex dd {
  width: calc(100% - 70px);
  text-align: right;
}

.kouji table.card-table tbody tr td .top-line,
.contractor table.card-table tbody tr td .top-line {
  /* background-color: #56B59D; */
  background-color: #2e594e;
}

.kouji table.card-table tbody tr td dl dt,
.contractor table.card-table tbody tr td dl dt {
  /* background-color: #56B59D; */
  background-color: #2e594e;
  color: #fff;
  width: 100px;
}

.kouji table.card-table tbody tr td dl dd,
.contractor table.card-table tbody tr td dl dd {
  width: calc(100% - 100px);
}

/* 工事管理 - エリア共通 */

.contractor .rw-form dt,
.kouji .rw-form dt {
  /* background-color: #56B59D; */
  background-color: #2e594e;
  color: #fff;
}

/* 工事管理 - 詳細/編集 - 1行目 - 1列目 */
.kouji .flex-row.width-equal-division.row-1 .flex-row > .flex-column:nth-of-type(1) {
  flex-basis: 30%;
}
/* 工事管理 - 詳細/編集 - 1行目 - 2列目 */
.kouji .flex-row.width-equal-division.row-1 .flex-row > .flex-column:nth-of-type(2) {
  flex-basis: calc(70% - 2rem);
}

/* 工事管理 - 詳細/編集 - 2行目 - 1列目 */
.kouji .flex-row.width-equal-division.row-2 > .flex-column:nth-of-type(1) {
  flex-basis: 30%;
  /* flex-basis: calc(100% / 3 - 2rem); */
}
/* 工事管理 - 詳細/編集 - 2行目 - 2列目 */
.kouji .flex-row.width-equal-division.row-2 > .flex-column:nth-of-type(2) {
  /* flex-basis: calc(100% / 3 - 2rem); */
  flex-basis: calc(70% / 2 - 2rem);
}
/* 工事管理 - 詳細/編集 - 2行目 - 3列目 */
.kouji .flex-row.width-equal-division.row-2 > .flex-column:nth-of-type(3) {
  /* flex-basis: calc(100% / 3 - 2rem); */
  flex-basis: calc(70% / 2 - 2rem);
}

/* 工事管理 - 工事台帳詳細 - タイトル */

.kouji .screen-title-area .toggle-btn-area .toggle-btn {
  left: 10px;
}

/* 工事管理 - 工事台帳詳細 - 基本エリア */

/* .kouji .base-info-area .area-content.right {
  width: 400px;
}

.kouji .base-info-area .area-content.left {
  width: 882px;
} */

.kouji .base-info-area .rw-form dt {
  width: 100px;
}

.kouji .base-info-area .rw-form dd {
  width: calc(100% - 100px);
}

.kouji .base-info-area .rw-form dl:has(dd + dd) dd {
  width: 200px;
}

.kouji .base-info-area .rw-form dl dd + dd {
  margin-left: .5rem;
}

/* 工事管理 - 工事台帳詳細 - 本契約金額エリア */

/* .kouji .contract-amount-area {
  width: 400px;
} */

.kouji .contract-amount-area .rw-form dt {
  width: 120px;
}

.kouji .contract-amount-area .rw-form dd {
  width: calc(100% - 120px);
}

.kouji .contract-amount-area .rw-form dt.lbl-wide {
  width: 180px;
}

.kouji .contract-amount-area .rw-form dl:has(dt.lbl-wide) dd {
  width: calc(100% - 180px);
}

/* 工事管理 - 工事台帳詳細 - 追加契約エリア */

/* .kouji .add-contract-area {
  width: 400px;
} */

/* 工事管理 - 工事台帳詳細 - 最終金額エリア */

/* .kouji .final-amount-area {
  width: 450px;
} */

.kouji .final-amount-area .rw-form dt {
  width: 150px;
}

.kouji .final-amount-area .rw-form dd {
  width: calc(100% - 150px);
}

.kouji .final-amount-area .rw-form dt.lbl-wide {
  width: 250px;
}

.kouji .final-amount-area .rw-form dl:has(dt.lbl-wide) dd {
  width: calc(100% - 250px);
}

/* 工事管理 - 工事台帳詳細 - CSVダウンロードモーダル */
.download-csv-modal .rw-form dt {
  width: 100px;
}

.download-csv-modal .rw-form dd {
  width: calc(100% - 100px);
}

/* 工事管理 - 工事明細 */

/* 工事管理 - 工事明細 - 総計エリア */

.kouji .construction-total-area {
  margin-bottom: .5rem;
}

.kouji .construction-total-area dl {
  margin-bottom: .5rem;
}

.kouji .construction-total-area dl dt {
  width: 185px;
}

.kouji .construction-total-area dl dd {
  width: 150px;
  line-height: 45px;
}

/* 工事管理 - 工事明細 - 工事明細表 */
.construction-table tbody tr td.construction-detail-title {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.construction-table.border-dotted {
  border-color: #b5bfca!important;
}

.construction-table.border-dotted > thead >  tr > th:last-of-type {
  border-right-color: #b5bfca!important;
}

.construction-table.border-dotted > thead > tr:last-of-type > th {
  border-bottom-color: #dee2e6!important;
}

.construction-table.border-dotted > tbody > tr > * {
  border-color: #b5bfca!important;
  border-bottom-style: dotted;
}

.construction-table.sp > tbody > tr > td.construction-detail-title,
.construction-table.sp > tbody:not(:has(.name-construction.active))  > tr > td.kouji-kind,
.construction-table.sp > tbody:not(:has(.name-construction.active)) > tr:has(+ .one-row-last) > *:not(.active),
.construction-table.sp > tbody:has(.name-construction.active) > tr.one-row-last > td,
.construction-table.sp > tbody > tr:has(.breakdown-link.active) + tr.one-row-last > * {
  border-bottom-style: solid!important;
}

.construction-table tbody tr .name-construction::before,
.construction-table.sp tbody tr .breakdown-link a::before {
  content: '\025bc';
}

.construction-table tbody tr .name-construction.active::before,
.construction-table.sp tbody tr .breakdown-link.active a::before {
  content: '\025b2';
}

.construction-table tbody tr .name-construction {
  cursor: pointer;
}

.construction-table.sp tbody tr .breakdown-link .close,
.construction-table.sp tbody tr .breakdown-link.active .open {
  display: none;
}

.construction-table tbody tr .breakdown-link.active .close {
  display: inline;
}

.construction-table tbody tr td {
  font-weight: bold;
}

.construction-table tbody tr td.breakdown-link {
  font-weight: initial;
}

.construction-table tbody tr td:has(table.payment-breakdown-table) {
  padding: 0;
}

.construction-table tbody tr td table.payment-breakdown-table {
  box-shadow: none!important;
}

.construction-table tbody tr td table.payment-breakdown-table {
  border: none;
}

/* .construction-table tbody tr td table.payment-breakdown-table tbody,
.construction-table tbody tr td table.payment-breakdown-table tbody tr, */
.construction-table tbody tr td table.payment-breakdown-table tbody tr > * {
  border-radius: 0px!important;
  padding: 0 0.5rem!important;
  border: none;
  border-bottom: 1px dotted #b5bfca!important;
}

.construction-table tbody tr td table.payment-breakdown-table > tbody > tr:last-of-type > th,
.construction-table tbody tr td table.payment-breakdown-table > tbody > tr:last-of-type > th + td:last-of-type {
  border-radius: 0px!important;
  border-bottom: none!important;
}

.construction-table .construction-inner-item {
  display: none;
}

.construction-table .construction-inner-item table {
  box-shadow: none!important;
}

.construction-table .construction-inner-item table tr:not(.inner-one-row-last) > * {
  border-bottom-style: dotted!important;
}

.construction-table .construction-inner-item thead th {
  background-color: #56b59d33!important;
  border-bottom: 1px solid;
  border-bottom-color: #b4b6b9!important;
  font-weight: normal;
  white-space: nowrap;
  color: #000;
  padding: 0;
  margin: 0;
}

.construction-table .minus_button.del-company-btn,
.construction-table .minus_button.del-manual-input-btn,
.construction-table .plus_button.select-modal {
  left: 15px;
}

.construction-table .construction-inner-item tbody td {
  padding: 2px 5px;
  background-color: #fdf9e261!important;
  margin-left: 20px;
  font-weight: normal;
}

.construction-table .construction-inner-item div {
  margin: 10px 20px;
  /* max-width: 1024px; */
}

.construction-table .construction-inner-item div.moshitate {
  max-width: 600px;
}

.construction-table.sp .construction-inner-item div {
  margin: 0;
}

/* .construction-table .construction-inner-item div.input-manyuaru-area {
  max-width: 1152px;
}

.construction-table .construction-inner-item div.input-manyuaru-area .add-del-btn {
  width: 128px
}   */

.construction-inner-item>td {
    border-top: 3px solid #d3d3d34a;
    border-left: 3px solid #d3d3d34a;
}

.construction-table .construction-inner-item div.inner-title-wrapper {
  display: flex;
  /* margin: 10px 5px; */
  margin: 10px 5px 0 5px
}

.manual-mitsumori-form input,
.manual-mitsumori-form select {
    padding: 1px 10px;
}

.construction-table .construction-inner-item div.inner-title-wrapper .inner-text,
.construction-table .construction-inner-item div.inner-title-wrapper .inner-text-right {
  display: inline-block;
  /* margin-right: 15px; */
}

.construction-table .construction-inner-item div.inner-title-wrapper .inner-text-right {
  margin-left: auto;
}

.construction-table.alert-bg-color tbody tr td {
  background-color: #FFB7B7;
}



/* スキップ/キャンセルボタン */
.req-quotation-checkbox,
.order-process-checkbox,
.cancel-quotation-checkbox {
  display: none;
}

.req-quotation-checkbox-text,
.order-process-checkbox-text {
  align-items: center;
  display: flex;
  color: #548331;
  font-size: 0.7em;
  font-weight: bold;
}

.req-quotation-checkbox + .req-quotation-checkbox-text::after,
.order-process-checkbox + .order-process-checkbox-text::after {
  background-image: url(/img/skip.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 16px;
  position: relative;
  width: 16px;
  margin-left: 5px;
  top: -1px;
}

.cancel-quotation-checkbox-text {
  align-items: center;
  display: flex;
  color: #ce2020;
  font-size: 0.7em;
  font-weight: bold;
}

/* .cancel-quotation-checkbox + .cancel-quotation-checkbox-text::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 16px;
  position: relative;
  width: 16px;
  margin-left: 5px;
  top: -1px;
} */

/* 工事管理 - 施工業者・手入力選択モーダル */

.modal-company-select .footer-button-area {
  position: relative;
  width: 100%;
  text-align: center;
  margin-top: 20px;
}

.modal-company-select table tbody {
  cursor: pointer;
}

.modal-company-select .manual-input-form {
  display: flex;
}

.modal-company-select .manual-input-form .regist-manual-input-btn {
  min-width: 100px;
  margin-left: 10px;
}

.modal-company-select .form-switch {
  line-height: 2.3em;
  float: right;
}

.modal-company-select .form-switch .area-title {
  float: left;
  position: absolute;
  left: 25px;
}

.modal-company-select .form-switch .form-check-input {
  font-size: 1.5em;
}

/* 工事管理 - 工事完了承認 */

/* テーブル */

.kouji.complete-approval table.card-table tbody tr td dl dt {
  width: 120px;
}

.kouji.complete-approval table.card-table tbody tr td dl dd {
  width: calc(100% - 120px);
}

/* 施工業者 - 工事管理 - 工事完了通知 */

/* テーブル */

.contractor.kouji-complete-notify table.card-table tbody tr td dl dt {
  width: 120px;
}

.contractor.kouji-complete-notify table.card-table tbody tr td dl dd {
  width: calc(100% - 120px);
}

/* .contractor.kouji-complete-notify table.card-table tbody tr td .top-line {
  padding: 4px;
} */

/* 工事書類管理/施工業者 - 見積書検索 */

/* テーブル */

.kouji.mitsumori table.card-table tbody tr td dl dt {
  width: 120px;
}

.kouji.mitsumori table.card-table tbody tr td dl dd {
  width: calc(100% - 120px);
}

/* 工事書類管理/施工業者 - 発注/請書検索 */

/* テーブル */

.kouji.hacchu table.card-table tbody tr td dl dt {
  width: 120px;
}

.kouji.hacchu table.card-table tbody tr td dl dd {
  width: calc(100% - 120px);
}

/* 工事書類管理/施工業者 - 請求書検索 */

/* テーブル */

.kouji.seikyu table.card-table tbody tr td dl dt {
  width: 120px;
}

.kouji.seikyu table.card-table tbody tr td dl dd {
  width: calc(100% - 120px);
}

/* 工事書類管理/施工業者 - 請求書一覧 */

/* テーブル */

.contractor.invoice-list table.card-table tbody tr td dl dt {
  width: 120px;
}

.contractor.invoice-list table.card-table tbody tr td dl dd {
  width: calc(100% - 120px);
}

/* 工事書類管理/施工業者 - 見積書(作成)/請求書(作成)/発注書(作成)/請書(作成)/追加申立 - 右側 */

/* .contractor.quotation .flex-row.width-equal-division > .flex-column:nth-of-type(1),
.contractor.invoice .flex-row.width-equal-division > .flex-column:nth-of-type(1),
.kouji.purchase-order .flex-row.width-equal-division > .flex-column:nth-of-type(1),
.contractor.order-confirmation .flex-row.width-equal-division > .flex-column:nth-of-type(1),
.contractor.moshitate .flex-row.width-equal-division > .flex-column:nth-of-type(1) {
  flex-basis: 50%;
} */

/* 工事書類管理/施工業者 - 見積書(作成)/請求書(作成)/発注書(作成)/請書(作成) - 左側 */

/* .contractor.quotation .flex-row.width-equal-division > .flex-column:nth-of-type(2),
.contractor.invoice .flex-row.width-equal-division > .flex-column:nth-of-type(2),
.kouji.purchase-order .flex-row.width-equal-division > .flex-column:nth-of-type(2),
.contractor.order-confirmation .flex-row.width-equal-division > .flex-column:nth-of-type(2),
.contractor.moshitate .flex-row.width-equal-division > .flex-column:nth-of-type(2) {
  flex-basis: calc(50% - 2rem);
} */

/* 工事書類管理/施工業者 - 見積書(作成)/請求書(作成)/発注書(作成)/請書(作成)/追加申立 - テーブル共通 */

.contractor.quotation table,
.contractor.invoice table,
.kouji.purchase-order table,
.contractor.order-confirmation table,
.agreement.add-agreement-money table {
  box-shadow: none;
}

/* 工事書類管理/施工業者 - 追加申立 - 申し立て結果 */

.contractor.moshitate .moshitate-result-area,
.contractor.invoice .seikyu-result-area {
  width: 100%;
}

.contractor.moshitate .moshitate-result-area .rw-form dt,
.contractor.invoice .seikyu-result-area .rw-form dt {
  width: 100px;
}

.contractor.moshitate .moshitate-result-area .rw-form dd,
.contractor.invoice .seikyu-result-area .rw-form dd {
  width: 17.5em;
}

/* 工事書類管理/施工業者 - 見積書(作成)/請求書(作成)/発注書(作成)/請書(作成) - 基本情報エリア */

.contractor.quotation .base-info-area,
.contractor.invoice .base-info-area,
.kouji.purchase-order .base-info-area,
.contractor.order-confirmation .base-info-area,
.contractor.moshitate .base-info-area {
  width: 100%;
}

.contractor.quotation .base-info-area .rw-form dt,
.contractor.invoice .base-info-area .rw-form dt,
.kouji.purchase-order .base-info-area .rw-form dt,
.contractor.order-confirmation .base-info-area .rw-form dt,
.contractor.moshitate .base-info-area .rw-form dt {
  width: 100px;
}

.contractor.quotation .base-info-area .rw-form dd,
.contractor.invoice .base-info-area .rw-form dd,
.kouji.purchase-order .base-info-area .rw-form dd,
.contractor.order-confirmation .base-info-area .rw-form dd,
.contractor.moshitate .base-info-area .rw-form dd {
  width: calc(100% - 100px);
}

/* 工事書類管理/施工業者 - 追加申立 - 基本情報エリア */

.contractor.moshitate .base-info-area .rw-form dd,
.contractor.invoice .base-info-area .rw-form dd {
  width: 17.5em;
}

/* 工事書類管理/施工業者 - 見積書(作成)/発注書(作成)/追加申立 - 見積/発注/請求内容エリア */

.contractor.quotation .quotation-input-area table tbody tr td.suryou-tani select,
.kouji.purchase-order .hacchu-input-area table tbody tr td.suryou-tani select {
  margin-top: 5px;
  width: 80px;
  float: right;
}

/* 工事書類管理/施工業者 - 見積書(作成) - ファイル添付エリア */

.contractor.quotation .file-attachment-area {
  /* width: 420px; */
  margin-bottom: 0;
}

/* 工事書類管理/施工業者 - 見積書(作成)/請求書(作成)/発注書(作成)/請書(作成)/追加申立 - 合計金額エリア - 共通 */

.contractor.quotation .total-order-amount-area .table tbody th,
.contractor.invoice .total-order-amount-area .table tbody th,
.kouji.purchase-order .total-order-amount-area dl dt,
.contractor.order-confirmation .total-order-amount-area dl dt,
.contractor.moshitate .total-amount-area dl dt {
  font-weight: bold;
}

/* 工事書類管理/施工業者 - 見積書(作成) - 合計金額エリア */

.contractor.quotation .total-order-amount-area.float-right {
  width: 42.5%;
}

.contractor.quotation .total-order-amount-area.float-right {
  margin-bottom: 0;
}

.contractor.quotation .total-order-amount-area dt,
.contractor.quotation .total-order-amount-area dd {
  width: 50%;
}

.contractor.quotation .total-order-amount-area .supplement {
  text-align: right;
}

.contractor.quotation .total-order-amount-area.sp dt {
  width: 29%;
}

.contractor.quotation .total-order-amount-area.sp dd {
  width: 71%;
}

.contractor.quotation .total-order-amount-area.edit.float-right {
  width: 40%;
  margin-right: 6%;
}

.contractor.quotation .total-order-amount-area.float-right.edit dt {
  width: 50%;
}

.contractor.quotation .total-order-amount-area.edit.sp {
  width: 91.5%;
}

.contractor.quotation .total-order-amount-area.edit.sp dt {
  width: 100px;
}

.contractor.quotation .show-pdf-button-area button {
  margin-top: 3px;
}

/* 工事書類管理/施工業者 - 請求書(作成) - 合計金額エリア */

.contractor.invoice .total-order-amount-area.float-right {
  width: 40%;
  margin-right: 25%;
}

.contractor.invoice .total-order-amount-area.sp.float-right {
  width: 73%;
  margin-right: 0;
}

.contractor.invoice .total-order-amount-area.float-right dt {
  width: 50%;
}

.contractor.invoice .total-order-amount-area.sp.float-right dt {
  width: 45.5%;
}

.contractor.invoice .total-order-amount-area.float-right dd {
  width: 50%;
}

.contractor.invoice .total-order-amount-area.sp.float-right dd {
  width: 54.5%;
}

/* .contractor.invoice .total-order-amount-area {
  width: 66%;
} */

/* 工事書類管理/施工業者 - 発注書(作成) - 合計金額エリア */

.kouji.purchase-order .total-order-amount-area.float-right {
  width: 42%;
}

.kouji.purchase-order .total-order-amount-area .number-payments-part {
  margin-top: 5px;
}

.kouji.purchase-order .total-order-amount-area.float-right dt,
.kouji.purchase-order .total-order-amount-area.float-right dd {
  width: 50%;
}

.kouji.purchase-order .total-order-amount-area.edit.float-right {
  width: 40%;
  margin-right: 6%;
}

.kouji.purchase-order .total-order-amount-area.sp {
  width: 100%;
}

.kouji.purchase-order .total-order-amount-area.sp dt {
  width: 32.5%;
}

.kouji.purchase-order .total-order-amount-area.sp dd {
  width: 67.5%;
}

.kouji.purchase-order .total-order-amount-area.edit.sp {
  width: 91.25%;
}

.kouji.purchase-order .total-order-amount-area.edit.sp dt {
  width: 40%;
}

.kouji.purchase-order .total-order-amount-area.edit.sp dd {
  width: 60%;
}

/* 工事書類管理/施工業者 - 請書(作成) - 合計金額エリア */

.contractor.order-confirmation .total-order-amount-area.float-right {
  width: 45%;
}

.contractor.order-confirmation .total-order-amount-area.float-right dt {
  width: 44.5%;
}

.contractor.order-confirmation .total-order-amount-area.float-right dd {
  width: 55.5%;
}

.contractor.order-confirmation .total-order-amount-area.sp {
  width: 100%;
}

.contractor.order-confirmation .total-order-amount-area.sp dt {
  width: 32.5%;
}

.contractor.order-confirmation .total-order-amount-area.sp dd {
  width: 67.5%;
}

/* .contractor.order-confirmation .total-order-amount-area.float-right.edit {
  width: 40%;
  margin-right: 6%;
} */

/* 工事書類管理/施工業者 - 追加申立 - 合計金額エリア */

.contractor.moshitate .total-amount-area {
  width: 50%;
}

.contractor.moshitate .total-amount-area dt {
  width: 40%;
}

.contractor.moshitate .total-amount-area dd {
  width: 60%;
}

.contractor.moshitate .total-amount-area.sp {
  width: 100%;
}

.contractor.moshitate .total-amount-area.edit.float-right {
  width: 45%;
  margin-right: 10%;
}

.contractor.moshitate .total-amount-area.edit.sp {
  width: 89%;
}

/* 工事書類管理/施工業者 - 見積書/発注書(作成)/請書(作成) - 備考/特記事項エリア */

.contractor.quotation .note-area .rw-form dt,
.kouji.purchase-order .special-mention-area .rw-form dt,
.contractor.order-confirmation .special-mention-area .rw-form dt {
  width: 100px;
}

.contractor.quotation .note-area .rw-form dd,
.kouji.purchase-order .special-mention-area .rw-form dd,
.contractor.order-confirmation .special-mention-area .rw-form dd {
  width: calc(100% - 100px);
}

/* 工事書類管理/施工業者 - 見積書/追加申立 - 注記・補足 */

.contractor.quotation .supplement,
.contractor.moshitate .supplement {
  margin-top: 5px;
}

/* 工事書類管理/施工業者 - 追加申立 - 否認理由入力モーダル */

.modal.contractor.moshitate .rw-form dt {
  width: 100px;
}

.modal.contractor.moshitate .rw-form dd {
  width: calc(100% - 100px);
}

/* 工事管理 - 支払承認 */

/* .kouji.payment-approval .flex-row.width-equal-division > .flex-column:nth-of-type(1) {
  flex-basis: calc(55% - 2rem);
}

.kouji.payment-approval .flex-row.width-equal-division > .flex-column:nth-of-type(2) {
  flex-basis: 45%;
} */

.kouji.payment-approval table {
  /* width: 800px; */
  box-shadow: none;
}

.kouji.payment-approval table tbody tr td.status {
  min-width: 200px;
}

.kouji.payment-approval .base-info-area {
  width: 70%;
  min-width: 500px;
}

.kouji.payment-approval .base-info-area .rw-form dt {
  width: 160px;
}

.kouji.payment-approval .base-info-area .rw-form dd {
  width: calc(100% - 160px);
}

/* 工事書類管理/施工業者 - 追加申立 - 否認理由入力モーダル */

.modal.kouji.payment-approval .rw-form dt {
  width: 100px;
}

.modal.kouji.payment-approval .rw-form dd {
  width: calc(100% - 100px);
}

/* 財務管理 */

/* 財務管理 - タイトル */

.finance .screen-title-area .screen-title {
  /* border-left: solid 5px #6533CC; */
  border-left: solid 5px #043752;
}

.finance .area-title {
  /* border-left: solid 4px #8F69DD; */
  border-left: solid 4px #165D83;
}

/* 財務管理 - テーブル */

.finance .table th {
  background-color: #165D83;
  color: #fff;
}

.finance table.card-table tbody tr td .top-line {
  background-color: #165D83;
}

.finance table.card-table tbody tr td dl dt {
  background-color: #165D83;
  color: #fff;
  width: 100px;
}

.finance table.card-table tbody tr td dl dd {
  width: calc(100% - 100px);
}

/* 財務管理 - エリア共通 */

.finance .rw-form dt {
  background-color: #165D83;
  color: #fff;
  /* background-color: #8F69DD;
  color: #fff; */
}

/* 財務管理 - 仮契約登録 */

.agreement.select-agreement-type .regist-info-area,
.agreement.select-agreement-type .regist-info-area + .button-area,
.agreement.confirm .regist-info-area,
.agreement.confirm .regist-info-area + .button-area {
  width: 400px;
}

.agreement.select-agreement-type .regist-info-area .rw-form dt,
.agreement.confirm .regist-info-area .rw-form dt {
  /* background-color: #5F85B6; */
  background-color: #225494;
  color: #fff;
  width: 150px;
}

.agreement.select-agreement-type .regist-info-area .rw-form dd,
.agreement.confirm .regist-info-area .rw-form dd {
  width: calc(100% - 150px);
}

/* 財務管理 - メニュー */

.finance.menu .link-button p:hover {
  color: #fff;
  background-color: #043752;
  border-color: 1px solid #043752;
}

.finance.menu .link-button p {
  border-color: #165D83;
  background-color: #165D83;
}

.finance.menu .link-button p::after {
  border-color: #fff;
}

/* 財務管理 - 入金消込 */

.finance.bill.manage-bill .bill-status-list {
  list-style: none;
  padding: 0px;
  margin: 0px;
}

.finance.bill.manage-bill .bill-status-list hr {
  padding: 0px;
  margin: 0px;
  margin-bottom: 3px;
}

.finance.bill.manage-bill .bill-status-list li> div:nth-child(1){
  float: left;
}

.finance.bill.manage-bill .bill-status-list li> div:nth-child(2){
  text-align: right;
}

/* 財務管理 - 入金消込 - 入金処理モーダル */

/* .modal.finance.bill.manage-bill {
  width: 400px;
} */

.modal.finance.bill.manage-bill .seikyu-info-area .rw-form dt {
  background-color: #165D83;
  color: #fff;
  width: 100px;
}

.modal.finance.bill.manage-bill .seikyu-info-area .rw-form dd {
  width: calc(100% - 100px);
}

.modal.finance.bill.manage-bill .table {
  box-shadow: none;
}

/* 財務管理 - 支払管理 - 支払締め処理 */

/* テーブル */

.finance.payment.manage_payment table.card-table tbody tr td dl dt {
  width: 120px;
}

.finance.payment.manage_payment table.card-table tbody tr td dl dd {
  width: calc(100% - 120px);
}

/* 財務管理 - 支払管理 - 支払データ作成 */

.finance.closed-payment table.card-table tbody tr td dl dt {
  width: 150px;
}

.finance.closed-payment table.card-table tbody tr td dl dd {
  width: calc(100% - 150px);
}

/* 財務管理 - 支払管理 - 支払データ作成 - ダウンロードモーダル */
.modal.finance.payment.closed-payment .download-link-area .rw-form dt {
  background-color: #165D83;
  color: #fff;
  width: 100px;
  padding: 7px 10px;
}

.modal.finance.payment.closed-payment .download-link-area .table {
  box-shadow: none;
}

/* 分析管理 */

/* 分析管理 - タイトル */

.analysis .screen-title-area .screen-title {
  border-left: solid 5px #6F5334;
}

.analysis .area-title {
  border-left: solid 4px #A5896A;
}

/* 分析管理 - テーブル */

.analysis .table th {
  background-color: #A5896A;
  color: #fff;
}

/* 分析管理 - エリア共通 */

.analysis .rw-form dt {
  background-color: #A5896A;
  color: #fff;
  /* background-color: #DEC9B2; */
}

/* 分析管理 - 帳票発行選択 */

.analysis.report-select .issue-select-area {
  /* width: 450px; */
  width: auto;
}

.analysis.report-select .issue-select-area .rw-form dt {
  padding-right: 20px;
  padding-left: 20px;
}

.analysis.report-select .issue-select-area .rw-form dd .remarks {
  width: 350px;
}

/* 分析管理 - 契約率（総計） */

.analysis.report-total-keiyaku .contract-rate-summary-tbl-area {
  width: 700px;
}

/* マスタ管理／設定 */

/* マスタ管理／設定 - タイトル */

.master .screen-title-area .screen-title,
.settings .screen-title-area .screen-title {
  border-left: solid 5px #6F5334;
}

.master .area-title,
.settings .area-title {
  border-left: solid 4px #A5896A;
}

/* マスタ管理／設定 - テーブル */

.master .table th,
.settings .table th {
  background-color: #A5896A;
  color: #fff;
}

.master table.card-table tbody tr td .top-line,
.settings table.card-table tbody tr td .top-line {
  background-color: #A5896A;
}

.master table.card-table tbody tr td dl dt,
.settings table.card-table tbody tr td dl dt {
  background-color: #A5896A;
  color: #fff;
  width: 120px;
}

.master table.card-table tbody tr td dl dd,
.settings table.card-table tbody tr td dl dd {
  width: calc(100% - 120px);
}

/* マスタ管理／設定 - エリア共通 */

.master .rw-form dt,
.settings .rw-form dt {
  background-color: #A5896A;
  color: #fff;
  /* background-color: #DEC9B2; */
}

/* マスタ管理／設定 - LINEID/電子印 */

.master .rw-form dl.line-id dd .button-area,
.master .rw-form dl.electronic-seal dd .button-area,
.settings .rw-form dl.line-id dd .button-area,
.settings .rw-form dl.electronic-seal dd .button-area {
  float: right;
  margin-top: 0px;
  height: 100%;
}

.master .rw-form dl.line-id dd:has(button),
.master .rw-form dl.electronic-seal dd:has(button),
.settings .rw-form dl.line-id dd:has(button),
.settings .rw-form dl.electronic-seal dd:has(button) {
  line-height: 30px;
}

/* マスタ管理 - 担当者マスタ */

.master.staff .staff-info-area {
  width: 500px;
}

.master.staff .staff-info-area .rw-form dt {
  width: 130px;
}

.master.staff .staff-info-area .rw-form dd {
  /* width: calc(100% - (125px + 225px + 1rem)); */
  width: calc(100% - 130px);
}

/* .master.staff .staff-info-area .rw-form dl.multi-dt-dd-items dt:last-of-type {
  width: 75px;
}

.master.staff .staff-info-area .rw-form dl.multi-dt-dd-items dd:last-of-type {
  width: 150px;
} */

.master.staff .staff-info-area .rw-form dl.notify-settings {
  justify-content: flex-end;
  /* margin-bottom: 1rem; */
}

.master.staff .staff-info-area .rw-form dl.notify-settings dt {
  width: 75px;
}

.master.staff .staff-info-area .rw-form dl.notify-settings dd {
  width: 150px;
}

/* マスタ管理 - 施工業者マスタ - 施工業者情報エリア */
/* マスタ管理 - 施工業者マスタ - 支払先口座情報エリア */
/* マスタ管理 - 施工業者マスタ - 支払元口座情報エリア */
/* マスタ管理 - 施工業者マスタ - 管理者情報エリア */

.master.contractor .flex-row .flex-column:has(.contractor-info-area) {
  flex-basis: 35%;
}

/* .master.contractor .contractor-info-area,
.master.contractor .payment-account-info-area,
.master.contractor .payment-source-account-info-area,
.master.contractor .admin-info-area {
  width: 100%;
} */

.master.contractor .contractor-info-area .rw-form dt,
.master.contractor .payment-account-info-area .rw-form dt,
.master.contractor .payment-source-account-info-area .rw-form dt,
.master.contractor .admin-info-area .rw-form dt {
  width: 140px;
}

.master.contractor .contractor-info-area .rw-form dd,
.master.contractor .payment-account-info-area .rw-form dd,
.master.contractor .payment-source-account-info-area .rw-form dd,
.master.contractor .admin-info-area .rw-form dd {
  width: calc(100% - 140px);
}

/* マスタ管理 - コードマスタ */

.master.code .code-info-area {
  width: 450px;
}

.master.code .code-info-area .rw-form dt {
  width: 100px;
}

.master.code .code-info-area .rw-form dd {
  width: calc(100% - 100px);
}


/* 設定 - ログインユーザ設定 */

.settings.loginuser .user-info-area {
  width: 500px;
}

.settings.loginuser .user-info-area .rw-form dt {
  width: 125px;
}

.settings.loginuser .user-info-area .rw-form dd {
  /* width: calc(100% - (125px + 225px + 1rem)); */
  width: calc(100% - 125px);
}

.settings.loginuser .user-info-area .rw-form dl.multi-dt-dd-items dt:last-of-type {
  width: 75px;
}

.settings.loginuser .user-info-area .rw-form dl.multi-dt-dd-items dd:last-of-type {
  width: 150px;
}

.settings.loginuser .user-info-area .rw-form dl.notify-settings {
  justify-content: flex-end;
  /* margin-bottom: 1rem; */
}

.settings.loginuser .user-info-area .rw-form dl.notify-settings dt {
  width: 75px;
}

.settings.loginuser .user-info-area .rw-form dl.notify-settings dd {
  width: 150px;
}

/* 設定 - 事業所メンテナンス */

.settings.office .office-info-area {
  width: 700px;
}

.settings.office .office-info-area .rw-form dt {
  width: 140px;
}

.settings.office .office-info-area .rw-form dd {
  width: calc(100% - 140px);
}

.operation-message {
  font-weight: bold;
  padding-left: 10px;
  line-height: 1.8;
  width: auto;
  height: auto;
  margin: 10px;
}

.kouji-complete-notify .search-results-area table tbody td .kouji-kind-check-box,
.finance.payment.manage_payment .search-results-area table tbody td .payment-check-box,
#mitsumori-request-form table tbody tr td .mitsumori-irai-check-box {
  pointer-events: none;
}

#mitsumori-request-form .table-scroll {
    margin-top: 10px;
    margin-bottom: 30px;
}

.yosan-table-area {
  max-width: 568px;
}

.text-end {
  white-space: nowrap;
}

.text_center {
  text-align: center;
}

/* アンケート */

.question-header {
    display: block;
}

.question-header .visit_date {
    float: right;
    /* margin-right: 30px; */
    margin-top: 10px;
}

.question-header img {
    height: 35px;
}

.question_expr {
  margin: 40px 0;
}

.question_expr h5 {
  font-weight: bold;
  width: auto;
  height: auto;
}

.question-form .question-modal button.qr-next-btn {
  color: #fff;
  width: 130px;
  margin-bottom: 25px;
  font-size: 25px;
  padding: 5px 16px;
}

.question-form .question-modal .modal-circle {
  background-color:#f6ab00;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  margin-right: 5px;
}

.question-form .question-modal p {
  font-size: 16px;
}

.question-form .personal-info-annotation {
  white-space: nowrap;
  margin-top: 4px;
}

.question-form .rw-form dl {
  margin-bottom: 0;
}

.question-form .rw-form dt {
  min-width: 170px;
}

.question-form .rw-form dt.title_group_single {
  border-left: 1px solid #00000078;
  border-top: 1px solid #00000078;
  border-bottom: 1px solid #00000078;
}

.question-form .rw-form dt.title_group_bottom {
  border-radius: 0 0 0 5px;
  border-left: 1px solid #00000078;
  border-bottom: 1px solid #00000078;
}

.question-form .rw-form dt.title_group_top {
  border-radius: 5px 0 0 0;
  border-bottom: 1px dotted rgba(0,0,0,.2);
  border-left: 1px solid #00000078;
  border-top: 1px solid #00000078;
}

.question-form .rw-form dt.title_group_bottom {
  border-radius: 0 0 0 5px;
  border-left: 1px solid #00000078;
  border-bottom: 1px solid #00000078;
}

.question-form .rw-form dd.title_group_single {
  border-right: 1px solid #00000078;
  border-top: 1px solid #00000078;
  border-bottom: 1px solid #00000078;
  background-color: inherit;
}

.question-form .rw-form dd.title_group_top {
  border-radius: 0 5px 0 0;
  border-bottom: 1px dotted rgba(0,0,0,.2);
  border-right: 1px solid #00000078;
  border-top: 1px solid #00000078;
  background-color: inherit;
}

.question-form .rw-form dd.title_group_bottom {
  border-radius: 0 0 5px 0;
  border-right: 1px solid #00000078;
  border-bottom: 1px solid #00000078;
  background-color: inherit;
}

.question-form .rw-form dd.title_group_simple {
  background-color: inherit;
}

.question-form .rw-form dd.select_number {
  width: auto;
}

.question-form .rw-form dd {
  width: 100%;
}

.question-form .rw-form dd .syokai_name {
  width: 400px;
  height: 40px;
  font-size: 1.5rem;
}

.question-form .rw-form dd .syokai_name + span{
  font-weight: bold;
  bottom: 5px;
  font-size: 1rem;
  left: 420px;
}

.question-form .rw-form dd .syokai_name_wrapper {
  width: 460px;
  border-bottom: 1px solid #000000;
  padding-bottom: 10px;
}

.question-form input[type="text"].small-font,
.question-form div.small-font {
  height: 22px;
  font-size: 0.8rem;
}

.question-form dd.small-font {
  font-size: 0.7rem;
}

.question-form .rw-form dt.small-font-title {
  font-size: 0.75rem;
}

.question-form input[type="text"].big-font {
  font-size: 1rem;
}

.question-form input[type="text"].big-font-name,
.question-form div.big-font-name {
  height: 50px;
  font-size: 1.8rem;
}

.question-form input[type="text"],
.question-form div[contentEditable] {
    padding: 1px 10px;
}

.question-form dd.big-font {
  font-size: 1rem;
}

.question-form .rw-form dt.big-font-title {
  padding-top: 10px;
  font-size: 1rem;
}

.question-form input[type="text"] {
  border: 1px solid #49494954;
}

.question-form .upper_space {
  margin-top: 10px;
}

.question-form .zip_code {
  width: 140px!important;
  height: 22px;
  /* float: left; */
  margin: 2px 10px 0px 10px;
  font-size: 12px;
  /* line-height: 22px; */
}

.question-form .address-kanji {
  height: 30px;
}

.question-form .phone_number {
  width: 160px;
  height: 30px;
}

.question-form .area-title {
  font-weight: bold;
  margin-bottom: 0!important;
  margin-top: 3px;
  letter-spacing: 2px;
  padding-left: 0px;
}

.question-form .area-title img {
  width: 20px;
  margin-right: 5px;
}

.question-form .area-title p {
  margin-left: 25px;
}

.question-form .area-title + div:not(.question_baitai_area){
  margin-bottom: 6px;
}

.question-form .form-check-input {
    margin-top: 0px;
}

.question-form .form-check-input[type="radio"] {
    margin-top: 4px;
    margin-right: 4px;
}

.question-form .form-check-input[type="checkbox"] {
    margin-top: 1px;
}

.question-form label {
  font-size: 0.95rem;
  margin-right: 20px;
}

.question-form label input {
    margin-left: 5px;
    margin-right: 5px;
}

.question-form label.siryou_yes {
  margin-right: 23px;
}

/* .question-form .form-check-label {
    line-height: 0.9em;
} */

/* .question-form .button-area {
} */

.question-form .question-button-area {
  margin-top: 4px;
  position: relative;
  height: 50px;
}

.question-form .question-button-area > img {
  width: 65px;
  position: absolute;
  right: 0;
}

.question-form .question-button-area .btn-regist + img {
  top: -10px;
}
.question-form .question-button-area .btn-next + img {
  top: -8px;
}

.question-form .question-button-area .btn-danger + img {
  top: -5px;
}

.question-form button.btn-danger {
  width: 130px;
  box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, .3);
}

.question-form .dropdown button.btn-secondary {
  background-color: #fff;
  color: #000000;
  width: 67px;
  height: 31px;
  padding: 3px;
  border: 1px solid #49494954;
}

.question-form .dropdown .dropdown-menu {
  min-width: 67px;
  height: 160px;
  overflow: auto;
}

.question-form .dropdown .dropdown-menu .dropdown-item {
  padding: 0 1rem;
}

.question-form .dropdown .dropdown-menu .selected-color {
  background-color:#0d6efd;
  color: #fff;
}

.question-form .dropdown {
  margin-left: 5px;
}

.question-form .dropdown .dropdown-toggle:disabled {
  background-color:#e9ecef;
}

.question-form button.btn-cancel {
  float: left;
}

.question-form button.btn-cancel > i {
  transform: scale(-1, 1);
  color: #fff;
}

.question-form .baitai-wrapper {
  float: left;
  width: 121px;
}

.question-form .baitai-wrapper .form-check-input[type="checkbox"] {
  margin-top: 4px;
}

.question-form label.ank-baitai-label {
  display: block;
  font-size: 0.85em;
  margin-right: 0px;
}

.question-form .inf-magazine-label {
  font-size: 0.85em;
  margin-right: 0px;
}

.question-form .inf-magazine-label img{
  height: 19px;
}

.question-form .question-modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(152, 152, 152, 0.7);
  width: 100%;
  height: 100%;
  z-index: 10;
}

.question-link-area {
  margin-top: 60px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  border: 1px dashed;
  padding: 1em;
  width: 90%;
}

.question-link {
  font-size: 1.5rem;
}

.question-form [data-placeholder][data-placeholderactive=true]::before {
  content: attr(data-placeholder);
  opacity: 0.5;
  font-size: 12px;
}

.input-error-area {
  width: 100%;
  font-size: 1rem;
  font-weight: bold;
  color: #9a1515;
  padding: 10px 20px;
  margin: 20px 0;
  border: 2px solid #9a1515;
  border-radius: 10px;
  background-color: #f3c3d66b;
}

.btn-big {
  width: 250px;
  height: 60px;
  font-size: 2rem;
  border-radius: 20rem;
}

.btn-big > i {
  padding: 0 0.6rem;
}

.btn-big > i::before {
  border-radius: 20rem 0 0 20rem;
}

.btn-big .btn-icons {
  font-size: 2rem;
}

.inline-flex-row {
  display: inline-flex;
}

.inline-flex-row dl:nth-child(2) {
  margin-left: 20px;
}

#question-link {
  margin-top: 20px;
}

.input-keihi {
    text-decoration: underline;
    color: #0d6efd;
}

.padding-m {
    padding: 10px;
}

.margin-s {
    margin: 5px;
}

.margin-bottom-s {
    margin-bottom: 5px;
}

.margin-bottom-m {
    margin-bottom: 10px;
}

.margin-left-m {
    margin-left: 10px;
}

.staff-mail-notice-area {
    border: dotted 1px;
    padding: 20px;
    border-radius: 5px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

.place-holder-right::placeholder {
    text-align: right;
}

/* アコーディオン */
.hidden-view{
    display: none;
}
.hidden-view.open{
    display: block;
}
.button::before{
    content: "もっと見る";
}
.hidden-view.open + .button::before{
    content: "閉じる";
}
.accordion_more_link {
    display: block;
    clear: both;
    text-align: center;
    position: relative;
    top: -20px;
    background-color: #db8100;
    color: #ffffff;
    background-clip: content-box;
    padding: 10px;
    display: block;
    /* margin: 20px; */
    width: 150px;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    text-decoration: none;
}
.accordion_more_link:hover {
    background-color: #db8100c2;
    color: #fff;
}

.question_baitai_area {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.hissu:invalid {
    background: #ffe2e2;
}

.important:placeholder-shown,
.important-select,
.question-form .dropdown button.btn-secondary.important-select {
  background-color: #ffe2e2;
}
