@charset "utf-8";

html {
  overflow-y: scroll;
  position: relative;
  min-height: 100%;
}

body {
  padding-bottom: 2em;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.content-title {
  /*border-left: 8px solid #0c2f92;*/
  border-left: 8px solid #28a745;
  padding: 5px 0 5px 5px;
}

.icon {
  display: inline-block;
  vertical-align: text-bottom;
  height: 1.6em;
}

.btn-row button:nth-of-type(n+2), .btn-row div.btn:nth-of-type(n+2) {
  margin-left: 1em;
}

.kigo {
  font-family: "メイリオ", "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3";
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  text-align: right;
  -moz-apperance: textfield;
}

.bg-maincolor {
  /*background: #0c2f92;*/
  background: #007d1d;
}

input[data-type="number"] {
  text-align: right;
}

.bg-subcolor {
  /*background: #07c;*/
  background: #007d1d;
}

.bg-formcolor {
  background: #f5f5f5 !important;
}

.bg-error {
  background: #ff3232;
}

.bg-answer {
  background: #ffe8ff;
}

.bg-infocolor {
  background: #008010;
}

h5 + div {
  margin-bottom: .8em;
}

.mordal-bg {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 auto;
  background: gray;
  display: block;
  height: 100%;
  width: 100%;
  opacity: 0.5;
  -moz-opacity: 0.5; /* fx */
  -ms-filter: "alpha(opacity=50)"; /* ie8,9 */
  text-indent: -9999px;
  z-index: 9999;
  zoom: 1;
}

.mordal-window {
  position: absolute;
  border: 1px solid #ddd;
  background: #fff;
  display: block;
  left: 50vw;
  top: 50vh;
  z-index: 10000;
}

.w-20 {
  width: 20% !important;
}
.w-15 {
  width: 15% !important;
}
.w-13 {
  width: 13% !important;
}

.opa-90 {
  opacity: 0.9 !important;
}

a>img:hover {
  opacity: 0.7;
}

a>img:active {
  position: relative;
  top: 3px;
}

.text-red {
  color: #dc3545;
}

.text-blue {
  color: #007bff;
}

.text-orange {
  color: #fd7e14;
}

.text-green {
  color: #28a745;
}

/* kome */
p.kome {
  margin-left: 2.1em;
}

p.kome::before {
  position: absolute;
  content: "※";
  margin-left: -1.1em;
}

p.kome1, p.kome2, p.kome3, p.kome4, p.kome5 {
  margin-left: 3.6em;
  margin-bottom: 0;
}

p.kome1::before {
  position: absolute;
  content: "※１";
  margin-left: -2.6em;
}

p.kome2::before {
  position: absolute;
  content: "※２";
  margin-left: -2.6em;
}

p.kome3::before {
  position: absolute;
  content: "※３";
  margin-left: -2.6em;
}

p.kome4::before {
  position: absolute;
  content: "※４";
  margin-left: -2.6em;
}

p.kome5::before {
  position: absolute;
  content: "※５";
  margin-left: -2.6em;
}

/* maru */
.maru {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column;
  vertical-align: bottom;
  border-style: solid;
  border-width: thin;
  width: 2em;
  height: 2em;
  margin-top: .25em;
}

.maru > label {
  margin-top: .4em;
}

/* tooltip */
#powerTip > div {
  max-width: 960px;
  max-height: 600px;
  overflow-y: auto;
}

/* table */
tr.total-row {
  border-top: 3px double #ddd;
}

th.sz-0, td.sz-0 {
  min-width: 6em;
}

th.sz-1, td.sz-1 {
  min-width: 9em;
}

th.sz-1_5, td.sz-1_5 {
  min-width: 10.5em;
}

th.sz-2, td.sz-2 {
  min-width: 12em;
}

th.sz-3, td.sz-3 {
  min-width: 15em;
}

th.sz-4, td.sz-4 {
  min-width: 18em;
}

th.sz-5, td.sz-5 {
  min-width: 21em;
}

th.sz-6, td.sz-6 {
  min-width: 24em;
}

th.sz-7, td.sz-7 {
  min-width: 27em;
}

th.sz-8, td.sz-8 {
  min-width: 30em;
}

/* input num row */
div.input-num-row {
  padding-left: .375em;
  padding-right: .25em;
}

/* imformation bar */
#informationBar {
  opacity: 0.9;
}

/* side bar */
#sideBar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  font-size: 0.875em;
}

/* totop */
#totop {
  position: fixed;
  bottom: 45px;
  right: 15px;
}

#totop a {
  display : block;
  text-decoration: none;
}
#totop img {
  background: #000;
}

#totop img:hover {
  background: #333;
}

/* upload */
.selectFileBox {
  display: inline-block;
  border-width: 2px;
  border-style: dashed;
}

.selectFileBox.hover {
  border-color: #ccc;
  border-style: solid;
  background: #efd;
}

/* faq */
div.ques-logo {
  border: 1px solid #4f81bd;
  color: #4f81bd;
  float: left;
  height: 1.2em;
  width: 1.2em;
}

div.ans-logo {
  border: 1px solid #ff4646;
  color: #ff4646;
  float: left;
  height: 1.2em;
  width: 1.2em;
  padding: 0;
}

div.ques-logo span {
  position: relative;
  top: -.25em;
  left: .1em;
}

div.ans-logo span {
  position: relative;
  top: -.25em;
  left: .2em;
}

/* radio button */
div.content-form-radio {
  position: relative;
}

div.content-form-radio > .maru {
  position: absolute;
}

div.content-form-radio > .form-check {
  margin-left: 1.5em;
}

div.content-form-radio input[type="radio"] {
  display: none;
}

div.content-form-radio input[type="radio"] + span {
  display: inline-block;
  position: relative;
  padding: 0 0 0 1.5em;
  margin: 0 .2em 0;
  cursor: pointer;
}

div.content-form-radio input[type="radio"] + span::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid rgba(0,0,0,.3);
  border-radius: 50%;
  width: 1em;
  height: 1em;
  display: inline-block;
}

div.content-form-radio input[type="radio"]:checked + span::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  /*background: #2196f3 !important;*/
  border-radius: 50%;
  width: 0;
  height: 0;
  /*border: .5em solid #2196f3;*/
  border: .5em solid #28a745;
  display: inline-block;
}

div.content-form-radio + p, div.content-form-radio + div {
  margin-top: 1em;
}

/* select box */
div.content-form-select label {
  margin: 0 .2em .2em;
}

div.content-form-select label[for="hospitalQ2-select"] {
  display: inline-block;
  font-size: .95em;
  position: relative;
}

div.content-form-select label[for="hospitalQ2-select"]::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 8px;
  transform: translateY(-50%) rotate(-45deg);
  width: .95em;
  height: .95em;
  margin-top: -.2em;
  display: block;
  border-left: 3px solid #366af4;
  border-bottom: 3px solid #366af4;
  pointer-events: none;
}

div.content-form-select select {
  width: 100%;
  padding: .4em 2.4em .4em .8em;
  border-radius: 0;
  background-image: none;
  border: 1px solid rgba(0,0,0,.3);
  font-family: inherit;
  font-size: .95em;
  color: inherit;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

div.content-form-select select::-ms-expand {
  display: none;
}

div.content-form-select select:focus {
  outline: none;
  border: 1px solid rgba(0,0,0,.3);
  box-shadow: none;
}

/* check box */
.content-form-check input[type="checkbox"] {
  display: none;
}

.content-form-check input[type="checkbox"] + span {
  display: inline-block;
  position: relative;
  padding: .4em 0 0 1.8em;
  margin: 0 .2em 0;
  cursor: pointer;
}

.content-form-check input[type="checkbox"] + span::before {
  position: absolute;
  content: "";
  top: 20%;
  left: -.1em;
  background: #fff;
  border: 1.5px solid rgba(0,0,0,.3);
  border-radius: 2px;
  width: 1.5em;
  height: 1.5em;
  display: block;
}

.content-form-check input[type="checkbox"]:checked + span::after {
  position: absolute;
  content: "";
  top: 50%;
  left: -.1em;
  transform: translateY(-50%) rotate(-45deg);
  width: 1.5em;
  height: .9em;
  margin-top: 0em;
  display: block;
  border-left: 4px solid #f44336;
  border-bottom: 4px solid #f44336;
}

span.content-form-check {
  display: inline-block;
}

span.content-form-check input[type="checkbox"] + span::before {
  top: -.88em;
  display: inline-block;
}

span.content-form-check input[type="checkbox"]:checked + span::after {
  top: -.5em;
}

/* info message */
.info-message-box {
  border: 1px solid #008010;
  border-radius: 5px;
}

/* error message */
.error-message-box {
  border: 1px solid #ff3232;
  border-radius: 5px;
}

.error-message-box li {
  list-style: square outside;
  color: #f00;
  font-family: Sans-Serif;
}

.error-message-box li span {
  color: #212529;
}

.error-area {
  border: 2px solid #f00;
}

span.err-msg::before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  white-space: pre;
  content: "\f071   ";
}

.col-9.input-num-row {
  max-width: calc(75% - .5rem) !important;
}

div.btn:not(.disabled) {
  cursor: pointer;
}

/* 「第１　基本データ」－「８　入院基本料等の状況」のタイトル箇所の説明文の複数行括弧*/
.parenthesis03 {
    position: relative;
    width: auto;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin:10px 0;
}
.parenthesis03::before,
.parenthesis03::after {
    position: absolute;
    top: 0;
    content: '';
    width: 20px;
    height: 100%;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.parenthesis03::before {
    left: 0;
    border-left: 1px solid #dee2e6;
}
.parenthesis03::after {
    right: 0;
    border-right: 1px solid #dee2e6;
}

@page {
  size: A4;
  margin: 0;
}

@media print {
  html, body {
    height: auto;
  }
  body {
    -webkit-print-color-adjust: exact;
    top: 1em !important;
    left: 1em !important;
    width: 200mm !important;
    padding: 0 !important;
  }
  a[href]:after {
    content: "" !important;
  }
  abbr[title]:after {
    content: "" !important;
  }
  div.container {
    width: 1280px !important;
  }
  h4 {
    text-align: center !important;
  }
  td.border-bottom-0 {
    /*border-bottom: 1px solid #000 !important;*/
    /*margin-bottom: -1px !important;*/
    border-bottom: hidden;
    border-bottom: none !important;
  }
  td.border-top-0 {
    /*border-top: 1px solid #fff !important;*/
    /*border-top: hidden !important;*/
    border-top: none !important;
  }/*
  td.border-top-1 {
    border-top: 1px solid #fff !important;
  }*/
  tr.text-light > th, tr.text-light > td {
    color: #212529 !important;
  }
  .bg-formcolor {
    border: 1px solid #999 !important;
  }
  .ba {
    page-break-after: always;
  }
  .bb {
    page-break-before: always;
  }
  .error-area {
    border: none !important;
  }
  .table-responsive-xl,.table-responsive-lg,.table-responsive-md,.table-responsive-sm {
    overflow-x: hidden !important;
  }
  #headerArea, #informationArea, #informationBar, #copyright, #totop, button, nav, .no-print, footer, header, #powerTip {
    display: none !important;
  }
  #h1-1,#h1-27,#h1-28,#h1-30,#h1-31,#h1-32,#h1-33,#h1-34,#h1-35,#h1-36,#h1-37,#h1-38,#h1-39,#p1-15,#p1-16,#p1-18,#p1-24 {
    padding-left: 2.5em !important;
  }
  #h1-34,#h1-35,#h1-36,#h1-37,#h1-38,#h1-39 {
    padding-right: 10em !important;
  }
  #h1-28 {
    padding-right: 1em !important;
  }
  #h1-33>div.maru,#p1-20>div.maru {
    margin-top: 0 !important;
  }
  #h1-1>div.maru,#h1-27>div.maru,#h1-28>div.maru,#h1-30>div.maru,#h1-31>div.maru,#h1-32>div.maru,#h1-33>div.maru,#h1-34>div.maru,#h1-35>div.maru,#h1-36>div.maru,#h1-37>div.maru,#h1-38>div.maru,#h1-39>div.maru,#p1-15>div.maru,#p1-16>div.maru,#p1-18>div.maru,#p1-20>div.maru,#p1-24>div.maru {
    margin-left: -2.5em !important;
  }
  #h1-1>div.form-check,#h1-27>div.form-check,#h1-28>div.form-check,#h1-30>div.form-check,#h1-31>div.form-check,#h1-32>div.form-check,#h1-33>div.form-check,#h1-34>div.form-check,#h1-35>div.form-check,#h1-36>div.form-check,#h1-37>div.form-check,#h1-38>div.form-check,#h1-39>div.form-check,#p1-15>div.form-check,#p1-16>div.form-check,#p1-18>div.form-check,#p1-20>div.form-check,#p1-24>div.form-check {
    display: inline-block !important;
    margin-left: -1.15em !important;
  }
  div.mon {
    position: absolute !important;
    right: -6.5em !important;
    bottom: .05em !important;
  }
  div.mon>div {
    min-width: 2em !important;
  }
  #h1-5>thead>tr>th:nth-of-type(n+2) {
    min-width: 5em !important;
  }
  #h1-5>tbody>tr>td>div .col-7 {
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  #h1-5>tbody>tr>td>div .form-control {
    padding-left: 0 !important;
    padding-right: 0.2em !important;
  }
}

/* only ie */
@media all and (-ms-high-contrast:none) {
  * {
    font-family: "メイリオ", "Meiryo";
  }
  .maru > label {
    margin-top: .2em !important;
  }
}

@media print and (-ms-high-contrast:none) {
  #hospitalQ8-prescription {
    border-top: none !important;
    border-left: none !important;
    border-right: solid 1px #dee2e6 !important;
    border-bottom: solid 1px #dee2e6 !important;
    border-collapse: separate !important;
    border-spacing: 0px !important;
  }
  #hospitalQ8-prescription td {
    border-top: solid 1px #dee2e6 !important;
    border-left: solid 1px #dee2e6 !important;
    border-right: none !important;
    border-bottom: none !important;
  }
  #hospitalQ8-prescription td.border-bottom-0 {
    /*border-bottom: 1px solid #000 !important;*/
    /*margin-bottom: -1px !important;*/
    border-bottom: none !important;
  }
  #hospitalQ8-prescription td.border-top-0 {
    /*border-top: 1px solid #fff !important;*/
    /*border-top: hidden !important;*/
    border-top: solid 1px #dee2e6 !important;
  }
  div.mon {
    position: absolute !important;
    right: .5em !important;
  }
  div.mon>div {
    min-width: 5em !important;
  }
  h5 + div {
    margin-bottom: 0 !important;
  }
}

/**********************************************/
a{
  color:#008080 !important;
}

/* --------------------------------------------------
   1. 【一時保存】name="btn_regist", value="tmp" をピンクにする
   -------------------------------------------------- */
button[name="btn_regist"][value="tmp"] {
    background-color: #17a2b8 !important; /* HotPink（強制ピンク） */
    border-color: #17a2b8 !important;
    color: #fff !important; /* 文字色は白にする */
}

/* 一時保存のホバー時（少し濃いピンク） */
button[name="btn_regist"][value="tmp"]:hover {
    background-color: #138496 !important;
    border-color: #117a8b !important;
}


/* --------------------------------------------------
   2. 【確定】name="btn_regist", value="decide" を緑にする
   -------------------------------------------------- */
button[name="btn_regist"][value="decide"] {
    background-color: #198754 !important; /* Bootstrapのsuccess（緑） */
    border-color: #198754 !important;
    color: #fff !important;
}

/* 確定のホバー時（少し濃い緑） */
button[name="btn_regist"][value="decide"]:hover {
    background-color: #157347 !important;
    border-color: #146c43 !important;
}

/* 「.operation-button」がついた要素の背景と枠線を強制的に緑にする */
.operation-button {
    background-color: #198754 !important; /* Bootstrapのsuccess（緑） */
    border-color: #198754 !important;
    color: #fff !important; /* 文字やアイコンの色を白にする */
}

/* マウスを乗せた時（ホバー時）の緑を少し濃くする */
.operation-button:hover {
    background-color: #157347 !important;
    border-color: #146c43 !important;
}

/* id="submit-action-decision" の背景と枠線を強制的に緑にする */
#submit-action-decision {
    background-color: #198754 !important; /* Bootstrapのsuccess（緑） */
    border-color: #198754 !important;
    color: #fff !important; /* 文字の色を白にする */
    cursor: pointer; /* マウスを乗せたときに指マークにする（div対策） */
}

/* マウスを乗せた時（ホバー時）の緑を少し濃くする */
#submit-action-decision:hover {
    background-color: #157347 !important;
    border-color: #146c43 !important;
}
/* btn-successがついたリンクボタンの文字とアイコンを強制的に白にする */
a.btn-success.no-print {
    color: #ffffff !important;
}

/* マウスを乗せた時（ホバー時）も絶対に白をキープする設定 */
a.btn-success.no-print:hover {
    color: #ffffff !important;
}

/* h5タグの中にある、smallクラスがついた記入要領リンクの文字サイズを強制的に小さくする */
h5 .small {
    font-size: 60% !important; /* Bootstrapのsmall本来のサイズ */
    font-weight: 400 !important; /* 見出しの太文字も解除してすっきりさせる */
}

/* name="regist_personal_data" を持つinputボタンの背景と枠線を強制的に緑にする */
input[name="regist_personal_data"] {
    background-color: #198754 !important; /* Bootstrapのsuccess（緑） */
    border-color: #198754 !important;
    color: #ffffff !important; /* 文字の色を白にする */
}

/* マウスを乗せた時（ホバー時）の緑を少し濃くする */
input[name="regist_personal_data"]:hover {
    background-color: #157347 !important;
    border-color: #146c43 !important;
}

.btn-anbun{
    background-color: #ff6600;
    border-color: #ff6600;
    color: white !important;
}

.btn-print{
    background-color: #ff9900;
    border-color: #ff9900;
    color: white !important;
}

/* ナビゲーションバーの中にあるリンクの文字色を強制的に黄色にする */
#navigationBar .nav-link {
    color: #ffff33 !important; /* パキッとした綺麗な黄色 */
}

/* マウスを乗せた時（ホバー時）は、ちょっとオレンジ寄りの濃い黄色にする */
#navigationBar .nav-link:hover {
    color: #fbc02d !important;
}

.circle-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    border: 1px solid currentColor;
    font-size: 0.9em;
}

.circle-list {
    list-style: none;
    counter-reset: circle-counter;
    padding-left: 0;
}
.circle-list li {
    counter-increment: circle-counter;
    position: relative;
    padding-left: 1.8em;
    margin-bottom: 0.3em;
}
.circle-list li::before {
    content: counter(circle-counter);
    position: absolute;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4em;
    height: 1.4em;
    border-radius: 50%;
    border: 1px solid currentColor;
    font-size: 0.85em;
}

.error-bg {
    background-color: #ffff33 !important;
}

input::placeholder,
textarea::placeholder {
  color: #ddd !important;
  opacity: 1 !important; /* ブラウザ特有の不透明度をリセット */
}

/* 親要素を相対配置にする */
.input-wrapper {
  position: relative;
  display: inline-block;
}

/* 吹き出し本体（下側に配置） */
.input-balloon {
  display: none;
  position: absolute;
  top: 125%; /* テキストボックスの下に配置 */
  left: -120px;
  padding: 6px 12px;
  background-color: #006633;
  color: #fff;
  font-size: 12px;
  border-radius: 6px;
  white-space: nowrap;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* ★ 吹き出しの上三角（▲） */
.input-balloon::after {
  content: "";
  position: absolute;
  bottom: 100%; /* 吹き出し本体の上端に配置 */
  left: 205px;
  border-width: 6px;
  border-style: solid;
  /* 上・右・下・左 の順（3番目の『下』に色をつけると▲になります） */
  border-color: transparent transparent #006633 transparent;
}

/* フォーカス時に表示 */
.input-wrapper input:focus + .input-balloon {
  display: block !important;
}

