
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

*,
::after,
::before {
  box-sizing: border-box;
}
html,
body {
  height: 100%;
}
body {
  overflow: auto;
  min-width: 600px;
  min-height: 900px;
  margin: 0;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  font-weight: 500;
  color: #333;
}
.container {
  position: relative;
  width: 100%;
  padding-bottom: 50px;
  height: auto !important;
  overflow: hidden;
  min-height: 100%;
  background: #E7EAEE;
}
main {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 100px;
}
footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 50px;
  border-top: solid 1px #fff;
  margin-top: 100px;
}
footer p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 50px;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
a {
  display: block;
  color: inherit;
  text-decoration: none;
}
table {
  width: 100%;
  border-collapse: collapse;
}
th {
  text-align: left;
  font-weight: normal;
  padding-top: 0 !important;
  height: auto !important;
  /*white-space: nowrap;*/
}
td {
  height: 55px;
}

/*フォーム*/
*:focus {
  outline: none;
}
button{
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}
input,
textarea,
select {
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
textarea {
  display: block;
  padding: 10px;
  font-size: 1.125rem;
  resize: none;
  width: 100%;
  height: 100px;
  background-color: #f4f4f4;
  font-weight: bold;
}
textarea::placeholder {
  color: #858585;
  font-weight: normal;
}
input.fc_trq,
select.fc_trq {
  font-weight: bold;
}
select {
  box-shadow: 0 2px 4px 0 rgb(0 0 0 / 14%);
}
input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset;
}
.wht_card input:-webkit-autofill,
.popup_card input:-webkit-autofill,
.login_card input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #f4f4f4 inset;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
}
input[type="date"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
input[type="date"]::-webkit-clear-button {
  -webkit-appearance: none;
}

/*アラート*/
.error_message {
  display: block;
  color: #cc3430;
  margin: 5px 0 0 !important;
}

/*共通クラス*/
.d_flex {
  display: flex;
}
.flex_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fs_24 {
  font-size: 1.5rem;
}
.fc_18 {
  font-size: 1.125rem;
}
.fw_b {
  font-weight: bold;
}
.bg_nvy {
  background-color: #043C78;
}
.bg_gry {
  background-color: #aaa;
}
.bg_gy2 {
  background-color: #f4f4f4;
}
.bg_wht {
  background-color: #fff;
}
.bg_red {
  background-color: #b54b48;
}
.bo_red {
  border: solid 1px #b54b48 !important;
}
.bo_nvy {
  border: solid 1px #043C78 !important;
}
.fc_red {
  color: #b54b48;
}
.fc_trq {
  color: #043C78;
}
.fc_nvy {
  color: #043C78;
}
.fc_wht {
  color: #fff;
}
.fc_gry {
  color: #ddd;
}
.fc_blk {
  color: #666 !important;
}
.text_c {
  text-align: center;
}
.wht_card {
  width: 90%;
  max-width: 960px;
  margin: 20px auto 0;
  padding: 30px 25px;
  background-color: #fff;
  border-radius: 5px;
}

/*ボタン*/
.long_button {
  width: 240px;
  font-size: 1.125rem;
  padding: 10px 0;
  border-radius: 5px;
  border: none;
}
.long_button_wrap {
  width: 80%;
  margin: 0 auto;
  justify-content: center;
}
.short_button {
  width: 130px;
  padding: 15px 0;
  color: #fff;
  font-size: 0.875rem;
  border-radius: 5px;
  border: none;
}
.button_c {
  display: block;
  margin: 30px auto 0;
}
.button_side {
  width: 100%;
  max-width: 240px;
  display: block;
  margin-top: 30px;
}
.min_button {
  width: 98px;
  padding: 5px 0 8px;
  font-weight: normal !important;
  font-size: 0.875rem;
  border-radius: 5px;
  border: none;
  letter-spacing: 0.05em;
}
.flat_button {
  display: block;
  width: 240px;
  margin: 20px auto 0;
  padding: 10px 0;
  font-size: 0.875rem;
  border-radius: 5px;
  border: none;
  font-weight: bold;
}

/*ホバー*/
.hover_op,
button {
  opacity: 1;
  transition: opacity 0.3s linear;
}
.hover_op:hover,
button:hover {
  opacity: 0.7;
  transition: opacity 0.3s linear;
}

.pointer,
a,
button {
  cursor: pointer;
}

/*表の横幅確保*/
.ensure_5 {
  width: 5%;
}
.ensure_10 {
  width: 10%;
}
.ensure_20 {
  width: 20%;
}
.ensure_30 {
  width: 30% !important;
}
.ensure_40 {
  width: 40% !important;
}
.ensure_45 {
  width: 45% !important;
}
.ensure_60 {
  width: 60%;
}
.ensure_80 {
  width: 80%;
}
.ensure_70 {
  width: 70%;
}
.ensure_90 {
  width: 90%;
}
.ensure_100 {
  width: 100% !important;
}
/*部分調整*/
.mg_t_80 {
  margin-top: 80px !important;
}
.mg_t_70 {
  margin-top: 70px !important;
}
.mg_t_50 {
  margin-top: 50px !important;
}
.mg_t_40 {
  margin-top: 40px !important;
}
.mg_t_35 {
  margin-top: 35px !important;
}
.mg_t_20 {
  margin-top: 20px !important;
}
.mg_t_15 {
  margin-top: 15px;
}
.mg_t_6 {
  margin-top: 6px !important;
}
.mg_t_12 {
  margin-top: 12px;
}
.mg_t_0 {
  margin-top: 0 !important;
}
.mg_20_a_60 {
  margin: 20px auto 60px;
}
.mg_50_a_35 {
  margin: 50px auto 35px !important;
}
.mg_50_a_0 {
  margin: 50px auto 0 !important;
}
.mg_30_a_15 {
  margin: 30px auto 15px;
}
.mg_20_a_35 {
  margin: 20px auto 35px;
}
.mg_20_57 {
  margin: 20px 57px 0 0;
}
.mg_20_40 {
  margin: 20px 40px 0 0;
}
.mg_20_0 {
  margin: 20px 0 !important;
}
.mg_40_a {
  margin: 40px auto;
}
.mg_10_a {
  margin: 10px auto;
}
.mg_b_5 {
  margin: 0 0 5px !important;
}
.mg_b_35 {
  margin-bottom: 35px;
}
.mg_b_23 {
  margin-bottom: 23px;
}
.mg_b_0 {
  margin-bottom: 0;
}
.mg_r_50 {
  margin-right: 50px;
}
.mg_r_40 {
  margin-right: 40px;
}
.mg_l_50 {
  margin-left: 50px;
}
.mg_0 {
  margin: 0;
}
.mx_10 {
  margin: 0 10px;
}
.pd_l_10 {
  padding-left: 10px;
}
.pd_t_25 {
  padding-top: 25px;
}
.pd_t_20 {
  padding-top: 20px;
}
.pd_t_15 {
  padding-top: 15px;
}
.pd_t_10 {
  padding-top: 10px;
}
.pd_10_0 {
  padding: 10px 0;
}
.pd_0_10 {
  padding: 0 10px !important;
}
.pd_b_17 {
  padding-bottom: 17px;
}
.pd_5_0 {
  padding: 5px 0;
}
.pd_0 {
  padding: 0;
}
.pb_zero {
  padding-bottom: 50px;
}
.widh_160 {
  width: 160px;
}
.width_140 {
  width: 140px;
}
.width_120 {
  width: 120px;
}
.width_100 {
  width: 100% !important;
}
.width_80 {
  width: 80%;
}
.width_40 {
  width: 40px;
}
.width_45 {
  width: 45px;
}
.width_30 {
  width: 30%;
}
.display_b {
  display: block;
}
.bg_f5a623 {
  background-color: #f5a623;
}
.bg_48d5 {
  background-color: #bd48d5;
}
.bg_4a90e2 {
  background-color: #4a90e2;
}
.bg_4a90e2 {
  background-color: #4a90e2;
}
.t-right {
  text-align: right;
}
/* ヘッダー
---------------------------------------------------- */
header {
  background-color: #043C78;
}
.header_wrap {
  padding: 0 20px;
  height: 60px;
}
.header_left_wrap {
  flex: 2;
  align-items: center;
}
.header_store_name {
  font-size: 0.75rem;
  line-height: 1.2;
  padding-right: 20px;
}
.header_title {
  font-size: 1.375rem;
  margin: 0;
}
.logout {
  flex: 2;
  justify-content: flex-end;
}
.logout a {
  width: auto;
  min-width: 30px;
  height: 40px;
  background: url(../img/user_header_icon.svg) no-repeat top;
  text-align: center;
}
.logout a span {
  font-size: 0.625rem;
  vertical-align: -22px;
}
/*indexのヘッダー*/
.header_logo {
  background: url(../img/noah_plus_logo.png) no-repeat center;
  display: block;
  width: 170px;
  height: 38px;
  margin: 0 0 0 -5px;
  background-size: contain;
}
/*画面詳細*/
.page_details p {
  display: inline-block;
  padding: 0 20px;
  margin: 0 10px 0 0;
  font-size: 1.75rem;
  border: solid 1px #043C78;
}

.page_details_wrap {
  position: relative;
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
  padding: 20px 0;
  font-weight: bold;
}
/*サブヘッダー*/
.sub_header {
  background-color: rgba(255, 255, 255, 0.6);
}
.sub_header .sub_header_wrap {
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
}
.one_line_header {
  min-height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}
.sub_header .sub_header_wrap p {
  margin: 0;
}
.sub_header_wrap.d_flex {
  padding: 18px 0;
  justify-content: space-between;
}
.sub_header_wrap.d_flex p {
  margin: 0;
}
.sub_header_wrap.d_flex p:last-child {
  margin: 10px 0 0;
}
.sub_header_text {
  font-weight: bold;
}
.sub_header p span:last-child {
  font-weight: bold;
}
.sub_header .sub_header_button_wrap {
  position: relative;
  width: 35%;
}
.sub_header_button_wrap a,
.sub_header_button_wrap button {
  position: absolute;
  bottom: 0;
  width: 48%;
  padding: 5px;
  font-size: 0.875rem;
  border-radius: 5px;
  border: none;
  background-color: #043C78;
  color: #fff;
}
.sub_header_button_wrap button:nth-child(2),
.sub_header_button_wrap .right_justified {
  right: 0;
}
.magnifying_glass {
  display: inline-block;
  width: 15px;
  height: 15px;
  vertical-align: text-bottom;
  margin: 0 2px;
  background: url(../img/search.svg) no-repeat center;
}

.display_none {
    display: none !important;
}

/*ハンバーガーメニュー*/
#nav_drawer {
  position: relative;
}
/*チェックボックス等は非表示に*/
.nav_unshown {
  display: none;
}
/*アイコンのスペース*/
#nav_open {
  display: inline-block;
  width: 25px;
  height: 24px;
  margin-right: 20px;
  vertical-align: middle;
}
#nav_open span,
#nav_open span:before,
#nav_open span:after {
  position: absolute;
  height: 2px;
  width: 25px;
  background: #fff;
  display: block;
  content: "";
  cursor: pointer;
}
#nav_open span:before {
  bottom: -10px;
}
#nav_open span:after {
  bottom: -21px;
}

/*閉じる用のアイコン*/
.hbg_close_icon {
  position: absolute;
  top: 18px;
  left: 21px;
  width: 25px;
  height: 25px;
}
.hbg_close_icon span {
  display: block;
  position: absolute;
  top: 12px;
  left: 2px;
  width: 22px;
  height: 2px;
  background-color: #fff;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.hbg_close_icon span:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 2px;
  background-color: #fff;
  -ms-transform: rotate(95deg);
  -webkit-transform: rotate(95deg);
  transform: rotate(95deg);
}

/*閉じる用の薄黒カバー*/
#nav_close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: 0.3s ease-in-out;
}

/*中身*/
#nav_content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 90%; /*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 520px; /*最大幅（調整してください）*/
  height: 100%;
  background: #fff; /*背景色*/
  transition: 0.3s ease-in-out; /*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%); /*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav_input:checked ~ #nav_close {
  display: block; /*カバーを表示*/
  opacity: 0.5;
}

#nav_input:checked ~ #nav_content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%); /*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
}

/*メニューアイコン*/
.accordion_menu .icon {
  width: 54px;
  height: 54px;
  margin-right: 20px;
  background-size: contain;
}
.u_turn {
  background: url(../img/u_turn.svg) no-repeat center;
}
.hospital_g {
  background: url(../img/hospital_mark.svg) no-repeat center;
}
.calender_g {
  background: url(../img/calendar.svg) no-repeat center;
}
.hand_holding_heart_g {
  background: url(../img/hand-holding-heart.svg) no-repeat center;
}
.document_g {
  background: url(../img/management.svg) no-repeat center;
}
.people_g {
  background: url(../img/people.svg) no-repeat center;
}
.money_g {
  background: url(../img/money.svg) no-repeat center;
}
.graph_line_g {
  background: url(../img/graph_line.svg) no-repeat center;
}
.product_g {
  background: url(../img/product.svg) no-repeat center;
}
.analysis_g {
  background: url(../img/analysis.svg) no-repeat center;
}
.money_g {
  background: url(../img/money.svg) no-repeat center;
}
.graph_line_g {
  background: url(../img/graph_line.svg) no-repeat center;
}
.product_g {
  background: url(../img/product.svg) no-repeat center;
}
.analysis_g {
  background: url(../img/analysis.svg) no-repeat center;
}
.work_management_g {
  background: url(../img/work_management.svg) no-repeat center;
}

/*アコーディオンメニュー*/
.hbg_head {
  position: relative;
  padding: 50px 0 30px;
}
.hbg_select_text {
  display: block;
  padding-bottom: 13px;
  font-weight: bold;
}
.select_box {
  position: relative;
}
.select_box .label {
  position: absolute;
  width: 100%;
  min-height: 70px;
  margin: 0;
  padding: 17px 0;
  border-radius: 50px;
  background-color: rgba(255, 255, 255, 0.18);
  pointer-events: none;
}
.select_box select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  cursor: pointer;
  width: 100%;
  border: none;
  padding: 20px;
  opacity: 0;
  position: relative;
  z-index: 2;
  color: #000;
}
.select_box select:focus {
  z-index: -1;
  opacity: 1;
}
.hbg_select select {
  background-color: rgba(255, 255, 255, 0.18);
  font-size: 1.5rem;
}
.hbg_head .hbg_select:after {
  top: 61%;
  border-top: 16px solid #fff;
}
.accordion_menu {
  margin: 15px 0;
}
.accordion_menu a,
.accordion_menu label {
  padding: 9px 20px;
  justify-content: flex-start;
  align-items: center;
  border-bottom: solid 1px #ddd;
}
.accordion_menu label {
  cursor: pointer;
}
.accordion_menu input {
  display: none;
}
.hbg_text {
  font-weight: bold;
}
.accordion_list li {
  overflow-y: hidden;
  max-height: 0;
  transition: all 0.5s;
}
.accordion_list li,
.accordion_list a {
  border-bottom: none !important;
}
.accordion_list a {
  position: relative;
  padding: 10px 50px !important;
  font-size: 1.125rem;
}
.accordion_list a:before {
  content: "";
  position: absolute;
  top: 18px;
  left: 5px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #043C78;
}
.accordion_wrap span {
  margin: 24px 0;
}
/*リストが増えたらulごとに追加*/
#accordion_menu_bar1:checked ~ #link1,
#accordion_menu_bar2:checked ~ #link2,
#accordion_menu_bar3:checked ~ #link3,
#accordion_menu_bar4:checked ~ #link4,
#accordion_menu_bar5:checked ~ #link5 {
  padding: 10px 0;
  border-bottom: solid 1px #ddd;
}
#accordion_menu_bar1:checked ~ #link1 li,
#accordion_menu_bar2:checked ~ #link2 li,
#accordion_menu_bar3:checked ~ #link3 li,
#accordion_menu_bar4:checked ~ #link4 li,
#accordion_menu_bar5:checked ~ #link5 li {
  margin: 20px 0;
  max-height: 46px;
  opacity: 1;
}
.accordion_menu li {
  padding: 0 30px;
}
/*アコーディオン項目無効表示*/
.not_operation {
  pointer-events: none;
}
.opacity_03,
.not_operation div,
.not_operation p,
.accordion_list .not_operation:before {
  opacity: 0.3;
}
/* お気に入りボタン */
.favorite_btn {
  background-color: transparent;
  border: none;
  padding: 11px 0px 8px 8px;
}
.favorite_btn:hover {
  opacity: 1;
}
header .favorite_btn .favorite_btn_img {
  background: url(../img/favorite.svg) no-repeat center;
  width: 20px;
  height: 20px;
  background-size: contain;
  display: block;
}
header .favorite_btn.active .favorite_btn_img {
  background: url(../img/w_favorite.svg) no-repeat center;
  width: 20px;
  height: 20px;
  background-size: contain;
  display: block;
}
/* ショートカット機能 */
.short_cut_wrap {
  width: 100%;
  background-color: #002955;
}
.short_cut_inner {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding: 12px 20px 0 20px;
}
/*スクロールバーの横幅指定*/
.short_cut_inner::-webkit-scrollbar {
  height: 10px;
  margin: 1px 0;
}
/*スクロールバーの背景色・角丸指定*/
.short_cut_inner::-webkit-scrollbar-track {
  border-radius: 2px;
  background: #fff;
}
/*スクロールバーの色・角丸指定*/
.short_cut_inner::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background: #BABABA;
  height: 8px;
}
.short_cut_inner a {
  display: inline-block;
  margin-right: 24px;
  font-size: 14px;
  flex: 0 0 auto;
  position: relative;
  padding-left: 20px;
  transition: linear .3s;
  letter-spacing: 0;
  margin-bottom: 12px;
}
.short_cut_inner a:hover {
  opacity: .7;
}
.short_cut_icon {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  display: block;
}
.hospital_s {
  background: url(../img/hospital_s.svg) no-repeat left;
  background-size: contain;
}
.calendar_s {
  background: url(../img/calendar_s.svg) no-repeat left;
  background-size: contain;
}
.hand-holding-heart_s {
  background: url(../img/hand-holding-heart_s.svg) no-repeat left;
  background-size: contain;
}
.management_s {
  background: url(../img/management_s.svg) no-repeat left;
  background-size: contain;
}
.people_s {
  background: url(../img/people_s.svg) no-repeat left;
  background-size: contain;
}
.money_s {
  background: url(../img/money_s.svg) no-repeat left;
  background-size: contain;
}
.graph_line_s {
  background: url(../img/graph_line_s.svg) no-repeat left;
  background-size: contain;
}
.product_s {
  background: url(../img/product_s.svg) no-repeat left;
  background-size: contain;
}
.analysis_s {
  background: url(../img/analysis_s.svg) no-repeat left;
  background-size: contain;
}
.work_management_s {
  background: url(../img/work_management_s.svg) no-repeat left;
  background-size: contain;
}
.u_turn_s {
  background: url(../img/u_turn_s.svg) no-repeat left;
  background-size: contain;
}
.ticket_s {
  background: url(../img/ticket_s.svg) no-repeat left;
  background-size: contain;
}
.visit_list_s {
  background: url(../img/visit_list_s.svg) no-repeat left;
  background-size: contain;
}
.graph_s {
  background: url(../img/graph_s.svg) no-repeat left;
  background-size: contain;
}
.interview_sheet_s {
  background: url(../img/interview_sheet_s.svg) no-repeat left;
  background-size: contain;
}
.massage_s {
  background: url(../img/massage_s.svg) no-repeat left;
  background-size: contain;
}
.seat_s {
  background: url(../img/seat_s.svg) no-repeat left;
  background-size: contain;
}
.list_ul_solid_s {
  background: url(../img/list_ul_solid_s.svg) no-repeat left;
  background-size: contain;
}
.seat_pan_s {
  background: url(../img/seat_pan_s.svg) no-repeat left;
  background-size: contain;
}
.clock_regular_s {
  background: url(../img/clock_regular_s.svg) no-repeat left;
  background-size: contain;
}
.user_pen_s {
  background: url(../img/user_pen_s.svg) no-repeat left;
  background-size: contain;
}
.analysis_s {
  background: url(../img/analysis_s.svg) no-repeat left;
  background-size: contain;
}
.appointments_data_s {
  background: url(../img/appointments_data_s.svg) no-repeat left;
  background-size: contain;
}
.chart_data_s {
  background: url(../img/chart_data_s.svg) no-repeat left;
  background-size: contain;
}
.csv_download_s {
  background: url(../img/csv_download_s.svg) no-repeat left;
  background-size: contain;
}
.cross_data_s {
  background: url(../img/cross_data_s.svg) no-repeat left;
  background-size: contain;
}
.performance_s {
  background: url(../img/performance_s.svg) no-repeat left;
  background-size: contain;
}
.setting_s {
  background: url(../img/setting_s.svg) no-repeat left;
  background-size: contain;
}
.staff_qr_s {
  background: url(../img/staff_qr_s.svg) no-repeat left;
  background-size: contain;
}
.time_recorder_s {
  background: url(../img/time_recorder_s.svg) no-repeat left;
  background-size: contain;
}
.shift_s {
  background: url(../img/shift_s.svg) no-repeat left;
  background-size: contain;
}
.hospital_icon_s {
  background: url(../img/hospital_icon_s.svg) no-repeat left;
  background-size: 65%;
}
/*
ログイン画面
---------------------------------------------------- */
.login_page {
  position: absolute;
  top: calc(50% - 50px);
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 400px;
}
.login_top {
  width: 250px;
  margin: 0 auto;
}
.login_top .login_top_logo {
  display: block;
  background: url(../img/noah_plus_logo.png) no-repeat center;
  background-size: contain;
  width: auto;
  height: 56px;
  margin: 0 0 0 -16px;
}
.login_card {
  margin: 30px auto 0;
  padding: 40px 25px;
  border-radius: 5px;
}
.login_card ul {
  margin: -15px 0 20px !important;
}
.login_card ul span {
  display: block;
  margin: 15px 0 5px;
  text-align: left;
  font-weight: bold;
}
.login_card ul input {
  width: 100%;
  padding: 16px 10px;
  background-color: #f4f4f4;
}
.login_card .storage_check_wrap {
  display: block;
  position: relative;
  font-weight: bold;
  padding: 8px 0 0;
}
.login_card .storage_check_wrap input,
.restriction_wrap .storage_check_wrap input {
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 10px;
  border: solid 2px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
}
.login_card .storage_check_wrap:before {
  content: "\f00c";
  position: absolute;
  top: 10px;
  left: 3px;
  display: block;
  font-family: "Font Awesome 5 Free";
  color: #fff;
}
.login_card .storage_check_wrap input[type="checkbox"]:checked,
.restriction_wrap .storage_check_wrap input[type="checkbox"]:checked {
  border: solid 2px #043C78;
  background-color: #043C78;
}
.considerations {
  font-size: 0.625rem;
  margin-bottom: 0;
  font-weight: normal;
}
.login_card .long_button {
  font-size: 0.9rem;
  margin-bottom: 45px;
}
.manual_link {
  border-top: solid 1px;
  padding-top: 30px;
}
.manual_link span {
  display: block;
  font-weight: bold;
  margin-bottom: 10px;
  text-indent: -0.5em;
}
.manual_link a {
  position: relative;
  font-size: 0.8125rem;
  display: inline-block;
}
.manual_link :nth-child(2) {
  margin-right: 20px;
}
.manual_link a i {
  padding: 0 0 0 3px;
}
.login_bck {
  background-color: #043C78!important;
}

/* エラー画面
---------------------------------------------------- */
.error_wrap .login_card {
  padding: 40px;
}
.error_wrap h1 {
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: 0;
}
.error_wrap h1 span {
  display: block;
  font-size: 3rem;
  line-height: 1;
  padding-bottom: 0.4rem;
}
.error_wrap p {
  margin: 30px 0 10px;
  font-size: 0.9rem;
  letter-spacing: 0;
  line-height: 1.6;
}
.error_wrap .long_button {
  margin: 30px auto 0;
}

/* 店舗選択
---------------------------------------------------- */
.clinic_ul {
  width: 80%;
  max-width: 500px;
  margin: 50px auto;
}
.clinic_ul button {
  width: 100%;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 21px 0;
  border: solid #043C78 2px;
  background-color: transparent;
}
/* トップ
---------------------------------------------------- */
/*セレクトボックス*/
.select_wrap {
  width: 80%;
  margin: 20px 10%;
  position: relative;
  display: inline-block;
}
.select_wrap::after {
  content: "";
  border-top: 16px solid #043C78;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  position: absolute;
  top: 30px;
  right: 27px;
  pointer-events: none;
}
.select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 70px;
  position: relative;
  padding: 0 50px 0 30px;
  border: none;
  border-radius: 50px;
  font-size: 0.8125rem;
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}

/*メニュー*/
.top_menu {
  width: 90%;
  margin: 30px auto;
  color: #333;
  max-width: 960px;
}
.top_menu li {
  position: relative;
  display: block;
  background-color: #fff;
  margin-bottom: 4px;
  padding: 1rem;
}
.top_menu .d_flex {
  align-items: center;
  padding: 0 40px 0 0;
  position: relative;
}
.top_menu a:after {
  content: "";
  position: absolute;
  top: 45%;
  right: 5px;
  width: 10px;
  height: 10px;
  border-bottom: solid 2px #043C78;
  border-right: solid 2px #043C78;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.top_menu_text {
  margin: 0 0 0 40px;
}
.icon_circle {
  position: relative;
  width: 100px;
  height: 100px;
  border-radius: 50px;
  flex-shrink: 0;
  box-shadow: 0 2px 4px 0 rgb(0 0 0 / 14%);
}
/*メニューアイコン*/
.money {
  background: url(../img/money.svg) no-repeat center;
}
.graph_line {
  background: url(../img/graph_line.svg) no-repeat center;
}
.product {
  background: url(../img/product.svg) no-repeat center;
}
.analysis {
  background: url(../img/analysis.svg) no-repeat center;
}
.hospital_mark {
  background: url(../img/hospital_mark.svg) no-repeat center;
}
.calendar {
  background: url(../img/calendar.svg) no-repeat center;
}
.hand_holding_heart {
  background: url(../img/hand-holding-heart.svg) no-repeat center;
}
.management {
  background: url(../img/management.svg) no-repeat center;
}
.people {
  background: url(../img/people.svg) no-repeat center;
}
.people {
  background: url(../img/people.svg) no-repeat center;
}

.top_menu .fs_24 {
  margin: 0 0 5px;
  font-weight: bold;
}

/*メニュー項目無効表示*/
.invalid_menu {
  opacity: 0.4;
  pointer-events: none;
}

/* ポップアップ
----------------------------------------------------- */
.popup_card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  max-width: 400px;
  transform: translate(-50%, -50%);
  padding: 40px 16px;
  border-radius: 5px;
}
.popup_card p {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.popup_card span {
  display: block;
  margin: 19px 0;
  letter-spacing: -0.01em;
}
.popup_button_wrap {
  margin-top: 40px;
  justify-content: center;
}
.popup_button_wrap button,
.popup_button_wrap div {
  display: inline-block;
  margin: 0 10px;
}

/* マニュアルポップアップ
----------------------------------------------------- */
.logout a.manual_disp_btn {
  color: #fff;
  font-size: 0.75rem;
  padding: 10px 10px;
  height: auto;
  margin-right: 14px;
  border-radius: 4px;
  letter-spacing: 0;
  background: rgba(0, 0, 0, 0.3);
}
#manual_popup .popup_card {
  padding: 36px 25px 40px 25px;
}
#manual_popup .popup_card p {
  color: #043C78;
}
#manual_popup .manual_list {
  padding: 2rem 0 0 0;
}
#manual_popup .manual_link {
  border-top: none;
  padding-top: 24px;
}
#manual_popup .manual_link a {
  padding: 0.2rem 0;
  margin: 0 9px;
  color: #333;
}
.manual_hide_btn {
  margin: 0;
  position: absolute;
  top: 0;
  right: 24px;
  width: 24px;
  height: 24px;
  background: url(../img/btn_popup_close.svg) no-repeat center;
  background-size: 24px auto;
}
.manual_hide_btn:hover {
  opacity: 0.7;
}

/* 患者QRコードの読み取り
---------------------------------------------------- */
.method_choice {
  width: 90%;
  max-width: 960px;
  margin: 30px auto 0;
  border: 1px solid #043C78;
  border-radius: 5px;
}
.method_choice input {
  display: none;
}
.method_choice label {
  display: block;
  cursor: pointer;
  margin: 0;
  width: 50%;
  padding: 13px;
  border-right: 1px solid #043C78;
  font-size: 0.875rem;
  text-align: center;
  line-height: 1;
  transition: 0.2s;
  color: #043C78;
}
.method_choice label:first-of-type {
  border-radius: 3px 0 0 3px;
}
.method_choice label:last-of-type {
  border-right: 0;
  border-radius: 0 3px 3px 0;
}
.method_choice input[type="radio"]:checked + label {
  background-color: #043C78;
  color: #fff;
}
/*入力フォーム*/
.ticket_reading {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.qr_cord,
.tel_number {
  margin-top: 20px;
}
.qr_camera_wrap {
  width: 100%;
  position: relative;
}
.qr_camera_wrap:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  background: url(../img/qr_guidline.svg) no-repeat center;
  background-size: 40% auto;
}
.qr_camera video {
  display: block;
  width: 100%;
}
.camera_on {
  display: none;
}
.camera_error,
.os_error {
  height: 100%;
  width: 100%;
  background: #000;
  position: absolute;
  top: 0;
  z-index: 2;
  justify-content: center;
  align-items: center;
}
.camera_error p,
.os_error p {
  width: 90%;
  font-size: 1.125rem;
}
.camera_error span {
  display: block;
  margin-top: 18px;
}
.os_error span {
  display: block;
  margin-bottom: 18px;
}
.camera_error p:last-child {
  display: block;
}
.camera_error p:last-child {
  display: none;
}
.os_error p:last-child {
  display: block;
}
.os_error p:first-child {
  display: none;
}
.tel_number input {
  width: 100%;
  font-size: 3.75rem;
  padding: 30px 10px;
  border: none;
  border-radius: 5px;
}
.tel_number input::placeholder {
  color: #d5d5d5;
}
input::placeholder {
  color: #858585;
  font-weight: normal;
}
/* 来院・帰院
---------------------------------------------------------- */
/*メニューアイコン*/
.ticket {
  background: url(../img/ticket.svg) no-repeat center;
}
.visit_list {
  background: url(../img/visit_list.svg) no-repeat center;
}
.graph {
  background: url(../img/graph.svg) no-repeat center;
}
.textarea_title {
  margin-bottom: 10px;
  display: block;
}

.qr_card ul.qr_mg {
  padding: 30px 4%;
}

/*タブ*/
.tab_wrap {
  width: 80%;
  margin: 20px auto 0;
  border: 1px solid #fff;
  border-radius: 5px;
}
.tab_wrap a {
  width: 33.3333333333%;
  padding: 10px;
  border-right: solid 1px #fff;
}
.tab_wrap a:last-child {
  border: none;
}
.tab_wrap .choice {
  background-color: #fff;
  color: #043C78;
}
/*帰院*/
.return {
  display: inline-block;
  padding: 0 22px;
  border: solid 1px #043C78;
}
.return p {
  padding: 0;
  border: none;
}

/*カード内*/
.trq_name {
  display: block;
  margin: 0 auto;
}
.trq_name span {
  display: inline-block;
  padding: 20px 30px;
  border: 1px solid #043C78;
  border-radius: 50px;
  font-weight: bold;
  color: #043C78;
}
.personal_information {
  margin: 30px 0 0;
}
.personal_information tr {
  border-bottom: solid 1px #ddd;
}
.personal_information td {
  padding: 10px;
}
.personal_information tr :first-child {
  width: 30%;
}
.personal_information tr :last-child {
  width: 70%;
  font-weight: bold;
}
.insurance_card {
  margin: 0;
  font-weight: bold;
}

/*誕生日ポップアップ*/
.hbd_mark {
  position: absolute;
  top: 8px;
  right: 0;
  width: 70px;
  height: 70px;
  padding-top: 7px;
  background-color: #bf4e6d;
  border-radius: 50px;
}
.hbd_mark img {
  width: 40px;
  display: block;
  margin: 0 auto;
}
.hbd_limit img {
  width: 90%;
  display: block;
  margin: 30px auto;
}

/*来院履歴*/
.history tr {
  font-weight: bold;
  border-bottom: solid 1px #ddd;
}
.history tr:first-child {
  font-weight: normal;
  border-bottom: double #ddd;
}
.history td,
.history th {
  padding: 10px;
}
/*来院数遷移*/
.transition p {
  margin-top: 13px;
}

/*施術履歴のポップアップ*/
#popup_treatment_history .popup_card {
  max-width: 813px !important;
  width: 90%;
}
.treatment_history {
  padding: 20px;
  border-radius: 5px;
  margin: 40px 0;
}
.treatment_history tr {
  font-weight: bold;
  border-bottom: solid 1px #ddd;
}
.treatment_history thead tr:first-child {
  font-weight: normal;
  border-bottom: double #ddd;
}
.treatment_history th,
.treatment_history td {
  padding: 10px;
  text-align: left;
}

/* 本日の来院一覧
---------------------------------------------------------- */
.search_results {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
  text-align: right;
}
.search_results .magnifying_glass {
  margin-right: 7px;
}
/*表*/
.today_list tr {
  font-weight: bold;
  border-bottom: solid 1px #ddd;
}
.today_list thead tr:first-of-type {
  font-weight: normal;
  border-bottom: double #ddd;
}
.today_list td,
.today_list th {
  padding: 10px;
  height: 55px;
}

/*ページネーション*/
.pagination {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-item {
  width: 40px;
  height: 40px;
  margin: 0 10px 0 0;
}
.page-item:last-child {
  margin: 0;
}
.page-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  background-color: #043C78;
  color: #fff;
  font-size: 1.125rem;
}
.disabled .page-link {
  color: #fff;
  background: transparent;
  pointer-events: none;
}
.active .page-link {
  background-color: #fff;
  color: #043C78;
}
/*
.pager .arrow a {
  width: 25px;
  height: 25px;
  padding: 0;
  margin: 10px 5px;
}
*/
.left {
  background: url(../img/left.svg) no-repeat center;
}
.right {
  background: url(../img/right.svg) no-repeat center;
}

/* 予約管理
---------------------------------------------------------- */
/*エラーメッセージ*/
.attention_text {
  margin-bottom: -20px;
}
.attention_text .sub_header_wrap {
  max-width: 960px;
  width: 80%;
}
.attention_text p {
  color: #cc3430;
}
/*検索フォーム*/
.form_wrap {
  max-width: 960px;
  width: 80%;
  margin: 0 auto;
  padding: 30px 0;
}
.reservation_search {
  position: relative;
  margin: 20px auto;
}
.reservation_search input {
  display: block;
  width: 80%;
  max-width: 960px;
  height: 70px;
  font-size: 0.875rem;
  padding: 0 30px;
  margin: 0 auto;
  border-radius: 50px;
}
.reservation_search button {
  position: absolute;
  top: 8px;
  right: 11%;
  height: 54px;
  width: 54px;
  background-color: #043C78;
  border-radius: 50px;
  border: none;
}
.reservation_search .search_icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  background: url(../img/search_20.svg) no-repeat center;
}
.form_wrap .select_wrap {
  width: 100%;
  margin: 0;
}
/*カレンダー上*/
.calender_head {
  width: 90%;
  max-width: 960px;
  margin: 45px auto 0;
}
.date_head_top {
  margin: 0;
  display: flex;
  align-items: center;
}
.date_head_top a {
  display: inline-block;
  width: 19px;
  height: 19px;
}
.date_head_top a.left {
  margin-right: 20px;
}
.wht_card .date_head_top {
  justify-content: center;
}
/*二重矢印*/
.left_g {
  background: url(../img/left_g.svg) no-repeat center;
}
.right_g {
  background: url(../img/right_g.svg) no-repeat center;
}

.date_head_top span {
  margin: 0 30px;
  font-weight: bold;
  color: #043C78;
}
.select_day_month {
  width: auto;
  margin: 0;
  color: #043C78;
}
.select_day_month .select {
  height: 35px;
  padding: 0 50px 0 20px;
}
.select_day_month::after {
  border-top: 10px solid #043C78;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  top: 13px;
  right: 14px;
}
.date_head_top a.today_btn {
  display: block;
  border: 1px solid #043C78;
  border-radius: 5px;
  padding: 6px 20px;
  width: auto;
  height: auto;
  line-height: 1;
  color: #043C78;
  font-weight: bold;
  font-size: 20px;
  margin-right: 20px;
}
/*カレンダー月*/
.month_calendar {
  width: 100%;
}
.calendar_tr:first-child {
  border-bottom: double #ddd;
}
.calendar_table .item {
  border: 1px solid #fff;
}
.calendar_th {
  width: 100%;
  max-width: 130px;
  padding: 10px 5px;
  text-align: left;
  font-weight: bold;
}
.calendar_tr .calendar_td:first-child,
.calendar_tr .calendar_td:last-child {
  color: #043C78;
}
.calendar_td {
  width: 100%;
  max-width: 130px;
  padding: 5px;
  vertical-align: top;
  border-collapse: collapse;
}
.calendar_td a {
  color: #000;
}
.sunday,
.saturday {
  background-color: #d3ecf1;
}
/*コースの色*/
.course_color {
  border-top: solid 1px #ddd;
  flex-wrap: wrap;
}
.course_color p {
  width: 20%;
  margin: 20px 0 0;
  font-size: 0.625rem;
}
.course_color span {
  display: inline-block;
  margin: 0 5px 0 0;
  width: 36px;
  height: 10px;
}
/*カレンダー日*/
.day_calendar_wrap p {
  font-size: 1.875rem;
  margin: 0;
  padding: 0 10px 10px;
}
.day_calendar_wrap p span {
  font-size: 1.25rem;
  margin: 0 0 0 10px;
}
.day_calendar_time li {
  width: 100%;
  padding: 30px 10px;
}
.day_calendar {
  width: 90%;
}
.day_calendar li:first-child {
  height: 43px;
}
.day_calendar li {
  border-bottom: 1px solid #ddd;
  height: 82px;
}
/*予約管理*/
.text_input_wrap li {
  margin: 0 0 20px;
}
.text_input_wrap li:last-child {
  margin: 0;
}
.list_text {
  width: 30%;
  font-size: 0.875rem;
  font-weight: bold;
}
.text_input_wrap div {
  width: 70%;
  font-weight: bold;
}
.date_time .time_select_wrap {
  width: 35% !important;
  position: relative;
}
.time_select_wrap .label {
  margin: 0;
  font-size: 0.9rem;
  line-height: 3.5;
}
.time_select_wrap .time_select {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
  height: 100%;
  opacity: 0;
}
.text_input_wrap input,
.time_select_wrap .label {
  position: relative;
  height: 50px;
  border-radius: 0;
  background-color: #f4f4f4;
}
.text_input_wrap .select,
.select_after_box select {
  height: 50px;
  border-radius: 0;
  padding: 0 10px;
  background-color: #f4f4f4;
}
.select_after_box .fc_trq.color_gray,
.select_after_box .fc_trq option[value=""] {
  color: #ccc;
}
.select_after_box .fc_trq.color_green {
  color: #043C78;
}
.select_after_box {
  position: relative;
}
.select_after_box:after {
  content: "";
  border-top: 12px solid #043C78;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  position: absolute;
  top: 21px;
  right: 15px;
  pointer-events: none;
}
.date_time_wrap {
  width: 100% !important;
}
.date_time_wrap input {
  position: relative;
  width: 35%;
  font-size: 0.9rem;
}
.input_time {
  width: 60% !important;
  margin: 0 0 0 5%;
}
.input_time span,
.business_day_time span {
  padding: 14px 3px;
}
.date_time_wrap input[type="date"],
.business_day_time input[type="date"] {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}
.date_time_wrap input:disabled {
  background-color: #fff;
}
input[type="date"] {
  position: relative;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  color: transparent;
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 0;
}
.on_off_wrap div {
  width: 100%;
}
/*予約確認*/
.wht_title {
  width: 90%;
  max-width: 960px;
  margin: 40px auto -10px;
  padding: 0 10px;
  position: relative;
  font-size: 1.125rem;
  font-weight: bold;
}
.wht_title span {
  color: #000;
}
.wht_title:before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 2px;
  height: 18px;
  background-color: #000;
}
/*予約の追加*/
.id_input {
  width: calc(100% - 60px);
}
.kana_search_button {
  width: 50px;
  height: 50px;
  border: none;
  border-radius: 50px;
  font-size: 0.625rem;
  padding: 0;
  margin-left: 10px;
  line-height: 6.5;
  background-image: url(../img/w_search.svg);
  background-repeat: no-repeat;
  background-position: center 9px;
}
#not_use_input {
  height: 0;
  opacity: 0;
  margin: 0;
}
.no_hover:hover{
  opacity: 1;
  cursor: initial;
}
.no_select {
  color: #bf4e6d;
  margin: 10px 0 0 0;
  font-size: 13px;
  font-weight: normal;
}
/*カナポップアップ*/
#popup_kana_search .popup_card,
#popup_kana_search_results .popup_card {
  max-width: 813px !important;
  width: 90%;
}
#popup_kana_search input {
  display: block;
  width: 100%;
  height: 70px;
  font-size: 0.875rem;
  padding: 0 30px;
  margin: 38px auto 0;
  border-radius: 50px;
  background-color: #f4f4f4;
}
.kana_search_results {
  width: 100%;
  text-align: right;
  color: #333;
  margin: 35px 0 10px;
  align-items: center;
  justify-content: flex-end;
}
.kana_search_results p {
  font-size: 0.875rem;
  font-weight: normal;
}
.kana_search_list {
  margin-top: 0;
}
.kana_search_results .magnifying_glass {
  display: inline-block;
  background: url(../img/search_333.svg) no-repeat center;
}

/*予約の設定*/
/*ラジオボタン*/
.reservation_radio input {
  display: none;
}
.reservation_radio label {
  display: block;
  cursor: pointer;
  width: 100px;
  margin: 0;
  padding: 17px;
  color: #999;
  background-color: #ddd;
  font-size: 0.875rem;
  text-align: center;
  line-height: 1;
  transition: 0.2s;
}
.reservation_radio input[type="radio"]:checked + .switch_on {
  background-color: #043C78;
  color: #fff;
}
.reservation_radio input[type="radio"]:checked + .switch_off {
  background-color: #043C78;
  color: #fff;
}
.result_add_text {
  font-weight: normal;
  font-size: 0.8125rem;
}
/*コースを追加・編集*/
.course_add_list tr {
  font-weight: bold;
  border-bottom: solid 1px #ddd;
}
.course_add_list tr:first-child {
  font-weight: normal;
  border-bottom: double #ddd;
}
.course_add_list td,
.course_add_list th {
  padding: 6px;
}
.course_circle_color {
  width: 20px;
  height: 20px;
  border-radius: 50px;
}
.course_add_list .staff_name span{
  font-size: 0.75rem;
}

/*予約追加のポップアップ*/
.popup_card ul {
  margin: 35px 0 27px;
}
.popup_card ul span {
  margin: 15px 0 10px;
  text-align: left;
  font-weight: bold;
}
.popup_card ul input {
  width: 100%;
  padding: 16px 10px;
  background-color: #f4f4f4;
}
.course_add_color {
  height: 50px;
  padding: 0 !important;
  background-color: transparent !important;
}

/* コースの追加
--------------------------------------------------------- */
.course_add_wrap input {
  width: 70%;
}
input[type="color"] {
  -webkit-appearance: none;
  border: none;
}
input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}
input[type="color"]::-webkit-color-swatch {
  border: none;
}
/*営業日・休診日*/
.reservation_checkbox input {
  display: none;
}
.reservation_checkbox label {
  display: block;
  cursor: pointer;
  width: 13.4285714286%;
  margin: 0 1% 0 0;
  padding: 17px 0;
  color: #ddd;
  font-size: 0.875rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  transition: 0.2s;
}
.reservation_checkbox label:last-child {
  margin: 0;
}
.reservation_checkbox input[type="checkbox"]:checked + .check_week {
  background-color: #043C78;
  color: #fff;
}
.business_day_time input {
  font-size: 0.9rem;
}
.border_b {
  padding-bottom: 30px;
  border-bottom: solid 1px #ddd;
}
.date_input_wrap input {
  width: 30%;
}
.time_input_wrap input,
.time_select_wrap {
  position: relative;
  width: 13%;
}
.time_check_wrap {
  font-weight: bold;
  width: max-content;
  margin-left: 20px;
}
.staff_select_wrap {
  height: 234px;
  border: 1px solid #ddd;
  padding: 16px;
  overflow-y: scroll;
}
.staff_select_wrap input[type="checkbox"] {
  position: relative;
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 10px;
  border: solid 2px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
}
.staff_select_wrap input[type="checkbox"]::before {
  content: "\f00c";
  position: absolute;
  top: 2px;
  left: 2px;
  display: block;
  font-family: "Font Awesome 5 Free";
  color: #fff;
  z-index: 1;
  font-weight: bold;
}
.staff_select_wrap input[type="checkbox"]:checked {
  border: solid 2px #043C78;
  background-color: #043C78;
}
.staff_select_wrap ul li {
  margin: 0 0 15px;
}
.course_color_attention {
  position: absolute;
  z-index: 4;
  left: 100px;
  display: flex;
  align-items: center;
  border-left: 100px solid #fff;
  height: 100%;
  margin: 0;
  padding: 10px;
  width: calc(100% - 100px);
  font-weight: normal;
}
.course_color_attention::before {
  content: "表示例";
  display: block;
  position: absolute;
  left: -57px;
  font-weight: bold;
}
.course_color_wrap {
  position: relative;
  line-height: 1;
}
.course_color_wrap span {
  position: absolute;
  left: 0;
  top:0;
}
.course_color_wrap::after {
  position: absolute;
  content: "";
  border-top: 3px solid #ddd;
  width: 100px;
  height: 3px;
  display: block;
  bottom: 0;
  z-index: 3;
}
.course_color_wrap::before {
  position: absolute;
  content: "";
  border-left: 3px solid #ddd;
  width: 4px;
  height: 51px;
  left: 0;
  display: block;
  z-index: 3;
}
.course_color_wrap span::after {
  position: absolute;
  content: "";
  border-top: 3px solid #ddd;
  width: 100px;
  height: 3px;
  display: block;
  z-index: 3;
}
.course_color_wrap span::before {
  position: absolute;
  content: "";
  border-right: 3px solid #ddd;
  width: 3px;
  height: 51px;
  left: 100px;
  display: block;
  z-index: 4;
}
.course_color_wrap input[type="color"] {
  width: 100%;
  position: relative;
  z-index: 2;
}

/*スクロールバーの横幅指定*/
.staff_select_wrap::-webkit-scrollbar {
  width: 3px;
}
/*スクロールバーの背景色・角丸指定*/
.staff_select_wrap::-webkit-scrollbar-track {
  border-radius: 2px;
  background: #f2f2f2;
}
/*スクロールバーの色・角丸指定*/
.staff_select_wrap::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background: #043C78;
}

/* 施術管理メニューアイコン
---------------------------------------------------------- */
.interview_sheet {
  background: url(../img/interview_sheet.svg) no-repeat center;
}
.massage {
  background: url(../img/massage.svg) no-repeat center;
}
.seat {
  background: url(../img/seat.svg) no-repeat center;
}
.list_ul_solid {
  background: url(../img/list_ul_solid.svg) no-repeat center;
}

/*施術開始・終了処理
---------------------------------------------------------- */
.half_wrap_wrap {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.half_wrap {
  width: 48%;
}
.half_wrap_wrap .half_wrap:first-child {
  margin-right: 4%;
}
.half_wrap p {
  width: 110px;
  padding: 3px 0;
  margin: 25px auto 13px;
  font-size: 1.125rem;
  font-weight: bold;
  border-radius: 50px;
  background-color: rgba(4, 60, 120, 0.7);
}
.half_wht_box {
  padding: 15px 25px;
  border-radius: 5px;
}
.half_wht_box li {
  padding: 10px;
  margin: 20px 0;
  border-radius: 5px;
}
.half_wht_box li span {
  display: block;
  font-weight: bold;
}
.bg_yel {
  background-color: #f4f7c4;
}
.bg_blu {
  background-color: #4a90e2;
}

/*施術開始
----------------------------------------------------------- */
.treatment_content_list tr:first-child {
  font-weight: normal;
  border-bottom: double #ddd;
}
.treatment_content_list td,
.treatment_content_list th {
  padding: 10px;
}
.treatment_content_list tr {
  font-weight: bold;
  border-bottom: solid 1px #ddd;
}
.treatment_content_list th:last-child {
  width: 120px;
}
.staff_change_button {
  width: 48%;
  padding: 5px;
  font-size: 0.875rem;
  border-radius: 5px;
  border: none;
  max-width: 100px;
  margin-left: 1rem;
  background-color: #043C78;
  color: #fff;
}
.staff_change_wrap {
  margin-top: .3rem;
}
.staff_change_wrap > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.treatment_flex_btn {
  display: flex;
  justify-content: center;
  align-items: center;
}
.treatment_flex_btn button#delete_treatment {
  margin-right: 10px;
}
/*施術コースの設定
----------------------------------------------------------- */
.course_configuration {
  position: relative;
  width: 80%;
  margin: 30px auto 40px;
  background-color: rgba(255, 255, 255, 1);
}
.title_plus_minus,
.add_course_wrap button {
  position: absolute;
  width: 22px;
  height: 22px;
  border: solid 1px #fff;
  border-radius: 50%;
  padding: 0;
}
.title_plus_minus {
  top: 14px;
  right: 25px;
  background: rgba(42, 131, 118, 0.18);
  z-index: 1;
}
.title_plus_minus:before {
  content: "";
  position: absolute;
  top: 9px;
  right: 4px;
  width: 12px;
  height: 2px;
  background-color: #fff;
}
.configuration_plus .title_plus_minus:before {
  content: "";
  position: absolute;
  top: 9px;
  right: 4px;
  width: 12px;
  height: 2px;
  background-color: #fff;
}
.configuration_plus .title_plus_minus:after {
  content: "";
  position: absolute;
  top: 4px;
  right: 9px;
  width: 2px;
  height: 12px;
  background-color: #fff;
}
.configuration_plus .wrap_op {
  opacity: 0.5;
}
.course_configuration .title {
  width: 100%;
  display: block;
  padding: 14px 10px;
  margin: 0;
  font-size: 1.125rem;
  position: relative;
  font-weight: bold;
  line-height: 1.4rem;
}
.course_configuration_title .title_down {
  background: url(../img/down_btn.svg) no-repeat center;
  transform: rotate(180deg);
  background-size: 18px;
  width: 50px;
  height: 100%;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.course_configuration.close .course_configuration_title .title_down {
  transform: rotate(0);
  border-left: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.5);
}
/*リスト*/
.add_course_wrap {
  padding: 20px 0 0 30px;
  position: relative;
}
.add_course_wrap li {
  margin: 20px 57px 0 0;
  position: relative;
  width: 100%;
}
.add_course_wrap li:first-child {
  margin-top: 0;
}
.add_course_wrap .add_course {
  width: 100%;
  max-width: 842px;
  background-color: #f4f4f4;
  border-radius: 5px;
  font-weight: bold;
  padding: 15px 10px;
}
.add_course_wrap .add_course:before {
  content: "";
  position: absolute;
  top: 20px;
  left: -35px;
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50%;
}
.add_course_wrap button {
  top: 18px;
  right: -33px;
  background: #043C78;
}
.add_course_wrap button:after {
  content: "";
  position: absolute;
  top: 9px;
  right: 4px;
  width: 12px;
  height: 2px;
  background-color: #fff;
}
.course_plus .add_course {
  background-color: rgba(255, 255, 255, 0.35);
  color: rgba(4, 60, 120, 0.35);
}
.course_plus button:before {
  content: "";
  position: absolute;
  top: 4px;
  right: 9px;
  width: 2px;
  height: 12px;
  background-color: #fff;
}
.add_course_input_wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.add_course_wrap form {
  margin: 20px 0 0;
}
.add_course_input_wrap:before {
  content: "";
  position: absolute;
  top: 25px;
  left: -35px;
  width: 10px;
  height: 10px;
  background-color: #d5d5d5;
  border-radius: 50%;
}
/*ポップアップ*/
.course_pop span {
  text-align: left;
  margin: 15px 0 5px;
}
.course_pop input {
  width: 100%;
  padding: 16px 10px;
  background-color: #f4f4f4;
}
.course_configuration_title {
  height: 50px;
  background-color: #043C78;
  color: #fff;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.close_color .course_configuration_title {
  background-color: #aaa;
}
.course_configuration_title .category_title {
  font-size: 18px;
  font-weight: bold;
  margin: 0;
  padding-left: 15px;
}
.title_status {
  margin-left: auto;
  font-size: 13px;
  padding: 3px 18px;
  color: #fff;
  width: 80px;
  text-align: center;
  border-left: 1px solid rgba(255, 255, 255, 0.4);
}
.course_configuration_box {
  padding: 15px 15px 30px 15px;
  display: none;
}
.course_configuration_box.close {
  display: none;
}
.course_configuration_box-top {
  padding-bottom: 1.3rem;
  border-bottom: 1px solid #D5D5D5;
}
.course_configuration_box-top dl {
  display: flex;
  align-items: center;
  padding: 13px 0 13px 10px;
  margin: 0;
}
.course_configuration_box-top dt {
  width: 142px;
  font-weight: bold;
}
.course_configuration_box-top dd {
  width: calc(100% - 142px);
}
.course_configuration_box-top dd input[type="text"] {
  width: 100%;
  padding: 15px 10px;
  background-color: #f4f4f4;
  border-radius: 5px;
  font-weight: bold;
}
.course_configuration_box-middle {
  display: flex;
  position: relative;
}
.course_configuration_box-middle .left-title {
  width: 142px;
  font-weight: bold;
  display: flex;
  align-items: center;
  padding-left: 10px;
}
.add_course_input_wrap input[type="text"] {
  flex: 1;
}
.course_configuration_box-middle-right {
  width: calc(100% - 142px);
  border-left: solid 1px #d5d5d5;
  padding-bottom: 40px;
}
.course_configuration_box-bottom {
  border-top: 1px solid #d5d5d5;
}
.button_add_category_item {
  border-radius: 5px;
  padding: 5px 10px;
  margin-top: 20px;
  margin-left: auto;
  display: flex;
  align-items: center;
}
.button_add_category_item .plus-btn {
  position: relative;
  background-color: #043C78;
  border-radius: 10px;
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 5px;
}
.button_add_category_item .plus-btn::before {
  content:"";
  height: 10px;
  width: 2px;
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.button_add_category_item .plus-btn::after {
  content:"";
  height: 2px;
  width: 10px;
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* toggle */
.toggle_switch {
  display: block;
}
.toggle_switch.detail {
  background-color: #f4f4f4;
  height: 50px;
  padding: 10px 10px;
  margin-left: 5px;
}
.toggle_switch>input {
  display: none;
}
.toggle_switch>label {
  display: block;
  position: relative;
  width: 64px;
  height: 28px;
  border-radius: 14px;
  background-color: #7F7F7F;
  cursor: pointer;
}
.toggle_switch>input:checked+label {
  background-color: #0794E3;
}
.toggle_switch label span {
  position: absolute;
  top: 1px;
  left: 0;
}
.toggle_switch>input:checked+label span {
  position: absolute;
  top: 1px;
  left: 0;
}
.toggle_switch label span::before {
  content: "無効";
  color: #fff;
  font-size: 11px;
  padding-left: 24px;
  transition: width .4s;
}
.toggle_switch>input:checked+label span::before {
  content: "有効";
  padding-left: 10px;
}
.toggle_switch>label::before {
  position: absolute;
  top: 5px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: calc(1em - 0.1em);
  background-color: #fff;
  transition: 0.5s;
  content: "";
}
.toggle_switch>input:checked+label::before {
  left: calc(100% - 25px);
}
.category_radio .category_radio_label {
  position: relative;
  display: inline-block;
  margin: 12px 10px 12px 0;
  line-height: 1.2;
}
.category_radio input[type="radio"] {
  width: 18px;
  height: 18px;
  display: inline-block;
  margin-right: 5px;
  border: solid 1px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
  border-radius: 50%;
}
.category_radio input[type="radio"]:checked {
  border: solid 2px #043C78;
  background-color: #fff;
}
.category_radio input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #043C78;
  border: solid 1px #043C78;
  display: block;
  z-index: 1;
}
/* 患者管理
----------------------------------------------------------- */
.w_button_1 {
  right: 0;
}
.payment_history {
  margin-top: 20px;
}
/* 店舗設定
----------------------------------------------------------- */
.store_checkbox input {
  display: none;
}
.store_checkbox label {
  display: block;
  cursor: pointer;
  width: 100%;
  margin: 20px 0;
  padding: 17px;
  background: #f4f4f4;
  color: #ddd;
  font-size: 0.875rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  transition: 0.2s;
}
.store_checkbox label:last-child {
  margin-bottom: 27px !important;
}
.store_checkbox input[type="checkbox"]:checked + .check_week {
  background-color: #043C78;
  color: #fff;
}
/*ポップアップ*/
#clinic_max .popup_card {
  max-width: 410px;
}
.check_icon {
  position: relative;
  padding-left: 38px !important;
}
.check_icon:before {
  content: "\f00c";
  position: absolute;
  top: 14px;
  left: 10px;
  display: block;
  font-size: 1.125rem;
  font-family: "Font Awesome 5 Free";
  color: #ddd;
}
.store_checkbox input[type="checkbox"]:checked + .check_icon:before {
  color: #fff;
}

/* マスター管理メニューアイコン
---------------------------------------------------------- */
.seat_pan {
  background: url(../img/seat_pan.svg) no-repeat center;
}
.clock_regular {
  background: url(../img/clock_regular.svg) no-repeat center;
}
.hospital_icon {
  background: url(../img/hospital_icon.svg) no-repeat center;
}
.user_pen {
  background: url(../img/user_pen.svg) no-repeat center;
}

/* ユーザー権限
------------------------------------------------------- */
.authority_setting_button:disabled {
  opacity: 1;
  background-color: gray;
}
.authority_radio input[type="radio"]:checked + label {
  background-color: #043C78;
  color: #fff;
}
.authority_radio input {
  display: none;
}
.authority_radio label {
  display: block;
  cursor: pointer;
  width: 132px;
  margin: 0;
  padding: 17px;
  background: #f4f4f4;
  color: #ddd;
  font-size: 0.875rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  transition: 0.2s;
}
.popup_back {
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background-color: rgba(0, 0, 0, 0.5);
}
.popup_back.bg_wht {
  background-color: white;
}
.popup_back.popup_show {
  visibility: visible;
  animation: show 0.3s linear 0s;
}
.popup_back.popup_hide {
  animation: hide 0.3s linear 0s;
  animation-fill-mode: both;
}
.popup_card .store_checkbox label {
  text-align: left;
}
/* 予約禁止の設定
----------------------------------------------- */
.restriction_wrap .storage_check_wrap {
  position: relative;
  display: inline-block;
  margin: 12px 0;
}
.restriction_wrap .storage_check_wrap:before {
  content: "\f00c";
  position: absolute;
  top: 3px;
  left: 3px;
  display: block;
  font-family: "Font Awesome 5 Free";
  color: #fff;
  z-index: 1;
}
#repeat {
  margin: 0;
}

/* グラフ
------------------------------------------------ */
.chart_wrap {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 75.2542372881% 0 0;
}
.chart {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 電子カルテ
------------------------------------------------- */
.medical_chart {
  font-size: 1.125rem;
}
.medical_chart_h1 {
  font-size: 1.5rem;
}
.medical_chart_text {
  padding: 20px 0 10px;
}
.medical_chart_sub {
  display: inline-block;
  vertical-align: text-bottom;
}
.medical_chart .text_input_wrap li {
  align-items: center;
  border-bottom: solid 1px #ddd;
  padding: 0 0 20px;
}
.medical_chart .text_input_wrap .width_release {
  border-bottom: none;
  padding: 0;
}
.medical_chart .list_text {
  font-size: 1.125rem;
  width: 64%;
  margin-right: 20px;
}
.medical_chart .text_input_wrap div {
  width: 40%;
}
.medical_chart .width_release p {
  width: 100%;
}
.medical_chart .text_input_wrap .medical_chart_checkbox,
.chart_checkbox_wrap {
  width: 100%;
  flex-wrap: wrap;
  margin-top: -10px;
}
.chart_checkbox_wrap label {
  height: 80px;
}
.medical_chart_checkbox label {
  width: 32%;
  margin-top: 25px;
  margin-left: 2%;
  border-radius: 5px;
}
.label_adjustment :nth-child(2),
.label_adjustment :nth-child(8) {
  margin-left: 0;
}
.label_adjustment :last-child {
  margin-left: 2% !important;
}
.medical_chart_checkbox :nth-child(3),
.medical_chart_checkbox :nth-child(12) {
  margin-left: 0;
}
.medical_chart_checkbox :nth-child(3),
.medical_chart_checkbox :nth-child(12) {
  margin-left: 0;
}
.chart_checkbox_wrap :nth-child(2),
.chart_checkbox_wrap :nth-child(8),
.chart_checkbox_wrap :nth-child(14) {
  margin-left: 0;
}
.chart_checkbox_wrap :nth-child(12) {
  margin-left: 2%;
}
.medical_chart_checkbox label {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  color: #043C78;
  font-weight: bold;
  text-align: center;
  transition: 0.2s;
  padding: 16px 0;
}
.medical_chart_checkbox input[type="radio"]:checked + .check_chart:after,
.medical_chart_checkbox input[type="checkbox"]:checked + .check_chart:after {
  content: "";
  position: absolute;
  top: -15px;
  right: -5px;
  display: block;
  background: url(../img/chart_check.svg) no-repeat top;
  width: 40px;
  height: 40px;
}
.medical_chart_checkbox input[type="checkbox"]:checked + .check_chart:after {
  background-size: contain;
  width: 30px;
  height: 30px;
}
.medical_chart_checkbox input[type="radio"] {
  -webkit-appearance: button !important;
  display: none;
}
.medical_chart_checkbox input[type="checkbox"] {
  display: none;
}
.medical_chart_right_butoon {
  width: 80%;
  max-width: 960px;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  bottom: 100px;
  margin: 0 auto;
  justify-content: flex-end;
}
.horizontal_limit {
  max-width: 487px;
  width: 80%;
  margin: 0 auto;
}
.when_form {
  width: 90%;
  max-width: 500px;
  margin: 45px auto 35px;
  justify-content: space-between;
  align-items: center;
}
.when_form_title {
  white-space: nowrap;
}
.when_form input {
  background-color: #f4f4f4;
}
.when_form .date_time_wrap {
  justify-content: space-evenly;
}
.when_form .time_select_wrap .label {
  height: 55px;
}
.when_form .time_select_wrap .label {
  line-height: 4;
}
.when_form .date_time_wrap span {
  padding: 14px 3px;
}
.when_form .time_select_wrap {
  width: 60px;
}
.medical_chart .chart_question li {
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.chart_question p {
  width: 60%;
}
.chart_question_box .select_after_box select {
  font-size: 1.125rem;
}
.chart_question_box p:last-child {
  margin-left: 10px;
  width: auto;
}
.interest_answer p {
  text-align: right;
}
.interest_answer p:last-child {
  margin-left: 0;
}
.chart_question_box {
  justify-content: flex-end;
  align-items: center;
  width: 50%;
}
.medical_chart .chart_question_box div {
  width: 220px;
}
.medical_chart textarea {
  height: 250px;
}
.confirmation_top {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.confirmation_top p {
  margin: 0;
}
.confirmation_top button {
  height: 31px;
}
.confirmation_wrap .chart_question_box p {
  font-weight: normal;
}
.confirmation_wrap .text_input_wrap li {
  padding-bottom: 10px;
}
.chart_table_wrap td .min_button {
  margin: 0 auto;
}
.chart_top {
  justify-content: space-between;
  align-items: flex-end;
}
.chart_top.wht_title p {
  margin: 0;
}
.chart_top.wht_title span {
  font-size: 0.9rem;
  font-weight: normal;
  margin-right: -10px;
}
.chart_table_wrap td,
.chart_table_wrap th {
  padding: 6px 3px;
}
.comment_date {
  margin: 0 0 5px;
}
.comment_date span {
  padding-left: 15px;
}
.chart_table .connected_cell div {
  justify-content: space-between;
  align-items: center;
}
.connected_cell button {
  width: 182px;
}
/*電子カルテポップアップ*/
#warning_note .popup_card {
  max-width: 650px;
  width: 80%;
  padding: 50px;
}
#warning_note .popup_card .button_c {
  margin-top: 50px;
}
#warning_note .popup_card p {
  margin-bottom: 40px;
}
#warning_note span {
  line-height: 2;
}

/* 部位選択
---------------------------------------------- */
#parts_contents {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
  justify-content: space-around;
  margin-bottom: 15px;
  padding-top: 15px;
}
.front_text {
  position: absolute;
  top: 8px;
  left: 9%;
}
.parts_select {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  color: #b54b48;
  font-size: 28px;
  margin: 0;
  font-weight: bold;
}
.back_text {
  position: absolute;
  top: 8px;
  right: 8%;
}
#parts_front {
  width: 280px;
  height: 500px;
  position: relative;
}
#parts_back {
  width: 280px;
  height: 500px;
  position: relative;
}

.parts {
  position: absolute;
}
#parts_f_1 {
  height: 60px;
  left: 112px;
  width: 55px;
  background: url(../img/f_1.svg) no-repeat center;
}

#parts_f_1.taped {
  background: url(../img/f_1_t.svg) no-repeat center;
}

#parts_f_2 {
  height: 20px;
  top: 61px;
  left: 116px;
  width: 45px;
  background: url(../img/f_2.svg) no-repeat center;
}

#parts_f_2.taped {
  background: url(../img/f_2_t.svg) no-repeat center;
}

#parts_f_3 {
  height: 18px;
  top: 83px;
  left: 123px;
  width: 30px;
  background: url(../img/f_3.svg) no-repeat center;
}

#parts_f_3.taped {
  background: url(../img/f_3_t.svg) no-repeat center;
}

#parts_f_4 {
  height: 74px;
  top: 103px;
  left: 82px;
  width: 55px;
  background: url(../img/f_4.svg) no-repeat center;
}

#parts_f_4.taped {
  background: url(../img/f_4_t.svg) no-repeat center;
}

#parts_f_5 {
  height: 74px;
  top: 103px;
  left: 139px;
  width: 54px;
  background: url(../img/f_5.svg) no-repeat center;
}

#parts_f_5.taped {
  background: url(../img/f_5_t.svg) no-repeat center;
}

#parts_f_6 {
  height: 90px;
  top: 178px;
  left: 87px;
  width: 50px;
  background: url(../img/f_6.svg) no-repeat center;
}

#parts_f_6.taped {
  background: url(../img/f_6_t.svg) no-repeat center;
}

#parts_f_7 {
  height: 90px;
  top: 178px;
  left: 139px;
  width: 50px;
  background: url(../img/f_7.svg) no-repeat center;
}

#parts_f_7.taped {
  background: url(../img/f_7_t.svg) no-repeat center;
}
#parts_f_8 {
  height: 35px;
  top: 270px;
  left: 87px;
  width: 50px;
  background: url(../img/f_8.svg) no-repeat center;
}

#parts_f_8.taped {
  background: url(../img/f_8_t.svg) no-repeat center;
}
#parts_f_9 {
  height: 35px;
  top: 270px;
  left: 139px;
  width: 50px;
  background: url(../img/f_9.svg) no-repeat center;
}

#parts_f_9.taped {
  background: url(../img/f_9_t.svg) no-repeat center;
}
#parts_f_10 {
  height: 59px;
  top: 306px;
  left: 87px;
  width: 50px;
  background: url(../img/f_10.svg) no-repeat center;
}

#parts_f_10.taped {
  background: url(../img/f_10_t.svg) no-repeat center;
}
#parts_f_11 {
  height: 59px;
  top: 306px;
  left: 139px;
  width: 50px;
  background: url(../img/f_11.svg) no-repeat center;
}

#parts_f_11.taped {
  background: url(../img/f_11_t.svg) no-repeat center;
}
#parts_f_12 {
  height: 36px;
  top: 366px;
  left: 87px;
  width: 50px;
  background: url(../img/f_12.svg) no-repeat center;
}

#parts_f_12.taped {
  background: url(../img/f_12_t.svg) no-repeat center;
}
#parts_f_13 {
  height: 36px;
  top: 366px;
  left: 139px;
  width: 50px;
  background: url(../img/f_13.svg) no-repeat center;
}

#parts_f_13.taped {
  background: url(../img/f_13_t.svg) no-repeat center;
}
#parts_f_14 {
  height: 59px;
  top: 403px;
  left: 87px;
  width: 50px;
  background: url(../img/f_14.svg) no-repeat center;
}

#parts_f_14.taped {
  background: url(../img/f_14_t.svg) no-repeat center;
}
#parts_f_15 {
  height: 59px;
  top: 403px;
  left: 139px;
  width: 50px;
  background: url(../img/f_15.svg) no-repeat center;
}

#parts_f_15.taped {
  background: url(../img/f_15_t.svg) no-repeat center;
}
#parts_f_16 {
  height: 15px;
  top: 463px;
  left: 87px;
  width: 50px;
  background: url(../img/f_16.svg) no-repeat center;
}

#parts_f_16.taped {
  background: url(../img/f_16_t.svg) no-repeat center;
}
#parts_f_17 {
  height: 15px;
  top: 463px;
  left: 139px;
  width: 50px;
  background: url(../img/f_17.svg) no-repeat center;
}

#parts_f_17.taped {
  background: url(../img/f_17_t.svg) no-repeat center;
}
#parts_f_18 {
  height: 20px;
  top: 479px;
  left: 58px;
  width: 72px;
  background: url(../img/f_18.svg) no-repeat center;
}

#parts_f_18.taped {
  background: url(../img/f_18_t.svg) no-repeat center;
}
#parts_f_19 {
  height: 20px;
  top: 479px;
  left: 148px;
  width: 72px;
  background: url(../img/f_19.svg) no-repeat center;
}

#parts_f_19.taped {
  background: url(../img/f_19_t.svg) no-repeat center;
}
#parts_f_20 {
  height: 35px;
  top: 90px;
  left: 41px;
  width: 38px;
  background: url(../img/f_20.svg) no-repeat center;
}

#parts_f_20.taped {
  background: url(../img/f_20_t.svg) no-repeat center;
}
#parts_f_21 {
  height: 58px;
  top: 126px;
  left: 33px;
  width: 38px;
  background: url(../img/f_21.svg) no-repeat center;
}

#parts_f_21.taped {
  background: url(../img/f_21_t.svg) no-repeat center;
}
#parts_f_22 {
  height: 31px;
  top: 185px;
  left: 26px;
  width: 38px;
  background: url(../img/f_22.svg) no-repeat center;
}

#parts_f_22.taped {
  background: url(../img/f_22_t.svg) no-repeat center;
}
#parts_f_23 {
  height: 58px;
  top: 214px;
  left: 24px;
  width: 32px;
  background: url(../img/f_23.svg) no-repeat center;
}

#parts_f_23.taped {
  background: url(../img/f_23_t.svg) no-repeat center;
}
#parts_f_24 {
  height: 18px;
  top: 273px;
  width: 30px;
  left: 19px;
  background: url(../img/f_24.svg) no-repeat center;
}

#parts_f_24.taped {
  background: url(../img/f_24_t.svg) no-repeat center;
}
#parts_f_25 {
  height: 40px;
  top: 291px;
  width: 34px;
  left: 19px;
  background: url(../img/f_25.svg) no-repeat center;
}

#parts_f_25.taped {
  background: url(../img/f_25_t.svg) no-repeat center;
}
#parts_f_26 {
  height: 35px;
  top: 90px;
  left: 200px;
  width: 38px;
  background: url(../img/f_26.svg) no-repeat center;
}

#parts_f_26.taped {
  background: url(../img/f_26_t.svg) no-repeat center;
}
#parts_f_27 {
  height: 58px;
  top: 126px;
  left: 209px;
  width: 38px;
  background: url(../img/f_27.svg) no-repeat center;
}

#parts_f_27.taped {
  background: url(../img/f_27_t.svg) no-repeat center;
}
#parts_f_28 {
  height: 31px;
  top: 184px;
  left: 216px;
  width: 38px;
  background: url(../img/f_28.svg) no-repeat center;
}

#parts_f_28.taped {
  background: url(../img/f_28_t.svg) no-repeat center;
}
#parts_f_29 {
  height: 58px;
  top: 214px;
  left: 224px;
  width: 32px;
  background: url(../img/f_29.svg) no-repeat center;
}

#parts_f_29.taped {
  background: url(../img/f_29_t.svg) no-repeat center;
}
#parts_f_30 {
  height: 18px;
  top: 273px;
  left: 209px;
  width: 30px;
  background: url(../img/f_30.svg) no-repeat center;
}

#parts_f_30.taped {
  background: url(../img/f_30_t.svg) no-repeat center;
}
#parts_f_30 {
  height: 17px;
  top: 273px;
  left: 230px;
  width: 30px;
  background: url(../img/f_30.svg) no-repeat center;
}

#parts_f_30.taped {
  background: url(../img/f_30_t.svg) no-repeat center;
}
#parts_f_31 {
  height: 40px;
  top: 291px;
  left: 226px;
  width: 34px;
  background: url(../img/f_31.svg) no-repeat center;
}

#parts_f_31.taped {
  background: url(../img/f_31_t.svg) no-repeat center;
}

/*back*/
#parts_b_1 {
  height: 81px;
  left: 113px;
  width: 55px;
  background: url(../img/b_1.svg) no-repeat center;
}

#parts_b_1.taped {
  background: url(../img/b_1_t.svg) no-repeat center;
}
#parts_b_2 {
  height: 18px;
  top: 82px;
  left: 124px;
  width: 30px;
  background: url(../img/b_2.svg) no-repeat center;
}

#parts_b_2.taped {
  background: url(../img/b_2_t.svg) no-repeat center;
}

#parts_b_3 {
  height: 98px;
  top: 101px;
  left: 83px;
  width: 55px;
  background: url(../img/b_3.svg) no-repeat center;
}

#parts_b_3.taped {
  background: url(../img/b_3_t.svg) no-repeat center;
}

#parts_b_4 {
  height: 98px;
  top: 101px;
  left: 139px;
  width: 54px;
  background: url(../img/b_4.svg) no-repeat center;
}

#parts_b_4.taped {
  background: url(../img/b_4_t.svg) no-repeat center;
}
#parts_b_5 {
  height: 48px;
  top: 200px;
  left: 95px;
  width: 43px;
  background: url(../img/b_5.svg) no-repeat center;
}

#parts_b_5.taped {
  background: url(../img/b_5_t.svg) no-repeat center;
}

#parts_b_6 {
  height: 48px;
  top: 200px;
  left: 139px;
  width: 43px;
  background: url(../img/b_6.svg) no-repeat center;
}

#parts_b_6.taped {
  background: url(../img/b_6_t.svg) no-repeat center;
}
#parts_b_7 {
  height: 56px;
  top: 250px;
  left: 84px;
  width: 53px;
  background: url(../img/b_7.svg) no-repeat center;
}

#parts_b_7.taped {
  background: url(../img/b_7_t.svg) no-repeat center;
}
#parts_b_8 {
  height: 56px;
  top: 250px;
  left: 139px;
  width: 53px;
  background: url(../img/b_8.svg) no-repeat center;
}

#parts_b_8.taped {
  background: url(../img/b_8_t.svg) no-repeat center;
}
#parts_b_9 {
  height: 59px;
  top: 306px;
  left: 87px;
  width: 50px;
  background: url(../img/b_9.svg) no-repeat center;
}

#parts_b_9.taped {
  background: url(../img/b_9_t.svg) no-repeat center;
}
#parts_b_10 {
  height: 59px;
  top: 306px;
  left: 139px;
  width: 50px;
  background: url(../img/b_10.svg) no-repeat center;
}

#parts_b_10.taped {
  background: url(../img/b_10_t.svg) no-repeat center;
}
#parts_b_11 {
  height: 36px;
  top: 366px;
  left: 87px;
  width: 50px;
  background: url(../img/b_11.svg) no-repeat center;
}

#parts_b_11.taped {
  background: url(../img/b_11_t.svg) no-repeat center;
}
#parts_b_12 {
  height: 36px;
  top: 366px;
  left: 139px;
  width: 50px;
  background: url(../img/b_12.svg) no-repeat center;
}

#parts_b_12.taped {
  background: url(../img/b_12_t.svg) no-repeat center;
}
#parts_b_13 {
  height: 59px;
  top: 403px;
  left: 87px;
  width: 50px;
  background: url(../img/b_13.svg) no-repeat center;
}

#parts_b_13.taped {
  background: url(../img/b_13_t.svg) no-repeat center;
}
#parts_b_14 {
  height: 59px;
  top: 403px;
  left: 139px;
  width: 50px;
  background: url(../img/b_14.svg) no-repeat center;
}

#parts_b_14.taped {
  background: url(../img/b_14_t.svg) no-repeat center;
}
#parts_b_15 {
  height: 15px;
  top: 463px;
  left: 87px;
  width: 50px;
  background: url(../img/b_15.svg) no-repeat center;
}

#parts_b_15.taped {
  background: url(../img/b_15_t.svg) no-repeat center;
}
#parts_b_16 {
  height: 15px;
  top: 463px;
  left: 139px;
  width: 50px;
  background: url(../img/b_16.svg) no-repeat center;
}

#parts_b_16.taped {
  background: url(../img/b_16_t.svg) no-repeat center;
}
#parts_b_17 {
  height: 20px;
  top: 479px;
  left: 58px;
  width: 72px;
  background: url(../img/b_17.svg) no-repeat center;
}

#parts_b_17.taped {
  background: url(../img/b_17_t.svg) no-repeat center;
}
#parts_b_18 {
  height: 20px;
  top: 479px;
  left: 148px;
  width: 72px;
  background: url(../img/b_18.svg) no-repeat center;
}

#parts_b_18.taped {
  background: url(../img/b_18_t.svg) no-repeat center;
}
#parts_b_19 {
  height: 35px;
  top: 90px;
  left: 41px;
  width: 38px;
  background: url(../img/b_19.svg) no-repeat center;
}

#parts_b_19.taped {
  background: url(../img/b_19_t.svg) no-repeat center;
}
#parts_b_20 {
  height: 58px;
  top: 126px;
  left: 33px;
  width: 38px;
  background: url(../img/b_20.svg) no-repeat center;
}

#parts_b_20.taped {
  background: url(../img/b_20_t.svg) no-repeat center;
}
#parts_b_21 {
  height: 31px;
  top: 185px;
  left: 26px;
  width: 38px;
  background: url(../img/b_21.svg) no-repeat center;
}

#parts_b_21.taped {
  background: url(../img/b_21_t.svg) no-repeat center;
}
#parts_b_22 {
  height: 58px;
  top: 215px;
  left: 24px;
  width: 32px;
  background: url(../img/b_22.svg) no-repeat center;
}

#parts_b_22.taped {
  background: url(../img/b_22_t.svg) no-repeat center;
}
#parts_b_23 {
  height: 18px;
  top: 273px;
  width: 30px;
  left: 21px;
  background: url(../img/b_23.svg) no-repeat center;
}

#parts_b_23.taped {
  background: url(../img/b_23_t.svg) no-repeat center;
}
#parts_b_24 {
  height: 40px;
  top: 291px;
  width: 34px;
  left: 21px;
  background: url(../img/b_24.svg) no-repeat center;
}

#parts_b_24.taped {
  background: url(../img/b_24_t.svg) no-repeat center;
}
#parts_b_25 {
  height: 35px;
  top: 90px;
  left: 196px;
  width: 38px;
  background: url(../img/b_25.svg) no-repeat center;
}

#parts_b_25.taped {
  background: url(../img/b_25_t.svg) no-repeat center;
}
#parts_b_26 {
  height: 58px;
  top: 126px;
  left: 205px;
  width: 38px;
  background: url(../img/b_26.svg) no-repeat center;
}

#parts_b_26.taped {
  background: url(../img/b_26_t.svg) no-repeat center;
}
#parts_b_27 {
  height: 31px;
  top: 184px;
  left: 212px;
  width: 38px;
  background: url(../img/b_27.svg) no-repeat center;
}

#parts_b_27.taped {
  background: url(../img/b_27_t.svg) no-repeat center;
}
#parts_b_28 {
  height: 58px;
  top: 215px;
  left: 223px;
  width: 32px;
  background: url(../img/b_28.svg) no-repeat center;
}

#parts_b_28.taped {
  background: url(../img/b_28_t.svg) no-repeat center;
}
#parts_b_29 {
  height: 18px;
  top: 273px;
  left: 229px;
  width: 30px;
  background: url(../img/b_29.svg) no-repeat center;
}

#parts_b_29.taped {
  background: url(../img/b_29_t.svg) no-repeat center;
}
#parts_b_30 {
  height: 40px;
  top: 291px;
  left: 225px;
  width: 34px;
  background: url(../img/b_30.svg) no-repeat center;
}

#parts_b_30.taped {
  background: url(../img/b_30_t.svg) no-repeat center;
}
/* 商品管理
---------------------------------------------------------- */
/*トップ*/
.box_outtop_button {
  width: 160px;
  padding: 5px 0;
  font-weight: normal !important;
  font-size: 0.875rem;
  border-radius: 5px;
  border: none;
  letter-spacing: 0.05em;
  margin: 0 5px 5px 0;
}
.wht_title_btn {
  width: 90%;
  max-width: 960px;
  margin: 40px auto -10px;
  padding: 0 10px;
  position: relative;
  font-size: 1.125rem;
  font-weight: bold;
}
.wht_title_btn:before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 2px;
  height: 18px;
  background-color: #000;
}
.product_list_title p {
  margin-bottom: 5px;
}
.product_list_title::before {
  top: 22px !important;
}
.product_list .storage_check_wrap {
  position: relative;
  display: inline-block;
  margin: 12px 0;
}
.product_list .storage_check_wrap::after {
  content: "\f00c";
  position: absolute;
  top: 3px;
  left: 3px;
  display: block;
  font-family: "Font Awesome 5 Free";
  color: #fff;
  z-index: 1;
}
.product_list .storage_check_wrap input[type="checkbox"]:checked {
  border: solid 2px #043C78;
  background-color: #043C78;
}
.product_list .storage_check_wrap input {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: solid 2px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
}
.product_select {
  padding-top: 20px;
  align-items: center;
}
.th_width_100 {
  width: 100px;
}
.one_row{
  padding: 10px 25px!important;
}
/*商品登録・編集*/
.product_edit_discription {
  margin: 0;
  font-size: 0.8rem;
  font-weight: normal;
}
.product_edit_wrap .storage_check_wrap {
  position: relative;
  display: inline-block;
  margin: 12px 0;
}
.product_edit_wrap .storage_check_wrap input[type="radio"] {
  width: 18px;
  height: 18px;
  display: inline-block;
  margin-right: 5px;
  border: solid 1px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
  border-radius: 50%;
}
.product_edit_wrap .storage_check_wrap input[type="checkbox"] {
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 10px;
  border: solid 2px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
}
.product_edit_wrap .storage_check_wrap {
  position: relative;
  display: inline-block;
  margin: 12px 10px 12px 0;
  line-height: 1.2;
}
.product_edit_wrap .storage_check_wrap input[type="checkbox"]::before {
  content: "\f00c";
  position: absolute;
  top: 2px;
  left: 2px;
  display: block;
  font-family: "Font Awesome 5 Free";
  color: #fff;
  z-index: 1;
  font-weight: bold;
}
.product_edit_wrap .storage_check_wrap input[type="checkbox"]:checked {
  border: solid 2px #043C78;
  background-color: #043C78;
}

.product_edit_wrap .storage_check_wrap input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #043C78;
  border: solid 1px #043C78;
  display: block;
  z-index: 1;
}
.product_edit_wrap .storage_check_wrap input[type="radio"]:checked {
  border: solid 2px #043C78;
  background-color: #fff;
}
/*商品管理_コード一覧印刷*/
body.qr_print {
  height: auto;
}
.blk_title::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 2px;
  height: 18px;
  background-color: #333;
}

.qr_card {
  margin-bottom: 50px;
}
.qr_card .blk_title {
  width: 100%;
  margin: 10px;
  padding: 0 10px;
  position: relative;
  font-size: 1.125rem;
  font-weight: bold;
}
.qr_card ul {
  margin: 0 auto;
  padding: 30px 10%;
  display: flex;
  flex-wrap: wrap;
  width: 90%;
}

.qr_card ul li {
  width: 30%;
  margin: 0 5% 20px 0;
}
.qr_card ul li:nth-child(3n) {
  margin-right: 0;
}
.qr_card ul li img {
  width: 100%;
}
.qr_card ul li div canvas {
  width: 80%;
}
.qr_card ul li p {
  margin: 6px 0;
}
.close_trigger {
  width: 40px;
  height: 40px;
  cursor: pointer;
  margin: 10px 10px 0 auto;
}
.close_trigger a,
.close_trigger a span {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
}
.close_trigger span::before,
.close_trigger span::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 50%;
  width: 3px;
  height: 40px;
  margin: 3%;
  background-color: #333;
}

.close_trigger span::before {
  transform: rotate(-45deg);
}

.close_trigger span::after {
  transform: rotate(45deg);
}

.qr_hide_btn {
  margin: 0;
  position: absolute;
  top: 24px;
  right: 24px;
  width: 24px;
  height: 24px;
  background: url(../img/btn_popup_close.svg) no-repeat center;
  background-size: 24px auto;
}
.qr_hide_btn:hover {
  opacity: 0.7;
}

/* お支払い処理
---------------------------------------------------------- */
/* 商品選択画面 */
.selected_products_box table thead,
#medical_products table thead,
#medical_treatment table thead,
.qr_reading_list table thead {
  display: block;
}
.selected_products_box table tbody,
#medical_products table tbody,
#medical_treatment table tbody {
  display: block;
  overflow-y: scroll;
  height: 160px;
  padding-right: 1rem;
}
.selected_products_box table thead tr,
#medical_products table thead tr,
#medical_treatment table thead tr,
.selected_products_box table tbody tr,
#medical_products table tbody tr,
#medical_treatment table tbody tr,
.qr_reading_list table tbody tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}
#medical_products .today_list tbody tr:first-child,
#medical_treatment .today_list tbody tr:first-child,
.selected_products_box.today_list tbody tr:first-child {
  font-weight: bold;
  border-bottom: 1px solid #ddd;
}
#medical_products .product_list .storage_check_wrap,
#medical_treatment .product_list .storage_check_wrap {
  margin: 0;
}
/*スクロールバーの横幅指定*/
.scroll_tbody::-webkit-scrollbar {
  width: 3px;
}
/*スクロールバーの背景色・角丸指定*/
.scroll_tbody::-webkit-scrollbar-track {
  border-radius: 2px;
  background: #f2f2f2;
}
/*スクロールバーの色・角丸指定*/
.scroll_tbody::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background: #043C78;
}
#medical_products .sub_cat_search_box,
#medical_treatment .sub_cat_search_box {
  margin-top: 14px;
}
.sub_cat_search_box {
  width: 80%;
  margin: 40px auto -10px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sub_cat_select_box {
  display: flex;
  width: 300px;
  align-items: center;
  margin: 0 0 12px 0;
}
.sub_cat_select_box label {
  color: #000;
  width: 80px;
}
.sub_cat_select {
  overflow: hidden;
  width: 200px;
  text-align: center;
}
.sub_cat_select select {
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.sub_cat_select select::-ms-expand {
  display: none;
}
.sub_cat_select {
  position: relative;
  border-radius: 50px;
  background: #fff;
}
.sub_cat_select::before {
  position: absolute;
  top: 1.2em;
  right: 1.2em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #043C78;
  pointer-events: none;
}
.sub_cat_select select {
  padding: 10px 38px 10px 19px;
  color: #000;
}
.add_number_input_wrap {
  position: relative;
}
.add_number_input_wrap input {
  height: 50px;
  border-radius: 0;
  padding: 0 10px;
  background-color: #f4f4f4;
  width: 50px;
  text-align: center;
}
.number_minus {
  position: absolute;
  width: 22px;
  height: 22px;
  border: solid 1px #043C78;
  border-radius: 50%;
  padding: 0;
  top: 14px;
  left: -30px;
  background-color: #fff;
  z-index: 1;
}
.number_minus:before {
  content: "";
  position: absolute;
  top: 9px;
  right: 4px;
  width: 12px;
  height: 2px;
  background-color: #043C78;
}
.adjustment_cost input[type="number"] {
  width: 80%;
  background-color: #f4f4f4;
  height: 50px;
  padding: 0 10px;
}
.adjustment_cost td span {
  margin-left: 20px;
}
.number_plus {
  position: absolute;
  width: 22px;
  height: 22px;
  border: solid 1px #043C78;
  border-radius: 50%;
  padding: 0;
  background-color: #fff;
  top: 14px;
  left: 57px;
}
.number_plus::before {
  content: "";
  position: absolute;
  top: 4px;
  right: 9px;
  width: 2px;
  height: 12px;
  background-color: #043C78;
}
.number_plus::after {
  content: "";
  position: absolute;
  top: 9px;
  right: 4px;
  width: 12px;
  height: 2px;
  background-color: #043C78;
}
.list_receipt_top table tr:first-of-type {
  border-bottom: double #ddd !important;
}
.ensure_50 {
  width: 50%;
}
.fixed_btn
{
  position: fixed;
  bottom: 20px;
  left: 20px;
  width:56px;
  height:56px;
  background-color: rgba(0,0,0,0.7);
  border-radius: 50%;
  border:none;
  z-index: 100;
}
.fixed_btn::before{
  position:absolute;
  content:"";
  top:20px;
  left: 18px;
  width: 16px;
  height: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.fixed_btn::after{
  position:absolute;
  content:"";
  top:27px;
  left: 17px;
  width: 22px;
  height: 2px;
  background: #fff;
}

/*決済方法選択*/
.payment_method {
  font-size: 1.125rem;
}
.payment_method_checkbox {
  justify-content: center;
}
.payment_method_checkbox input[type="radio"] {
  -webkit-appearance: button !important;
  display: none;
}
.payment_method_checkbox label {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  color: #043C78;
  font-weight: bold;
  text-align: center;
  transition: 0.2s;
  padding: 16px 0;
  width: 30%;
  margin-top: 25px;
  margin-left: 2%;
  border-radius: 5px;
}

.payment_method_checkbox input[type="radio"]:checked + .check_chart:after {
  content: "";
  position: absolute;
  top: -15px;
  right: -5px;
  display: block;
  background: url(../img/chart_check.svg) no-repeat top;
  width: 40px;
  height: 40px;
}
.payment_method_checkbox label:nth-of-type(4) {
  margin-left: 2% !important;
}
.payment_total {
  font-weight: bold;
  border-top: double #ddd;
  font-size: 1.125rem;
  justify-content: space-between;
  margin-top: 50px;
  padding: 10px;
}
/*決済方法確認画面*/
.payment_confirm_title {
  justify-content: space-between;
  margin-bottom: 30px;
}
.payment_confirm_title span {
  font-weight: bold;
  font-size: 1.125rem;
}
/*領収書出力画面*/
.receipt_button {
  width: 500px;
  height: 150px;
  font-size: 2rem;
  padding: 10px 0;
  border-radius: 5px;
  border: none;
}
/*領収書*/
.receipt_wrap {
  width: 90%;
  margin: 0 auto;
  padding: 0 25px 30px;
}
.sign_contents {
  width: 80%;
}
.sign_contents td {
  height: 30px !important;
}
.seal {
  width: 15%;
  position: relative;
}
.seal span {
  position: absolute;
  display: block;
  bottom: 27%;
  right: 0;
}
.receipt_name {
  margin-bottom: 30px;
}
.receipt_number {
  margin-bottom: 30px;
  text-align: right;
}
.receipt_name span {
  font-weight: bold;
  font-size: 1.125rem;
  border-bottom: 1px solid #ddd;
  padding: 0 10px 10px;
}
.receipt_number span {
  border-bottom: 1px solid #ddd;
  padding: 0 0 5px 5px;
}
.receipt_title {
  margin-bottom: 5px;
}

.bo_btm_d {
  border-bottom: double #ddd;
}
.bo_btm_s {
  border-bottom: 1px solid #ddd;
}

.receipt_wrap td {
  text-align: right;
}
.sign_wrap {
  width: 90%;
  margin: 0 auto;
  padding: 30px 25px;
}
.sign_wrap table tbody th{
  width: 30%;
}
.sub_table {
  width: 93%;
  margin: 0 0 0 auto;
  table-layout: fixed;
}

.receipt_total {
  font-weight: bold;
  border-top: double #ddd;
  font-size: 1.125rem;
  justify-content: space-between;
  padding: 10px 0;
}
@media print {
  .header_wrap {
    display: none;
  }
  footer p {
    display: none;
  }
  .close_trigger {
    display: none;
  }
  .wht_card {
    width: 100%;
  }
  main {
    padding-bottom: 0;
  }
  .receipt_total{
    border-top: double #ddd;
    }
  .receipt_number span,
  .receipt_name span,
  .bo_btm_s,
  .bo_btm_d{
    border-bottom: 1px solid #333;
  }
}
/* 売上管理
---------------------------------------------------------- */
/* トップ */
.ensure_15 {
  width: 15%;
}
.ensure_25 {
  width: 25%;
}
.refine_list_text {
  font-size: 0.875rem;
  font-weight: bold;
}
.refine_result_top {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
}
.refine_result_top .d_flex {
  justify-content: flex-end;
  float: right;
}
.refine_result_top .d_flex .box_outtop_button {
  padding: 5px .5rem;
  width: auto;
}
.refine_total span {
  font-size: 16px;
}
.refine_total {
  float: left;
  padding-bottom: 6px;
  line-height: 1;
}
.refine_input_wrap {
  margin: 0 0 20px;
}
.refine_input_wrap li {
  margin-bottom: 20px;
}
.refine_input_wrap li:last-of-type {
  margin-bottom: 0;
}
.refine_input_wrap div {
  font-weight: bold;
}
.refine_input_wrap select,
.refine_input_wrap input {
  height: 50px;
  border-radius: 0;
  padding: 0 10px !important;
  background-color: #f4f4f4;
}
/* 期間指定 */
#sales_summary_input_block #sales_summary_input_period .date_time_wrap input[type="date"] {
  min-width: 140px;
}
#sales_summary_input_block #sales_summary_input_period > div.d_flex {
  flex: 1;
}
.column_2 {
  justify-content: space-between;
}
.refine_input_wrap .column_2:first-of-type p:last-of-type {
  padding-left: 15px;
}
.refine_input_wrap .column_2:last-of-type p:last-of-type {
  padding-left: 35px;
}
.al_c {
  align-items: center;
}
.clear_btn {
  height: 60%;
  background-color: #c8c8c8;
}
.refine_input_wrap .date_time_wrap span {
  padding: 14px;
}
.refine_date input {
  width: 40% !important;
}
.refine_product_list thead {
  font-weight: normal;
  border-bottom: double #a8a8a8;
}

.refine_product_list th {
  padding: 10px 2px !important;
}
.tdl_grn {
  text-decoration-line: underline;
}
.refine_product_list table {
  font-size: 0.8rem;
}
.refine_product_list tbody {
  font-weight: bold;
}
.refine_product_list thead {
  background-color: #e2e2e2;
}
.refine_product_list tbody:nth-of-type(even) {
  background-color: #f4f4f4;
}
.refine_product_list tbody tr:first-of-type {
  border-bottom: 1px dotted #ddd;
  padding-top: 12px;
}
.refine_product_list thead tr:first-of-type {
  border-bottom: 1px dotted #fff;
}
.refine_product_list tbody tr:last-of-type {
  border-bottom: 1px solid #a8a8a8;
  padding-bottom:12px;
}
.refine_result_btm {
  justify-content: space-between;
  margin: 0 auto;
  padding-top: 10px;
}
.refine_result_btm a {
  text-decoration-line: underline;
}
.refine_number {
  margin: 0;
  text-align: right;
}
/* 構成比グラフ */
#ratio_graph .popup_card {
  max-height: 80%;
  max-width: 80%;
}
.chart_area {
  display: flex;
  justify-content: center;
}
#ratio_graph .chart_area{
  display: flex;
  overflow: scroll;
}
.google_chart > div > div{
  margin: 0 auto;
}
.chart_box {
  width: 50%;
  max-height: 100%;
}
.chart_title_box {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
}
.chart_title_box .chart_title{
  font-size: 1rem;
}
.google_chart .tooltip {
  padding: 10px;
  text-align: left;
}
.google_chart .tooltip span {
  white-space: nowrap;
  margin: auto;
}
.popup_close_trigger {
  width: 30px;
  height: 30px;
  cursor: pointer;
  margin: 0 10px 15px auto;
}
.popup_close_trigger a,
.popup_close_trigger a span {
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  margin:0!important;
}
.popup_close_trigger span::before,
.popup_close_trigger span::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 50%;
  width: 3px;
  height: 30px;
  margin: 3%;
  background-color: #333;
}

.popup_close_trigger span::before {
  transform: rotate(-45deg);
}

.popup_close_trigger span::after {
  transform: rotate(45deg);
}
.graph_title{
  margin: -2rem 0 2rem 0!important;
}
.graph_area_wrap ul li .flex_box div{
  width: 50%;
}

/* 売上管理詳細 */
.edit_right_btn {
  margin: 0 0 30px auto;
}
.edit_list_btn {
  margin: 0 0 0 auto;
}
.pd_l_r {
  padding: 0 10px;
}
.text_r {
  text-align: right;
}
.sales_receipt_confirm {
  justify-content: space-between;
  align-items: center;
}
.sales_receipt_confirm a {
  height: 30px;
}
/*qrコード読み取り*/
.qr_reading_list table tbody {
  display: block;
  overflow-y: scroll;
  height: 160px;
}
/*
マルチ分析
-------------------------------- */
.appointments_data {
  background: url(../img/appointments_data.svg) no-repeat center;
}
.chart_data {
  background: url(../img/chart_data.svg) no-repeat center;
}
.csv_download {
  background: url(../img/csv_download.svg) no-repeat center;
}
.cross_data {
  background: url(../img/cross_data.svg) no-repeat center;
}
.budget_data {
  background: url(../img/budget_data.svg) no-repeat center;
}
.performance_icon {
  background: url(../img/performance.svg) no-repeat center;
}
.budget_icon {
  background: url(../img/setting.svg) no-repeat center;
}

/* 予約データ分析 */
.aggregate_wrap li{
  padding-bottom: 20px;
}
.aggregate_wrap li:last-of-type{
  padding-bottom: 0;
}
.aggregate_wrap .refine_list_text:nth-of-type(even){
  margin-left: 20px;
}
.compare_graph_btn {
  position: relative;
  text-align: right;
  margin-top: 0;
  font-weight: bold;
  padding-right:20px;
  cursor: pointer;
}
.compare_graph_btn::after {
  content:'';
  display: inline-block;
  width:10px;
  height:10px;
  position: absolute;
  top:50%;
  right:0;
  transform: translateY(-50%);
  background: url(../img/arrow_open.svg) no-repeat;
  background-size: 100%;
}
.compare_graph_btn.open::after {
  content:'';
  display: inline-block;
  width:10px;
  height:10px;
  position: absolute;
  top:50%;
  right:0;
  transform: translateY(-50%);
  background: url(../img/arrow_close.svg) no-repeat;
  background-size: 100%;
}
.compare_graph_wrap input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 0 5px 0 10px;
  border: solid 1px #043C78;
  background-color: #fff;
  vertical-align: top;
  border-radius: 50%;
}
.compare_graph_wrap > div{
  margin-top: .8rem;
}
.compare_graph_wrap input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #043C78;
  border: solid 1px #043C78;
  display: block;
  z-index: 1;
}
.graph_area_wrap li p {
  position: relative;
  font-size: 1.25rem;
  font-weight: bold;
  padding-left:10px;
}
.graph_area_wrap li p::before {
  content:"";
  display: inline-block;
  width:5px;
  height:20px;
  position: absolute;
  top: 50%;
  left:0;
  transform: translateY(-50%);
  border-left: 3px solid #000;
}
.graph_area_wrap li p span {
  font-size: 0.875rem;
}
.compare_graph_wrap{
  max-height:0;
  overflow: hidden;
  transition: all 0.5s;
  opacity: 0;
}
.compare_graph_wrap.open{
  max-height: 200px;
  opacity:1;
  background-color: #f4f4f4;
  padding: 1rem 0.7rem;
}
.compare_graph_wrap .radio_box label {
  line-height: 1.2;
}
.compare_graph_select{
  position: relative;
  width: 50%;
  margin: 0 0 0 auto;
}
.compare_graph_select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  width: 100%;
  height: 50px;
  position: relative;
  padding: 0 50px 0 30px;
  border: none;
  font-size: 0.8125rem;
  cursor: pointer;
}
.compare_graph_select::after {
  content: "";
  border-top: 12px solid #043C78;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  position: absolute;
  top: 21px;
  right: 15px;
  pointer-events: none;
}
.radio_box{
  display: flex;
  justify-content: flex-end;
  font-size: 0.8rem;
}
.search_filter {
  position: relative;
  width:60%;
}
.search_filter input{
  width: 100%;
}
.search_filter button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2%;
  height: 30px;
  width: 30px;
  background-color: #043C78;
  border-radius: 50px;
  border: none;
}
.search_filter .search_icon {
  display: inline-block;
  width: 15px;
  height: 15px;
  vertical-align: middle;
  background: url(../img/search_20.svg) no-repeat center;
  background-size: 100%;
}
.refine_box{
  align-items: center;
  background-color: #f4f4f4;
  padding: 20px;
  margin-bottom: 2rem;
  border-radius: 3px;
}
.refine_box .select_after_box select{
  background-color: #fff;
}
.search_filter input{
  background-color: #fff;
  height: 40px;
  margin: 5px 0;
  padding: 0 10px;
}
.search_filter_text{
  font-weight: bold;
  color: #000;
  margin: 0 15px;
  font-size: 0.7rem;
  z-index: 10;
}
.search_filter_wrap {
  width: 50%;
  position: relative;
  display: flex;
  align-items: center;
  background-color: #ddd;
  margin-left: 3%;
  padding: 5px;
}
.search_filter_wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -16px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 30px 25px 0;
  border-color: transparent #ddd transparent transparent;
}
/* 電子問診票データ分析 */
.aggregate_wrap input{
  height: 50px;
  border-radius: 0;
  padding: 0 10px !important;
  background-color: #f4f4f4;
}
.aggregate_wrap input[type="radio"]{
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 10px;
  border: solid 2px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
  border-radius: 50%;
  padding:0!important;
}
.aggregate_wrap input[type="radio"]:checked{
  border: solid 2px #043C78;
  background-color: #fff;
  position: relative;
}
.aggregate_wrap label:last-child input[type="radio"]{
  margin-left:20px;
}
.aggregate_wrap .date_time button{
  margin-left: 30px;
}
.aggregate_wrap input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #043C78;
    border: solid 1px #043C78;
    display: block;
    z-index: 1;
}
/* クロス分析 */
.cross_list td{
  height: 55px;
}
.cross_list tr{
  display: table;
  width: 100%;
  table-layout: fixed;
  font-weight: bold;
  border-bottom: 1px solid #ddd;
}
.cross_list span{
  font-size: 1.635rem;
}
.graph_area_wrap .box_outtop_button{
  margin: 0;
  width: 120px;
}
.hidden_list{
  height:0;
  overflow: hidden;
  opacity: 0;
  transition: all .5s;
}
.hidden_list.open{
  height: 360px;
  opacity: 1;
}
.search_open{
  position: relative;
  cursor: pointer;
  margin-top: 2rem;
}
.search_open::after{
  content:"";
  display: inline-block;
  width:30%;
  position: absolute;
  top: 50%;
  right: 0;
  border-bottom: 1px solid #043C78;
}
.search_open::before{
  content:"";
  display: inline-block;
  width: 30%;
  position: absolute;
  top: 50%;
  left: 0;
  border-bottom: 1px solid #043C78;
}
.search_open i{
  padding-right: 10px;
}
.performance_aggregate_wrap ul li{
  margin-bottom: 20px;
}
.tab_top_btn{
  width: 90%;
  max-width: 960px;
  margin: 4rem auto 0 auto;
}
.tab_top_btn a{
  margin:0 0 0 auto;
}
.avg_text div span {
  display: block;
  text-align: center;
  font-weight: bold;
}
.cross_clear_btn {
  border: none;
  border-radius: 5px;
  padding: 5px 10px;
  margin-left: auto;
  font-size: 0.875rem;
  display: block;
}
/* 予実管理 */
.budget_input ul li{
  display: flex;
  justify-content: space-between;
  padding-bottom: 20px;
}
.budget_input ul li input[type="number"]{
  width: 100%;
  height: 50px;
  border-radius: 0;
  padding: 0 10px;
  background-color: #f4f4f4;
  margin: 0 0 0 auto;
}
.budget_input_title{
  position: relative;
  font-size: 1.25rem;
  font-weight: bold;
  padding-left: 10px;
}
.budget_input_title::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-left: 3px solid #000;
}
.budget_input ul li input[type="number"]:read-only{
  background-color: #fff;
  color: #000;
  text-align: right;
  font-weight: bold;
}
.budget_input ul li input[type="number"]:read-only::placeholder{
  opacity: 0;
}
.disabled{
  opacity: 0.4;
  pointer-events: none;
}
.performance_aggregate_wrap .refine_list_text:nth-of-type(even) {
  margin-left: 20px;
}

/* CSVダウンロード */
.csv_radio{
  margin:0 0 0 auto;
}
.hidden_radio{
  height:0;
  overflow: hidden;
}
/*
労務管理
-------------------------------- */
/*メニューアイコン*/

.staff_qr {
  background: url(../img/staff_qr.svg) no-repeat center;
}
.time_recorder {
  background: url(../img/time_recorder.svg) no-repeat center;
}
.work_management {
  background: url(../img/work_management.svg) no-repeat center;
}
.shift_management {
  background: url(../img/shift.svg) no-repeat center;
}

/*
タイムレコーダー
-------------------------------- */
.time_button_wrap {
  width: 74.7395833333%;
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.time_button_wrap button {
  font-size: 1.7142857142857rem;
  padding: 10px 0;
  border-radius: 5px;
  border: none;
  width: 47.0383275261%;
  max-width: 270px;
  display: block;
  margin-top: 30px;
  height: 87px;
  font-weight: bold;
  letter-spacing: 2px;
}
.time_watch p {
  margin: 0;
  font-weight: bold;
}
.time_watch .watch {
  font-size: 2.6428571428571rem;
}
.work_wrap {
  margin: 1rem auto;
  justify-content: center;
  align-items: center;
}
.work_type {
  border: 2px solid #043C78;
  padding: 0 1.5rem;
  margin-left: 1rem!important;
  font-size: 2.1rem;
}
.staff_number input {
  width: 100%;
  font-size: 3.75rem;
  padding: 30px 10px;
  border: none;
  border-radius: 5px;
  margin-top: 1.5rem;
}
.time_recorder_table {
  text-align: left;
  margin: 1rem 0;
}

/*
出退勤管理
-------------------------------- */
/* 出退勤管理画面　サブヘッダー */

.attendance_sub_header_wrap {
  padding: 18px 0;
  justify-content: space-between;
  align-items: center;
  min-height: 80px
}
.left_div {
  display: flex;
  align-items: center;
}
.change_button_wrap {
  margin-left: 8px;
}
.change_a {
  width: 100%;
  border-radius: 5px;
  height: 30px;
  padding: 8px 28px;
  line-height: 1.1;
  border: none;
}
.staff_delete_a {
  display: block;
  height: 30px;
  padding: 8px 15px;
  line-height: 1.1;
  font-size: 0.875rem;
  border-radius: 5px;
  border: none;
}
.attendance_sub_header_button_wrap {
  width: 100%;
  height: 30px;
  padding: 8px 15px;
  line-height: 1.1;
  font-size: 0.875rem;
  border-radius: 5px;
  border: none;
}
/* 出退勤管理画面 コンテンツタイトル */
.attendance_select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 35px;
  position: relative;
  padding: 0 33px 0 16px;
  border: none;
  border-radius: 50px;
  font-size: 0.8125rem;
  cursor: pointer;
}
.attendance_head_p {
  margin: 0 auto;
  font-size: 18px;
  display: flex;
  align-items: center;
}
/* 出退勤管理画面テーブル */
.scroll_table {
  max-height: 573px;
  overflow-y: scroll;
}
.attendance_table {
  border-collapse: separate;
  border-spacing: 0;
}
.attendance_table thead tr th {
  text-align: center;
}
.attendance_table thead tr:first-child th {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 1;
  background-color: #e2e2e2;
  border-bottom: 1px #DDD solid;
  font-weight: bold;
}
.attendance_table_scroll_hidden {
  overflow: hidden;
}
.attendance_thead .attendance_tr_row1_bg {
  height: 75px;
}
.attendance_table thead tr:last-child th {
  position: sticky;
  position: -webkit-sticky;
  top: 75px;
  z-index: 2;
  background-color: #FFF;
  border-bottom: 4px #DDD double;
  width: 28px;
  padding-top: 11px !important;
}
.attendance_table td {
  height: 74px;
  text-align: center;
  border-bottom: 1px #DDD solid;
}
.attendance_table td a {
  color: #043C78;
  text-decoration: underline;
  font-weight: bold;
}
.scroll_table::-webkit-scrollbar {
  width: 3px;
}
.scroll_table::-webkit-scrollbar-track-piece {
  margin-top: 136px;
  padding-left: 15px;
  border-radius: 2px;
  background: #f2f2f2;
}
.scroll_table::-webkit-scrollbar-thumb {
  padding-left: 15px;
  border-radius: 2px;
  background: #043C78;
}
.attendances_edit .select {
  height: 50px;
  border-radius: 0;
  padding: 0 10px;
  background-color: #f4f4f4;
}
.attendances_edit input[type="date"],
.attendances_edit input[type="time"]  {
  width: 100%;
  height: 50px;
  border-radius: 0;
  padding: 0 10px;
  background-color: #f4f4f4;
}
.attendances_edit .storage_check_wrap{
  position: relative;
  display: inline-block;
}
.attendances_edit .storage_check_wrap input[type="checkbox"] {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: solid 2px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
}
.attendances_edit .storage_check_wrap input[type="checkbox"]:checked {
  border: solid 2px #043C78;
  background-color: #043C78;
}
.attendances_edit .storage_check_wrap::after {
  content: "\f00c";
  position: absolute;
  top: 3px;
  left: 3px;
  display: block;
  font-family: "Font Awesome 5 Free";
  color: #fff;
  z-index: 1;
  font-weight: 900;
}
.attendances_edit td,
.attendances_edit th {
  padding: 5px!important;
  height: 55px;
}
.attendances_edit tr {
  border-bottom: 1px solid #ddd;
}
.attendances_edit > p {
  position: relative;
  font-size: 1.25rem;
  font-weight: bold;
  padding-left: 10px;
}
.attendances_edit > p::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-left: 3px solid #000;
}
.total_table {
  border: 1px solid #ddd;
}
.total_table td {
  height: 40px!important;
}
.total_table th{
  height: 40px!important;
  text-align: center;
  width: 16.6666666667%;
}
.total_table thead {
  background-color: #e2e2e2;
  width: 100%;
}
.total_table td{
  text-align: center;
}
#attendances_add i {
  margin-right:5px;
}
#copy_add i {
  margin-right:5px;
}
#shift_copy .shift_copy_li {
    justify-content: center;
}
#shift_copy .popup_card span {
    margin-right:12px;
}
/* タイムレコーダー
---------------------------------- */
/* 出退勤管理画面　サブヘッダー */
.attendance_sub_header_wrap {
  padding: 18px 0;
  justify-content: space-between;
  align-items: center;
  min-height: 80px
}
/* 出退勤管理画面　コンテンツタイトル */
.attendance_select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 35px;
  position: relative;
  padding: 0 33px 0 16px;
  border: none;
  border-radius: 50px;
  font-size: 0.8125rem;
  cursor: pointer;
}
.attendance_head_p {
  margin: 0 auto;
}
/* 出退勤管理画面　テーブル */
.time_card_scroll_table {
  max-height: 390px;
  overflow-y: scroll;
}
.time_card_table {
  border-collapse: separate;
  border-spacing: 0;
}
.time_card_table .attendance_thead {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 1;
  background-color: #e2e2e2;
  border-bottom: 4px double #DDD;
  font-weight: bold;
}
.time_card_table thead tr:first-child th{
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 2;
  background-color: #e2e2e2;
  border-bottom: 1px #FFF solid;
  text-align: center;
  font-weight: bold;
  width: 100px;
}
.time_card_table thead tr:last-child th {
  position: sticky;
  position: -webkit-sticky;
  top: 40px;
  z-index: 3;
  background-color: #e2e2e2;
  text-align: center;
  border-bottom: 1px solid #ddd!important;
  font-weight: bold;
}
.time_card_table td {
  text-align: center;
  border-bottom: 1px solid #ddd;
}
.attendance_time_card_table td a {
  color: #043C78;
  text-decoration: underline;
  font-weight: bold;
}
.time_card_scroll_table::-webkit-scrollbar {
  width: 3px;
}
.time_card_scroll_table::-webkit-scrollbar-track-piece {
  margin-top: 81px;
  padding-left: 15px;
  border-radius: 2px;
  background: #f2f2f2;
}
.time_card_scroll_table::-webkit-scrollbar-thumb {
  padding-left: 15px;
  border-radius: 2px;
  background: #043C78;
}
.time_card_height {
  height: 80px !important;
}
.time_card_title {
  font-weight: bold;
  font-size: 18px;
  margin: 34px 0 9px 0;
}
.attendance_monthly_aggregate table th {
  background-color: #e2e2e2;
  border: 1px #E7E7E7 solid;
  font-weight: bold;
  font-size: 0.8rem;
  width: 86px;
  text-align: center;
  height: 40px !important;
}
.attendance_monthly_aggregate table td {
  background-color: #FFF;
  border: 1px #E7E7E7 solid;
  width: 86px;
  height: 40px;
  text-align: center;
}
.attendance_time_card_border_btm {
  border-bottom: 1px solid #DDD !important;
}
.time_card_scroll_table tbody {
  font-weight: normal !important;
}
.time_card_scroll_table tbody tr td {
  height: 40px;
}
/*
シフト設定
================================= */
.shift_setting_table table thead {
  border-bottom: double #ddd;
}
.shift_setting_table table thead th {
  text-align: center;
  font-weight: bold;
}
.shift_setting_table {
  overflow: hidden;
}
.shift_setting_table .table_wrap {
  max-height: 1000px;
  overflow-x: scroll;
  overflow-y: scroll;
}
.shift_setting_table table tbody tr td {
  border-bottom: medium solid #ddd;
  border-bottom-width: 1px;
  height: 95px;
}
.shift_setting_table table tbody tr td p {
  text-decoration: underline;
  margin: 0;
}
.shift_setting_table table tbody tr td span {
  text-decoration: underline;
  color: #DD7610;
  display: block;
  margin-bottom: .5rem;
}
.shift_setting_table table thead tr th {
  width: 10%
}
.shift_setting_table table {
  width: 100%;
  height: 100%;
  min-width: 750px;
  max-width: 1000px;
}
.shift_name,
.shift_setting_table .table_wrap .sticky {
  font-weight: bold;
  position: sticky;
  background-color: #fff;
  left: 0;
}
.shift_setting_table .table_wrap .add {
  color: #043C78;
  font-weight: bold;
}
.today {
  background-color: #043C78;
  color: #fff;
}
.shift_setting_table a:hover{
  opacity: 0.7;
}
.shifts_table .time_select_wrap {
  width: 12%;
}
.shifts_table .time_select_wrap .time_select {
  left: 0;
}
.shifts_table td {
  margin-bottom: 5px;
}
.shifts_table .storage_check_wrap {
  margin-left: .3rem;
}
.shifts_table .storage_check_wrap input {
  margin-right: .3rem;
}
.shifts_table tbody td:nth-child(2) {
  align-items: center;
  justify-content: center;
}
.shifts_table tbody td:nth-child(2) span {
  padding: 0 3px;
}
.shifts_table tbody td.work_row .while {
  padding: 0 32px;
}
.delete_check_wrap {
  position: relative;
  display: inline-block;
}
.delete_check_wrap input[type="checkbox"] {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: solid 2px #d8d8d8;
  background-color: #fff;
  vertical-align: top;
}
.delete_check_wrap::after {
  content: "\f00c";
  position: absolute;
  top: 3px;
  left: 3px;
  display: block;
  font-family: "Font Awesome 5 Free";
  color: #fff;
  z-index: 1;
  font-weight: 900;
}
.delete_check_wrap input[type="checkbox"]:checked {
  border: solid 2px #b54b48;
  background-color: #b54b48;
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes hide {
  0% {
    visibility: visible;
    opacity: 1;
  }
  99% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    visibility: hidden;
    opacity: 0;
  }
}
@media screen and (max-width: 768px) {
  .top_menu_text {
    margin: 0 0 0 25px;
  }
  .date_head_top span {
    margin: 0 10px;
  }
  .min_hide {
    display: none;
  }
}
svg > g:last-child > g:last-child {
  pointer-events: none;
}
div.google-visualization-tooltip {
  pointer-events: none;
}
.d_flex-block,
.d_flex-block *{
  visibility: visible;
}
.d_flex-none,
.d_flex-none *{
  margin: 0!important;
  visibility: hidden;
  height: 0;
}
