@charset "UTF-8";

* .loader {
  position: absolute;
  z-index: 9999;
  top: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  background-color: rgba(255, 255, 255, 0.7);
}

* .loader img {
  display: block;
  margin: auto;
  align-self: center;
  /* filter: invert(100%) sepia(100%) saturate(100%) hue-rotate(20deg) brightness(1.5) contrast(1.2); */
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #323333;
  margin: 0;
  -webkit-print-color-adjust: exact;
  /* 印刷時のカラー設定用 */
}

.pointer {
  cursor: pointer;
}

.sp_only {
  display: none !important;
}

img {
  width: 100%;
}

h1 {
  margin-block-start: 0;
  margin-block-end: 0;
}

h2 {
  margin-block-start: 0;
  margin-block-end: 0;
}

ul,
ol {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
  list-style: none;
}

ol {
  list-style-type: unset;
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  background-color: white;
  color: #323333 !important;
  /* -webkit-text-fill-color: #323333 !important; */
}

input {
  color: #323333 !important;
  /* -webkit-text-fill-color: #323333 !important; */
  background-color: white;
}

input[type="checkbox"],
input[type="radio"] {
  display: none;
}

input[type="number" i] {
  appearance: none;
  padding-block: 0;
  padding-inline: 0;
}

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

::placeholder {
  color: #ccc !important;
}

button {
  appearance: unset;
  text-rendering: unset;
  color: unset;
  background-color: unset;
  padding-block: 0;
  padding-inline: 0;
  border-width: 0;
  border: unset;
}

a {
  text-decoration: none;
}

p {
  margin-block-start: 0;
  margin-block-end: 0;
}

.select2-container .select2-selection--single {
  position: relative;
  height: 36px !important;
  padding-top: 2px !important;
  box-sizing: border-box;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 36px !important;
}

.select2-dropdown {
  z-index: 100051 !important;
}

/*--------------------------------------------------
**************************************************
ヘッダー
**************************************************
--------------------------------------------------*/
header {
  position: fixed;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  background: #ffffff;
  border-bottom: 1px solid #f19ec2;
  z-index: 100000;
}

header .header_wrap {
  display: flex;
  max-width: 1500px;
  width: calc(100% - 20px);
  height: 60px;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}

header .header_wrap .logo_wrap {
  position: absolute;
  width: 100px;
  top: -3px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

header .header_wrap #status_wrap {
  position: absolute;
  top: 5px;
  bottom: 0px;
  right: 5px;
  height: 50px;
  margin: auto 0;
}

header #status_cont {
  display: flex;
  align-items: flex-end;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.2em;
}

header #status_wrap #status_cont .user_cont {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

#status_cont .user_cont .icon {
  width: 15px;
  display: none;
}

#status_cont .user_cont .icon img {
  vertical-align: middle;
}

header #status_wrap #status_cont .user_cont .company_name {
  /* margin: 0 10px; */
}

header #status_wrap #status_cont .user_cont .logout_button {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  background: #acacac;
  border-radius: 10px;
  color: #ffffff;
  margin: 0 0 2px 0;
  box-sizing: border-box;
}

#menu {
  position: fixed;
  width: 100%;
  min-height: 100vh;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  background: #fcfaf0;
  padding: 80px 30px 20px 30px;
  z-index: 1;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  box-sizing: border-box;
}

#menu::-webkit-scrollbar {
  display: none;
}

#menu.is-open {
  opacity: 1;
  pointer-events: all;
  padding-top: 30px;
}

#menu .logo_wrap {
  width: 90px;
  margin: 20px auto 0 auto;
}

#menu #status_wrap #status_cont {
  flex-direction: row;
  justify-content: center;
  margin: 50px 0;
}

#menu .menu_cont_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 80px;
  padding: 20px;
}

#menu .menu_cont_wrap .menu_cont {
  margin-bottom: 20px;
}

#menu .menu_cont_wrap .menu_cont .menu_title {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

#menu .menu_cont_wrap .menu_cont .menu_title .menu_icon {
  width: 40px;
  margin-right: 10px;
}

#menu .menu_cont_wrap .menu_cont .menu_title .title {
  font-size: 22px;
  letter-spacing: 0.2em;
  color: #323333;
}

#menu .menu_cont_wrap .menu_cont .menu_wrap {
  width: 240px;
  min-height: 250px;
  height: auto;
  margin: 10px 10px;
  padding: 30px 10px;
  background: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 20px;
  box-sizing: border-box;
}

#menu .menu_cont_wrap .menu_cont .menu_wrap .menu_list {
  list-style: none;
  margin: 0 auto;
  text-align: center;
}

#menu .menu_cont_wrap .menu_cont .menu_wrap .menu_list li {
  position: relative;
}

.referral::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 0;
  left: 10px;
  bottom: 0;
  background: url(/imgs/common/introduction.svg) no-repeat;
  background-size: 100%;
}

.referral-zero::before {
  width: 0px !important;
}

#menu .menu_cont_wrap .menu_cont .menu_wrap .menu_list li:nth-child(odd) {
  background: #f4f2f2;
  border-radius: 10px;
}

#menu .menu_cont_wrap .menu_cont .menu_wrap .menu_list li a {
  position: relative;
  display: flex;
  height: 50px;
  font-size: 14px;
  color: #323333;
  letter-spacing: 0.2em;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  align-items: center;
  text-align: left;
  padding-left: 30px;
  box-sizing: border-box;
}

#menu .menu_cont_wrap .menu_cont .menu_wrap .menu_list li a::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 1px;
  top: 0;
  left: 10px;
  bottom: 0;
  background: #323333;
  margin: auto;
}

/* ハンバーガーアイコン */

.icon-animation {
  position: relative;
  display: block;
  width: 27px;
  height: 18px;
  cursor: pointer;
  z-index: 2;
}

.icon-animation span {
  position: absolute;
  display: block;
  width: 27px;
  height: 1px;
  top: 50%;
  background: #333333;
}

#hamburger_icon span {
  transition: all 0.2s;
  transform: rotate(0deg);
}

#hamburger_icon .top {
  top: 0;
}

#hamburger_icon .bottom {
  top: 100%;
}

.is-open #hamburger_icon .middle {
  background: rgba(255, 255, 255, 0);
}

.is-open #hamburger_icon .top {
  transform: rotate(-45deg);
  top: 50%;
}

.is-open #hamburger_icon .bottom {
  transform: rotate(45deg);
  top: 50%;
}

.is-open #hamburger_icon {
  position: absolute;
  display: block;
  bottom: 20px;
  text-align: center;
  margin: auto;
}

/*--------------------------------------------------
**************************************************
パンくず
**************************************************
--------------------------------------------------*/
nav {
  background: #fcf0f1;
}

nav .breadcrumb {
  display: flex;
  max-width: 1500px;
  padding-top: 70px;
  list-style: none;
  margin: 0 auto;
}

nav .breadcrumb li {
  position: relative;
  font-size: 12px;
  padding: 0 20px;
}

nav .breadcrumb li::before {
  position: absolute;
  content: "";
  width: 3px;
  height: 3px;
  top: 0;
  right: 0;
  bottom: 0;
  border-top: solid 1px #323333;
  border-right: solid 1px #323333;
  transform: rotate(45deg);
  margin: auto;
}

nav .breadcrumb li:last-child::before {
  display: none;
}

/*--------------------------------------------------
**************************************************
共通
**************************************************
--------------------------------------------------*/
#container {
  width: 100%;
  height: auto;
  min-height: calc(100vh - 140px);
  background: #fcf0f1;
  padding: 70px 0;
}

#dashboard {
  position: relative;
  max-width: 1500px;
  width: calc(100% - 40px);
  margin: 0px auto;
}

#dashboard h2 {
  font-size: 18px;
  letter-spacing: 0.2em;
}

.month_select {
  position: relative;
  width: 120px;
  height: 36px;
}

.month_select select {
  width: 100%;
  height: 100%;
  font-size: 16px;
  letter-spacing: 0.1em;
  font-weight: 400;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 5px;
  padding: 5px 20px 5px 5px;
}

.month_select::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  top: 15px;
  right: 10px;
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid #a9a59e;
  border-bottom: 0;
  margin: auto;
  pointer-events: none;
  z-index: 2;
}

form .required {
  font-size: 10px;
  background: #ff3b3b;
  padding: 3px 5px;
  color: #ffffff;
  margin-right: 10px;
}

form .r_note {
  font-size: 12px;
  color: #ff3b3b;
  margin-left: 10px;
}

#menu .master-btn {
  position: absolute;
  top: 80px;
  right: 20px;
}

#menu .master-btn button .icon-wrap {
  width: 25px;
  height: 20px;
}

#menu .master-btn button {
  display: flex;
  width: 120px;
  height: 30px;
  font-size: 12px;
  border: 1px solid #acacac;
  letter-spacing: 0.1em;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  border-radius: 10px;
  box-sizing: border-box;
}

#search .search_wrap .select2-container {
  width: 100% !important;
}

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

#search .search_conditions {
  display: flex;
  justify-content: center;
}

#search .search_conditions .conditions_wrap {
  display: flex;
  width: 150px;
  height: 30px;
  background: #f19ec2;
  font-size: 14px;
  letter-spacing: 0.2em;
  border-radius: 10px 10px 0 0;
  color: #ffffff;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

#search .search_conditions .conditions_wrap.active {
  border-radius: 10px;
}

#search .search_conditions .conditions_wrap .arrow {
  position: relative;
  display: inline-block;
  padding: 10px 0;
}

#search .search_conditions .conditions_wrap .arrow::before {
  content: "";
  width: 4px;
  height: 4px;
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  position: absolute;
  left: 10px;
  top: 8px;
  transform: rotate(135deg);
}

#search .search_conditions .conditions_wrap.active .arrow::before {
  transform: rotate(315deg);
}

#search .search_wrap {
  background: #ffffff;
  padding: 10px 20px 5px 20px;
  border-radius: 10px;
  box-sizing: border-box;
}

#search .search_wrap form {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#search .search_wrap form .search_cont_wrap {
  display: flex;
  width: calc(100% - 100px);
  flex-wrap: wrap;
}

#search .search_wrap form .search_cont_wrap .search_cont {
  min-width: 200px;
  width: calc((100% - 100px) / 2);
  margin: 0 20px 4px 0;
  box-sizing: border-box;
}

#search .search_wrap form .search_cont_wrap .search_cont:last-child {
  margin: 0 0 10px 0;
}

#search .search_wrap .search_cont input[type="text"],
#search .search_wrap .search_cont select {
  width: 100%;
  height: 36px;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 5px;
  padding: 5px 25px 5px 10px;
  box-sizing: border-box;
}

#search .search_wrap .search_cont.select label {
  position: relative;
  display: block;
}

#search .search_wrap .search_cont.select.year label::before,
#search .search_wrap .search_cont.select.month label::before,
#search .search_wrap .search_cont.select.weekly label::before,
#search .search_wrap .search_cont.select.select_mark label::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  top: 0px;
  right: 10px;
  bottom: 0;
  border-style: solid;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 6px solid #a9a59e;
  border-bottom: 0;
  margin: auto;
  pointer-events: none;
}

#search .search_wrap_display {
  background: #ffffff;
  padding: 10px 20px 5px 20px;
  border-radius: 10px;
  box-sizing: border-box;
}

#search .search_wrap_display form {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#search .search_wrap_display form .search_cont_wrap {
  display: flex;
  width: calc(100% - 100px);
  flex-wrap: wrap;
}

#search .search_wrap_display form .search_cont_wrap .search_cont {
  min-width: 200px;
  width: calc((100% - 100px) / 4);
  margin: 0 20px 4px 0;
  box-sizing: border-box;
}

#search .search_wrap_display form .search_cont_wrap .search_cont:last-child {
  margin: 0 0 10px 0;
}

#search .search_wrap_display .search_cont input[type="text"],
#search .search_wrap_display .search_cont select {
  width: 100%;
  height: 36px;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 5px;
  padding: 10px;
  box-sizing: border-box;
}

#search .search_wrap_display .search_cont.select label {
  position: relative;
}

/* #search .search_wrap_display .search_cont.select label::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    top: 0px;
    right: 10px;
    bottom: 0;
    border-style: solid;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 6px solid #a9a59e;
    border-bottom: 0;
    margin: auto;
    pointer-events: none;
} */

.search_btn button {
  position: relative;
  display: flex;
  width: 70px;
  height: 45px;
  background: #999793;
  border-radius: 5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: unset;
  font-size: 10px;
  color: #ffffff;
  letter-spacing: 0.2em;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-left: 20px;
  cursor: pointer;
  z-index: 1;
}

.search_btn .search_icon {
  width: 20px;
}

#search .search_wrap form .search_cont_wrap .search_cont.select.year,
#search .search_wrap form .search_cont_wrap .search_cont.select.month {
  max-width: 120px;
  min-width: unset;
}

#container.intro .search_wrap .search_cont_wrap,
#container.referrer_new #search .search_cont_wrap {
  flex-wrap: unset;
}

@media screen and (max-width: 840px) {
  #search .search_wrap form .search_cont_wrap,
  #container.introducer_new #search .search_cont_wrap {
    flex-wrap: wrap;
  }
}

.serch_result {
  max-width: 700px;
  margin: 50px auto 30px auto;
}

.serch_result h3 {
  font-size: 18px;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.2em;
}

.serch_result .table_area table {
  min-width: 700px;
}

#search .search_wrap form .search_cont_wrap .search_cont .title {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: #aaaaaa;
  letter-spacing: 0.1em;
}

#search .search_wrap_display form .search_cont_wrap .search_cont .title {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: #aaaaaa;
  letter-spacing: 0.1em;
}

#search .search_wrap form .search_cont_wrap .search_cont.onkara {
  width: calc((100% - 320px) / 2);
  min-width: 360px;
}

#search .search_wrap form .search_cont_wrap .search_cont.onkara .date_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

#search
  .search_wrap
  form
  .search_cont_wrap
  .search_cont.onkara
  .date_wrap
  input[type="date"] {
  width: 100%;
  height: 36px;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 5px;
  text-align: center;
}

#search
  .search_wrap
  form
  .search_cont_wrap
  .search_cont.onkara
  .date_wrap
  .kara,
#search
  .search_wrap
  form
  .search_cont_wrap
  .search_cont.onkara
  .date_wrap
  .text {
  font-size: 14px;
  margin: 0 10px;
}

#search
  .search_wrap
  form
  .search_cont_wrap
  .search_cont.onkara.short
  .date_wrap
  input[type="number"] {
  width: 80px;
  height: 36px;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 5px;
  text-align: center;
}

#search .search_wrap form .search_cont_wrap .search_cont.short.onkara {
  width: auto;
  min-width: 220px;
}

/*--------------------------------------------------
**************************************************
トップ
**************************************************
--------------------------------------------------*/

#container #menu {
  opacity: 1;
  pointer-events: all;
}

#container #menu .logo_wrap {
  width: 100px;
}

#container #menu #status_wrap {
}

#container #menu #status_wrap #status_cont {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin: 30px 0;
}

#container #menu #status_wrap #status_cont .user_cont {
  display: flex;
}

#container #menu #status_wrap #status_cont .user_cont .company_name {
  margin: 0 10px;
}

/*--------------------------------------------------
**************************************************
ポップアップ
**************************************************
--------------------------------------------------*/
#popup {
  position: fixed;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background: rgb(255 255 255 / 60%);
  margin: auto;
  pointer-events: none;
  z-index: 100000;
}

#popup.is-open {
  opacity: 1;
  pointer-events: all;
}

#popup .popup-inner {
  position: relative;
  display: flex;
  width: calc(100% - 40px);
  height: 100%;
  justify-content: center;
  align-items: center;
  margin: auto;
  z-index: 100000;
}

#popup .pop_content {
  position: absolute;
  max-width: 400px;
  height: auto;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #a9a59e;
  border-radius: 30px;
  padding: 40px 40px;
  opacity: 0;
  transition: opacity 0.3s;
  box-sizing: border-box;
  pointer-events: none;
  margin: 0 auto;
}

#popup .pop_content.is-open {
  pointer-events: auto;
  opacity: 1;
}

.pop_content {
  width: 100%;
  height: 100%;
}

.popup_wrap {
  height: 100%;
}

#popup button.close-button {
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  top: 20px;
  right: 50px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 20;
}

#popup button.close-button::before,
#popup button.close-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 30px;
  background: #323333;
}

#popup button.close-button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

#popup button.close-button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

#popup .popup_wrap .popup_cont {
  display: flex;
  width: 100%;
  height: auto;
  justify-content: center;
  margin: 30px 0 0 0;
  overflow: hidden;
}

#popup .popup_wrap .popup_cont .text_wrap {
  width: 100%;
  height: 100%;
}

#popup .popup_wrap .popup_cont .text_wrap .text_cont {
  display: flex;
  min-height: 100%;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 25px;
}

#popup .pop_content.certifica,
#popup .pop_content.certifica_comp {
  max-width: 600px;
  height: auto;
  margin: 0 auto;
  left: 0;
  right: 0;
}

#popup .pop_content.certifica .popup_wrap .popup_cont,
#popup .pop_content.certifica_comp .popup_wrap .popup_cont {
  flex-direction: column;
  align-items: center;
}

#popup .pop_content.certifica .popup_wrap .popup_cont .text_cont,
#popup .pop_content.certifica_comp .popup_wrap .popup_cont .text_cont {
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 30px;
  font-weight: 400;
  text-align: center;
  align-items: center;
  margin-bottom: 30px;
}

.pop_content.certifica_comp .company_name {
  display: inline-block;
  margin-right: 20px;
  letter-spacing: 0.2em;
}

.pop_content.certifica_comp .popup_wrap .popup_cont .text_cont .text {
  font-size: 18px;
  margin-top: 30px;
}

#popup .pop_content.certifica .popup_wrap .popup_cont .text_cont .name,
#popup .pop_content.certifica_comp .popup_wrap .popup_cont .text_cont .name {
  margin-top: 20px;
}

#popup
  .pop_content.certifica
  .popup_wrap
  .popup_cont
  .text_cont
  .name
  .nametitle,
#popup .pop_content.certifica_comp .popup_wrap .popup_cont .text_cont .name {
  display: inline-block;
  margin-right: 20px;
}

#popup .pop_content.certifica_comp .popup_wrap .popup_cont .text_cont .name {
  font-weight: bold;
  font-size: 30px;
  margin-right: 0;
}

#popup .pop_content .center_arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 23px solid transparent;
  border-left: 23px solid transparent;
  border-top: 23px solid #bbbbbb;
  border-bottom: 0;
  margin: 20px auto;
}

#popup .pop_content.reserve_new,
#popup .pop_content.reserve_change,
#popup .pop_content.reserve_cancel,
#popup .pop_content.reserve_add,
#popup .pop_content.reserve_newadd {
  max-height: unset;
  max-width: 500px;
  height: auto;
}

#popup .pop_content.reserve_new .popup_cont,
#popup .pop_content.reserve_change .popup_cont,
#popup .pop_content.reserve_cancel .popup_cont,
#popup .pop_content.reserve_add .popup_cont,
#popup .pop_content.reserve_newadd .popup_cont {
  flex-direction: column;
  align-items: center;
  margin-top: 10px;
}

#popup .pop_content.reserve_new .popup_cont .title,
#popup .pop_content.reserve_change .popup_cont .title,
#popup .pop_content.reserve_cancel .popup_cont .title,
#popup .pop_content.reserve_add .popup_cont .title,
#popup .pop_content.reserve_newadd .popup_cont .title {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-align: center;
  margin-bottom: 20px;
}

#popup .pop_content.reserve_new .popup_cont .text_cont,
#popup .pop_content.reserve_change .popup_cont .text_cont {
  margin-top: 20px;
}

#popup .pop_content.reserve_new .popup_cont .text_cont .title,
#popup .pop_content.reserve_change .popup_cont .text_cont .title {
  display: inline-block;
  width: 80px;
  font-size: 16px;
}

#popup .pop_content.reserve_new .popup_cont .text_cont .time,
#popup .pop_content.reserve_change .popup_cont .text_cont .time {
  display: inline-block;
  width: 100px;
  font-size: 16px;
  text-align: center;
}

#popup .pop_content.reserve_new .popup_cont .arrow,
#popup .pop_content.reserve_change .popup_cont .arrow {
  position: relative;
  width: 20px;
  height: 15px;
  background: #d9d9d9;
  margin: 10px auto;
}

#popup .pop_content.reserve_new .popup_cont .arrow::before,
#popup .pop_content.reserve_change .popup_cont .arrow::before {
  position: absolute;
  content: "";
  left: -15px;
  bottom: -10px;
  background: #d9d9d9;
  height: calc(tan(30deg) * 50px / 2);
  width: 50px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

#popup .pop_content.reserve_new .popup_cont .text_cont .time input[type="time"],
#popup
  .pop_content.reserve_change
  .popup_cont
  .text_cont
  .time
  input[type="time"] {
  width: 80px;
  height: 36px;
  background: #ffffff;
  border: 1px solid #acacac;
}

#popup .pop_content.reserve_new .popup_cont .check_wrap,
#popup .pop_content.reserve_change .popup_cont .check_wrap {
  margin: 20px 0;
}

#popup .pop_content.reserve_cancel .popup_cont .name,
#popup .pop_content.reserve_add .popup_cont .name,
#popup .pop_content.reserve_newadd .popup_cont .name {
  font-size: 26px;
  text-align: center;
}

#popup .pop_content.reserve_cancel .popup_cont .date_wrap,
#popup .pop_content.reserve_add .popup_cont .date_wrap,
#popup .pop_content.reserve_newadd .popup_cont .date_wrap {
  font-size: 22px;
  text-align: center;
  margin: 20px 0;
}

#popup .pop_content.reserve_cancel .popup_cont .date_wrap .date,
#popup .pop_content.reserve_add .popup_cont .date_wrap .date,
#popup .pop_content.reserve_newadd .popup_cont .date_wrap .date {
  display: block;
}

#popup .pop_content.reserve_cancel .popup_cont .note,
#popup .pop_content.reserve_add .popup_cont .note,
#popup .pop_content.reserve_newadd .popup_cont .note {
  text-align: center;
  margin-bottom: 20px;
}

#popup .pop_content.reserve_new .btn_area,
#popup .pop_content.reserve_change .btn_area,
#popup .pop_content.reserve_cancel .btn_area,
#popup .pop_content.reserve_add .btn_area,
#popup .pop_content.reserve_newadd .btn_area {
  justify-content: center;
}

#popup .popup_wrap .popup_cont .note .note_title {
  display: block;
  text-align: center;
  font-size: 18px;
  line-height: 30px;
}

#popup .popup_wrap .popup_cont .note .red_text {
  color: #ff0000;
}

/*--------------------------------------------------
**************************************************
テーブル
**************************************************
--------------------------------------------------*/

.container_content {
  position: relative;
}

.container_content .top_area {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}

.container_content .top_area .area_l {
  display: flex;
}

.container_content .top_area .dis_results {
  display: flex;
  align-items: center;
}

.container_content .top_area .dis_results .select_wrap {
  position: relative;
  width: 70px;
  height: 30px;
}

.container_content .top_area .dis_results .select_wrap select {
  width: 100%;
  height: 100%;
  font-size: 16px;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 5px;
  padding: 5px 25px 5px 5px;
  text-align: center;
  box-sizing: border-box;
}

.container_content .top_area .dis_results .select_wrap::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  top: 12px;
  right: 6px;
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid #a9a59e;
  border-bottom: 0;
  margin: auto;
  pointer-events: none;
}

.container_content .top_area .dis_results .text {
  font-size: 10px;
  letter-spacing: 0;
  font-weight: bold;
  margin-left: 10px;
}

.container_content .top_area .explain {
  display: flex;
  align-items: center;
  margin-left: 50px;
}

.container_content .top_area .explain .explain_cont {
  position: relative;
  display: inline-block;
  padding-left: 25px;
  font-size: 10px;
  font-weight: bold;
  margin-right: 20px;
}

.container_content .top_area .explain .explain_cont.red {
  color: #e61f19;
}

.container_content .top_area .explain .explain_cont.blue {
  color: #3390b5;
}

.container_content .top_area .explain .explain_cont::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 13px;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

.container_content .top_area .explain .explain_cont.red::before {
  background: #e61f19;
}

.container_content .top_area .explain .explain_cont.blue::before {
  background: #3390b5;
}

.container_content .page {
  position: relative;
  display: flex;
  align-items: center;
  color: #333333;
  padding: 0 20px;
  box-sizing: border-box;
}

.container_content .page .arrow_btn button.page_left {
  position: absolute;
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  bottom: 0;
  border-style: solid;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 9px solid #999793;
  border-left: 0;
  margin: auto;
  cursor: pointer;
}

.container_content .page .arrow_btn button.page_right {
  position: absolute;
  width: 0;
  height: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border-style: solid;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 9px solid #999793;
  border-right: 0;
  margin: auto;
  cursor: pointer;
}

.container_content .page .tiny {
  font-size: 10px;
  font-weight: bold;
}

.container_content .page .all,
.container_content .page .page_nav .text {
  font-size: 16px;
}

.container_content .page .page_nav {
  display: flex;
  align-items: center;
  margin-left: 10px;
}

.container_content .page .page_nav .page_num {
  margin: 0 5px;
}

.container_content .page .page_nav .page_num input[type="number"] {
  width: 80px;
  height: 30px;
  font-size: 16px;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 5px;
  text-align: center;
  box-sizing: border-box;
}

.container_content .las_pagenav {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}

.table_area {
  overflow-x: auto;
  margin: 10px 0;
  /* scrollbar-width: none; */
}

.table_area::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.table_area::-webkit-scrollbar-track {
  background: #ffe6ea;
}

.table_area::-webkit-scrollbar-thumb {
  background: #f19ec2;
  border-radius: 2px;
}

.table_area table {
  width: 100%;
  background: #ffffff;
  border: 2px solid #ffffff;
  border-collapse: collapse;
}

.table_area.half table {
  width: 50%;
}

.detailed_wrap .area .table_area table {
  min-width: unset;
}

.table_area table thead tr {
  background: #f19ec2;
}

.table_area table thead tr.darkpink {
  background: #e58fc0;
}

.table_area table.blue thead tr {
  background: #76c9f2;
}

.table_area table thead tr.darkblue {
  background: #41ade2;
}

.table_area table th {
  position: relative;
  width: 180px;
  min-width: 100px;
  font-size: 10px;
  font-weight: 400;
  color: #ffffff;
  padding: 5px 0;
}

.table_area table th.sales_active {
  min-width: 140px;
}

.table_area table tr.th-lh-12 th {
  line-height: 12px;
}

.table_area table th::before {
  position: absolute;
  content: "";
  height: calc(100% - 10px);
  top: 0;
  right: 0;
  bottom: 0;
  border-right: 1px dashed #ffffff;
  margin: auto;
}

.table_area table th:last-child:before {
  border-right: unset;
}

.table_area table tr.t_red,
.table_area table tr.t_red a {
  color: #e61f19;
}

.table_area table tr.t_blue,
.table_area table tr.t_blue a {
  color: #3390b5;
}

.table_area table td::before {
  position: absolute;
  content: "";
  height: calc(100% - 10px);
  top: 0;
  right: 0;
  bottom: 0;
  border-right: 1px dashed #acacac;
  margin: auto;
}

.table_area table td:last-child:before {
  border-right: unset;
}

.table_area table th.narrow {
  width: 100px;
}

.table_area table th.narrowest {
  width: 60px;
  min-width: 60px;
}

.table_area table th.wide {
  width: 150px;
  min-width: 150px;
  height: 26px;
}

.table_area table th.long {
  width: 250px;
  min-width: 250px;
}

.table_area table th.center {
  text-align: center !important;
}

.table_area table tbody td.money {
  text-align: right;
}

.table_area table tbody {
  font-size: 14px;
  text-align: center;
}

.table_area table tbody tr {
  height: 40px;
}

.table_area table th .arrow_wrap {
  position: absolute;
  display: flex;
  top: 0;
  right: 5px;
  bottom: 0;
  flex-direction: column;
  justify-content: center;
}

.table_area table th .arrow_wrap button.up {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-bottom: 7px solid #ffffff;
  border-top: 0;
  margin-bottom: 3px;
  cursor: pointer;
}

.table_area table th .arrow_wrap button.down {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 7px solid #ffffff;
  border-bottom: 0;
  cursor: pointer;
}

.table_area table tbody tr:nth-child(even) {
  background: #f4f2f2;
}

.table_area table tbody .name {
  text-align: left;
}

.table_area table tbody td {
  white-space: nowrap;
  position: relative;
  padding: 10px 10px;
  box-sizing: border-box;
}

.table_area table tbody td a {
  display: block;
  color: #323333;
  text-decoration: none;
  cursor: pointer;
}

.info_table {
  margin: 20px 0;
}

.info_table table {
  width: 100%;
  background: #ffffff;
  border-radius: 10px;
}

.info_table table td {
  position: relative;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  border-bottom: 1px dashed #acacac;
  border-right: 1px dashed #acacac;
}

.info_table table td:last-child {
  border-right: unset;
}

.info_table table tr:last-child td {
  border-bottom: unset;
}

.info_table table td .title {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: #aaaaaa;
  letter-spacing: 0.1em;
}

.info_table table td .text {
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 400;
}

.info_table table.t_three td {
  width: calc(100% / 3);
}

.info_table table.t_two td {
  width: calc(100% / 2);
}

.table_area.tabin thead tr {
  background: #999793;
}

.table_area.tabin tbody td .d_state,
.table_area.tabin tbody .reservation td .y_state,
.table_area.tabin tbody .d_cancel td .c_state {
  display: block;
  width: 75px;
  height: 30px;
  line-height: 30px;
  font-size: 14px;
  color: #ffffff;
  margin: 0 auto;
}

.table_area.tabin tbody td .y_state {
  background: #6a9cd3;
}

.table_area.tabin tbody td .d_state {
  background: #6d6d6d;
}

.table_area.tabin tbody td .c_state {
  background: #ce7272;
}

.table_area.tabin tbody td .y_state,
.table_area.tabin tbody td .c_state,
.table_area.tabin tbody .reservation td .d_state,
.table_area.tabin tbody .reservation td .c_state,
.table_area.tabin tbody .d_cancel td .y_state,
.table_area.tabin tbody .d_cancel td .d_state,
.table_area.tabin tbody td button.cancel_btn {
  display: none;
}

.table_area.tabin tbody .c_display td button.cancel_btn {
  display: block;
}

.table_area.tabin tr:nth-child(even) {
  background: unset;
}

.table_area.tabin tbody tr {
  background: #e5e5e5 !important;
  border-top: 5px solid #ffffff;
}

.table_area.tabin tbody .reservation {
  background: #daedf2 !important;
}

.table_area.tabin tbody .d_cancel {
  background: #f9e4e4 !important;
}

.table_area table td button.calte_btn {
  width: 30px;
  cursor: pointer;
}

.table_area.pay td,
.table_area.introduce td {
  height: 35px;
}

.table_area table button.edit {
  width: 20px;
}

.table_area table .certification a {
  width: 50px;
  height: 20px;
  color: #ffffff;
  background: orange;
  border-radius: 5px;
}

.table_area button.fix {
  width: 80px;
  height: 30px;
  background: #369acc;
  color: #ffffff;
  border-radius: 5px;
}

/*--------------------------------------------------
**************************************************
ボタン
**************************************************
--------------------------------------------------*/

#dashboard .back_btn {
  width: 100px;
}

#dashboard .back_btn .back_button {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  text-decoration: none;
  cursor: pointer;
}

button {
  cursor: pointer;
  transition: opcity 0.3s;
}

button:hover {
  opacity: 0.8;
}

button.edit {
  width: 50px;
}

button.cancel_btn {
  position: relative;
  width: 120px;
  height: 32px;
  background: #6a9cd3;
  border-radius: 5px;
  font-size: 14px;
  letter-spacing: 0.2em;
  color: #ffffff;
  padding-left: 20px;
  box-sizing: border-box;
}

button.cancel_btn::before,
button.cancel_btn::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 15px;
  top: 15px;
  left: 15px;
  bottom: 0;
  background: #ffffff;
}

button.cancel_btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

button.cancel_btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

button.detail {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
}

button.detail::before {
  position: absolute;
  content: "";
  width: 30px;
  height: 60px;
  top: 0;
  right: 0;
  bottom: 0;
  border-radius: 100% 0 0 100% / 50%;
  background: #f995b5;
  margin: auto;
  z-index: -1;
}

button.detail .icon_wrap {
  width: 20px;
}

button.detail .text {
  font-size: 10px;
  line-height: 10px;
  color: #ffffff;
}

.btn_area {
  display: flex;
  justify-content: flex-end;
}

.btn_area button.cancel {
  margin-right: 20px;
}

.btn_area button.delete {
  margin-right: 20px;
}

button.cancel {
  display: flex;
  width: 110px;
  height: 50px;
  background: #444444;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
}

button.update1 {
  display: flex;
  width: 170px;
  height: 50px;
  background: #3eabe2;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
}

button.cancel .btn_icon {
  width: 25px;
  margin-right: 5px;
}

button.cancel .text,
button.delete .text,
button.update .text,
button.cnl_sched .text,
button.update1 .text {
  font-size: 16px;
  letter-spacing: 0.2em;
  color: #ffffff;
}

button.update {
  display: flex;
  width: 110px;
  height: 50px;
  background: #369acc;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
}

button.cnl_sched {
  display: flex;
  width: 110px;
  height: 50px;
  background: #2daa99;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  margin-right: 20px;
}

button.update .btn_icon {
  width: 25px;
  margin-right: 5px;
}

button.nextpage {
  display: flex;
  width: 200px;
  height: 50px;
  font-size: 15px;
  background: #369acc;
  color: #ffffff;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
}

button.l_next {
  display: flex;
  width: 180px;
  height: 50px;
  color: #ffffff;
  font-size: 14px;
  line-height: 20px;
  background: #369acc;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
}

button.return {
  display: flex;
  width: 170px;
  height: 50px;
  font-size: 16px;
  color: #ffffff;
  background: #999793;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  margin: 0 20px 0 0;
}

.button_area.new {
  display: flex;
  justify-content: flex-end;
}

button.new_btn {
  width: 130px;
  height: 30px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.1em;
  background: #999793;
  border-radius: 10px;
  transition: 0.3s;
}

.request,
.return {
  display: flex;
  justify-content: center;
  margin: 30px 0 20px 0;
  pointer-events: all;
}

button.request_btn {
  width: 200px;
  height: 50px;
  font-size: 18px;
  letter-spacing: 0.2em;
  background: #369acc;
  color: #ffffff;
  border-radius: 10px;
}

button.attendance {
  position: relative;
  display: flex;
  width: 180px;
  height: 50px;
  color: #ffffff;
  font-size: 14px;
  line-height: 20px;
  background: #f19ec2;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  margin: 0 20px 0 0;
}

button.incentive {
  position: relative;
  display: flex;
  width: 180px;
  height: 50px;
  font-size: 14px;
  color: #ffffff;
  background: #369acc;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
}

button.attendance .arrow,
button.incentive .arrow {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 0;
  right: 10px;
  bottom: 0;
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  transform: rotate(45deg);
  margin: auto;
}

/*--------------------------------------------------
**************************************************
チェックボックス
**************************************************
--------------------------------------------------*/
.status_select .status_list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}

.status_select .status_list li {
  position: relative;
}

.status_select .status_list li .notification_num {
  display: none;
}

.status_select .status_list li.notification .notification_num {
  position: absolute;
  display: block;
  width: 21px;
  height: 21px;
  top: -10px;
  left: -3px;
  background: #ff3333;
  border-radius: 50%;
  font-size: 14px;
  text-align: center;
  color: #ffffff;
}

.status_select .status_list li label .text {
  display: inline-block;
  height: 30px;
  line-height: 30px;
  background: #ffffff;
  border-radius: 5px;
  color: #323333;
  border: 1px dotted #989898;
  font-size: 14px;
  letter-spacing: 0.1em;
  padding: 0 10px;
  margin: 0 7px 0 0;
  cursor: pointer;
}

.status_select .status_list li label input:checked + .text {
  color: #ffffff;
  background: #999793;
}

.container_content .reduce_item {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.reduce_item label {
  position: relative;
  width: 30px;
  height: 30px;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 10px;
  margin-right: 10px;
  cursor: pointer;
}

.reduce_item label::before {
  position: absolute;
  content: "";
  width: 33px;
  height: 30px;
  top: 5px;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background: url(/imgs/common/o_check.svg) no-repeat;
  background-size: 100%;
}

.reduce_item input:checked + label::before {
  opacity: 1;
}

.container_content .reduce_item .text {
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: bold;
}

.check_area {
  display: flex;
}

.check_area .reserve_item {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-right: 30px;
}

.check_area .reserve_item label {
  position: relative;
  width: 30px;
  height: 30px;
  background: #ffffff;
  border-radius: 10px;
  margin-right: 10px;
  cursor: pointer;
}

.check_area .reserve_item label::before {
  position: absolute;
  content: "";
  width: 33px;
  height: 30px;
  top: 5px;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
}

.check_area .reserve_item input:checked + label::before {
  opacity: 1;
}

.check_area .reserve_item.pledge label {
  border: 1px solid #6a9cd3;
}

.check_area .reserve_item.visit label {
  border: 1px solid #6d6d6d;
}

.check_area .reserve_item.cancel label {
  border: 1px solid #ce7272;
}

.check_area .reserve_item.pledge label::before {
  background: url(/imgs/common/b_check.svg) no-repeat;
  background-size: 100%;
}

.check_area .reserve_item.visit label::before {
  background: url(/imgs/common/g_check.svg) no-repeat;
  background-size: 100%;
}

.check_area .reserve_item.cancel label::before {
  background: url(/imgs/common/p_check.svg) no-repeat;
  background-size: 100%;
}

.check_area .reserve_item .text {
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: bold;
}

.check_wrap label {
  position: relative;
  cursor: pointer;
  padding-left: 40px;
  margin-right: 20px;
}

.check_wrap label::before,
.check_wrap label::after {
  position: absolute;
  content: "";
  display: block;
  border-radius: 50%;
  transform: translateY(-50%);
  top: 50%;
}

.check_wrap label::before {
  width: 25px;
  height: 25px;
  left: 5px;
  background: #fff;
  border: 1px solid #cccccc;
  border-radius: 50%;
}

.check_wrap label::after {
  width: 18px;
  height: 18px;
  left: 10px;
  background: #444444;
  border-radius: 50%;
  opacity: 0;
}

.check_wrap input:checked + label::after {
  opacity: 1;
}

.select_wrap {
  position: relative;
  width: 120px;
  height: 36px;
}

.select_wrap label {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.select_wrap select {
  width: 100%;
  height: 100%;
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 400;
  background: #ffffff;
  border: 1px solid #a09d9a;
  border-radius: 5px;
  padding: 5px 20px 5px 5px;
}

.select_wrap label::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  top: 0px;
  right: 10px;
  bottom: 0;
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid #a9a59e;
  border-bottom: 0;
  margin: auto;
  pointer-events: none;
}

.popdata.disabled a {
  background: #656565 !important;
  visibility: hidden;
}

@media screen and (max-width: 890px) {
}

.questionnaire_wrap
  .questionnaire_cont
  .check_wrap.length
  .preface-list
  li
  div.dataset-cont {
  width: 100%;
}

.questionnaire_wrap
  .questionnaire_cont
  .check_wrap.length
  .preface-list
  li
  div.dataset {
  position: relative;
  display: none;
}

.questionnaire_wrap
  .questionnaire_cont
  .check_wrap.length
  .preface-list
  li
  div.container-set {
  position: absolute;
  background: #ffe5b6;
  width: 100%;
  border: 0.5px solid grey;
  border-radius: 5px;
}

.questionnaire_wrap
  .questionnaire_cont
  .check_wrap.length
  .preface-list
  li
  div.container-set
  .option:hover {
  background: #d0bb94;
  width: 100%;
}

.questionnaire_wrap
  .questionnaire_cont
  .check_wrap.length
  .preface-list
  li
  label.error::before {
  display: none;
}

/*--------------------------------------------------
**************************************************
カレンダー
**************************************************
--------------------------------------------------*/
input[type="date"] {
  font-family: "Noto Sans JP", sans-serif !important;
}

input[type="date"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

input[type="date"]::-webkit-clear-button {
  -webkit-appearance: none;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  /* position: absolute;   width: 100%;  height: 100%; */
  /* color: rgba(0, 0, 0, 0);
    opacity: 1;
    display: block;
    background: url("../imgs/common/calender_icon.svg") no-repeat;
    width: 20px;
    height: 20px;
    padding-right: 8px;
    border-width: thin;
    cursor: pointer; */
}

.search_cont.date {
  position: relative;
  display: inline-block;
  min-width: unset !important;
  max-width: 150px !important;
  width: 100% !important;
  height: 36px;
  margin: 0 10px !important;
  border-radius: 6px;
  border: 1px solid #acacac;
  background: #ffffff;
}

.search_cont.date input[type="date"] {
  position: relative;
  width: 100% !important;
  height: 100%;
  font-size: 18px;
  border-radius: 6px;
  border: none !important;
  background: none !important;
  padding: 0 40px 0 5px;
  appearance: none !important;
  -webkit-appearance: none;
  -moz-appearance: textfield;
  box-sizing: border-box;
  cursor: pointer;
}

.search_cont.date input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 40px;
  right: -10px;
  opacity: 0 !important;
}

.search_cont.date::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url("/imgs/common/calender_icon.svg") no-repeat center;
  background-size: contain;
  pointer-events: none;
}

@supports (-webkit-touch-callout: none) {
  .search_cont.date input[type="date"] {
    appearance: auto !important;
  }
}

#container.custom.information .search_cont.date,
#container.custom.edit .search_cont.date,
.questionnaire_wrap .questionnaire_cont .search_cont.date,
#container.staff.information .search_cont.date,
#container.staff.edit .search_cont.date,
#container.master.edit .search_cont.date {
  height: 50px;
}

.table_area.th-fix-with-header,
.table_area.th-fix {
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  border-top: 3px solid #ffffff;
}

.table_area.th-fix-with-header table,
.table_area.th-fix table {
  margin-top: -2px;
}

.table_area.th-fix-with-header thead,
.table_area.th-fix thead {
  position: sticky;
  top: -2px;
  z-index: 1000;
  background: #ffffff;
  border-top: 2px solid #ffffff;
  margin-top: 2px;
}

.table_area.th-fix {
  max-height: calc(100vh - 200px);
}

.container_content.miss .table_area.th-fix-with-header {
  max-width: 700px;
  width: 100%;
}
