@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  height: 100%;
  overflow: hidden;
}

:root {
  --header-h: 65px;
  --lm-w: 95px;
  --lm2-w: 150px;
}

body {
  color: #222;
  height: 100%;
  overflow: hidden !important;
}

button.label, button.a, button.label-contnt, button.label-text, button.btn-text {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  border: 1px solid transparent;
}
button.a, button.label-contnt {
  color: #e68b00;
}
button.a.color-8c8c8c, button.a.disabled, button.label-contnt.color-8c8c8c, button.label-contnt.disabled {
  color: #8c8c8c;
}
button.underline {
  text-decoration: underline;
}
button.underline-black {
  text-decoration: underline;
  text-decoration-color: #000;
}
button.click:hover {
  -webkit-transform: translate3d(0, 2px, 0);
          transform: translate3d(0, 2px, 0);
  -webkit-box-shadow: none;
          box-shadow: none;
}
button.opt-toggle {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: block;
  width: 100%;
  height: 34px;
  min-width: 54px;
  margin: 16px 0 16px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 14px;
  color: #157efb;
  text-align: center;
  white-space: nowrap;
  line-height: 20px;
  text-decoration: none;
  border-radius: 2px;
}
button.text {
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}

input[type=radio].readonly {
  pointer-events: none;
  opacity: 0.5;
}

a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #ff9a00;
}

img {
  max-width: 100%;
}

.m-top-0 {
  margin-top: 0px;
}

.m-right-0 {
  margin-right: 0px;
}

.m-left-0 {
  margin-left: 0px;
}

.m-btm-0 {
  margin-bottom: 0px;
}

.m-top-5 {
  margin-top: 5px;
}

.m-right-5 {
  margin-right: 5px;
}

.m-left-5 {
  margin-left: 5px;
}

.m-btm-5 {
  margin-bottom: 5px;
}

.m-top-10 {
  margin-top: 10px;
}

.m-right-10 {
  margin-right: 10px;
}

.m-left-10 {
  margin-left: 10px;
}

.m-btm-10 {
  margin-bottom: 10px;
}

.m-top-20 {
  margin-top: 20px;
}

.m-right-20 {
  margin-right: 20px;
}

.m-left-20 {
  margin-left: 20px;
}

.m-btm-20 {
  margin-bottom: 20px;
}

.m-top-40 {
  margin-top: 40px;
}

.m-right-40 {
  margin-right: 40px;
}

.m-left-40 {
  margin-left: 40px;
}

.m-btm-40 {
  margin-bottom: 40px;
}

.m-0 {
  margin: 0px;
}

.m-y-0 {
  margin: 0px 0;
}

.m-x-0 {
  margin: 0 0px;
}

.m-5 {
  margin: 5px;
}

.m-y-5 {
  margin: 5px 0;
}

.m-x-5 {
  margin: 0 5px;
}

.m-10 {
  margin: 10px;
}

.m-y-10 {
  margin: 10px 0;
}

.m-x-10 {
  margin: 0 10px;
}

.m-20 {
  margin: 20px;
}

.m-y-20 {
  margin: 20px 0;
}

.m-x-20 {
  margin: 0 20px;
}

.m-40 {
  margin: 40px;
}

.m-y-40 {
  margin: 40px 0;
}

.m-x-40 {
  margin: 0 40px;
}

.m-0-0 {
  margin: 0px 0px;
}

.m-0-5 {
  margin: 0px 5px;
}

.m-0-10 {
  margin: 0px 10px;
}

.m-0-20 {
  margin: 0px 20px;
}

.m-0-40 {
  margin: 0px 40px;
}

.m-5-0 {
  margin: 5px 0px;
}

.m-5-5 {
  margin: 5px 5px;
}

.m-5-10 {
  margin: 5px 10px;
}

.m-5-20 {
  margin: 5px 20px;
}

.m-5-40 {
  margin: 5px 40px;
}

.m-10-0 {
  margin: 10px 0px;
}

.m-10-5 {
  margin: 10px 5px;
}

.m-10-10 {
  margin: 10px 10px;
}

.m-10-20 {
  margin: 10px 20px;
}

.m-10-40 {
  margin: 10px 40px;
}

.m-20-0 {
  margin: 20px 0px;
}

.m-20-5 {
  margin: 20px 5px;
}

.m-20-10 {
  margin: 20px 10px;
}

.m-20-20 {
  margin: 20px 20px;
}

.m-20-40 {
  margin: 20px 40px;
}

.m-40-0 {
  margin: 40px 0px;
}

.m-40-5 {
  margin: 40px 5px;
}

.m-40-10 {
  margin: 40px 10px;
}

.m-40-20 {
  margin: 40px 20px;
}

.m-40-40 {
  margin: 40px 40px;
}

.pd-top-0 {
  padding-top: 0px;
}

.pd-right-0 {
  padding-right: 0px;
}

.pd-left-0 {
  padding-left: 0px;
}

.pd-btm-0 {
  padding-bottom: 0px;
}

.pd-top-1 {
  padding-top: 1px;
}

.pd-right-1 {
  padding-right: 1px;
}

.pd-left-1 {
  padding-left: 1px;
}

.pd-btm-1 {
  padding-bottom: 1px;
}

.pd-top-3 {
  padding-top: 3px;
}

.pd-right-3 {
  padding-right: 3px;
}

.pd-left-3 {
  padding-left: 3px;
}

.pd-btm-3 {
  padding-bottom: 3px;
}

.pd-top-5 {
  padding-top: 5px;
}

.pd-right-5 {
  padding-right: 5px;
}

.pd-left-5 {
  padding-left: 5px;
}

.pd-btm-5 {
  padding-bottom: 5px;
}

.pd-top-10 {
  padding-top: 10px;
}

.pd-right-10 {
  padding-right: 10px;
}

.pd-left-10 {
  padding-left: 10px;
}

.pd-btm-10 {
  padding-bottom: 10px;
}

.pd-top-15 {
  padding-top: 15px;
}

.pd-right-15 {
  padding-right: 15px;
}

.pd-left-15 {
  padding-left: 15px;
}

.pd-btm-15 {
  padding-bottom: 15px;
}

.pd-top-20 {
  padding-top: 20px;
}

.pd-right-20 {
  padding-right: 20px;
}

.pd-left-20 {
  padding-left: 20px;
}

.pd-btm-20 {
  padding-bottom: 20px;
}

.pd-top-30 {
  padding-top: 30px;
}

.pd-right-30 {
  padding-right: 30px;
}

.pd-left-30 {
  padding-left: 30px;
}

.pd-btm-30 {
  padding-bottom: 30px;
}

.pd-top-40 {
  padding-top: 40px;
}

.pd-right-40 {
  padding-right: 40px;
}

.pd-left-40 {
  padding-left: 40px;
}

.pd-btm-40 {
  padding-bottom: 40px;
}

.pd-top-50 {
  padding-top: 50px;
}

.pd-right-50 {
  padding-right: 50px;
}

.pd-left-50 {
  padding-left: 50px;
}

.pd-btm-50 {
  padding-bottom: 50px;
}

.pd-0 {
  padding: 0px;
}

.pd-y-0 {
  padding: 0px 0;
}

.pd-x-0 {
  padding: 0 0px;
}

.pd-1 {
  padding: 1px;
}

.pd-y-1 {
  padding: 1px 0;
}

.pd-x-1 {
  padding: 0 1px;
}

.pd-3 {
  padding: 3px;
}

.pd-y-3 {
  padding: 3px 0;
}

.pd-x-3 {
  padding: 0 3px;
}

.pd-5 {
  padding: 5px;
}

.pd-y-5 {
  padding: 5px 0;
}

.pd-x-5 {
  padding: 0 5px;
}

.pd-10 {
  padding: 10px;
}

.pd-y-10 {
  padding: 10px 0;
}

.pd-x-10 {
  padding: 0 10px;
}

.pd-15 {
  padding: 15px;
}

.pd-y-15 {
  padding: 15px 0;
}

.pd-x-15 {
  padding: 0 15px;
}

.pd-20 {
  padding: 20px;
}

.pd-y-20 {
  padding: 20px 0;
}

.pd-x-20 {
  padding: 0 20px;
}

.pd-30 {
  padding: 30px;
}

.pd-y-30 {
  padding: 30px 0;
}

.pd-x-30 {
  padding: 0 30px;
}

.pd-40 {
  padding: 40px;
}

.pd-y-40 {
  padding: 40px 0;
}

.pd-x-40 {
  padding: 0 40px;
}

.pd-50 {
  padding: 50px;
}

.pd-y-50 {
  padding: 50px 0;
}

.pd-x-50 {
  padding: 0 50px;
}

.pd-0-0 {
  padding: 0px 0px;
}

.pd-0-1 {
  padding: 0px 1px;
}

.pd-0-3 {
  padding: 0px 3px;
}

.pd-0-5 {
  padding: 0px 5px;
}

.pd-0-10 {
  padding: 0px 10px;
}

.pd-0-15 {
  padding: 0px 15px;
}

.pd-0-20 {
  padding: 0px 20px;
}

.pd-0-30 {
  padding: 0px 30px;
}

.pd-0-40 {
  padding: 0px 40px;
}

.pd-0-50 {
  padding: 0px 50px;
}

.pd-1-0 {
  padding: 1px 0px;
}

.pd-1-1 {
  padding: 1px 1px;
}

.pd-1-3 {
  padding: 1px 3px;
}

.pd-1-5 {
  padding: 1px 5px;
}

.pd-1-10 {
  padding: 1px 10px;
}

.pd-1-15 {
  padding: 1px 15px;
}

.pd-1-20 {
  padding: 1px 20px;
}

.pd-1-30 {
  padding: 1px 30px;
}

.pd-1-40 {
  padding: 1px 40px;
}

.pd-1-50 {
  padding: 1px 50px;
}

.pd-3-0 {
  padding: 3px 0px;
}

.pd-3-1 {
  padding: 3px 1px;
}

.pd-3-3 {
  padding: 3px 3px;
}

.pd-3-5 {
  padding: 3px 5px;
}

.pd-3-10 {
  padding: 3px 10px;
}

.pd-3-15 {
  padding: 3px 15px;
}

.pd-3-20 {
  padding: 3px 20px;
}

.pd-3-30 {
  padding: 3px 30px;
}

.pd-3-40 {
  padding: 3px 40px;
}

.pd-3-50 {
  padding: 3px 50px;
}

.pd-5-0 {
  padding: 5px 0px;
}

.pd-5-1 {
  padding: 5px 1px;
}

.pd-5-3 {
  padding: 5px 3px;
}

.pd-5-5 {
  padding: 5px 5px;
}

.pd-5-10 {
  padding: 5px 10px;
}

.pd-5-15 {
  padding: 5px 15px;
}

.pd-5-20 {
  padding: 5px 20px;
}

.pd-5-30 {
  padding: 5px 30px;
}

.pd-5-40 {
  padding: 5px 40px;
}

.pd-5-50 {
  padding: 5px 50px;
}

.pd-10-0 {
  padding: 10px 0px;
}

.pd-10-1 {
  padding: 10px 1px;
}

.pd-10-3 {
  padding: 10px 3px;
}

.pd-10-5 {
  padding: 10px 5px;
}

.pd-10-10 {
  padding: 10px 10px;
}

.pd-10-15 {
  padding: 10px 15px;
}

.pd-10-20 {
  padding: 10px 20px;
}

.pd-10-30 {
  padding: 10px 30px;
}

.pd-10-40 {
  padding: 10px 40px;
}

.pd-10-50 {
  padding: 10px 50px;
}

.pd-15-0 {
  padding: 15px 0px;
}

.pd-15-1 {
  padding: 15px 1px;
}

.pd-15-3 {
  padding: 15px 3px;
}

.pd-15-5 {
  padding: 15px 5px;
}

.pd-15-10 {
  padding: 15px 10px;
}

.pd-15-15 {
  padding: 15px 15px;
}

.pd-15-20 {
  padding: 15px 20px;
}

.pd-15-30 {
  padding: 15px 30px;
}

.pd-15-40 {
  padding: 15px 40px;
}

.pd-15-50 {
  padding: 15px 50px;
}

.pd-20-0 {
  padding: 20px 0px;
}

.pd-20-1 {
  padding: 20px 1px;
}

.pd-20-3 {
  padding: 20px 3px;
}

.pd-20-5 {
  padding: 20px 5px;
}

.pd-20-10 {
  padding: 20px 10px;
}

.pd-20-15 {
  padding: 20px 15px;
}

.pd-20-20 {
  padding: 20px 20px;
}

.pd-20-30 {
  padding: 20px 30px;
}

.pd-20-40 {
  padding: 20px 40px;
}

.pd-20-50 {
  padding: 20px 50px;
}

.pd-30-0 {
  padding: 30px 0px;
}

.pd-30-1 {
  padding: 30px 1px;
}

.pd-30-3 {
  padding: 30px 3px;
}

.pd-30-5 {
  padding: 30px 5px;
}

.pd-30-10 {
  padding: 30px 10px;
}

.pd-30-15 {
  padding: 30px 15px;
}

.pd-30-20 {
  padding: 30px 20px;
}

.pd-30-30 {
  padding: 30px 30px;
}

.pd-30-40 {
  padding: 30px 40px;
}

.pd-30-50 {
  padding: 30px 50px;
}

.pd-40-0 {
  padding: 40px 0px;
}

.pd-40-1 {
  padding: 40px 1px;
}

.pd-40-3 {
  padding: 40px 3px;
}

.pd-40-5 {
  padding: 40px 5px;
}

.pd-40-10 {
  padding: 40px 10px;
}

.pd-40-15 {
  padding: 40px 15px;
}

.pd-40-20 {
  padding: 40px 20px;
}

.pd-40-30 {
  padding: 40px 30px;
}

.pd-40-40 {
  padding: 40px 40px;
}

.pd-40-50 {
  padding: 40px 50px;
}

.pd-50-0 {
  padding: 50px 0px;
}

.pd-50-1 {
  padding: 50px 1px;
}

.pd-50-3 {
  padding: 50px 3px;
}

.pd-50-5 {
  padding: 50px 5px;
}

.pd-50-10 {
  padding: 50px 10px;
}

.pd-50-15 {
  padding: 50px 15px;
}

.pd-50-20 {
  padding: 50px 20px;
}

.pd-50-30 {
  padding: 50px 30px;
}

.pd-50-40 {
  padding: 50px 40px;
}

.pd-50-50 {
  padding: 50px 50px;
}

.pd-top-0 {
  padding-top: 0 !important;
}

.pd-right-0 {
  padding-right: 0 !important;
}

.pd-left-0 {
  padding-left: 0 !important;
}

.pd-btm-0 {
  padding-bottom: 0 !important;
}

.m-auto {
  margin: auto;
}

.m-left-area-5 div:not(:first-child) {
  margin-left: 5px;
}

.m-left-area-10 div:not(:first-child) {
  margin-left: 10px;
}

.m-auto-20 {
  margin: 20px auto;
}

.pd-top-15-btm-10 {
  padding: 15px 0 10px 0;
}

.pd-left-btm-right-10 {
  padding: 0px 10px 10px 10px;
}

.pd-left-btm-right-20 {
  padding: 0px 20px 20px 20px;
}

.b-r5 {
  border-radius: 5px;
}

.disp-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.content-start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.content-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.content-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.content-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.align-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.disp-flex-content-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.disp-flex-align-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.disp-flex-align-center-flex-warap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.disp-flex-content-align-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.disp-flex-content-align-center-flex-warap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.disp-flex-align-center-content-end {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.disp-flex-content-space-between {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.disp-flex-content-space-between-align-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.disp-flex-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.content-center {
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.content-right {
  text-align: right;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}

.content-align-center {
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.content-align-between {
  text-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.disp-flex-gap-5 {
  gap: 5px;
}

.disp-flex-gap-10 {
  gap: 10px;
}

.disp-flex-gap-0-10 {
  gap: 0 10px;
}

.flex-col3-gap10 {
  gap: 10px;
}
.flex-col3-gap10 .flex-item {
  width: calc((100% - 20px) / 3);
}

.flex-item-49pe {
  width: 49%;
}

.gap-5 {
  gap: 5px;
}

.gap-10 {
  gap: 10px;
}

.gap-20 {
  gap: 20px;
}

.width-120 {
  width: 120px;
}

.width-130 {
  width: 130px;
}

.width-300 {
  width: 300px;
}

.width-380 {
  width: 380px;
}

.width-580 {
  width: 580px;
}

.width-680 {
  width: 680px;
}

.width-780 {
  width: 780px;
}

.width-1180 {
  width: 1180px;
}

.width-2pe {
  width: 2%;
}

.width-5pe {
  width: 5%;
}

.width-20pe {
  width: 20%;
}

.width-25pe {
  width: 25%;
}

.width-30pe {
  width: 30%;
}

.width-40pe {
  width: 40%;
}

.width-49pe {
  width: 49%;
}

.width-50pe {
  width: 50%;
}

.width-60pe {
  width: 60%;
}

.width-70pe {
  width: 70%;
}

.width-75pe {
  width: 75%;
}

.width-80pe {
  width: 80%;
}

.width-90pe {
  width: 90%;
}

.width-95pe {
  width: 95%;
}

.width-100pe {
  width: 100%;
}

.height-230 {
  height: 230px;
}

.height-250 {
  height: 250px;
}

.height-280 {
  height: 280px;
}

.height-438 {
  height: 438px;
}

.height-90pe {
  height: 90%;
}

.height-100pe {
  height: 100%;
}

.height-auto-1pe {
  height: calc(100% - 1px);
}

.height-auto-2pe {
  height: calc(100% - 2px);
}

.height-auto-3pe {
  height: calc(100% - 3px);
}

.height-auto-4pe {
  height: calc(100% - 4px);
}

.height-auto-5pe {
  height: calc(100% - 5px);
}

.height-auto-6pe {
  height: calc(100% - 6px);
}

.height-auto-7pe {
  height: calc(100% - 7px);
}

.height-auto-8pe {
  height: calc(100% - 8px);
}

.height-auto-9pe {
  height: calc(100% - 9px);
}

.height-auto-10pe {
  height: calc(100% - 10px);
}

.height-auto-11pe {
  height: calc(100% - 11px);
}

.height-auto-12pe {
  height: calc(100% - 12px);
}

.height-auto-13pe {
  height: calc(100% - 13px);
}

.height-auto-14pe {
  height: calc(100% - 14px);
}

.height-auto-15pe {
  height: calc(100% - 15px);
}

.height-auto-16pe {
  height: calc(100% - 16px);
}

.height-auto-17pe {
  height: calc(100% - 17px);
}

.height-auto-18pe {
  height: calc(100% - 18px);
}

.height-auto-19pe {
  height: calc(100% - 19px);
}

.height-auto-20pe {
  height: calc(100% - 20px);
}

.height-auto-21pe {
  height: calc(100% - 21px);
}

.height-auto-22pe {
  height: calc(100% - 22px);
}

.height-auto-23pe {
  height: calc(100% - 23px);
}

.height-auto-24pe {
  height: calc(100% - 24px);
}

.height-auto-25pe {
  height: calc(100% - 25px);
}

.height-auto-26pe {
  height: calc(100% - 26px);
}

.height-auto-27pe {
  height: calc(100% - 27px);
}

.height-auto-28pe {
  height: calc(100% - 28px);
}

.height-auto-29pe {
  height: calc(100% - 29px);
}

.height-auto-30pe {
  height: calc(100% - 30px);
}

.height-auto-31pe {
  height: calc(100% - 31px);
}

.height-auto-32pe {
  height: calc(100% - 32px);
}

.height-auto-33pe {
  height: calc(100% - 33px);
}

.height-auto-34pe {
  height: calc(100% - 34px);
}

.height-auto-35pe {
  height: calc(100% - 35px);
}

.height-auto-36pe {
  height: calc(100% - 36px);
}

.height-auto-37pe {
  height: calc(100% - 37px);
}

.height-auto-38pe {
  height: calc(100% - 38px);
}

.height-auto-39pe {
  height: calc(100% - 39px);
}

.height-auto-40pe {
  height: calc(100% - 40px);
}

.height-auto-41pe {
  height: calc(100% - 41px);
}

.height-auto-42pe {
  height: calc(100% - 42px);
}

.height-auto-43pe {
  height: calc(100% - 43px);
}

.height-auto-44pe {
  height: calc(100% - 44px);
}

.height-auto-45pe {
  height: calc(100% - 45px);
}

.height-auto-46pe {
  height: calc(100% - 46px);
}

.height-auto-47pe {
  height: calc(100% - 47px);
}

.height-auto-48pe {
  height: calc(100% - 48px);
}

.height-auto-49pe {
  height: calc(100% - 49px);
}

.height-auto-50pe {
  height: calc(100% - 50px);
}

.height-auto-51pe {
  height: calc(100% - 51px);
}

.height-auto-52pe {
  height: calc(100% - 52px);
}

.height-auto-53pe {
  height: calc(100% - 53px);
}

.height-auto-54pe {
  height: calc(100% - 54px);
}

.height-auto-55pe {
  height: calc(100% - 55px);
}

.height-auto-56pe {
  height: calc(100% - 56px);
}

.height-auto-57pe {
  height: calc(100% - 57px);
}

.height-auto-58pe {
  height: calc(100% - 58px);
}

.height-auto-59pe {
  height: calc(100% - 59px);
}

.height-auto-60pe {
  height: calc(100% - 60px);
}

.height-auto-61pe {
  height: calc(100% - 61px);
}

.height-auto-62pe {
  height: calc(100% - 62px);
}

.height-auto-63pe {
  height: calc(100% - 63px);
}

.height-auto-64pe {
  height: calc(100% - 64px);
}

.height-auto-65pe {
  height: calc(100% - 65px);
}

.height-auto-66pe {
  height: calc(100% - 66px);
}

.height-auto-67pe {
  height: calc(100% - 67px);
}

.height-auto-68pe {
  height: calc(100% - 68px);
}

.height-auto-69pe {
  height: calc(100% - 69px);
}

.height-auto-70pe {
  height: calc(100% - 70px);
}

.height-auto-71pe {
  height: calc(100% - 71px);
}

.height-auto-72pe {
  height: calc(100% - 72px);
}

.height-auto-73pe {
  height: calc(100% - 73px);
}

.height-auto-74pe {
  height: calc(100% - 74px);
}

.height-auto-75pe {
  height: calc(100% - 75px);
}

.height-auto-76pe {
  height: calc(100% - 76px);
}

.height-auto-77pe {
  height: calc(100% - 77px);
}

.height-auto-78pe {
  height: calc(100% - 78px);
}

.height-auto-79pe {
  height: calc(100% - 79px);
}

.height-auto-80pe {
  height: calc(100% - 80px);
}

.height-auto-81pe {
  height: calc(100% - 81px);
}

.height-auto-82pe {
  height: calc(100% - 82px);
}

.height-auto-83pe {
  height: calc(100% - 83px);
}

.height-auto-84pe {
  height: calc(100% - 84px);
}

.height-auto-85pe {
  height: calc(100% - 85px);
}

.height-auto-86pe {
  height: calc(100% - 86px);
}

.height-auto-87pe {
  height: calc(100% - 87px);
}

.height-auto-88pe {
  height: calc(100% - 88px);
}

.height-auto-89pe {
  height: calc(100% - 89px);
}

.height-auto-90pe {
  height: calc(100% - 90px);
}

.height-auto-91pe {
  height: calc(100% - 91px);
}

.height-auto-92pe {
  height: calc(100% - 92px);
}

.height-auto-93pe {
  height: calc(100% - 93px);
}

.height-auto-94pe {
  height: calc(100% - 94px);
}

.height-auto-95pe {
  height: calc(100% - 95px);
}

.height-auto-96pe {
  height: calc(100% - 96px);
}

.height-auto-97pe {
  height: calc(100% - 97px);
}

.height-auto-98pe {
  height: calc(100% - 98px);
}

.height-auto-99pe {
  height: calc(100% - 99px);
}

.height-auto-100pe {
  height: calc(100% - 100px);
}

.height-auto-101pe {
  height: calc(100% - 101px);
}

.height-auto-102pe {
  height: calc(100% - 102px);
}

.height-auto-103pe {
  height: calc(100% - 103px);
}

.height-auto-104pe {
  height: calc(100% - 104px);
}

.height-auto-105pe {
  height: calc(100% - 105px);
}

.height-auto-106pe {
  height: calc(100% - 106px);
}

.height-auto-107pe {
  height: calc(100% - 107px);
}

.height-auto-108pe {
  height: calc(100% - 108px);
}

.height-auto-109pe {
  height: calc(100% - 109px);
}

.height-auto-110pe {
  height: calc(100% - 110px);
}

.height-auto-111pe {
  height: calc(100% - 111px);
}

.height-auto-112pe {
  height: calc(100% - 112px);
}

.height-auto-113pe {
  height: calc(100% - 113px);
}

.height-auto-114pe {
  height: calc(100% - 114px);
}

.height-auto-115pe {
  height: calc(100% - 115px);
}

.height-auto-116pe {
  height: calc(100% - 116px);
}

.height-auto-117pe {
  height: calc(100% - 117px);
}

.height-auto-118pe {
  height: calc(100% - 118px);
}

.height-auto-119pe {
  height: calc(100% - 119px);
}

.height-auto-120pe {
  height: calc(100% - 120px);
}

.height-auto-121pe {
  height: calc(100% - 121px);
}

.height-auto-122pe {
  height: calc(100% - 122px);
}

.height-auto-123pe {
  height: calc(100% - 123px);
}

.height-auto-124pe {
  height: calc(100% - 124px);
}

.height-auto-125pe {
  height: calc(100% - 125px);
}

.height-auto-126pe {
  height: calc(100% - 126px);
}

.height-auto-127pe {
  height: calc(100% - 127px);
}

.height-auto-128pe {
  height: calc(100% - 128px);
}

.height-auto-129pe {
  height: calc(100% - 129px);
}

.height-auto-130pe {
  height: calc(100% - 130px);
}

.height-auto-131pe {
  height: calc(100% - 131px);
}

.height-auto-132pe {
  height: calc(100% - 132px);
}

.height-auto-133pe {
  height: calc(100% - 133px);
}

.height-auto-134pe {
  height: calc(100% - 134px);
}

.height-auto-135pe {
  height: calc(100% - 135px);
}

.height-auto-136pe {
  height: calc(100% - 136px);
}

.height-auto-137pe {
  height: calc(100% - 137px);
}

.height-auto-138pe {
  height: calc(100% - 138px);
}

.height-auto-139pe {
  height: calc(100% - 139px);
}

.height-auto-140pe {
  height: calc(100% - 140px);
}

.height-auto-141pe {
  height: calc(100% - 141px);
}

.height-auto-142pe {
  height: calc(100% - 142px);
}

.height-auto-143pe {
  height: calc(100% - 143px);
}

.height-auto-144pe {
  height: calc(100% - 144px);
}

.height-auto-145pe {
  height: calc(100% - 145px);
}

.height-auto-146pe {
  height: calc(100% - 146px);
}

.height-auto-147pe {
  height: calc(100% - 147px);
}

.height-auto-148pe {
  height: calc(100% - 148px);
}

.height-auto-149pe {
  height: calc(100% - 149px);
}

.height-auto-150pe {
  height: calc(100% - 150px);
}

.height-auto-151pe {
  height: calc(100% - 151px);
}

.height-auto-152pe {
  height: calc(100% - 152px);
}

.height-auto-153pe {
  height: calc(100% - 153px);
}

.height-auto-154pe {
  height: calc(100% - 154px);
}

.height-auto-155pe {
  height: calc(100% - 155px);
}

.height-auto-156pe {
  height: calc(100% - 156px);
}

.height-auto-157pe {
  height: calc(100% - 157px);
}

.height-auto-158pe {
  height: calc(100% - 158px);
}

.height-auto-159pe {
  height: calc(100% - 159px);
}

.height-auto-160pe {
  height: calc(100% - 160px);
}

.height-auto-161pe {
  height: calc(100% - 161px);
}

.height-auto-162pe {
  height: calc(100% - 162px);
}

.height-auto-163pe {
  height: calc(100% - 163px);
}

.height-auto-164pe {
  height: calc(100% - 164px);
}

.height-auto-165pe {
  height: calc(100% - 165px);
}

.height-auto-166pe {
  height: calc(100% - 166px);
}

.height-auto-167pe {
  height: calc(100% - 167px);
}

.height-auto-168pe {
  height: calc(100% - 168px);
}

.height-auto-169pe {
  height: calc(100% - 169px);
}

.height-auto-170pe {
  height: calc(100% - 170px);
}

.height-auto-171pe {
  height: calc(100% - 171px);
}

.height-auto-172pe {
  height: calc(100% - 172px);
}

.height-auto-173pe {
  height: calc(100% - 173px);
}

.height-auto-174pe {
  height: calc(100% - 174px);
}

.height-auto-175pe {
  height: calc(100% - 175px);
}

.height-auto-176pe {
  height: calc(100% - 176px);
}

.height-auto-177pe {
  height: calc(100% - 177px);
}

.height-auto-178pe {
  height: calc(100% - 178px);
}

.height-auto-179pe {
  height: calc(100% - 179px);
}

.height-auto-180pe {
  height: calc(100% - 180px);
}

.height-auto-181pe {
  height: calc(100% - 181px);
}

.height-auto-182pe {
  height: calc(100% - 182px);
}

.height-auto-183pe {
  height: calc(100% - 183px);
}

.height-auto-184pe {
  height: calc(100% - 184px);
}

.height-auto-185pe {
  height: calc(100% - 185px);
}

.height-auto-186pe {
  height: calc(100% - 186px);
}

.height-auto-187pe {
  height: calc(100% - 187px);
}

.height-auto-188pe {
  height: calc(100% - 188px);
}

.height-auto-189pe {
  height: calc(100% - 189px);
}

.height-auto-190pe {
  height: calc(100% - 190px);
}

.height-auto-191pe {
  height: calc(100% - 191px);
}

.height-auto-192pe {
  height: calc(100% - 192px);
}

.height-auto-193pe {
  height: calc(100% - 193px);
}

.height-auto-194pe {
  height: calc(100% - 194px);
}

.height-auto-195pe {
  height: calc(100% - 195px);
}

.height-auto-196pe {
  height: calc(100% - 196px);
}

.height-auto-197pe {
  height: calc(100% - 197px);
}

.height-auto-198pe {
  height: calc(100% - 198px);
}

.height-auto-199pe {
  height: calc(100% - 199px);
}

.height-auto-200pe {
  height: calc(100% - 200px);
}

.height-auto-201pe {
  height: calc(100% - 201px);
}

.height-auto-202pe {
  height: calc(100% - 202px);
}

.height-auto-203pe {
  height: calc(100% - 203px);
}

.height-auto-204pe {
  height: calc(100% - 204px);
}

.height-auto-205pe {
  height: calc(100% - 205px);
}

.height-auto-206pe {
  height: calc(100% - 206px);
}

.height-auto-207pe {
  height: calc(100% - 207px);
}

.height-auto-208pe {
  height: calc(100% - 208px);
}

.height-auto-209pe {
  height: calc(100% - 209px);
}

.height-auto-210pe {
  height: calc(100% - 210px);
}

.height-auto-211pe {
  height: calc(100% - 211px);
}

.height-auto-212pe {
  height: calc(100% - 212px);
}

.height-auto-213pe {
  height: calc(100% - 213px);
}

.height-auto-214pe {
  height: calc(100% - 214px);
}

.height-auto-215pe {
  height: calc(100% - 215px);
}

.height-auto-216pe {
  height: calc(100% - 216px);
}

.height-auto-217pe {
  height: calc(100% - 217px);
}

.height-auto-218pe {
  height: calc(100% - 218px);
}

.height-auto-219pe {
  height: calc(100% - 219px);
}

.height-auto-220pe {
  height: calc(100% - 220px);
}

.height-auto-221pe {
  height: calc(100% - 221px);
}

.height-auto-222pe {
  height: calc(100% - 222px);
}

.height-auto-223pe {
  height: calc(100% - 223px);
}

.height-auto-224pe {
  height: calc(100% - 224px);
}

.height-auto-225pe {
  height: calc(100% - 225px);
}

.height-auto-226pe {
  height: calc(100% - 226px);
}

.height-auto-227pe {
  height: calc(100% - 227px);
}

.height-auto-228pe {
  height: calc(100% - 228px);
}

.height-auto-229pe {
  height: calc(100% - 229px);
}

.height-auto-230pe {
  height: calc(100% - 230px);
}

.height-auto-231pe {
  height: calc(100% - 231px);
}

.height-auto-232pe {
  height: calc(100% - 232px);
}

.height-auto-233pe {
  height: calc(100% - 233px);
}

.height-auto-234pe {
  height: calc(100% - 234px);
}

.height-auto-235pe {
  height: calc(100% - 235px);
}

.height-auto-236pe {
  height: calc(100% - 236px);
}

.height-auto-237pe {
  height: calc(100% - 237px);
}

.height-auto-238pe {
  height: calc(100% - 238px);
}

.height-auto-239pe {
  height: calc(100% - 239px);
}

.height-auto-240pe {
  height: calc(100% - 240px);
}

.height-auto-241pe {
  height: calc(100% - 241px);
}

.height-auto-242pe {
  height: calc(100% - 242px);
}

.height-auto-243pe {
  height: calc(100% - 243px);
}

.height-auto-244pe {
  height: calc(100% - 244px);
}

.height-auto-245pe {
  height: calc(100% - 245px);
}

.height-auto-246pe {
  height: calc(100% - 246px);
}

.height-auto-247pe {
  height: calc(100% - 247px);
}

.height-auto-248pe {
  height: calc(100% - 248px);
}

.height-auto-249pe {
  height: calc(100% - 249px);
}

.height-auto-250pe {
  height: calc(100% - 250px);
}

.height-auto-251pe {
  height: calc(100% - 251px);
}

.height-auto-252pe {
  height: calc(100% - 252px);
}

.height-auto-253pe {
  height: calc(100% - 253px);
}

.height-auto-254pe {
  height: calc(100% - 254px);
}

.height-auto-255pe {
  height: calc(100% - 255px);
}

.height-auto-256pe {
  height: calc(100% - 256px);
}

.height-auto-257pe {
  height: calc(100% - 257px);
}

.height-auto-258pe {
  height: calc(100% - 258px);
}

.height-auto-259pe {
  height: calc(100% - 259px);
}

.height-auto-260pe {
  height: calc(100% - 260px);
}

.height-auto-261pe {
  height: calc(100% - 261px);
}

.height-auto-262pe {
  height: calc(100% - 262px);
}

.height-auto-263pe {
  height: calc(100% - 263px);
}

.height-auto-264pe {
  height: calc(100% - 264px);
}

.height-auto-265pe {
  height: calc(100% - 265px);
}

.height-auto-266pe {
  height: calc(100% - 266px);
}

.height-auto-267pe {
  height: calc(100% - 267px);
}

.height-auto-268pe {
  height: calc(100% - 268px);
}

.height-auto-269pe {
  height: calc(100% - 269px);
}

.height-auto-270pe {
  height: calc(100% - 270px);
}

.height-auto-271pe {
  height: calc(100% - 271px);
}

.height-auto-272pe {
  height: calc(100% - 272px);
}

.height-auto-273pe {
  height: calc(100% - 273px);
}

.height-auto-274pe {
  height: calc(100% - 274px);
}

.height-auto-275pe {
  height: calc(100% - 275px);
}

.height-auto-276pe {
  height: calc(100% - 276px);
}

.height-auto-277pe {
  height: calc(100% - 277px);
}

.height-auto-278pe {
  height: calc(100% - 278px);
}

.height-auto-279pe {
  height: calc(100% - 279px);
}

.height-auto-280pe {
  height: calc(100% - 280px);
}

.height-auto-281pe {
  height: calc(100% - 281px);
}

.height-auto-282pe {
  height: calc(100% - 282px);
}

.height-auto-283pe {
  height: calc(100% - 283px);
}

.height-auto-284pe {
  height: calc(100% - 284px);
}

.height-auto-285pe {
  height: calc(100% - 285px);
}

.height-auto-286pe {
  height: calc(100% - 286px);
}

.height-auto-287pe {
  height: calc(100% - 287px);
}

.height-auto-288pe {
  height: calc(100% - 288px);
}

.height-auto-289pe {
  height: calc(100% - 289px);
}

.height-auto-290pe {
  height: calc(100% - 290px);
}

.height-auto-291pe {
  height: calc(100% - 291px);
}

.height-auto-292pe {
  height: calc(100% - 292px);
}

.height-auto-293pe {
  height: calc(100% - 293px);
}

.height-auto-294pe {
  height: calc(100% - 294px);
}

.height-auto-295pe {
  height: calc(100% - 295px);
}

.height-auto-296pe {
  height: calc(100% - 296px);
}

.height-auto-297pe {
  height: calc(100% - 297px);
}

.height-auto-298pe {
  height: calc(100% - 298px);
}

.height-auto-299pe {
  height: calc(100% - 299px);
}

.height-auto-300pe {
  height: calc(100% - 300px);
}

.width-height-90pe {
  width: 90%;
  height: 90%;
}

.width-height-100pe {
  width: 100%;
  height: 100%;
}

.width-max-1000 {
  max-width: 1000px;
}

.width-auto {
  width: auto !important;
  min-width: auto !important;
}

.nowrap {
  white-space: nowrap;
}

.flex-basis-30 {
  -ms-flex-preferred-size: 30px;
      flex-basis: 30px;
}

.flex-basis-45 {
  -ms-flex-preferred-size: 45px;
      flex-basis: 45px;
}

.flex-basis-50 {
  -ms-flex-preferred-size: 50px;
      flex-basis: 50px;
}

.flex-basis-55 {
  -ms-flex-preferred-size: 55px;
      flex-basis: 55px;
}

.flex-basis-60 {
  -ms-flex-preferred-size: 60px;
      flex-basis: 60px;
}

.flex-basis-65 {
  -ms-flex-preferred-size: 65px;
      flex-basis: 65px;
}

.flex-basis-70 {
  -ms-flex-preferred-size: 70px;
      flex-basis: 70px;
}

.flex-basis-75 {
  -ms-flex-preferred-size: 75px;
      flex-basis: 75px;
}

.flex-basis-80 {
  -ms-flex-preferred-size: 80px;
      flex-basis: 80px;
}

.flex-basis-85 {
  -ms-flex-preferred-size: 85px;
      flex-basis: 85px;
}

.flex-basis-90 {
  -ms-flex-preferred-size: 90px;
      flex-basis: 90px;
}

.flex-basis-95 {
  -ms-flex-preferred-size: 95px;
      flex-basis: 95px;
}

.flex-basis-100 {
  -ms-flex-preferred-size: 100px;
      flex-basis: 100px;
}

.flex-basis-110 {
  -ms-flex-preferred-size: 110px;
      flex-basis: 110px;
}

.flex-basis-120 {
  -ms-flex-preferred-size: 120px;
      flex-basis: 120px;
}

.flex-basis-130 {
  -ms-flex-preferred-size: 130px;
      flex-basis: 130px;
}

.flex-basis-140 {
  -ms-flex-preferred-size: 140px;
      flex-basis: 140px;
}

.flex-basis-150 {
  -ms-flex-preferred-size: 150px;
      flex-basis: 150px;
}

.flex-basis-160 {
  -ms-flex-preferred-size: 160px;
      flex-basis: 160px;
}

.flex-basis-170 {
  -ms-flex-preferred-size: 170px;
      flex-basis: 170px;
}

.flex-basis-180 {
  -ms-flex-preferred-size: 180px;
      flex-basis: 180px;
}

.flex-basis-185 {
  -ms-flex-preferred-size: 185px;
      flex-basis: 185px;
}

.flex-basis-190 {
  -ms-flex-preferred-size: 190px;
      flex-basis: 190px;
}

.flex-basis-195 {
  -ms-flex-preferred-size: 195px;
      flex-basis: 195px;
}

.flex-basis-200 {
  -ms-flex-preferred-size: 200px;
      flex-basis: 200px;
}

.contents-center {
  vertical-align: top;
}
.contents-center .contents-inner {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  text-align: left !important;
  white-space: nowrap;
  line-height: 1.7;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum" 1, "lnum" 1;
          font-feature-settings: "tnum" 1, "lnum" 1;
}
.contents-center .contents-inner > div {
  text-align: left !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-1 {
  border: 1px solid;
}

.border-2 {
  border: 2px solid;
}

.border-radius-5 {
  border-radius: 5px;
}

.border-color-ddd {
  border-color: #ddd;
}

.border-color-a6a6a6 {
  border-color: #a6a6a6;
}

.background-color-default {
  background-color: #fefefe;
}

.border-color-f6f6f6 {
  background: #f6f6f6;
}

.background-color-666 {
  background-color: #666;
}

.border-color-e3e5e8 {
  border-color: #e3e5e8;
}

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

.background-color-pail {
  background: rgba(255, 154, 0, 0.05) !important;
}

.status-color-6B7280 {
  color: #6B7280;
  background: #F3F4F6;
  padding: 3px 12px;
  border-radius: 30px;
  font-weight: 600;
}

.status-color-166534 {
  color: #166534;
  background: #DCFCE7;
  padding: 3px 12px;
  border-radius: 30px;
  font-weight: 600;
}

.status-color-B23D43 {
  color: #B23D43;
  background: #FFE2E2;
  padding: 3px 12px;
  border-radius: 30px;
  font-weight: 600;
}

.background-week-sunday,
.background-week-holiday {
  background: #FEF0EB !important;
}

.background-week-saturday {
  background: #F4F8FE !important;
}

.color-week-sunday,
.color-week-holiday {
  color: #DF090E;
}

.color-week-saturday {
  color: #0d66b9;
}

.color-default-txt {
  color: #222;
}

.color-default-white {
  color: #fefefe;
}

.color-db372d {
  color: #DB372D;
}

.color-0000ff {
  color: #0000ff;
}

.color-bbbbbb {
  color: #bbbbbb;
}

.color-8c8c8c {
  color: #8c8c8c;
}

.overflow-a {
  overflow: auto;
}

.scrollbar-width-thin {
  scrollbar-width: thin;
}

.overflow-a-scrollbar-width-thin {
  overflow: auto;
  scrollbar-width: thin;
}

.bold {
  font-weight: 700;
}

.font-size-12 {
  font-size: 12px;
}

.font-size-13 {
  font-size: 13px;
}

.font-size-14 {
  font-size: 14px;
}

.font-weight-700 {
  font-weight: 700;
}

.content-left-width-120 {
  left: 120px;
  width: calc(100% - 120px);
}

.content-left-width-150 {
  left: 150px;
  width: calc(100% - 150px);
}

.content-left-width-170 {
  left: 170px;
  width: calc(100% - 170px);
}

.icon {
  width: 20px;
  vertical-align: -4px;
  cursor: pointer;
  margin-left: 2px;
}

.has-dot-line {
  position: relative;
  border-bottom: 2px solid #DB372D;
}
.has-dot-line ::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  width: 10px;
  height: 10px;
  background-color: #DB372D;
  border-radius: 50%;
  z-index: 2;
}

.header {
  position: fixed;
  inset: 0 0 auto 0;
  height: var(--header-h);
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

header {
  background: #ff9a00;
  color: #fefefe;
}
header .header-top-area {
  padding: 0 10px;
  width: 100%;
}
header .header-top-area .box-left {
  padding-left: 17px;
}
header .header-top-area .box-right {
  padding-right: 17px;
}
header .header-top-area .profile_img_wrap {
  width: 45px;
  height: 45px;
  background: #fefefe;
  overflow: hidden;
  border-radius: 50%;
}
header .header-top-area .profile_img_wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 640px) {
  header .header-top-area .box-left {
    padding-left: 0;
    width: 40%;
  }
  header .header-top-area .box-right {
    padding-right: 0;
    width: 60%;
  }
}

.more-menu-dropdown-content-container {
  right: 0;
  z-index: 200;
  position: absolute;
  top: 65px;
  -webkit-transform: none;
          transform: none;
  white-space: nowrap;
  height: auto;
}
.more-menu-dropdown-content-container.hidden {
  display: none;
}
.more-menu-dropdown-content-container.show {
  display: block;
}

.more-menu-dropdown-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background-color: #1e1d1b;
}

.more-menu-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-height: calc(96vh - 75px);
  overflow-y: auto;
  min-width: 320px;
}

.global-nav {
  color: #AAB7B8;
  margin: 0px 15px 10px;
  font-size: 14px;
  text-align: left;
}

.global-nav-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.global-nav-content > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 5px 0;
}
.global-nav-content > div > span:first-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8em;
          flex: 0 0 8em;
}
.global-nav-content > div > span:last-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.account-menu {
  border-top: 1px solid #414750;
}

.account-option-menu {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
  border-left: none !important;
}

.account-option-item {
  margin: 15px 20px;
  line-height: 1.28 !important;
  border-left: none !important;
}

.account-option-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 15px;
  line-height: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #eaeded !important;
  text-decoration: none !important;
}

.header-content {
  padding: 1px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 12px;
}
.header-content .header-content-right {
  margin-left: auto;
}
.header-content .header-content-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.header-content .header-content-detail .separator .label-contnt {
  background: rgba(255, 154, 0, 0.1);
  padding: 0 10px;
}
@media screen and (max-width: 896px) {
  .header-content .header-content-detail {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .header-content .header-content-right {
    margin-left: 0;
  }
}
@media screen and (max-width: 640px) {
  .header-content {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 1px 5px;
  }
  .header-content .header-content-detail .separator .label-contnt {
    padding: 0 5px;
  }
  .header-content .header-content-left {
    margin-bottom: 5px;
  }
}

/* =======================
　　共通構造
======================= */
@supports selector(body:has(*)) {
  body:not(:has(header, #header, .header, .global-header)) {
    padding-bottom: 20px;
  }
}
#page-main {
  position: relative;
  background: #efefef;
  width: calc(100% - var(--lm-w));
  height: 100dvh;
  margin-left: auto;
  overflow: auto;
  padding-top: var(--header-h);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#page-main #page-contents {
  width: 100%;
  overflow-y: visible;
  height: auto;
  min-height: 0;
}
#page-main #page-contents:has(.btn-bottom-fixed) {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  height: auto !important;
  padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important;
}
#page-main #page-contents .parent-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  min-height: 0;
  height: auto;
}
@supports (-webkit-touch-callout: none) {
  #page-main #page-main #page-contents:has(.btn-bottom-fixed) {
    padding-bottom: calc(90px + constant(safe-area-inset-bottom, 0px)) !important;
  }
}
#page-main:has(.left-menu.second) {
  padding-left: var(--lm2-w);
}
@media screen and (max-width: 896px) {
  #page-main:has(.left-menu.second) {
    padding-left: 0;
    padding-top: 110px;
  }
}
@media screen and (max-width: 896px) {
  #page-main {
    width: 100%;
  }
}

@media screen and (max-width: 896px) {
  body:has(.left-menu-fixed) #page-main {
    padding-bottom: 62px;
  }
}
.main-content-parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: auto;
  min-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.main-content-parent .main-content-area {
  position: relative;
  width: 100%;
  min-height: 0;
  overflow-x: hidden;
  position: relative;
  width: 100%;
  min-height: inherit;
  overflow-x: hidden;
}
.main-content-parent .main-content-area .main-content {
  width: 100%;
  min-height: 0;
  height: auto;
}
.main-content-parent .main-content-area .main-content.height-btn-bottom-fixed .main-contents, .main-content-parent .main-content-area .main-content.height-btn-bottom-fixed .content-wrap {
  position: static;
}

.content-split-horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.content-split-horizontal #main-content-area {
  width: 100%;
}
.content-split-horizontal #main-content-area.content-left-width-120 {
  width: calc(100% - 120px);
}
.content-split-horizontal #main-content-area.content-left-width-150 {
  width: calc(100% - 150px);
}
.content-split-horizontal #main-content-area.content-left-width-170 {
  width: calc(100% - 170px);
}

#demo-info-area {
  height: auto !important;
  min-height: inherit;
}

@media screen and (max-width: 896px) {
  .dialog .main-content-area {
    width: 100% !important;
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
    min-width: 0;
    min-height: 0;
  }
  /* --- 下部固定ボタンの見切れ対策（iOSホームバー考慮） --- */
  .main-content.height-btn-bottom-fixed {
    /* 既存の 60px をベースに、セーフエリア分を加算 */
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
.left-menu-fixed {
  position: fixed;
  z-index: 998;
  color: #fff;
  background: #1e1d1b;
  left: 0;
  top: var(--header-h);
  height: calc(100dvh - var(--header-h)); /* ← 100vhでなく100dvhに */
  width: var(--lm-w);
}
.left-menu-fixed.second {
  left: 70px;
  background: #3d3d3d;
}
.left-menu-fixed.second .category-title {
  font-size: 13px;
}
.left-menu-fixed .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
.left-menu-fixed .container .sidebar {
  width: 100%;
}
@media screen and (max-width: 896px) {
  .left-menu-fixed {
    width: 100%;
    height: 53px;
    top: auto;
    bottom: 0;
    height: auto;
  }
}

.left-menu {
  z-index: 996;
  color: #fff;
  background: #1e1d1b;
  width: 120px;
  height: 100%;
  left: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.left-menu.second {
  position: fixed;
  width: 150px !important;
  left: 95px;
  background: #393733;
  z-index: 1101 !important;
  height: 100%;
}
.left-menu.second > ul > li {
  position: relative;
}
.left-menu.second .submenu-container {
  z-index: 1102 !important;
}
.left-menu .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
.left-menu .container .sidebar {
  width: 100%;
}
.left-menu .container .sidebar .category-title {
  font-size: 13px;
}

.tab-content .left-menu.second {
  position: initial;
}
.tab-content .left-menu.second .menu-nav {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.hamburger-btn {
  display: none;
}

@media screen and (max-width: 896px) {
  .left-menu.second,
  .left-menu.sub {
    height: auto;
    width: 100% !important;
    left: 0;
    top: 65px;
  }
  .left-menu.second .menu-nav > ul,
  .left-menu.sub .menu-nav > ul {
    overflow-x: auto;
  }
  .left-menu.second .menu-nav > ul > li,
  .left-menu.sub .menu-nav > ul > li {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    white-space: nowrap;
  }
  .left-menu.second .menu-nav > ul > li:not(:last-child),
  .left-menu.sub .menu-nav > ul > li:not(:last-child) {
    border-right: 1px solid #5b5b5b;
  }
  .left-menu.second .menu-nav > ul > li .category-title,
  .left-menu.sub .menu-nav > ul > li .category-title {
    padding: 12px;
  }
  .dialog .left-menu.sub {
    position: relative !important;
    inset: auto !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
    z-index: 1;
  }
  .dialog .left-menu.sub .container,
  .dialog .left-menu.sub .sidebar {
    display: block;
    height: auto !important;
  }
  .dialog .left-menu.sub .menu-nav > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    gap: 0;
  }
  .dialog .left-menu.sub .menu-nav > ul > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    border-right: 1px solid #5b5b5b;
  }
  .dialog .left-menu.sub .menu-nav > ul > li:last-child {
    border-right: none;
  }
  .dialog .left-menu.sub .category-title {
    display: inline-block;
    padding: 8px 12px;
    font-size: 13px;
    width: auto;
    text-align: left;
    background: none;
  }
  .dialog-content .main-content-parent {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .dialog-content .main-content-parent .left-menu {
    width: 100% !important;
    height: auto;
  }
  .dialog-content .menu-nav > ul > li {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
  .dialog-content .menu-nav > ul > li .category-title {
    padding: 12px 4px;
  }
  #cms-notice-detail-form .form-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #cms-notice-detail-form .form-item .label {
    -ms-flex-preferred-size: initial;
        flex-basis: initial;
  }
  #cms-notice-detail-form .form-item .content-wrapper {
    padding: 5px;
  }
  #menu-overlay {
    display: none;
  }
  #menu-overlay.show {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1000;
  }
  /* ヘッダーが無いWebView時（LINE）：
     second を帯(sticky)にして上部に吸着、余白を0に */
  @supports selector(body:has(*)) {
    body:not(:has(header, #header, .header, .global-header)) #page-main {
      padding-top: 0;
    }
    body:not(:has(header, #header, .header, .global-header)) #page-main:has(.left-menu.second) {
      padding-left: 0;
    }
    body:not(:has(header, #header, .header, .global-header)) .left-menu.second {
      position: sticky;
      top: calc(env(safe-area-inset-top, 0px));
      left: 0;
      width: 100% !important;
      height: auto !important;
      z-index: 10;
    }
    body:not(:has(header, #header, .header, .global-header)) .left-menu.second .menu-nav > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      white-space: nowrap;
    }
    body:not(:has(header, #header, .header, .global-header)) .left-menu.second .menu-nav > ul > li {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
    }
    body:not(:has(header, #header, .header, .global-header)) .left-menu.second .menu-nav > ul > li:not(:last-child) {
      border-right: 1px solid #5b5b5b;
    }
  }
}
/* =======================
 LINE(iOS WebView) / Safari向け強化
======================= */
@supports (-webkit-touch-callout: none) {
  @media screen and (max-width: 768px) {
    /* ▼ヘッダー非表示時の上余白をノッチ分のみに */
    body:not(:has(header)) #page-main,
    body:has(header[style*="display:none"]) #page-main {
      padding-top: env(safe-area-inset-top, 0px) !important;
    }
    /* ▼メニューの下に本体を縦積み */
    #page-main .main-content-parent {
      display: -webkit-box !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-box-orient: vertical !important;
      -webkit-box-direction: normal !important;
          -ms-flex-direction: column !important;
              flex-direction: column !important;
      min-height: 0 !important;
      overflow: visible !important;
    }
    #page-main .main-content-area {
      -webkit-box-flex: 1 !important;
          -ms-flex: 1 1 auto !important;
              flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow: visible !important;
    }
    /* ▼（Safari実機で消える事がある）ダイアログ内の left-menu.sub を強制表示 */
    .dialog .left-menu.sub {
      display: block !important;
      position: relative !important;
      inset: auto !important;
      left: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      height: auto !important;
      -webkit-transform: none !important;
              transform: none !important;
      overflow: visible !important;
      -webkit-box-flex: 0 !important;
          -ms-flex: 0 0 auto !important;
              flex: 0 0 auto !important;
      z-index: 2 !important;
    }
    .dialog .left-menu.sub .container,
    .dialog .left-menu.sub .sidebar {
      display: block;
      height: auto !important;
    }
    .dialog .left-menu.sub .menu-nav > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0;
      padding: 0;
      white-space: nowrap;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .dialog .left-menu.sub .menu-nav > ul > li {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
    }
    /* 下部に .btn-bottom-fixed があるページは
    #page-main の高さ固定をやめて、普通の縦スクロールにする */
    body:has(#page-main .btn-bottom-fixed) #page-main {
      height: auto !important;
      min-height: 100vh !important;
      overflow: visible !important;
    }
    /* コンテンツ領域に「オレンジ帯＋申請ボタン＋黒メニュー」ぶんの余白を確保 */
    body:has(#page-main .btn-bottom-fixed) #page-main #page-contents {
      height: auto !important;
      min-height: 0 !important;
      overflow: visible !important;
      /* 足りなければ 140px, 150px に少しずつ増やしてOK */
      padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)) !important;
    }
  }
}
/* LINEアプリ内WebViewだけに適用 */
@media screen and (max-width: 768px) {
  html[data-useragent*="Line/"] .btn-bottom-fixed {
    padding-bottom: 20px !important;
  }
}
.menu-nav {
  min-height: 100%;
  height: auto;
  position: relative;
}
.menu-nav > ul li {
  padding: 5px 10px;
}
.menu-nav > ul li .category-title {
  border-radius: 5px;
  padding: 5px;
}
.menu-nav a,
.menu-nav button {
  color: #fff;
}
.menu-nav .category:hover {
  background-color: #2b2a27;
}
.menu-nav .category:hover a {
  background-color: #2b2a27;
}
.menu-nav button.category-title {
  all: unset;
  background-color: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 共通スタイルを適用 */
}
.menu-nav .category-title.left-content {
  text-align: left;
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
}
.menu-nav .category-title img {
  width: 25px;
  max-height: 25px;
}
.menu-nav .category-title span {
  display: block;
  font-size: 0.8em;
  font-weight: 400;
}
.menu-nav a.category-title.active {
  font-size: 0.7rem;
  background: #030303;
  width: 115%;
  padding-right: 0.5rem;
  border-radius: 0 5px 5px 0;
}
.menu-nav .right_img {
  position: absolute;
  right: 0;
}
.menu-nav .submenu-container {
  position: absolute;
  top: 0;
  left: 145px !important;
  width: 260px;
  background: #fefefe;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  z-index: 1200;
  display: block;
  height: auto;
  max-height: none;
  overflow: hidden;
}
.menu-nav .submenu-shadow {
  height: auto;
  overflow: visible;
  border-radius: inherit;
}
.menu-nav .submenu {
  overflow: visible;
  height: auto;
}
.menu-nav .submenu-list .submenu-list-title {
  color: #ff9a00;
  margin: 1rem 0 0 1rem;
  font-size: 0.9rem;
}
.menu-nav .submenu-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu-nav .submenu-list ul li img {
  width: 18px;
  vertical-align: middle;
}
.menu-nav .submenu-list ul li a.active {
  background: #f7dec4;
  color: #f80;
  -webkit-box-shadow: 1rem 0 1rem -1rem rgba(0, 0, 0, 0.5), inset 1rem 0 1rem -1rem rgba(0, 0, 0, 0.5);
  box-shadow: 1rem 0 1rem -1rem rgba(0, 0, 0, 0.5), inset 1rem 0 1rem -1rem rgba(0, 0, 0, 0.5);
}
.menu-nav .submenu-list ul li > .submenu-container {
  display: block;
}
.menu-nav .submenu-list ul li a,
.menu-nav .submenu-list ul li button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 0.2rem 0.125rem 0.2rem 1.8rem;
  position: relative;
  cursor: pointer;
  font-size: inherit;
  border: none;
  background: rgba(0, 0, 0, 0);
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: left;
}
.menu-nav .submenu-list .category .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  background: #fefefe;
  color: #222;
  font-size: 13px;
  line-height: 1.4;
  padding: 10px 12px 10px 18px;
  position: relative;
  -webkit-transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
  transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
  overflow: hidden;
}
.menu-nav .submenu-list .category .label::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  bottom: 6px;
  width: 3px;
  height: 55%;
  border-radius: 2px;
  background: #ff9a00;
}
.menu-nav .submenu-list .category .label:hover, .menu-nav .submenu-list .category .label:focus-visible {
  background: #efefef;
  color: #222;
  padding-left: 18px;
}
.menu-nav .submenu-list .divider {
  height: 1px;
  margin: 6px 8px;
  background: rgba(0, 0, 0, 0.06);
}
.menu-nav .hover a {
  color: #b8b8b8;
  text-decoration: none;
}
.menu-nav > .target-menu {
  border-top: 1px solid #646464;
  padding: 5px 0;
}
.menu-nav > .target-menu > li {
  padding: 0.3rem 0 0.3rem 0.9rem;
}
.menu-nav .target-menu .external-link {
  all: unset;
  cursor: pointer;
  height: 100%;
  width: 100%;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 12px;
}
.menu-nav .target-menu .external-link.left-content {
  text-align: left;
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
}
@media screen and (max-width: 896px) {
  .menu-nav > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -ms-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
    scroll-padding-left: 10px;
    position: relative;
    z-index: 1;
  }
  .menu-nav > ul > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80px;
            flex: 0 0 80px;
    scroll-snap-align: start;
  }
  .menu-nav > ul > li.select {
    background: none;
  }
  .menu-nav > ul > li .category-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 6px;
    padding: 10px 4px;
    text-align: center;
    background: transparent;
  }
  .menu-nav > ul > li .category-title img {
    width: 22px;
    max-height: 22px;
  }
  .menu-nav > ul > li .category-title span {
    font-size: 12px;
    line-height: 1.15;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 2行で省略 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: keep-all;
    line-break: strict;
  }
  .menu-nav a.category-title.active {
    width: auto; /* ← 115% を無効化 */
    background: #090808;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08) inset, 0 0 0 2px #f90;
            box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08) inset, 0 0 0 2px #f90;
    padding-right: 8px;
  }
}
@media screen and (max-width: 640px) {
  .menu-nav {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.left-menu-sub-fixed .menu-nav .category-title {
  font-size: 0.8rem;
  color: #000;
}

.left-menu-fixed .menu-nav .category.select a {
  background: #ff9a00;
}
.left-menu-fixed .menu-nav .category.select .category-title span {
  display: block;
  font-size: 0.9rem;
}
.left-menu-fixed .menu-nav .category.select:hover a {
  background: #cc7b00;
}

.left-menu.second .menu-nav > ul > li {
  position: relative;
  overflow: visible;
}
.left-menu.second .menu-nav > ul > li.category.select {
  border-bottom: 3px solid #1e1d1b;
  color: #565656;
  background: #676767;
}
.left-menu.second .menu-nav > ul > li.category.select span {
  color: #fff;
}
.left-menu.second .menu-nav > ul > li > .submenu-container .category.select {
  background: #efefef;
}
.left-menu.second .menu-nav > ul > li > .submenu-container .category.is-primary {
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}
.left-menu.second .menu-nav > ul > li > .submenu-container .category.is-primary .label {
  background: #efefef;
  color: #222;
  font-weight: 700;
  border-bottom: 1px solid #ddd;
}
.left-menu.second .menu-nav > ul > li > .submenu-container .category.is-primary .label::before {
  display: none;
}
.left-menu.second .menu-nav > ul > li > .submenu-container .category.is-primary .label:hover {
  background: #ddd;
}

.submenu .submenu-list .keiyaku-detail {
  margin-left: 10px;
  overflow-y: auto;
  min-height: 0px;
}

.left-menu-sub-fixed .menu-nav .category-title {
  font-size: 0.8rem;
  color: #000;
}

.submenu .submenu-list .keiyaku-detail {
  margin-left: 10px;
  overflow-y: auto;
  min-height: 0px;
}

.left-menu-content {
  z-index: 996;
  left: 0;
  -webkit-box-shadow: 1px 0px 2px #a6a6a6, 0px 0px 0px #fff;
          box-shadow: 1px 0px 2px #a6a6a6, 0px 0px 0px #fff;
}
.left-menu-content > .header {
  all: unset;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #1d2327;
  color: #fff;
  font-weight: 700;
}
.left-menu-content .container {
  all: unset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(100% - 30px);
}
.left-menu-content .container .tab-content {
  all: unset;
  width: 100%;
}
.left-menu-content .container .tab-content .tab {
  all: unset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 40px;
}
.left-menu-content .container .tab-content .tab ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.left-menu-content .container .tab-content .tab ul li {
  all: unset;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: 1px solid #a6a6a6;
}
.left-menu-content .container .tab-content .tab ul li:not(:first-child) {
  border-left: 1px solid #a6a6a6;
}
.left-menu-content .container .tab-content .tab ul li.select {
  background: #ffffff;
  border-bottom: 2px solid #ff9900;
}

.container-box-grid {
  display: grid;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 必要なら折り返し */
  gap: 10px;
  /* 余白を設定 */
}
.container-box-grid.two-column {
  grid-template-columns: repeat(2, 1fr);
}
.container-box-grid.three-column {
  grid-template-columns: repeat(3, 1fr);
}
.container-box-grid .item-box {
  width: 180px;
  height: 70px;
  background: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.canvas-body {
  width: 100vw;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: 1;
          flex-flow: 1;
  overflow: auto;
}
.canvas-body > .main-content {
  width: 100%;
  height: calc(100% - 40px);
}
.canvas-body > .main-content > .main-contents {
  padding: 0 10px;
  height: 100%;
}
.canvas-body > .main-content.left-menu-120 {
  position: absolute;
  left: 120px;
  width: calc(100% - 120px);
}
.canvas-body > .main-content.top-btn-40 {
  position: absolute;
  height: calc(100% - 40px);
}
.canvas-body > .main-content.top-btn-40 .slider-container {
  top: 40px;
}
.canvas-body > .main-content.bottom-btn-40 > .main-contents {
  overflow-y: scroll;
}
.canvas-body > .main-content.bottom-btn-50 {
  height: calc(100% - 50px);
}
.canvas-body > .main-content.bottom-btn-50 > .main-contents {
  overflow-y: scroll;
}

/* ファイルアップエリアここから */
.uploadfile-regist-area {
  padding: 0 30px;
}

.upload_area_title {
  color: #7b838c;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  margin-top: 28px;
  margin-bottom: 12px;
}

.ant-upload-drag {
  border-radius: 6px;
  background-color: #fdfdfd;
}

.ant-upload.ant-upload-drag {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  background: #FFF;
  border: 1px dashed #d9d9d9;
  border-radius: 2px;
  cursor: pointer;
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.ant-upload.ant-upload-drag:hover {
  background: rgba(255, 154, 0, 0.05);
}
.ant-upload.ant-upload-drag:hover .upload_tip2___tp1CW {
  background: #ffae33;
}

.ant-upload {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: rgba(0, 0, 0, 0.8509803922);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  -webkit-font-feature-settings: "tnum", "tnum";
          font-feature-settings: "tnum", "tnum";
  outline: 0;
  padding: 20px 0 !important;
}

.ant-upload.ant-upload-drag .ant-upload-btn {
  display: table;
  height: 100%;
}

.ant-upload-btn {
  display: block;
  width: 100%;
  outline: none;
  padding: 20px 0 !important;
}

.ant-upload input[type=file] {
  cursor: pointer;
}

.ant-upload.ant-upload-drag .ant-upload-drag-container {
  display: table-cell;
  vertical-align: middle;
}

.upload_area__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.upload_area__inner .icon_upload___ah8ux {
  color: #b7c0cd;
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
}

.upload_area__inner .upload_area_title___HANcU {
  color: #354052;
  font-size: 14px;
  line-height: 24px;
}

.upload_area__inner .upload_area_subtext {
  color: #8892a2;
  font-size: 12px;
  line-height: 20px;
  white-space: pre-line;
  padding-left: 16px;
  padding-right: 16px;
  display: block;
}

.ant-space .ant-space-item .upload_tip2___tp1CW {
  background: #ff9a00;
  color: #fff;
  display: inline-block;
  padding: 3px 15px;
  margin-top: 5px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#uploadfile-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
#uploadfile-list .image-item {
  width: calc((100% - 70px) / 8);
  border: 1px solid #eee;
  border-radius: 2px;
  padding: 10px;
  background: #fff;
  text-align: center;
  position: relative;
}
#uploadfile-list .image-item img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 7/6;
  border-radius: 2px;
  cursor: pointer;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
#uploadfile-list .image-item img:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}
#uploadfile-list .image-item .file-name {
  display: block;
  font-size: 12px;
  margin-top: 6px;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#uploadfile-list .image-item .upload-date {
  display: block;
  font-size: 11px;
  color: #777;
  margin-top: 2px;
}
#uploadfile-list .image-item .file-actions {
  margin-top: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
}
#uploadfile-list .image-item .file-actions button {
  font-size: 11px;
  padding: 2px 8px;
  border: none;
  cursor: pointer;
}
#uploadfile-list .image-item .file-actions button.edit-btn {
  background-color: #ff9a00;
  color: #fff;
}
#uploadfile-list .image-item .file-actions button.edit-btn:hover {
  background-color: #ff9a00;
}
#uploadfile-list .image-item .file-actions button.delete-btn {
  background-color: #aaa;
  color: #fff;
}
#uploadfile-list .image-item .file-actions button.delete-btn:hover {
  background-color: #aaa;
}
@media screen and (max-width: 896px) {
  #uploadfile-list .image-item {
    width: calc((100% - 40px) / 5);
  }
  #uploadfile-list .image-item .file-actions {
    gap: 3px;
  }
  #uploadfile-list .image-item .file-actions button {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  #uploadfile-list .image-item {
    width: calc((100% - 20px) / 3);
  }
}

.selected-file-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 20px;
}
.selected-file-list .selected-file-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff7eb;
  border: 1px solid #eee;
  border-radius: 2px;
  padding: 8px 12px;
  font-size: 14px;
  position: relative;
}
.selected-file-list .selected-file-item .file-name {
  margin-right: 10px;
  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.selected-file-list .selected-file-item .delete-btn {
  background: #ff9a00;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  line-height: 18px;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  padding: 0;
}
.selected-file-list .selected-file-item .delete-btn:hover {
  background: #cc7b00;
}
@media screen and (max-width: 640px) {
  .selected-file-list .selected-file-item {
    font-size: 12px;
    padding: 6px 10px;
  }
  .selected-file-list .selected-file-item .file-name {
    max-width: 120px;
  }
}

#image-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  padding: 40px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8);
}
#image-modal .modal-content {
  display: block;
  margin: auto;
  max-width: 90%;
  max-height: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#image-modal .modal-close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  cursor: pointer;
}
#image-modal .modal-close:hover {
  color: #ff9a00;
}

/* ファイルアップエリアここまで */
.apollo-logo {
  width: 140px;
  vertical-align: middle;
  -webkit-filter: invert(1);
          filter: invert(1);
}
@media screen and (max-width: 640px) {
  .apollo-logo {
    width: 100px;
  }
}

.dropDownMenu {
  display: none;
}

ul#gmenu .shinsys .dropDownMenu {
  background: #D9E5FF;
}
ul#gmenu .ma .dropDownMenu {
  background: #EFCD9A;
}

.g-BrHeaderNavList {
  margin: 0;
  margin-top: -1px;
  padding: 0;
  list-style-type: none;
}

.dropDownMenu__inner {
  margin: 0 auto;
  padding: 20px 60px 20px 45px;
  max-width: 1245px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.g-BrHeaderNavList {
  margin: 0;
  margin-top: -1px;
  padding: 0;
  list-style-type: none;
}

.dropDownMenu__inner__top {
  text-align: left;
  margin: 0;
  padding: 0;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
}

.dropDownMenu__inner__top__link {
  font-size: 14px;
  text-decoration: none;
  color: currentColor;
  font-weight: bold;
}

.dropDownMenu__inner__menu {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 25%;
      flex: 0 0 25%;
}

.dropDownMenu__inner__menu__title__link {
  font-size: 14px;
  text-decoration: none;
  color: currentColor;
  position: relative;
  font-weight: bold;
}

.dropDownMenu__inner__menu__title {
  text-align: left;
  margin: 24px 0 0;
  padding: 0;
}

.cmn-icon {
  display: inline-block;
  font-family: "icomoon";
  font-size: 1.2em;
  font-style: normal;
  font-weight: normal;
  text-transform: none;
  color: #00a582;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.dropDownMenu__inner__menu__list {
  text-align: left;
}

.dropDownMenu__inner__menu__list__unit {
  list-style: none inside none;
  margin: 0;
  padding: 0;
}

.dropDownMenu__inner__menu__list__unit__item {
  margin-top: 4px;
}

.dropDownMenu__inner__menu__list__unit__item__link {
  font-size: 14px;
  text-decoration: none;
  color: currentColor;
  display: block;
  position: relative;
}

.dropDownMenu__inner__close {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  position: absolute;
  right: 0;
  top: 8px;
  width: 44px;
  height: 44px;
}

.dropDownMenu__inner__close__line {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 30px;
  height: 3px;
  margin: auto;
  border-radius: 10px;
  background-color: #999;
  -webkit-transform-origin: center;
  transform-origin: center;
}

.dropDownMenu__inner__close__line--top {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.dropDownMenu__inner__close__line--bottom {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media only screen and (min-width: 1025px) {
  .dropDownMenu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
  }
  .g-BrHeaderNavList__item {
    margin: 4px 0;
    padding: 0 8px;
    text-align: center;
    border: none;
  }
  .l-BrHeader {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: normal;
    /* font-family: "FP-ヒラギノUD角ゴ StdN W4",FP-HiraginoUDSansStdN-W4,sans-serif; */
  }
  .g-BrHeader {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: normal;
    /* font-family: UDKakugo_LargePro-DB,sans-serif; */
  }
  .g-BrHeaderNavList__item {
    margin: 4px 0;
    padding: 0 8px;
    text-align: center;
    border: none;
  }
  .dropDownMenu__inner__menu__title__link__icon {
    display: none;
  }
  .dropDownMenu__inner__menu__list__unit__item:first-child {
    margin-top: 8px;
  }
  .dropDownMenu__inner__menu__list__unit__item__link {
    padding-right: 15px;
  }
  .dropDownMenu__inner__menu__list__unit__item__link__icon {
    display: none;
  }
}
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  box-shadow: rgba(113, 135, 164, 0.23) 0px 5px 6px 3px;
  -webkit-box-shadow: rgba(113, 135, 164, 0.23) 0px 5px 6px 3px;
  -moz-box-shadow: rgba(113, 135, 164, 0.227451) 0px 5px 6px 3px;
}

.contents {
  padding: 10px;
}

.page-midashi {
  clear: both;
  font-weight: bold;
  padding: 2px 0 2px 0;
  font-size: 15px;
  text-align: center;
  color: #fff;
  border-bottom: 1px solid #666;
  background: #1d2327;
  position: sticky;
  top: 0px;
  z-index: 100;
  height: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.toggle-header {
  padding: 2px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 2px;
}
.toggle-header a {
  font-size: 16px;
  color: #000000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.toggle-header a strong {
  font-size: 16px;
}
.toggle-header button {
  /* 共通スタイルを適用 */
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
.toggle-header button strong {
  font-size: 16px;
}
.toggle-header img {
  vertical-align: middle;
  width: 25px;
}

.midashi02-none-border {
  padding: 2px;
  font-size: 14px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 2px;
  border-bottom: none;
}

.disp_num {
  background: #666;
  color: #fff;
  padding: 1px 5px 1px 5px;
  margin: 0 3px 0 3px;
  font-weight: normal;
  text-align: center;
  border-radius: 10px;
  font-size: 9px;
  line-height: 100%;
  display: inline;
  vertical-align: 1px;
}

.box-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 50%;
}

.box-middle-only {
  margin-left: auto;
  margin-right: auto;
}

.box-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 50%;
}

.box-right-only {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.box,
.box-side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.box-center-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.box-side-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.box-side-middle {
  margin-left: auto;
  margin-right: auto;
}

.box-side-right {
  margin-left: auto;
}

.box-side-left {
  margin-right: auto;
}

.box-child-left-interval-10 div:not(:first-child) {
  margin-left: 10px;
}

.box-child-left-interval-30 div:not(:first-child) {
  margin-left: 30px;
}
@media screen and (max-width: 480px) {
  .box-child-left-interval-30 div:not(:first-child) {
    margin-left: 10px;
  }
}

.section-list:not(:first-child) {
  margin-top: 10px;
}

.box-select ul li {
  float: left;
}
.box-select ul li div {
  text-align: center;
  padding: 30px 0 30px 0;
  font-size: 30px;
  border: solid 1px;
  background: #fdfdfd;
  border-radius: 10px;
}
.box-select ul li:not(:first-child) {
  margin-left: 30px;
}

.memo-box-area .memo-disp {
  width: 100%;
  height: 430px;
  overflow: auto;
  border: 1px solid #bababa;
}
.memo-box-area .btn-add-memo-area {
  text-align: center;
  padding: 5px;
  font-size: 12px;
}
.memo-box-area .btn-add-memo-area button,
.memo-box-area .btn-add-memo-area a {
  font-size: 12px;
}

/* コールここから */
.call-box {
  padding: 10px;
  margin: 10px 36px 0px 36px;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.call-box .call-box-left {
  width: 37%;
  margin-right: 5px;
}
.call-box .call-box-middle {
  width: 38%;
  margin-right: 5px;
}
.call-box .call-box-right {
  width: 25%;
}
.call-box label input {
  vertical-align: top;
  margin: 2px;
}

.call-scenario-box .call-scenario-box-header {
  text-align: right;
  padding: 3px 10px;
  background: #eee;
}
.call-scenario-box .call-time-box {
  text-align: center;
  padding: 3px 0 0 0;
}
.call-scenario-box .call-time {
  font-size: 15px;
}
.call-scenario-box .call-end-btn-area {
  text-align: right;
}
.call-scenario-box a.end-call-color,
.call-scenario-box button.end-call-color {
  color: #808080;
}
.call-scenario-box a.end-call-background,
.call-scenario-box button.end-call-background {
  background: #808080;
}
.call-scenario-box .scenario-area {
  padding: 5px 20px;
}
.call-scenario-box .scenario-area .call-script-disp {
  height: 380px;
  overflow: auto;
  border: 1px solid #bababa;
}
.call-scenario-box .scenario-area .scenario-list li {
  display: block;
  margin: 20px;
  padding: 30px;
  font-size: 15px;
  border: 2px solid #000000;
  color: #000000;
  cursor: pointer;
}
.call-scenario-box .scenario-area .scenario-list li a,
.call-scenario-box .scenario-area .scenario-list li button {
  all: unset;
  border: 1px solid transparent;
  color: #000000;
}
.call-scenario-box .scenario-area .scenario-list li:hover {
  background: #f5f5f5;
}
.call-scenario-box .scenario-area .scenario-list li.end-call-color {
  color: #808080;
}
.call-scenario-box .scenario-area .scenario-list li.end-call-background {
  background: #808080;
}

.call-box-detail-right {
  margin-left: auto;
}

.link-back-page a,
.link-back-page button {
  width: 48px;
  height: 48px;
  line-height: 67px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  position: fixed;
  z-index: 100;
  top: 45%;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  left: 6px;
  background: #ccc;
}
.link-back-page a img,
.link-back-page button img {
  width: 100%;
}
.link-back-page > a > .load-animation,
.link-back-page > button > .load-animation {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 640px) {
  .link-back-page a,
  .link-back-page button {
    width: 25px;
    height: 25px;
    line-height: 25px;
    top: 50%;
    left: 3px;
  }
}

.link-prav-page a,
.link-prav-page button {
  width: 48px;
  height: 48px;
  line-height: 67px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  position: fixed;
  z-index: 100;
  top: 45%;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  right: 6px;
  background: #ccc;
}
.link-prav-page a img,
.link-prav-page button img {
  width: 100%;
}
.link-prav-page > a > .load-animation,
.link-prav-page > button > .load-animation {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 640px) {
  .link-prav-page a,
  .link-prav-page button {
    width: 25px;
    height: 25px;
    line-height: 25px;
    top: 50%;
    right: 3px;
  }
}

.jyutyu {
  background: #9acd32;
}

.jyutyu-ng {
  background: #ff4500;
}

.jyutyu-jyun-ng {
  background: #ffa500;
}

#left_fixed {
  margin: 10px 0;
}
#left_fixed h3 {
  padding: 10px 0 5px 0;
  font-weight: normal;
}
#left_fixed h3 img {
  width: 25px;
  vertical-align: -7px;
}

.def_list li {
  padding: 5px 5px 5px 15px;
  border-bottom: 1px dashed #ccc;
}

.left_border {
  border-left: 1px solid #666;
}

/* コールここまで */
/* テーブルここから */
.table-area {
  overflow: auto;
}
@media screen and (max-width: 640px) {
  .table-area table.sp-width-500 {
    min-width: 500px;
  }
  .table-area table.sp-width-700 {
    min-width: 700px;
  }
  .table-area table.sp-width-1000 {
    min-width: 1000px;
  }
}

.table-round {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.table-round table {
  border: none !important;
}
.table-round table thead th {
  background: #F7F7F7 !important;
}
.table-round table tr th, .table-round table tr td {
  border: none !important;
}

.table-list {
  border-radius: 4px;
  background-color: #fefefe;
  overflow-x: hidden;
  border: 1px solid #eee;
}
.table-list.example {
  border: 2px dotted #c0c0c0;
}
.table-list.example > dl {
  border-bottom: 2px dotted #c0c0c0;
}
.table-list.example > dl > dt {
  background: #858585;
}
.table-list.margin-bottom-none {
  margin-bottom: 0;
}
.table-list > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  font-size: 1.1em;
  border-bottom: 1px solid #ccc;
}
.table-list > dl.fixed-title {
  position: sticky;
  top: 0;
}
.table-list > dl.left > dt,
.table-list > dl.left > dd {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  text-align: left;
}
.table-list > dl.center > dt,
.table-list > dl.center > dd {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.table-list > dl.right > dt,
.table-list > dl.right > dd {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  text-align: right;
}
.table-list > dl:last-child {
  border-bottom: none;
}
.table-list > dl > dt,
.table-list > dl > dd {
  padding: 8px 5px;
}
.table-list > dl > dt:not(:first-of-type),
.table-list > dl > dd:not(:first-of-type) {
  border-left: 1px solid #ccc;
}
.table-list > dl > dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f4f4f4;
  font-weight: bold;
}
.table-list > dl > dt.left {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
.table-list > dl > dt.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.table-list > dl > dt.right {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
.table-list > dl > dt > a {
  color: #ff9a00;
}
.table-list > dl > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.table-list > dl > dd.left {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
.table-list > dl > dd.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.table-list > dl > dd.right {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}

table.table-list {
  width: 100%;
  border-collapse: collapse;
}
table.table-list thead th {
  background: #f4f4f4;
}
table.table-list tr {
  background: #fff;
}
table.table-list tr th,
table.table-list tr td {
  border: 1px solid #eee;
  padding: 8px 16px;
}
table.table-list tr th.fixed-columns,
table.table-list tr td.fixed-columns {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 97;
}
table.table-list tr th.left,
table.table-list tr td.left {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  text-align: left;
}
table.table-list tr th.left div,
table.table-list tr td.left div {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  text-align: left;
}
table.table-list tr th.center,
table.table-list tr td.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
table.table-list tr th.center div,
table.table-list tr td.center div {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
table.table-list tr th.right,
table.table-list tr td.right {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  text-align: right;
}
table.table-list tr th.right div,
table.table-list tr td.right div {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  text-align: right;
}
table.table-list tr th {
  background: #f4f4f4;
  white-space: nowrap;
  text-align: left;
  font-size: 1.1em;
}
table.table-list tr th.th-color-white {
  background: #fff;
}
table.table-list tr td.total {
  background: #FFFF99;
}
table.table-list tr td.sum {
  background: #fef263;
}
table.table-list tr.fixed-title {
  position: sticky;
  top: 0;
}
table.table-list tr.left th,
table.table-list tr.left td {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  text-align: left;
}
table.table-list tr.left th div,
table.table-list tr.left td div {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  text-align: left;
}
table.table-list tr.left th.center,
table.table-list tr.left td.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
table.table-list tr.left th.center div,
table.table-list tr.left td.center div {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
table.table-list tr.left th.right,
table.table-list tr.left td.right {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  text-align: right;
}
table.table-list tr.left th.right div,
table.table-list tr.left td.right div {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  text-align: right;
}
table.table-list tr:nth-child(2n) {
  background: #fffaf4;
}
table.table-list tr .smaller {
  display: block;
  font-size: 0.8em;
}
table.table-list .center th,
table.table-list .center td {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
table.table-list .center th div,
table.table-list .center td div {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
table.table-list .right th,
table.table-list .right td {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  text-align: right;
}
table.table-list .right th div,
table.table-list .right td div {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  text-align: right;
}
table.table-list.left th,
table.table-list.left td {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  text-align: left;
}
table.table-list.left div {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
table.table-list.resizable {
  table-layout: fixed;
}
table.table-list.resizable th,
table.table-list.resizable td {
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
}
table.table-list .resizer {
  position: absolute;
  top: 0;
  right: 0;
  width: 5px;
  height: 100%;
  cursor: col-resize;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 10;
}
table.table-list.fixed-title thead {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #eee;
}
table.table-list.fixed-title tbody th {
  position: sticky;
  left: 0;
  z-index: 10;
  border: 1px solid #eee;
}
table.table-list.sticky-col-left thead th:first-child,
table.table-list.sticky-col-left tbody th {
  position: sticky;
  left: 0;
  z-index: 2;
}
table.table-list.calendar {
  table-layout: fixed;
}
table.table-list.calendar thead th {
  background: #f9f9f9;
}
table.table-list.calendar th,
table.table-list.calendar td {
  height: 40px;
  padding: 0 10px;
  background: #fff;
}
table.table-list.calendar td.task-cell {
  position: relative;
  overflow: visible;
  cursor: pointer;
}
table.table-list.calendar td.task-cell::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: -1px;
  right: -1px;
  z-index: 1;
}
table.table-list.calendar td.task-1::before {
  background: #f5a623;
}
table.table-list.calendar td.task-2::before {
  background: #3598DB;
}
table.table-list.calendar td.task-3::before {
  background: #0bbd54;
}
table.table-list.calendar td.task-4::before {
  background: #a068b6;
}
table.table-list.calendar td.task-5::before {
  background: #cd5b50;
}
table.table-list.calendar td.task-6::before {
  background: #16a085;
}
table.table-list.calendar .task-label {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
  font-weight: 600;
  font-size: 13px;
  line-height: 1.4;
  padding: 0 12px;
  padding-left: 4em;
  pointer-events: none;
  white-space: nowrap;
}
table.table-list.calendar td.task-cell.start::before {
  border-radius: 4px 0 0 4px;
}
table.table-list.calendar td.task-cell.end::before {
  border-radius: 0 4px 4px 0;
}
table.table-list.record input[type=text]:not(.input-err) {
  border: 1px solid #ddd;
  padding: 3px;
}
table.table-list.record label > input[type=checkbox] {
  width: auto;
}
table.table-list.record input,
table.table-list.record select,
table.table-list.record textarea {
  width: 100%;
  border: 1px solid #ddd;
  padding: 3px;
}
table.table-list.record input.width-50,
table.table-list.record select.width-50,
table.table-list.record textarea.width-50 {
  width: 50px;
}
table.table-list.record tr th,
table.table-list.record tr td {
  padding: 3px 10px;
}
table.table-list.record tr th span {
  display: block;
}
table.table-list.date-col thead th {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  white-space: nowrap;
}
table.table-list.date-col input {
  min-width: 40px;
  max-width: 60px;
}
table.table-list .h-level-1 {
  -webkit-box-shadow: inset 5px 0 0 #ff9a00;
          box-shadow: inset 5px 0 0 #ff9a00;
}
table.table-list .h-level-2 {
  background: #fff8ec !important;
}
table.table-list .h-level-3 {
  padding-left: 1em;
  position: relative;
}
table.table-list .h-level-3::before {
  content: "●";
  position: absolute;
  left: 1.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1em;
  height: 1em;
  color: #aaa;
  line-height: 1em;
}
@media screen and (max-width: 896px) {
  table.table-list.vertical-sm th {
    white-space: initial;
  }
  table.table-list.vertical-sm thead th {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  table.table-list.record input {
    width: auto;
  }
}

.task-tooltip {
  position: fixed;
  top: 100px;
  left: 200px;
  z-index: 9999;
  display: none;
  background: #fff;
  border: 1px solid #eee;
  padding: 10px;
  width: 360px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.task-tooltip .tooltip-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  padding: 12px 8px;
  border-bottom: 4px solid #ff9a00;
  font-size: 16px;
}
.task-tooltip .tooltip-header .tooltip-title {
  font-size: 16px;
}
.task-tooltip .tooltip-header .close-btn {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
}
.task-tooltip .tooltip-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 10px;
}
.task-tooltip .tooltip-table tr {
  border-bottom: 1px solid #eee;
}
.task-tooltip .tooltip-table th {
  text-align: left;
  width: 90px;
  color: #666;
  padding: 10px 14px;
  background: #fafafa;
  font-weight: 400;
  font-size: 14px;
}
.task-tooltip .tooltip-table td {
  padding: 10px 14px;
  font-size: 14px;
}
.task-tooltip .actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  margin-top: 0;
}
.task-tooltip .actions .start-btn,
.task-tooltip .actions .complete-btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  padding: 10px 0;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  font-size: 14px;
}
.task-tooltip .actions .start-btn:hover,
.task-tooltip .actions .complete-btn:hover {
  opacity: 0.85;
}
.task-tooltip .actions .start-btn {
  background: #ff9a00;
}
.task-tooltip .actions .complete-btn {
  background: #6e6e6e;
}

.table-mnt {
  border: 1px solid #ddd;
}
.table-mnt > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.table-mnt > dl:not(:last-child) {
  border-bottom: 1px solid #ddd;
}
.table-mnt > dl > dt,
.table-mnt > dl > dd {
  padding: 7px 10px;
  margin: 0px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
}
.table-mnt > dl > dt {
  border-right: 1px solid #ddd;
}
.table-mnt > dl > dd .date,
.table-mnt > dl > dd .time {
  width: 100px;
  background: #f4f4f4;
}
.table-mnt > dl > dd textarea {
  background: #f4f4f4;
  border: none;
}
.table-mnt > dl > dd.cursor-pointer {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: relative;
}
.table-mnt > dl > dd.cursor-pointer:hover::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border: 0.5px solid #666;
  z-index: 10;
}
@media screen and (max-width: 896px) {
  .table-mnt > dl > dt,
  .table-mnt > dl > dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 7px 5px;
  }
  .table-mnt > dl > dt.target-line,
  .table-mnt > dl > dd.target-line {
    border-bottom: 2px solid #DB372D;
  }
  .table-mnt > dl > dt.has-dot-line,
  .table-mnt > dl > dd.has-dot-line {
    position: relative;
    border-bottom: 2px solid #DB372D;
  }
  .table-mnt > dl > dt.has-dot-line ::before,
  .table-mnt > dl > dd.has-dot-line ::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 50%;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    width: 10px;
    height: 10px;
    background-color: #DB372D;
    border-radius: 50%;
    z-index: 2;
  }
  .table-mnt > dl > dt {
    width: 23%;
  }
  .table-mnt > dl > dd {
    width: 77%;
  }
}
@media screen and (max-width: 640px) {
  .table-mnt dl > dt {
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .table-mnt dl > dd > ul {
    text-align: left;
  }
  .table-mnt.mob-1col > dl dt, .table-mnt.mob-1col > dl dd {
    width: 100% !important;
  }
  .table-mnt.mob-1col > dl dt {
    border-right: none;
    background: #f4f4f4;
  }
}

.table-mnt-noline > dl > dt {
  float: left;
  width: 100px;
  text-align: right;
}
.table-mnt-noline > dl > dt::after {
  content: "：";
}
.table-mnt-noline > dl > dd {
  margin: 10px;
}

.table-detail > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #ddd;
  border-top: none;
}
.table-detail > dl:first-child {
  border-top: 1px solid #ddd;
}
.table-detail > dl dt {
  font-weight: bold;
  padding: 5px 0;
  border-right: 1px solid #ddd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.table-detail > dl dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  padding: 5px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.table-detail.noline > dl {
  border: none;
}
.table-detail.noline > dl dt {
  border: none;
}

.table-cursor dl:hover,
.table-cursor tr:hover {
  background: #ffeacc !important;
  color: #222;
}

/* テーブルここまで */
/* パネルここから */
.panels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 60%;
}

.panel {
  width: 100%;
  padding: 5px;
}
.panel .panel-header {
  color: #fff;
  background-color: #666;
  min-height: 40px;
  font-size: 20px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  padding: 10px;
}
.panel .panel-rows {
  background-color: #fff;
  padding: 20px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  font-size: 16px;
}
.panel .panel-row {
  margin-bottom: 5px;
}
.panel .panel-row:last-child {
  margin-bottom: 0px;
}
.panel .panel-row .label {
  width: 90%;
  text-align: center;
}

/* パネルここまで */
/* フォームここから */
.form-group .title {
  font-weight: 700;
  margin-bottom: 10px;
  font-size: 16px;
}
.form-group .title.m-btm-0 {
  margin-bottom: 0px;
}
.form-group .title-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 5px;
}
.form-group .title-wrapper .title {
  margin-bottom: 0;
}
@media screen and (max-width: 896px) {
  .form-group .label-flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
    text-align: left !important;
  }
  .form-group .label-flex label {
    width: 100%;
  }
}

.form-mini {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.form-mini .form-item {
  width: 50%;
}
.form-mini .form-item.width-20pe {
  width: 19% !important;
}
.form-mini .form-item.width-25pe {
  width: 24% !important;
}
.form-mini .form-item.width-30pe {
  width: 32% !important;
}
.form-mini .form-item.width-100pe {
  width: 100% !important;
}
.form-mini.kpi-summary {
  border-top: none;
}
.form-mini.kpi-summary .form-item {
  width: 49%;
  border: 1px solid #eee;
  border-radius: 8px;
  margin-bottom: 5px;
  margin-right: 5px;
  padding: 5px 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.form-mini.kpi-summary .form-item .label {
  -ms-flex-preferred-size: auto !important;
      flex-basis: auto !important;
  padding: 0;
  opacity: 0.6;
}
.form-mini.kpi-summary .form-item .content-wrapper .content {
  font-size: 1.4em;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .form-mini .form-item {
    width: 100%;
    border-right: 1px solid #ddd;
  }
}

.layout > .content-wrapper > .content {
  position: relative;
  -ms-flex-positive: 1;
  -webkit-box-flex: 1;
          flex-grow: 1;
  padding: 42px 0 0;
  min-width: 0;
}

.content-wrapper > .content textarea {
  width: 90%;
}
.content-wrapper > .content #memo,
.content-wrapper > .content .memo {
  background: #f3f3f3;
  border: none;
}

.form-group .form-item .label .hissu,
.form-group .form-item .label .item-right {
  float: right;
}
.form-group .form-item .label.hissu2 {
  position: relative;
}
.form-group .form-item .label.hissu2::before {
  content: "*";
  left: -3px;
  position: absolute;
  color: #ff0000;
}
.form-group > .content > :not(:first-child) {
  margin-top: 0;
}
.form-group > .content > div {
  margin: 0;
}

.form-item {
  background: #fdfdfd;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form-item.bordeard {
  border: 1px solid #ddd;
}
.form-item.bordeard .content-wrapper {
  border-right: 1px solid #ddd;
}
.form-item.half {
  width: 50%;
}
.form-item.col2 .label,
.form-item.col2 .content-wrapper {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.form-item > .label {
  -ms-flex-preferred-size: 200px;
  flex-basis: 200px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-weight: 700;
  padding: 0 0 0 5px;
}
.form-item > .label30 {
  -ms-flex-preferred-size: 30px;
      flex-basis: 30px;
}
.form-item > .label45 {
  -ms-flex-preferred-size: 45px;
      flex-basis: 45px;
}
.form-item > .label50 {
  -ms-flex-preferred-size: 50px;
      flex-basis: 50px;
}
.form-item > .label55 {
  -ms-flex-preferred-size: 55px;
      flex-basis: 55px;
}
.form-item > .label60 {
  -ms-flex-preferred-size: 60px;
      flex-basis: 60px;
}
.form-item > .label65 {
  -ms-flex-preferred-size: 65px;
      flex-basis: 65px;
}
.form-item > .label70 {
  -ms-flex-preferred-size: 70px;
      flex-basis: 70px;
}
.form-item > .label75 {
  -ms-flex-preferred-size: 75px;
      flex-basis: 75px;
}
.form-item > .label80 {
  -ms-flex-preferred-size: 80px;
      flex-basis: 80px;
}
.form-item > .label85 {
  -ms-flex-preferred-size: 85px;
      flex-basis: 85px;
}
.form-item > .label90 {
  -ms-flex-preferred-size: 90px;
      flex-basis: 90px;
}
.form-item > .label95 {
  -ms-flex-preferred-size: 95px;
      flex-basis: 95px;
}
.form-item > .label100 {
  -ms-flex-preferred-size: 100px;
      flex-basis: 100px;
}
.form-item > .label110 {
  -ms-flex-preferred-size: 110px;
      flex-basis: 110px;
}
.form-item > .label120 {
  -ms-flex-preferred-size: 120px;
      flex-basis: 120px;
}
.form-item > .label130 {
  -ms-flex-preferred-size: 130px;
      flex-basis: 130px;
}
.form-item > .label140 {
  -ms-flex-preferred-size: 140px;
      flex-basis: 140px;
}
.form-item > .label150 {
  -ms-flex-preferred-size: 150px;
      flex-basis: 150px;
}
.form-item > .label160 {
  -ms-flex-preferred-size: 160px;
      flex-basis: 160px;
}
.form-item > .label180 {
  -ms-flex-preferred-size: 180px;
      flex-basis: 180px;
}
@media screen and (max-width: 640px) {
  .form-item > .label160 {
    -ms-flex-preferred-size: 100px;
        flex-basis: 100px;
  }
}
.form-item .content-wrapper {
  -ms-flex-positive: 1;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  width: 100%;
  min-width: 0;
}
.form-item .content-wrapper:last-child {
  border-right: none;
}
.form-item .content-wrapper .content {
  margin: 5px 5px 5px 0px;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  -ms-flex-positive: 1;
  -webkit-box-flex: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  word-break: break-all;
  min-width: 0;
}
.form-item .content-wrapper input[type=text], .form-item .content-wrapper input[type=time], .form-item .content-wrapper input[type=number], .form-item .content-wrapper input[type=date], .form-item .content-wrapper input[type=month], .form-item .content-wrapper input[type=datetime], .form-item .content-wrapper input[type=datetime-local], .form-item .content-wrapper input[type=password] {
  width: 100%;
  height: 30px;
  background: #f3f3f3;
  border: none;
  padding: 5px 10px;
  border: 1px solid #eee;
  border-radius: 4px;
}
.form-item .content-wrapper textarea {
  width: 100%;
  border: 1px solid #eee;
}
.form-item .content-wrapper .hissu2 input[type=text], .form-item .content-wrapper .hissu2 input[type=time], .form-item .content-wrapper .hissu2 input[type=number], .form-item .content-wrapper .hissu2 input[type=date], .form-item .content-wrapper .hissu2 input[type=month], .form-item .content-wrapper .hissu2 input[type=datetime-local], .form-item .content-wrapper .hissu2 input[type=password] {
  background: #ffebeb;
}
.form-item .content-wrapper .hissu2 select,
.form-item .content-wrapper .hissu2 textarea {
  background: #ffebeb;
}
.form-item .content-wrapper .hissu2 button.ms-choice {
  background: #ffebeb;
}
.form-item .content-wrapper select {
  height: 30px;
  background: #f3f3f3;
  border: none;
  border: 1px solid #eee;
  border-radius: 4px;
}
.form-item .content-wrapper textarea {
  width: 100%;
  border-radius: 4px;
}
.form-item .content-wrapper > .content > .entity-lists-title-row,
.form-item .content-wrapper > .content > .entity-lists-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.form-item .content-wrapper > .content .col-name {
  float: left;
  width: 20%;
}
.form-item .content-wrapper > .content .col-name:not(:first-child) {
  margin-left: 100px;
}
@media screen and (max-width: 640px) {
  .form-item.half {
    width: 100%;
    border-right: none !important;
  }
  .form-item.half:not(:last-child) {
    border-bottom: 1px solid #ddd !important;
  }
}

.search-area input[type=text] {
  min-width: 300px !important;
}

.chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
}
.chips .chip-item {
  background: #f3f3f3;
  border: 1px solid #eee;
  border-radius: 30px;
  padding: 0 10px;
}

.shouzai-list:not(:last-child) {
  margin-bottom: 10px;
}

.entity-lists .entity-lists-row {
  border: 1px solid #eee;
  border-radius: 5px;
  background: #fff;
  margin-bottom: 0.3rem;
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  padding: 0.3rem 1rem;
}
.entity-lists .entity-lists-row.concat {
  margin-bottom: 0;
}
.entity-lists .entity-lists-row.concat:not(:first-child) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.entity-lists .entity-lists-row.concat:not(:last-child) {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}
.entity-lists .entity-lists-title-row {
  display: -ms-flexbox;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  padding: 0.3rem 1rem;
}
.entity-lists .entity-lists-col,
.entity-lists .entity-lists-title {
  margin: 0.3rem;
}
.entity-lists .entity-lists-col .lists-col:not(:first-child) {
  margin-top: 5px;
}
.entity-lists > .entity-title {
  display: block;
}

.entity-lists-row .col-daisu .daisu input {
  width: 50px;
}

/* フォームここまで */
/* タブエリアここから */
.tab-content {
  width: 100%;
}
.tab-content .content-wrap {
  background: #fefefe;
  padding: 10px;
  clear: left;
}
.tab-content .content-wrap.pd-0 {
  padding: 0;
}
.tab-content .content-wrap.pd-3 {
  padding: 3px;
}
.tab-content .content-wrap.pd-5 {
  padding: 5px;
}
.tab-content .content-wrap .pd-top-5 {
  padding-top: 5px;
}
.tab-content .content-wrap .pd-top-10 {
  padding-top: 10px;
}
.tab-content.pd-x-30 {
  padding: 0 30px;
}
.tab-content .tab, .tab-content .tab > ul {
  width: 100%;
  text-align: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px 0;
}
.tab-content .tab li, .tab-content .tab > ul li {
  position: relative;
  z-index: 1;
  float: left;
  background: #eee;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 8px 10px;
  cursor: pointer;
  border-top: 3px solid #bababa;
  border-left: 1px solid #bababa;
  border-right: 1px solid #bababa;
  font-weight: 700;
  width: 10em;
}
.tab-content .tab li.select, .tab-content .tab > ul li.select {
  background: #fff;
  border-top: 3px solid #ff9a00;
  color: #ff9a00;
  border-left: none;
  border-right: none;
}
.tab-content .tab li.select::after, .tab-content .tab > ul li.select::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
}
.tab-content .tab-dropdown-option {
  position: relative;
}
.tab-content .tab-dropdown-option .tab-dropdown-content {
  display: none;
  position: absolute;
  /* アイコンに対して絶対位置 */
  left: 0;
  top: 100%;
  /* アイコンの下に配置 */
  min-width: 160px;
  /* 必要に応じてサイズを調整 */
  -webkit-box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  color: #000;
  background: #ffffff;
  text-align: left;
}
.tab-content .disnon {
  display: none;
}
.tab-content .tab-content .content-wrap {
  border-radius: 5px;
}
.tab-content .tab-content .tab ul {
  border-radius: 30px;
  border: 1px solid #ddd;
  padding: 3px 5px;
  margin-bottom: 5px;
}
.tab-content .tab-content .tab ul li {
  border: none !important;
  border-radius: 30px;
  background: #fff;
  padding: 5px 10px;
  width: 8em;
}
.tab-content .tab-content .tab ul li.select {
  background: rgba(255, 154, 0, 0.1);
}
@media screen and (max-width: 640px) {
  .tab-content ul {
    margin-bottom: 5px;
  }
  .tab-content .tab, .tab-content .tab > ul {
    gap: 5px;
  }
  .tab-content .tab li, .tab-content .tab > ul li {
    border-bottom: 1px solid #bababa;
    width: calc((100% - 10px) / 3) !important;
  }
  .tab-content .tab li.select, .tab-content .tab > ul li.select {
    border-bottom: 1px solid #ff9a00;
    border-left: 1px solid #ff9a00;
    border-right: 1px solid #ff9a00;
  }
  .tab-content.pd-x-30 {
    padding: 0 10px;
  }
  .tab-content .content-wrap .main-content-parent .main-content-area {
    max-width: 100%;
  }
}

/* タブエリアここまで */
.win-close {
  padding: 5px;
}
.win-close a:link {
  display: block;
  background: #c75050;
  padding: 3px;
  border: 2px solid #000;
  color: #fff;
}

.sub-title {
  font-size: 16px;
  padding: 10px;
  border-bottom: 1px solid #666;
  margin: 0 0 15px 0;
}

.title-mini {
  border-left: 3px solid #aaa;
  padding-left: 5px;
  margin-bottom: 5px;
  margin-left: 2px;
  font-weight: 700;
}

.title-category {
  font-size: 1.3em;
  background: #F6F6F6;
  text-align: center;
  padding: 5px;
  margin-bottom: 15px;
}

.title-head {
  font-size: 2rem;
  font-weight: 800;
  border-left: 3px solid #aaa;
  padding-left: 0.5em;
  margin-bottom: 5px;
}
.title-head > * {
  font-size: 2rem;
  font-weight: 800;
}

.title-mini2 {
  font-size: 0.875rem;
  opacity: 0.8;
  padding-left: 0.5em;
}

.btn-top-fixed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px;
  z-index: 100;
  background: #ff9a00;
}
.btn-top-fixed button {
  min-width: 80px;
  border: none;
  border-radius: 3px;
  padding: 5px 10px;
  background: #fefefe;
  font-weight: bold;
  color: #222;
  -webkit-box-shadow: 0px 2px 0 #ddd;
          box-shadow: 0px 2px 0 #ddd;
  -webkit-transition: 0.1s;
  transition: 0.1s;
}
.btn-top-fixed button:hover {
  -webkit-transform: translate3d(0, 2px, 0);
          transform: translate3d(0, 2px, 0);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn-top-fixed button:disabled {
  background: #607D8B;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.6;
  box-shadow: none;
  -webkit-transform: none;
          transform: none;
}

/* 固定ボタン：高さは可変、iOSホームバー安全域対応、LINE安定化 */
.btn-bottom-fixed {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 900;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: auto;
  min-height: 45px;
  padding: 10px;
  background: var(--base-color, #ff8a00);
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  margin-bottom: 0 !important;
}
.btn-bottom-fixed.left-menu-200 {
  left: 200px;
  width: calc(100% - 200px);
}
.btn-bottom-fixed.tools {
  bottom: 10px;
  width: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 12px;
  background-color: #fff;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.btn-bottom-fixed.tools .btn-point {
  font-size: 14px;
  border-radius: 12px;
  line-height: 21px;
  padding: 5px 17px;
}
.btn-bottom-fixed.tools .btn-point.mini {
  height: auto;
  padding: 5px 8px;
  font-size: 12px;
}
.btn-bottom-fixed button {
  min-width: 80px;
  border: none;
  border-radius: 3px;
  padding: 5px 10px;
  background: #fefefe;
  font-weight: bold;
  color: #222;
  -webkit-box-shadow: 0 2px 0 #ddd;
          box-shadow: 0 2px 0 #ddd;
  -webkit-transition: 0.1s;
  transition: 0.1s;
}
.btn-bottom-fixed button:hover {
  -webkit-transform: translate3d(0, 2px, 0);
          transform: translate3d(0, 2px, 0);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn-bottom-fixed button:disabled {
  background: #f0f0f0;
  color: #a0a0a0;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: not-allowed;
  opacity: 0.6;
  -webkit-transform: none;
          transform: none;
}
@media (max-width: 768px) {
  .btn-bottom-fixed .box-side {
    padding-left: 0;
  }
}

/* ダイアログ内は最下固定（既存の意図を維持） */
.dialog .btn-bottom-fixed {
  bottom: 0 !important;
}

/* ダイアログ内のボタンは常に bottom:0 を最優先 */
body:not(.left-menu-fixed) .dialog .btn-bottom-fixed {
  bottom: 0 !important;
}

@supports (-webkit-touch-callout: none) {
  .btn-bottom-fixed {
    padding-bottom: calc(15px + constant(safe-area-inset-bottom, 0px));
  }
}
#dialog2 .btn-bottom-fixed .box-side {
  padding-left: 0;
}

.dialog .btn-bottom-fixed {
  bottom: 0;
}

@media screen and (max-width: 896px) {
  /* :has() が使える環境 */
  @supports selector(body:has(*)) {
    body:has(.left-menu-fixed) .btn-bottom-fixed {
      bottom: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    }
    @supports (-webkit-touch-callout: none) {
      body:has(.left-menu-fixed) .btn-bottom-fixed {
        bottom: calc(62px + constant(safe-area-inset-bottom, 0px)) !important;
      }
    }
  }
  /* :has() が使えない環境（LINE一部端末のフォールバック） */
  @supports not selector(body:has(*)) {
    /* 左下タブがある前提の画面では常に持ち上げる（見切れ優先） */
    .btn-bottom-fixed {
      bottom: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    }
  }
}
@media screen and (max-width: 896px) {
  body:has(.left-menu-fixed) .dialog .btn-bottom-fixed {
    bottom: 0;
  }
}
body:has(.left-menu.second) .btn-bottom-fixed button {
  margin-left: 245px;
}
@media screen and (max-width: 896px) {
  body:has(.left-menu.second) .btn-bottom-fixed button {
    margin-left: 0;
  }
}

.inpup-label {
  color: #000;
  background-color: #ccc;
  padding: 1px 5px;
  cursor: pointer;
}

.calendar-head {
  padding: 5px;
  text-align: center;
}
.calendar-head input[type=month] {
  background: #fff;
  border: 1px solid #aaa;
  padding: 2px 5px;
}
.calendar-head a,
.calendar-head button {
  background: #fff;
  border: 1px solid #aaa;
  padding: 2px 10px;
  border-radius: 30px;
  color: #666;
}
.calendar-head a:hover,
.calendar-head button:hover {
  background: #666;
  color: #fff;
}

.success-msgs {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border: 2px solid #00bb00;
  padding: 10px;
  background: #fff;
  margin: 10px;
}

.info-msgs {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border: 2px solid #129beb;
  padding: 10px;
  background: #fff;
  margin: 10px;
}

.err-msgs,
.fatal-msgs {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border: 2px solid #ff0000;
  padding: 10px;
  background: #fff;
  margin: 10px;
}

.warn-msgs {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border: 2px solid #FFFF66;
  padding: 10px;
  background: #fff;
  margin: 10px;
}

.success-msg {
  color: #00bb00;
  background: url(https://cdn.a-pollo.jp/img/icon/ico_success.png) left center no-repeat;
  padding: 2px 0 0 20px;
}

.info-msg {
  color: #129beb;
  background: url(https://cdn.a-pollo.jp/img/icon/ico_info.png) left center no-repeat;
  padding: 2px 0 0 20px;
}

.err-msg {
  color: #ff0000;
  background: url(https://cdn.a-pollo.jp/img/icon/ico_err.png) left center no-repeat;
  padding: 2px 0 0 20px;
}

.fatal-msg {
  color: #ff0000;
  background: url(https://cdn.a-pollo.jp/img/icon/ico_fatal.png) left center no-repeat;
  padding: 2px 0 0 20px;
}

div.err-msg {
  color: #ff0000;
  background: url(https://cdn.a-pollo.jp/img/icon/ico_err.png) left center no-repeat;
  padding: 2px 0 0 20px;
  margin-bottom: 3px;
  word-break: auto-phrase;
}

.warn-msg {
  color: #000;
  background: url(https://cdn.a-pollo.jp/img/icon/ico_warn.png) left center no-repeat;
  padding: 2px 0 0 20px;
}

.input-err,
.textarea-err {
  border: 2px solid red;
  background-color: #ffe6e6;
}

.checkbox-err {
  border: 2px solid red;
}

span.label {
  display: inline-block;
  padding: 0 2px 0 2px;
  color: #ffffff;
  border-radius: 3px;
}
span.label-success {
  background-color: #5cb85c;
}
span.label-warn {
  background-color: #f0ad4e;
}
span.label-danger {
  background-color: #d9534f;
}
span.label-unknown {
  background-color: #878787;
}
span.word-warn {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
span.word-danger {
  color: #a94442;
  background-color: #f2dede;
}

.comment-area {
  padding: 20px 0 !important;
  background: #fff;
  height: 100%;
}
.comment-area .comment-textarea {
  padding: 10px;
  border: none;
  resize: vertical;
  font-size: 14px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 93%;
  margin: auto;
  display: block;
  background: #f3f3f3;
}
.comment-area .btn-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 10px;
}
.comment-area .btn-group button {
  padding: 5px 15px;
  font-weight: bold;
  cursor: pointer;
  border: none;
}
.comment-area .btn-group .btn-cancel {
  background-color: #e0e0e0;
  color: #333;
}
.comment-area .btn-group .btn-cancel:hover {
  background-color: #c0c0c0;
}
.comment-area .btn-group .btn-submit {
  background-color: #ff9a00;
  color: white;
}
.comment-area .btn-group .btn-submit:hover {
  background-color: #e68b00;
}
.comment-area .comment-history {
  margin-top: 20px;
  margin-top: 20px;
  max-height: 700px;
  overflow-y: auto;
  position: relative;
}
.comment-area .comment-history .comment-item {
  background: #ffffff;
  border-top: 1px solid #e0e0e0;
  padding: 12px 14px;
}
.comment-area .comment-history .comment-item:last-of-type {
  border-bottom: 1px solid #e0e0e0;
}
.comment-area .comment-history .comment-item .comment-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 13px;
  margin-bottom: 6px;
}
.comment-area .comment-history .comment-item .comment-header .user-name {
  font-weight: bold;
}
.comment-area .comment-history .comment-item .comment-header .timestamp {
  color: #888;
  font-size: 12px;
}
.comment-area .comment-history .comment-item .comment-body {
  font-size: 14px;
  line-height: 1.6;
  padding: 10px;
}
.comment-area .comment-history .hr-top {
  border: none;
  border-top: 1px solid #ddd;
  margin: 16px 0;
}

/* POSエリアここから */
.pos-bill .pos-bill-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 10px 0;
  position: relative;
}
.pos-bill .pos-bill-item::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: #ddd;
}
.pos-bill .pos-bill-cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 4px;
  /* セル内の要素が勝手に伸びないように */
}
.pos-bill .pos-bill-cell > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.pos-bill .pos-bill-item > .pos-bill-cell:first-child {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
.pos-bill .pos-bill-name {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.pos-bill .pos-bill-item > .pos-bill-qty {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
}
.pos-bill .pos-bill-qty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  white-space: nowrap;
}
.pos-bill .pos-bill-qty > .pos-input.pos-input-qty,
.pos-bill .pos-bill-qty > input[type=number].pos-input-qty {
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important;
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
  -ms-flex-preferred-size: 50px !important;
      flex-basis: 50px !important;
  /* 幅を完全固定 */
  width: 50px !important;
  max-width: 50px !important;
  min-width: 0 !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  text-align: center;
  line-height: 22px;
  margin-right: 3px;
  /* スピンボタン無効化 */
  -moz-appearance: textfield;
}
.pos-bill .pos-bill-qty > .pos-input.pos-input-qty::-webkit-outer-spin-button, .pos-bill .pos-bill-qty > .pos-input.pos-input-qty::-webkit-inner-spin-button,
.pos-bill .pos-bill-qty > input[type=number].pos-input-qty::-webkit-outer-spin-button,
.pos-bill .pos-bill-qty > input[type=number].pos-input-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pos-bill .pos-bill-item input {
  width: auto !important;
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
}
.pos-bill .pos-bill-item > .pos-bill-cell:last-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 8px;
}
.pos-bill .pos-step {
  width: 22px;
  height: 22px;
  border: 1px solid #bbb;
  background: #fff;
  border-radius: 3px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 10px;
  cursor: pointer;
}
.pos-bill .pos-step:hover {
  background: #f7f7f7;
}
.pos-bill .pos-bill-del {
  width: 22px;
  height: 22px;
  border: 1px solid #bbb;
  background: #fff;
  border-radius: 3px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
}
.pos-bill .pos-bill-del:hover {
  background: #f5f5f5;
}
.pos-bill .pos-input {
  border: 1px solid #cfcfcf;
  border-radius: 3px;
  padding: 0 8px;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
.pos-bill .pos-input:focus {
  outline: none;
  border-color: #7aa7e9;
  -webkit-box-shadow: 0 0 0 3px rgba(122, 167, 233, 0.2);
          box-shadow: 0 0 0 3px rgba(122, 167, 233, 0.2);
}

.pos-summary {
  width: 100%;
}
.pos-summary .pos-summary-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  padding: 16px 18px;
  margin-top: 40px;
}
.pos-summary .pos-summary-card .pos-sum-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 10px 0;
  font-size: 18px;
  line-height: 1.35;
}
.pos-summary .pos-summary-card .pos-sum-label {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.pos-summary .pos-summary-card .pos-sum-amount {
  text-align: right;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.pos-summary .pos-summary-card .pos-sum-head {
  font-weight: 700;
  font-size: 24px;
  padding: 6px 0 14px;
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 4px;
}
.pos-summary .pos-summary-card .is-muted {
  color: #9aa0a6;
}
.pos-summary .pos-summary-card .is-neg .pos-sum-amount {
  opacity: 0.9;
}
.pos-summary .pos-summary-card .pos-sum-total {
  font-weight: 700;
  font-size: 22px;
  padding: 14px 0;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  margin: 10px 0 8px;
}
.pos-summary .pos-summary-card .pos-sum-change {
  font-weight: 700;
  font-size: 22px;
  padding: 14px 0;
  border-bottom: 1px solid #e6e6e6;
}
@media (max-width: 480px) {
  .pos-summary .pos-summary-card .pos-sum-head {
    font-size: 22px;
  }
  .pos-summary .pos-summary-card .pos-sum-total,
  .pos-summary .pos-summary-card .pos-sum-change {
    font-size: 20px;
  }
}

/* 右カラム専用・ルートは .pos-right（親には何も当てない） */
.pos-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  min-height: 0;
}
.pos-right .pos-right-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7px;
  padding: 18px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  height: 100%;
  min-height: 0;
  overflow: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* セクション見出し */
  /* 共通行 */
  /* 入力欄風 */
  /* 枠線強調（割引/請求書発行） */
  /* 選択状態（現金） */
  /* 無効表示（売掛以外で請求書発行を無効に） */
  /* 金額手入力エリア（中身は後で実装） */
  /* 最下部の会計ボタン（常に下寄せ） */
}
.pos-right .pos-right-card .pos-right-title {
  margin: 6px 0;
  font-size: 1.3em;
  font-weight: 700;
  text-align: center;
  border-bottom: 1px solid #222;
}
.pos-right .pos-right-card .pos-right-row {
  display: block;
  padding: 12px;
  line-height: 1.2;
  text-align: center;
  background: #fff;
  color: #111;
  border: 1px solid #cfcfcf;
  border-radius: 3px;
  cursor: pointer;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.2em;
}
.pos-right .pos-right-card .pos-right-row.btn-cancel {
  background: #7d7d7d;
  color: #fff;
  border: 1px solid #7d7d7d;
}
.pos-right .pos-right-card .pos-right-row:disabled, .pos-right .pos-right-card .pos-right-row[aria-disabled=true] {
  cursor: not-allowed;
}
.pos-right .pos-right-card .pos-input-like {
  font-weight: 700;
}
.pos-right .pos-right-card .pos-outline {
  border: 1px solid #9db6db;
  color: #3a5c8e;
  background: #f7fbff;
}
.pos-right .pos-right-card .pos-select {
  font-weight: 700;
}
.pos-right .pos-right-card .is-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.pos-right .pos-right-card .pos-manual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 180px;
  overflow: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.pos-right .pos-right-card .pos-manual .pos-keypad-placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  min-height: 320px;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  font-size: 32px;
  color: #111;
  background: #fafafa;
}
.pos-right .pos-right-card .pos-pay-footer {
  margin-top: auto;
}
.pos-right .pos-right-card .pos-pay-footer .pos-pay-button {
  display: block;
  width: 100%;
  padding: 14px 16px;
  font-size: 1.3em;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: #ff9a00;
  border: none;
  border-radius: 3px;
  cursor: pointer;
}
.pos-right .pos-right-card .pos-pay-footer .pos-pay-button:hover {
  -webkit-filter: brightness(0.97);
          filter: brightness(0.97);
}

.cashpad {
  --pad-border: #dcdfe3;
  --pad-text: #111;
  --primary: #ff9f0a;
  --warn: #ef4444;
  --btn-bg: #f7f8fa;
  --btn-bg-hover: #eef1f5;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 16px;
  display: grid;
  gap: 8px;
}
.cashpad__display {
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  padding: 5px 15px;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 6px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.cashpad__display .cashpad__display-prefix {
  opacity: 0.8;
  font-size: 1.25rem;
}
.cashpad__display .cashpad__display-amount {
  font-size: clamp(28px, 5vw, 44px);
  color: var(--pad-text);
}
.cashpad__quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.cashpad__quick .cashpad__quick-btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  padding: 4px 12px;
  background: #f7f8fa;
  font-weight: 700;
  cursor: pointer;
}
.cashpad__quick .cashpad__quick-btn:hover {
  background: #eef1f5;
}
.cashpad__keys {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.cashpad__keys button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  padding: 10px 0;
  font-size: 1.5em;
  font-weight: 600;
  background: var(--btn-bg);
  cursor: pointer;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-transition: -webkit-transform 0.02s ease-in;
  transition: -webkit-transform 0.02s ease-in;
  transition: transform 0.02s ease-in;
  transition: transform 0.02s ease-in, -webkit-transform 0.02s ease-in;
}
.cashpad__keys button:active {
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
}
.cashpad__keys button:hover {
  background: var(--btn-bg-hover);
}
.cashpad__keys button.is-primary {
  background: var(--primary);
  color: #fff;
  border-color: color-mix(in oklab, var(--primary), #000 15%);
}
.cashpad__keys button.is-warn {
  background: var(--warn);
  color: #fff;
  border-color: color-mix(in oklab, var(--warn), #000 15%);
}
.cashpad__keys .span-2 {
  grid-column: span 2;
}

/* 幅が狭いときの調整 */
@media (max-width: 820px) {
  .pos-right .pos-right-card {
    gap: 10px;
    padding: 16px;
  }
  .pos-right .pos-right-card .pos-right-row {
    font-size: 18px;
    padding: 10px 12px;
  }
  .pos-right .pos-right-card .pos-right-title {
    font-size: 18px;
  }
  .pos-right .pos-right-card .pos-pay-footer .pos-pay-button {
    font-size: 20px;
  }
}
/* POSエリアここまで */
/* BOXエリアここから */
.box-area-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 11px;
}
.box-area-col.bg-white {
  background: #fdfdfd;
}
.box-area-col .box-area {
  width: 100%;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.box-area-col .section-form {
  padding: 0px;
}
.box-area-col .page-content-view {
  padding: 0px;
  height: 100%;
}
.box-area-col .page-content-view .form-group {
  height: 100%;
}
.box-area-col .page-content-view .content {
  height: 100%;
}
.box-area-col .page-content-view .form-item {
  background: #fdfdfd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
.box-area-col .section-form:not(:first-child),
.box-area-col .page-content-view:not(:first-child) {
  margin-top: 20px;
}

.box-area-center-col {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.box-area-center-col .box-area {
  width: 100%;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.box-area-two-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 11px;
}
.box-area-two-col.bg-white {
  background: #fdfdfd;
}
.box-area-two-col .box-area-left,
.box-area-two-col .box-area-right {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
}
.box-area-two-col .box-area-left.width-20pe,
.box-area-two-col .box-area-right.width-20pe {
  width: 20%;
}
.box-area-two-col .box-area-left.width-25pe,
.box-area-two-col .box-area-right.width-25pe {
  width: 25%;
}
.box-area-two-col .box-area-left.width-35pe,
.box-area-two-col .box-area-right.width-35pe {
  width: 35%;
}
.box-area-two-col .box-area-left.width-40pe,
.box-area-two-col .box-area-right.width-40pe {
  width: 40%;
}
.box-area-two-col .box-area-left.width-60pe,
.box-area-two-col .box-area-right.width-60pe {
  width: 60%;
}
.box-area-two-col .box-area-left.width-65pe,
.box-area-two-col .box-area-right.width-65pe {
  width: 65%;
}
.box-area-two-col .box-area-left.width-75pe,
.box-area-two-col .box-area-right.width-75pe {
  width: 75%;
}
.box-area-two-col .box-area-left.width-80pe,
.box-area-two-col .box-area-right.width-80pe {
  width: 80%;
}
.box-area-two-col .box-area-left.pd-0,
.box-area-two-col .box-area-right.pd-0 {
  padding: 0;
}
.box-area-two-col .box-area-left.pd-left-10,
.box-area-two-col .box-area-right.pd-left-10 {
  padding: 0 0 0 10px;
}
.box-area-two-col .box-area-left.pd-left-right-10,
.box-area-two-col .box-area-right.pd-left-right-10 {
  padding: 0 10px;
}
.box-area-two-col .section-form {
  padding: 0px;
}
.box-area-two-col .page-content-view {
  padding: 0px;
  height: 100%;
}
.box-area-two-col .page-content-view .form-group {
  height: 100%;
}
.box-area-two-col .page-content-view .content {
  height: 100%;
}
.box-area-two-col .page-content-view .form-item {
  background: #fdfdfd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
.box-area-two-col .section-form:not(:first-child),
.box-area-two-col .page-content-view:not(:first-child) {
  margin-top: 20px;
}
@media screen and (max-width: 896px) {
  .box-area-two-col .box-area-left,
  .box-area-two-col .box-area-right {
    width: 100%;
    padding: 0;
  }
  .box-area-two-col .box-area-left.width-25pe, .box-area-two-col .box-area-left.width-35pe, .box-area-two-col .box-area-left.width-40pe, .box-area-two-col .box-area-left.width-60pe, .box-area-two-col .box-area-left.width-65pe, .box-area-two-col .box-area-left.width-75pe,
  .box-area-two-col .box-area-right.width-25pe,
  .box-area-two-col .box-area-right.width-35pe,
  .box-area-two-col .box-area-right.width-40pe,
  .box-area-two-col .box-area-right.width-60pe,
  .box-area-two-col .box-area-right.width-65pe,
  .box-area-two-col .box-area-right.width-75pe {
    width: 100%;
  }
}

.box-area-center-two-col {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.box-area-center-two-col .box-area-left,
.box-area-center-two-col .box-area-right {
  width: 50%;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.box-area-three-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 11px;
}
.box-area-three-col.p-10 {
  padding: 10px;
}
.box-area-three-col.bg-white {
  background: #fdfdfd;
}
.box-area-three-col .box-area-left,
.box-area-three-col .box-area-middle,
.box-area-three-col .box-area-right {
  width: 33.3333333333%;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.box-area-three-col .box-area-left.width-40pe,
.box-area-three-col .box-area-middle.width-40pe,
.box-area-three-col .box-area-right.width-40pe {
  width: 40%;
}
.box-area-three-col .box-area-left.width-30pe,
.box-area-three-col .box-area-middle.width-30pe,
.box-area-three-col .box-area-right.width-30pe {
  width: 30%;
}
.box-area-three-col .box-area-left.width-35pe,
.box-area-three-col .box-area-middle.width-35pe,
.box-area-three-col .box-area-right.width-35pe {
  width: 35%;
}
.box-area-three-col .box-area-left.width-25pe,
.box-area-three-col .box-area-middle.width-25pe,
.box-area-three-col .box-area-right.width-25pe {
  width: 25%;
}
.box-area-three-col .box-area-left.width-20pe,
.box-area-three-col .box-area-middle.width-20pe,
.box-area-three-col .box-area-right.width-20pe {
  width: 20%;
}
.box-area-three-col .section-form {
  padding: 0px;
}
.box-area-three-col .page-content-view {
  padding: 0px;
  height: 100%;
}
.box-area-three-col .page-content-view .form-group {
  height: 100%;
}
.box-area-three-col .page-content-view .content {
  height: 100%;
}
.box-area-three-col .page-content-view .form-item {
  background: #fdfdfd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.box-area-three-col .section-form + .section-form,
.box-area-three-col .page-content-view:not(:first-child) {
  margin-top: 20px;
}
@media screen and (max-width: 1280px) {
  .box-area-three-col .box-area-left,
  .box-area-three-col .box-area-middle,
  .box-area-three-col .box-area-right {
    width: 50%;
    row-gap: 20px;
  }
}
@media screen and (max-width: 896px) {
  .box-area-three-col .box-area-left,
  .box-area-three-col .box-area-middle,
  .box-area-three-col .box-area-right {
    width: 100%;
    padding: 10px 0;
  }
  .box-area-three-col .box-area-left.width-40pe, .box-area-three-col .box-area-left.width-30pe, .box-area-three-col .box-area-left.width-35pe, .box-area-three-col .box-area-left.width-25pe, .box-area-three-col .box-area-left.width-20pe,
  .box-area-three-col .box-area-middle.width-40pe,
  .box-area-three-col .box-area-middle.width-30pe,
  .box-area-three-col .box-area-middle.width-35pe,
  .box-area-three-col .box-area-middle.width-25pe,
  .box-area-three-col .box-area-middle.width-20pe,
  .box-area-three-col .box-area-right.width-40pe,
  .box-area-three-col .box-area-right.width-30pe,
  .box-area-three-col .box-area-right.width-35pe,
  .box-area-three-col .box-area-right.width-25pe,
  .box-area-three-col .box-area-right.width-20pe {
    width: 100%;
  }
}

.box-area-center-three-col {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.box-area-center-three-col .box-area-left,
.box-area-center-three-col .box-area-middle,
.box-area-center-three-col .box-area-right {
  width: 33.3%;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* BOXエリアここまで */
/* 訪問レポートここから */
.box-center {
  margin: auto;
  max-width: 90vw;
  width: 640px;
}
.box-center .content {
  -webkit-transition: background-color 200ms cubic-bezier(0, 0, 0.2, 1);
  transition: background-color 200ms cubic-bezier(0, 0, 0.2, 1);
  background-color: #fff;
  border: 1px solid #dadce0;
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 24px;
  page-break-inside: avoid;
}
.box-center .content input {
  -webkit-box-flex: 1;
  -webkit-box-flex: 1;
  box-flex: 1;
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  background-color: transparent;
  border: none;
  display: block;
  font: 400 16px Roboto, RobotoDraft, Helvetica, Arial, sans-serif;
  height: 24px;
  line-height: 24px;
  margin: 0;
  min-width: 0%;
  outline: none;
  padding: 0;
  z-index: 0;
}
.box-center .content .items {
  padding-bottom: 10px;
}
.box-center .content .items:not(:first-child) {
  border-top: 1px solid #dadce0;
  padding-top: 10px;
}

.item-name-area {
  margin-bottom: 16px;
}
.item-name-area div {
  font-family: Roboto, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.3px;
  line-height: 16px;
  color: #202124;
  line-height: 135%;
  margin-top: 4px;
  width: 100%;
}
.item-name-area .item-name {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  font-size: 16px;
  letter-spacing: 0.1px;
  line-height: 24px;
  color: #202124;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  word-break: break-word;
}

.item-name {
  margin-bottom: 15px;
}

.item-val-area {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 8px;
}
.item-val-area .item-vals {
  font-family: Roboto, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.3px;
  line-height: 16px;
  color: #70757a;
  width: 70%;
}
.item-val-area .item-vals .item-val {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1em 0.5em 1em 0;
}
.item-val-area .item-vals .item-val input[type=text], .item-val-area .item-vals .item-val input[type=date] {
  width: 100%;
}
.item-val-area .item-vals .item-val textarea,
.item-val-area .item-vals .item-val div {
  width: 100%;
}
.item-val-area .item-vals .item-val label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.item-val-area .item-vals .item-val textarea {
  resize: none;
  height: 100px;
  border-radius: 8px;
  padding: 5px;
  border: 1px solid #b4b4b4;
}
.item-val-area .item-vals .item-val label > span {
  width: calc(100% - 15px);
  font-size: 12px;
  padding-left: 10px;
  color: #000;
  display: block;
}
.item-val-area .item-vals .item-val input[type=text], .item-val-area .item-vals .item-val input[type=date] {
  border-bottom: 1px solid #b4b4b4;
}
.item-val-area .item-vals .item-val input[type=radio], .item-val-area .item-vals .item-val input[type=checkbox] {
  width: 15px;
  height: 15px;
}
.item-val-area .item-vals .item-val > div:not(:first-child) {
  margin-top: 30px;
}
.item-val-area .item-vals .item-val .box-side:not(:last-of-type) {
  margin-bottom: 10px;
}

.req-ast {
  color: #d93025;
  padding-left: 0.25em;
}

.box-side-p-bottom5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 5px;
}

/* 訪問レポートここまで */
/* ウィジェットここから */
.widget {
  min-width: 280px;
  color: #1d2327;
}
.widget.center {
  margin-left: auto;
  margin-right: auto;
}
.widget.width-85pe {
  width: 85%;
}

@media (min-width: 1401px) {
  .widget {
    max-width: 1280px;
  }
}
@media screen and (max-width: 640px) {
  .widget.width-85pe {
    width: 95%;
  }
}
.main-console {
  margin-top: 20px;
  margin-bottom: 20px;
}
.main-console .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 20px;
  list-style-type: none;
  font-size: 14px;
}
.main-console .list .wrapper-list {
  width: calc((100% - 20px) / 2);
}
.main-console .list .wrapper-list .wrapper-h-230 {
  height: 230px;
}
.main-console .list .wrapper-list .wrapper-h-250 {
  height: 250px;
}
.main-console .list .wrapper-list .wrapper-h-280 {
  height: 280px;
}
.main-console .list .wrapper-list .wrapper-h-310 {
  height: 310px;
}
.main-console .list .wrapper-list .wrapper-h-430 {
  height: 430px;
}
.main-console .list .wrapper-list .wrapper-h-438 {
  height: 438px;
}
.main-console .list .wrapper-list .wrapper-w-380 {
  width: 380px;
}
.main-console .list .wrapper-list .wrapper-w-580 {
  width: 580px;
}
.main-console .list .wrapper-list .wrapper-w-780 {
  width: 780px;
}
.main-console .list .wrapper-list .wrapper-w-1180 {
  width: 1180px;
}
.main-console .list .wrapper-list.wrapper-w-30pe {
  width: calc(30% - 10px);
}
.main-console .list .wrapper-list.wrapper-w-33pe {
  width: calc(33% - 10px);
}
.main-console .list .wrapper-list.wrapper-w-50pe {
  width: calc(50% - 10px);
}
.main-console .list .wrapper-list.wrapper-w-70pe {
  width: calc(70% - 10px);
}
.main-console .list .wrapper-list.wrapper-w-100pe {
  width: 100%;
}
.main-console .list .wrapper-list:nth-child(1) .ui-fit .ui-header {
  border-left: 5px solid #A3D139;
}
.main-console .list .wrapper-list:nth-child(2) .ui-fit .ui-header {
  border-left: 5px solid #F9C20F;
}
.main-console .list .wrapper-list:nth-child(3) .ui-fit .ui-header {
  border-left: 5px solid #F47524;
}
.main-console .list .wrapper-list:nth-child(4) .ui-fit .ui-header {
  border-left: 5px solid #D91C3D;
}
.main-console .list .wrapper-list:nth-child(5) .ui-fit .ui-header {
  border-left: 5px solid #9447cc;
}
.main-console .list .wrapper-list:nth-child(6) .ui-fit .ui-header {
  border-left: 5px solid #3867cd;
}
.main-console .list .wrapper-list:nth-child(7) .ui-fit .ui-header {
  border-left: 5px solid #2289C5;
}
.main-console .list .ui-fit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background: #fefefe;
  border-radius: 5px;
}
.main-console .list .ui-fit .border-bottom {
  border-bottom: 1px solid #cbcbcb;
  padding-bottom: 5px;
}
.main-console .list .ui-fit .ui-header {
  color: #222;
  font-size: 16px;
  padding: 5px 10px;
  border-radius: 5px 5px 0 0;
  border-bottom: none;
  border-bottom: 1px solid #ddd;
}
.main-console .list .ui-fit .ui-header .ui-header-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row;
          flex-flow: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 10px;
}
.main-console .list .ui-fit .ui-header .ui-header-flex .manu-icon {
  width: 40px;
  display: inline-block;
  background: #666;
  padding: 7px;
}
.main-console .list .ui-fit .ui-header .ui-header-flex .manu-icon img {
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 1/1;
}
.main-console .list .ui-fit .ui-header .ui-header-flex h2 {
  font-size: 16px;
}
.main-console .list .ui-fit .ui-header.navtile {
  padding: 32px 10px;
  display: block;
}
.main-console .list .ui-fit .ui-header.navtile .ui-header-flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.main-console .list .ui-fit .ui-header.navtile .ui-header-flex .manu-icon {
  background: transparent;
  width: 100px;
}
.main-console .list .ui-fit .ui-header.navtile .ui-header-flex .manu-icon img {
  width: 100%;
}
.main-console .list .ui-fit .ui-header.navtile:hover {
  background: rgba(255, 154, 0, 0.05);
}
.main-console .list .ui-fit .contents {
  overflow: auto;
  padding: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.main-console .list .ui-fit .contents .content-wrapper {
  height: 100%;
  padding: 16px 20px 20px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.main-console .list .ui-fit .contents .content-wrapper .content {
  height: calc(100% - 18px);
}
.main-console .list .ui-fit .contents .content-wrapper .content .grid {
  display: grid;
  grid-auto-rows: 1fr;
}
.main-console .list .ui-fit .contents .content-wrapper .content .medium {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.main-console .list .ui-fit .contents .content-wrapper .content .item-wrapper:not(:last-child) {
  margin-bottom: 5px;
}
.main-console .list .ui-fit .contents .content-wrapper .content .item-wrapper a {
  display: block;
  padding: 10px 15px;
  background: #f6f6f6;
  border-radius: 5px;
  color: #222;
}
.main-console .list .ui-fit .contents .content-wrapper .content .item-wrapper a:hover {
  background: #ececec;
}
.main-console .list .ui-fit .contents .content-wrapper .content .item-container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.main-console .list .ui-fit .contents .content-wrapper .content .item-container .container {
  border-bottom: 1px solid #eaeded;
  margin-bottom: 12px;
}
.main-console .list .ui-fit .contents .content-wrapper .content .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.main-console .list .ui-fit .contents .content-wrapper .content .row-margin-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 20px;
}
.main-console .dashboard .ui-fit .ui-header {
  border-left: none !important;
  border-bottom: none;
}
.main-console .dashboard .ui-fit .ui-header.bg {
  background: #F6F6F6;
}
.main-console .dashboard .ui-fit .ui-header .ui-header-flex {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.main-console .dashboard .ui-fit .border-bottom {
  padding: 8px;
  padding-bottom: 8px;
}
.main-console .dashboard .ui-fit .amount {
  font-size: 5em;
}
.main-console .dashboard .ui-fit .meta {
  opacity: 0.5;
  font-size: 1.2em;
}
.main-console .dashboard .amount-card {
  padding: 40px 20px;
}
@media screen and (max-width: 640px) {
  .main-console .list {
    gap: 10px;
  }
  .main-console .list.sp-col2 .wrapper-list {
    width: calc((100% - 10px) / 2);
  }
  .main-console .list .wrapper-list {
    width: 100%;
  }
  .main-console .list .ui-fit .ui-header.navtile {
    padding: 10px;
  }
  .main-console .list .ui-fit .ui-header.navtile .ui-header-flex .manu-icon {
    width: 60px;
  }
  .main-console .list .ui-fit .contents .content-wrapper .content .medium {
    grid-template-columns: 1fr;
  }
  .main-console .list .ui-fit .contents .content-wrapper {
    padding: 10px;
  }
}

/* ウィジェットここまで */
/* タスクパネルここから */
.task-wrap {
  overflow-x: auto;
}
.task-wrap .task-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.task-wrap .task-list li {
  width: 300px;
  height: 78vh;
  border-top: 3px solid #CFCFCF;
  border-radius: 5px;
  margin: 0;
}
.task-wrap .task-list li.red {
  border-top: 3px solid #FF6D59;
}
.task-wrap .task-list li.yellow {
  border-top: 3px solid #F4E137;
}
.task-wrap .task-list li.blue {
  border-top: 3px solid #95B3FF;
}
.task-wrap .task-list li .ui-fit {
  background-color: #E5E5E5;
}
.task-wrap .task-list li .task-list-count {
  background-color: #EFEFEF;
  border-radius: 10px;
  padding: 2px 10px;
  padding-top: 4px;
  margin-right: 5px;
  line-height: 1;
  font-weight: bold;
  font-size: 1.3rem;
  color: #A6A6A6;
}
.task-wrap .task-list .wrapper-list .wrapper-h-280 {
  height: 280px;
}
.task-wrap .task-list .wrapper-list .wrapper-h-438 {
  height: 438px;
}
.task-wrap .task-list .wrapper-list .wrapper-w-380 {
  width: 380px;
}
.task-wrap .task-list .wrapper-list .wrapper-w-780 {
  width: 780px;
}
.task-wrap .task-list .wrapper-list .ui-fit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background-color: #E5E5E5;
  border-radius: 5px;
}
.task-wrap .task-list .wrapper-list .ui-fit .border-bottom {
  border-bottom: 1px solid #cbcbcb;
}
.task-wrap .task-list .wrapper-list .ui-fit .ui-header {
  color: #222;
  font-size: 16px;
  padding: 12px 20px;
  border-radius: 5px 5px 0 0;
  border-bottom: none;
}
.task-wrap .task-list .wrapper-list .ui-fit .ui-header .ui-header-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row;
          flex-flow: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.task-wrap .task-list .wrapper-list .ui-fit .ui-header .ui-header-flex h2 {
  font-size: 16px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents {
  overflow: auto;
  padding: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper {
  height: 100%;
  padding: 16px 20px 20px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content {
  height: calc(100% - 18px);
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .grid {
  display: grid;
  grid-auto-rows: 1fr;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .medium {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .item-wrapper {
  height: 39px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .item-container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .item-container .container {
  border-bottom: 1px solid #eaeded;
  margin-bottom: 12px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .row-margin-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 20px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 10px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item {
  width: 100%;
  position: relative;
  padding: 5px 10px;
  border-radius: 5px;
  background-color: #fefefe;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .alarm {
  position: absolute;
  left: 5px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: transparent;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .alarm._on {
  background-color: #FF6D59;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .more {
  position: absolute;
  left: auto;
  right: 5px;
  top: 5px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .detail {
  padding: 0 20px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .detail .task-title {
  font-size: 1.5rem;
  font-weight: bold;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .detail .task-detail {
  font-size: 1.1rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: self-end;
      -ms-flex-align: self-end;
          align-items: self-end;
  gap: 5px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status .limit {
  padding: 0 10px;
  border-radius: 15px;
  background-color: #a6a6a6;
  color: #fefefe;
  font-size: 1.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status .person_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 65px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status .person_wrap .person {
  width: 28px;
  height: 28px;
  background: #fefefe;
  overflow: hidden;
  border-radius: 50%;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status .person_wrap .person:not(:first-child) {
  margin-left: -10px;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status .person_wrap .person:first-child {
  z-index: 2;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status .person_wrap .person:nth-child(2) {
  z-index: 1;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status .person_wrap .person:nth-child(3) {
  z-index: 0;
}
.task-wrap .task-list .wrapper-list .ui-fit .contents .content-wrapper .content .task-item-wrap .task-item .status .person_wrap .person img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* タスクパネルここまで */
.inpup-file-label {
  color: #000;
  background-color: #ccc;
  padding: 1px 5px;
  cursor: pointer;
}

.box-side-newline {
  float: left;
  width: 25%;
}

.box-side-newline-15 {
  float: left;
  width: 15%;
}

.box-side-newline-40 {
  float: left;
  width: 40%;
}

/* ボタン ここから */
.btn {
  display: block;
  background: #ff9900;
  min-width: 160px;
  padding: 9px 10px 8px;
  font-size: 15px;
  text-decoration: none;
  text-align: center;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
  cursor: pointer;
  border: none;
}

.btn-top-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px;
}
.btn-top-area.position-left {
  text-align: left;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
.btn-top-area.position-center {
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn-top-area.position-right {
  text-align: right;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
.btn-top-area .btn-content:not(:first-child) {
  margin-left: 10px;
}

.btn-top-areas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.btn-top-areas .btn-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.btn-top-areas .btn-area.position-left {
  text-align: left;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
.btn-top-areas .btn-area.position-center {
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn-top-areas .btn-area.position-right {
  text-align: right;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
.btn-top-areas .btn-content:not(:first-child) {
  margin-left: 10px;
}

.btn-type1 {
  padding: 3px;
  background: #ff952b;
  color: #fff;
  font-size: 12px;
  display: inline-block !important;
  height: 30px;
}

.btn-type2 {
  padding: 3px;
  background: #ff0000;
  color: #fff;
  font-size: 12px;
  display: inline-block !important;
  height: 30px;
}

.btn-type3 {
  padding: 3px;
  background: #00AA00;
  color: #fff;
  font-size: 12px;
  display: inline-block !important;
  height: 30px;
}

.btn-type4 {
  font-size: 14px;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 60px;
  border: 1px solid #000;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
  padding: 7px 12px;
  cursor: pointer;
  min-width: 64px;
  background: #FFF;
}
.btn-type4.mini {
  height: auto;
  padding: 3px 8px;
  font-size: 12px;
}
.btn-type4:disabled {
  background: #aab8d0;
  color: #f0f0f0;
  cursor: not-allowed;
  opacity: 0.6;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: none;
          transform: none;
}

.btn-a-type1 {
  border-radius: 2px;
  background: #f6f7f7;
  color: #135e96;
  padding: 3px 0 2px 0;
}
.btn-a-type1 a {
  color: #135e96;
  padding: 2px 6px;
  border: 1px solid #135e96;
}
.btn-a-type1 a:hover {
  color: #0a4b78;
  border-color: #0a4b78;
  text-decoration: none;
}

.btn-a-type2 {
  display: inline-block;
  padding: 3px;
  width: 100px;
  text-align: center;
  margin: 5px 5px 5px 0;
  border-radius: 10px;
  border: 1px solid #eee;
  background: #fff;
}
.btn-a-type2.on {
  background: #0000cd;
  color: #fff;
}

.btn-edit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 12px;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 3px 10px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  cursor: pointer;
}
.btn-edit img {
  width: 17px;
}
.btn-edit:hover {
  opacity: 0.6;
}

.btn-square-little-rich-entity {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.btn-square-little-rich-box {
  text-align: center;
  margin-bottom: 10px;
}

.btn-square-little-rich-entity > .btn-square-little-rich-box {
  float: left;
  margin: 5px;
}

.btn-square-little-rich-box > .btn-square-little-rich {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #FFF;
  background: #03A9F4;
  /*色*/
  border: solid 1px #0f9ada;
  /*線色*/
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

.btn-square-little-rich-entity > .btn-square-little-rich-box > .btn-square-little-rich:active {
  /*押したとき*/
  border: solid 1px #03A9F4;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-shadow: none;
}
.btn-square-little-rich-entity > .btn-square-so-pop-box {
  float: left;
  margin: 5px;
}
.btn-square-little-rich-entity > .btn-square-so-pop-box > .btn-square-so-pop {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #FFF;
  background: #fd9535;
  /*背景色*/
  border-bottom: solid 2px #d27d00;
  /*少し濃い目の色に*/
  border-radius: 4px;
  /*角の丸み*/
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
  font-weight: bold;
}
.btn-square-little-rich-entity > .btn-square-so-pop-box > .btn-square-so-pop:active {
  border-bottom: solid 2px #fd9535;
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}

.btn-point {
  font-size: 12px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
  padding: 5px 15px;
  cursor: pointer;
  min-width: 64px;
  background: #ff9a00;
  border: 0;
  color: #fefefe;
  border: 1px solid #ff9a00;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  -webkit-box-shadow: 0 2px 0 #e68b00, 0 2px 4px rgba(255, 140, 0, 0.25);
          box-shadow: 0 2px 0 #e68b00, 0 2px 4px rgba(255, 140, 0, 0.25);
}
.btn-point:hover:not(:disabled) {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  -webkit-box-shadow: 0 1px 0 #b36c00, 0 1px 2px rgba(255, 120, 0, 0.35);
          box-shadow: 0 1px 0 #b36c00, 0 1px 2px rgba(255, 120, 0, 0.35);
  -webkit-filter: brightness(0.98);
          filter: brightness(0.98);
}
.btn-point:active:not(:disabled) {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25);
          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25);
  -webkit-filter: brightness(0.95);
          filter: brightness(0.95);
}
.btn-point:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  -webkit-transform: none;
          transform: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn-point.color-046CC6 {
  background: #046CC6;
  border: 1px solid #046CC6;
}
.btn-point.color-6C92B2 {
  background: #6C92B2;
  border: 1px solid #6C92B2;
}
.btn-point.color-808b94 {
  background: #808b94;
  border: 1px solid #808b94;
}
.btn-point.color-E6413A {
  background: #E6413A;
  border: 1px solid #E6413A;
}
.btn-point.color-fff {
  background: #fff;
  color: #ff9a00;
}
.btn-point.color-gray {
  background: #fff;
  color: #575757;
  border: 1px solid #ddd;
}
.btn-point.toggle-password {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.btn-point.no-shadow {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.btn-point.mini {
  height: auto;
  padding: 5px 8px;
  font-size: 12px;
  max-height: 29px;
}
.btn-point.click:hover {
  -webkit-transform: translate3d(0, 2px, 0);
          transform: translate3d(0, 2px, 0);
}
.btn-point.click:disabled {
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: none;
          transform: none;
}
.btn-point:disabled {
  border: 1px solid #607D8B;
  background: #607D8B;
  color: #fff;
  cursor: not-allowed;
  opacity: 0.6;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: none;
          transform: none;
}

.btn-map {
  border: 1px solid #ff9a00;
  background: #fff4e5;
  border-radius: 3px;
  position: relative;
  padding: 4px 16px;
  min-width: auto;
  padding-left: 30px;
  font-size: 12px;
}
.btn-map::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(https://cdn.a-pollo.jp/img/icon/map.svg) no-repeat center/contain;
  width: 20px;
  height: 20px;
}
.btn-map:hover {
  background: #ffe0b2;
}

.btn-download {
  display: inline-block;
  padding: 2px 10px;
  background: #ffdfe2;
  color: #d9534f;
  border-radius: 20px;
  font-size: 10px;
  text-decoration: none;
  -webkit-transition: background 0.2s ease, -webkit-transform 0.1s ease;
  transition: background 0.2s ease, -webkit-transform 0.1s ease;
  transition: background 0.2s ease, transform 0.1s ease;
  transition: background 0.2s ease, transform 0.1s ease, -webkit-transform 0.1s ease;
}
.btn-download:hover {
  background: #ffe8ce;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}

#punch-form .btn-point {
  font-size: 4rem;
  width: 100%;
  min-width: 300px;
  min-height: 150px;
}

.btn-point-white {
  font-size: 14px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 36px;
  border-radius: 3px;
  line-height: 21px;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
  padding: 6px 12px 7px;
  cursor: pointer;
  min-width: 64px;
  border: 1px solid #c5c5c6;
  background: #fff;
  color: #222;
}
.btn-point-white:hover {
  -webkit-transform: translate3d(0, 2px, 0);
          transform: translate3d(0, 2px, 0);
}

.btn-point-red {
  font-size: 14px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 36px;
  border-radius: 3px;
  line-height: 21px;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
  padding: 6px 12px 7px;
  cursor: pointer;
  min-width: 64px;
  border: 1px solid #E6413A;
  background: #E6413A;
  color: #fff;
}
.btn-point-red:hover {
  -webkit-transform: translate3d(0, 2px, 0);
          transform: translate3d(0, 2px, 0);
}

.btn-search-blue-img {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: 0;
  vertical-align: middle;
  cursor: pointer;
  background-color: #fdfdfd;
  background-image: url(https://cdn.a-pollo.jp/img/icon/ico_search_blue.png);
  background-size: cover;
}

.btn-web-search-img {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: 0;
  vertical-align: middle;
  cursor: pointer;
  background-color: #fdfdfd;
  background-image: url(https://cdn.a-pollo.jp/img/icon/ico_web_search.png);
  background-size: cover;
}

.btn-add {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: 0;
  vertical-align: middle;
  cursor: pointer;
  background-color: #fff;
}

.btn-add-img {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: 0;
  vertical-align: middle;
  cursor: pointer;
  background-color: #fff;
  background-image: url(https://cdn.a-pollo.jp/img/icon/ico_btn_add.png);
  background-size: cover;
}

.btn-del {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: 0;
  vertical-align: middle;
  cursor: pointer;
  color: red;
  background-color: #fff;
}

.btn-del-img {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: 0;
  vertical-align: middle;
  cursor: pointer;
  color: red;
  background-color: #fff;
  background-image: url(https://cdn.a-pollo.jp/img/icon/ico_btn_del.png);
  background-size: cover;
}

.btn-pointer {
  cursor: pointer;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-grab {
  cursor: -webkit-grab;
  cursor: grab;
}

.hover-btn {
  border: none;
  border-radius: 3px;
  padding: 5px;
  font-weight: bold;
  -webkit-box-shadow: 0px 2px 0 #ddd;
          box-shadow: 0px 2px 0 #ddd;
  -webkit-transition: 0.1s;
  transition: 0.1s;
}
.hover-btn:hover {
  -webkit-transform: translate3d(0, 2px, 0);
          transform: translate3d(0, 2px, 0);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.kensaku {
  border: none;
  font-size: 0.8rem;
  padding: 1px;
  background: #cccccc;
  color: #222;
}
.kensaku input {
  border: none;
  background: transparent;
}

.btn-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%; /* 親要素の高さに合わせる */
  aspect-ratio: 1/1; /* 正方形にする */
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.btn-icon-trash {
  background: url(https://cdn.a-pollo.jp/img/icon/ico_trash.svg) no-repeat center/70% 70%;
}

.btn-icon:hover {
  -webkit-filter: brightness(0.95);
          filter: brightness(0.95);
}

.btn-icon:focus-visible {
  outline: 2px solid #1675e6;
  outline-offset: 2px;
  border-radius: 4px;
}

/* ボタン ここまで */
/* スイッチ ここから */
.switch-toggle {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
  vertical-align: middle;
  margin-right: 5px;
}
.switch-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch-toggle input:checked + .switch-slider {
  background-color: #1675e6;
}
.switch-toggle input:checked + .switch-slider::before {
  -webkit-transform: translateX(20px);
          transform: translateX(20px);
}
.switch-toggle.square .switch-slider {
  border-radius: 4px;
}
.switch-toggle.square .switch-slider::before {
  border-radius: 2px;
}

.switch-slider {
  position: absolute;
  cursor: pointer;
  background-color: #ccc;
  border-radius: 9999px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.switch-slider::before {
  content: "";
  position: absolute;
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: #fff;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
  border-radius: 50%;
}

/* スイッチ ここまで */
/* ダイアログ ここから */
.dialog-overlay {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  /* フルスクリーンではない時の背景色を指定 */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 9999;
  /* オーバーレイが他の要素の上に表示されるようにz-indexを設定 */
}

.dialog {
  background: #efefef;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100vw;
  height: 100dvh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.dialog-title {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  padding: 10px;
  border-bottom: 1px solid #ccc;
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px));
  z-index: 100;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.dialog-title h1 {
  font-size: 24px;
}
@media screen and (max-width: 640px) {
  .dialog-title {
    padding: 10px 5px;
  }
  .dialog-title h1 {
    font-size: 11px;
  }
}

.dialog-close-btn {
  height: 32px;
  vertical-align: middle;
}
@media screen and (max-width: 640px) {
  .dialog-close-btn {
    height: 20px;
  }
}

.dialog-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: auto;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-height: 0;
}
.dialog-content > .main-content {
  width: 100%;
  height: calc(100% - 40px);
}
.dialog-content > .main-content > .main-contents {
  padding: 0 10px;
  height: 100%;
}
.dialog-content > .main-content.left-menu-120 {
  position: absolute;
  left: 120px;
  width: calc(100% - 120px);
}
.dialog-content > .main-content.left-menu-200 {
  position: absolute;
  left: 200px;
  width: calc(100% - 200px);
}
.dialog-content > .main-content.top-btn-40 {
  position: absolute;
  height: calc(100% - 40px);
}
.dialog-content > .main-content.top-btn-40 .slider-container {
  top: 40px;
}
.dialog-content > .main-content.bottom-btn-40 > .main-contents {
  overflow-y: scroll;
}
.dialog-content > .main-content.bottom-btn-50 {
  height: calc(100% - 50px);
}
.dialog-content > .main-content.bottom-btn-50 > .main-contents {
  overflow-y: scroll;
}
.dialog-content .content-split-horizontal #main-content-area {
  position: absolute;
  height: calc(100% - 40px);
}
.dialog-content .content-split-horizontal .main-content {
  overflow: auto;
}
.dialog-content .content-split-horizontal .main-content.bottom-btn-50 {
  height: calc(100% - 50px);
}

#dialog2:has(.btn-bottom-fixed) {
  padding-bottom: 65px;
}

.dialog-width-height-50pe {
  width: 50%;
  height: 50%;
}
@media screen and (max-width: 640px) {
  .dialog-width-height-50pe {
    width: 85%;
  }
}

/* ダイアログ ここまで */
/* スライダー ここから */
.slider-container {
  width: 100%;
  overflow: hidden;
  height: 100%;
  position: relative;
}
.slider-container .slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
.slider-container .slider .slider-content {
  min-width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f0f0f0;
}
.slider-container .slider .slider-content > div {
  width: 100%;
}

/* スライダー ここまで */
/* hoverアイコン ここから */
.hover-icon-wrap {
  position: relative;
  -webkit-transition: 0.01s;
  transition: 0.01s;
}
.hover-icon-wrap .hover-icon {
  opacity: 0;
  position: absolute;
  left: auto;
  right: 3px;
  top: 3px;
  z-index: 2;
}
.hover-icon-wrap .hover-icon ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.hover-icon-wrap .hover-icon ul li {
  color: #fefefe;
  font-weight: bold;
  background-color: #DF5656;
  border-radius: 3px;
  font-size: 0.8rem;
  padding: 0 5px;
  padding-bottom: 1.5px;
}
.hover-icon-wrap:hover .table-area {
  -webkit-filter: brightness(0.7);
          filter: brightness(0.7);
}
.hover-icon-wrap:hover .hover-icon {
  opacity: 1;
}

/* hoverアイコン ここまで */
.fixed-height-view-content-area {
  overflow: auto;
}

.pager-area {
  margin-top: 10px;
}
.pager-area .pager-contents {
  text-align: center;
}
.pager-area .pager-contents a {
  font-size: 13px;
}

.w-num {
  z-index: 0;
  right: 2px;
  bottom: 2px;
  color: #ffffff;
  padding: 1px 3px 1px 3px;
  font-weight: normal;
  text-align: center;
  border-radius: 10px;
  font-size: 12px;
  line-height: 100%;
  display: inline;
  vertical-align: 1px;
  margin-left: 3px;
  background: #b7282e;
}

hr {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
}
hr:after {
  content: "▼";
  position: relative;
  padding: 0 10px;
  color: #ff7f50;
  font-size: 15px;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
hr.hr-top:after {
  content: "▲";
}

hr.border {
  border-top: 1px solid #eee;
}
hr.border:after {
  display: none;
}

.tel {
  margin: 0 10px;
}

span.tel {
  font-size: 10px;
}
span.before-open {
  margin: 0 5px;
  color: #32cd32;
  font-size: 12px !important;
}
span.renewal {
  margin: 0 5px;
  color: #f15a22;
  font-size: 12px !important;
}

.vacation-off {
  background: #eee;
}

.calendar-head {
  padding: 5px;
  text-align: center;
}

.hissu {
  background: #ff0000;
  color: #ffffff;
  padding: 0 2px 0 2px;
  border-radius: 3px;
  margin-left: 5px;
  font-size: 12px;
}

.total_getugaku {
  background: #ff0000;
  color: #fff;
  border: 2px solid #000000;
  padding: 2px;
  font-weight: bold;
  text-align: right;
}

.inpup-label {
  width: 75px;
  text-align: center;
  color: #000;
  background-color: #ccc;
  padding: 1px 5px;
  cursor: pointer;
}

.scrollbar {
  min-height: 100px;
  max-height: 400px;
  overflow-y: scroll;
  overflow-x: hidden;
  background: #efefef;
  padding: 15px;
  border: 1px solid #ddd;
  margin-bottom: 15px;
}
.scrollbar h3 {
  font-size: larger;
  margin: 10px 0;
}
.scrollbar h4 {
  margin: 5px 0;
}
.scrollbar p {
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
}
.scrollbar table {
  border-collapse: collapse;
  border: 1px solid #70757a;
  padding: 3px;
}
.scrollbar th,
.scrollbar td {
  border: 1px solid #70757a;
  padding: 3px;
}
.scrollbar ol,
.scrollbar ul,
.scrollbar li {
  list-style: decimal;
  list-style-position: outside;
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
}

ol.brackets > li {
  counter-increment: cnt;
}
ol.brackets > li::marker {
  content: "(" counter(cnt) ") ";
}

/* リンク ここから */
.link-a-type1 a {
  color: #135e96;
}
.link-a-type1 a:link {
  color: #135e96;
}

/* リンク ここまで */
label > input[type=checkbox] {
  vertical-align: -2px;
}

input[type=date],
input[type=month],
input[type=number],
input[type=text],
select {
  max-width: 100%;
  min-width: 140px;
  border: 1px solid #eee;
  padding: 5px 10px;
  font-size: 1.15em;
}
input[type=date].min-width-100pe,
input[type=month].min-width-100pe,
input[type=number].min-width-100pe,
input[type=text].min-width-100pe,
select.min-width-100pe {
  min-width: 100%;
}
input[type=radio] {
  vertical-align: middle;
  margin: 0 3px 3px 5px !important;
}

.ai-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flex2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  gap: 10px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.flex2 .child {
  width: 45%;
}

header.login-header {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 12px;
  line-height: 1.75;
  font-family: helvetica neue, Arial, hiragino kaku gothic pron, hiragino sans, Meiryo, sans-serif;
  background: #fff;
  width: 100%;
  height: 55px;
  padding: 12px 10px;
  /* position: fixed; */
  top: 0;
  left: 0;
  z-index: 100000000;
  border-bottom: #e5e5e5 1px solid;
}
header.login-header * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
header.login-header .logo {
  display: block;
  width: 170px;
}
header.login-header .open {
  width: 100%;
  height: 0;
  overflow: hidden;
  position: absolute;
  top: 55px;
  left: 0;
}
header.login-header .open_btn {
  display: block;
  background: #2980b9;
  width: 55px;
  height: 54px;
  position: absolute;
  top: 0;
  right: 0;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  text-indent: 200%;
}
header.login-header .open_btn span {
  display: block;
  background: #fff;
  width: 26px;
  height: 2px;
  margin: -1px 0 0 -13px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
header.login-header .open_btn span::before {
  margin-top: -8px;
  -webkit-animation: open_btn01 0.75s forwards;
  animation: open_btn01 0.75s forwards;
}
header.login-header .open_btn span::after {
  margin-top: 8px;
  -webkit-animation: open_btn02 0.75s forwards;
  animation: open_btn02 0.75s forwards;
}
header.login-header .open_btn span::before {
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  position: absolute;
  background: #fff;
  top: 0;
  left: 0;
}
header .open_btn span::after {
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  position: absolute;
  background: #fff;
  top: 0;
  left: 0;
}
header.login-header a:link {
  color: #333;
  text-decoration: none;
}
header.login-header nav {
  background: #fff;
  border-bottom: #e5e5e5 1px solid;
}
header.login-header .menu {
  margin-right: 40px;
}
header.login-header .menu > li {
  border-bottom: #e5e5e5 1px solid;
}
header.login-header .menu > li > a {
  display: block;
  padding: 16px 18px;
  position: relative;
  font-weight: 700;
  font-size: 14px;
}

#contents.login_page {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 640px) {
  #contents.login_page {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 5vw;
    max-width: 95%;
    margin: auto;
    height: 100vh;
  }
}

.login_page,
.login_bg {
  background-color: #efefef;
  padding-top: 0 !important;
}
@media screen and (max-width: 640px) {
  .login_page,
  .login_bg {
    padding-bottom: 0 !important;
  }
}

.loginPage * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.pageTit {
  display: table;
  margin: 0 auto 40px;
  padding: 0 10px;
  position: relative;
  font-size: 22px;
  font-weight: 700;
  color: #222;
  line-height: 1.3;
  letter-spacing: 1px;
}

.login_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ff9a00;
}
.login_wrap .apollo-logo {
  width: 170px;
  margin: 0 auto;
  display: block;
  -webkit-animation: fadein 3s ease-out forwards;
          animation: fadein 3s ease-out forwards;
}
.login_wrap .login_input {
  padding: 30px;
  background: #fefefe;
  border-radius: 0 10px 10px 0;
}
.login_wrap .login_input.forget_pass {
  border-radius: 0 0 10px 10px;
}
.login_wrap .pageTit {
  color: #fefefe;
  margin: 0 auto;
}
.login_wrap .apollo-login img {
  width: 30px;
}
@media screen and (max-width: 640px) {
  .login_wrap {
    grid-template-columns: 1fr;
  }
  .login_wrap .apollo-logo {
    width: 120px;
  }
  .login_wrap .pageTit {
    font-size: 14px;
  }
  .login_wrap .login_title {
    padding: 20px;
  }
  .login_wrap .login_input {
    border-radius: 0 0 10px 10px;
    padding: 20px;
  }
}

.forget_wrap {
  display: block;
  text-align: center;
}

label {
  cursor: pointer;
}
label.readonly {
  pointer-events: none;
}

.catch {
  background: #eb2d2d;
  display: inline-block;
  margin: 3px 0 0 5px;
  padding: 4px 6px;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  border-radius: 3px;
  vertical-align: top;
}

.catch03 {
  display: inline-block;
  margin: 3px 0 0 5px;
  padding: 4px 6px;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  border-radius: 3px;
  vertical-align: top;
}

.addition {
  font-size: 10px;
  color: #888;
  margin: 5px 5px 0 0;
  line-height: 1.5 !important;
}

.loginPage a,
.loginPage input {
  outline: none;
}

.loginType li div dl, .loginType li div dl dt, .loginType li div dl dd {
  margin: 0;
  padding: 0;
}
.loginType li div dl {
  width: 100%;
  display: grid;
  grid-template-columns: 40px 1fr;
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
  row-gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.loginType li div dl dt,
.loginType li div dl dd {
  padding: 8px 0;
}
.loginType li div dl dt {
  grid-column: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.loginType li div dl dd {
  grid-column: 2;
  min-height: 34px;
}
.loginType li div dl dd:empty::after {
  content: " ";
  display: block;
  height: 1em;
}
.loginType li div dl dd input {
  width: 100%;
  padding: 10px 12px;
  height: auto;
  font-size: 16px;
  border: none;
  border-bottom: #b4b4b4 2px solid;
}
.loginType li div dl dd span {
  margin: 10px 0 0;
  font-size: 12px;
}
.loginType li.forget_pass {
  overflow: hidden;
  text-align: center;
  margin-bottom: 0;
  padding: 30px 0 10px;
  font-weight: bold;
}
.loginType li.forget_pass input {
  font-size: 14px;
  border: none;
  border-bottom: #b4b4b4 2px solid;
}
.loginType li.forget_pass a {
  color: #222;
}
.loginType li > p {
  padding: 20px 0 18px;
  font-size: 17px;
  line-height: 1;
  text-align: center;
  letter-spacing: 1px;
  font-weight: bold;
}
.loginType li .btn {
  width: 200px;
  height: 40px;
  margin: 16px auto 0;
  margin: 10px auto 0;
  font-size: 16px;
  display: block;
}
.loginType li .login .other-login .other {
  margin: 30px auto 0;
  width: 280px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.loginType li .login .other-login div.sentence {
  color: #808080;
  margin: 0px 18px 0px 18px;
}
.loginType li .login .other-login .other div.line {
  border-bottom: solid 1px #808080;
  position: relative;
  width: 100px;
  height: 1px;
  top: 0.6em;
}
@media screen and (max-width: 640px) {
  .loginType li.forget_pass {
    padding: 20px 0 5px;
  }
  .loginType li > p {
    padding: 10px 0 8px;
    font-size: 14px;
  }
  .loginType li div dl {
    row-gap: 8px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .loginType li div dl dt, .loginType li div dl dd {
    padding: 4px 0;
  }
  .loginType li div dl dd input {
    font-size: 12px;
    padding: 8px 10px;
  }
}

.login-ico-left {
  margin-right: auto;
}

.login-btn {
  margin: auto;
}

input.login-btn,
div.login-btn-area {
  color: #fff !important;
}

input.glogin-btn-area,
div.glogin-btn-area {
  background: #fff;
  color: #000 !important;
  border: solid 1px #000;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.pwStart h2 {
  padding: 10px;
  font-size: 14px;
  font-weight: 700;
}
.pwStart > p {
  margin: 10px 0 0;
}
.pwStart ul {
  margin: 20px 0 0;
}
.pwStart ul li h3 {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 700;
  color: #ff9900;
}
.pwStart ul li h3 span {
  display: block;
  width: 70px;
  height: 20px;
  margin: 0 0 6px;
  padding: 3px 0 0;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  border: #ff9900 1px solid;
  border-radius: 10px;
}
.pwStart ul li dl {
  background: #f5f5f5;
  padding: 4px 10px 14px;
  margin: 20px 0 0;
  overflow: hidden;
}
.pwStart ul li dl dt,
.pwStart ul li dl dd {
  font-size: 12px;
}
.pwStart ul li .btn {
  margin: 20px auto 0;
  color: #fff;
  font-size: 16px;
}

.grayBtn,
input.grayBtn {
  background: #a6a5a5 !important;
}

.err-msg {
  color: #ff0000;
}

input.view-type {
  border: none;
  outline: none;
  background-color: transparent;
  /* font-family: inherit; */
  /* font-size: inherit; */
  color: inherit;
  cursor: pointer;
}

.ico-side-by-side {
  vertical-align: middle;
}

@media only screen and (min-width: 1120px) {
  header.login-header {
    padding: 30px 30px 10px;
  }
}
@media only screen and (min-width: 960px) {
  header.login-header .logo {
    width: 207px;
    -webkit-transition: opacity 0.3s ease-in-out 0s;
    transition: opacity 0.3s ease-in-out 0s;
  }
  header.login-header .open {
    width: auto;
    height: auto !important;
    margin-top: 20px;
    position: static;
    overflow: inherit !important;
  }
  header.login-header nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: 0 0;
    border-bottom: none;
  }
  header.login-header .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  header.login-header .menu > li {
    border-bottom: none !important;
  }
  header.login-header .menu > li:not(:first-child) {
    margin-left: 40px;
  }
  header.login-header .menu > li > a {
    padding: 0;
    -webkit-transition: color 0.3s ease-in-out 0s;
    transition: color 0.3s ease-in-out 0s;
  }
  header.login-header .open_btn {
    display: none;
  }
}
@media print, screen and (min-width: 961px) {
  header.login-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 92px;
    padding: 30px 10px 10px;
    border-bottom: none;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  }
  .pwStart ul li:first-child:before {
    right: -40px;
  }
}
@media only screen and (min-width: 769px) {
  header.login-header {
    font-size: 14px;
    top: 29px;
  }
}
@media only screen and (min-width: 640px) {
  header.login-header {
    font-size: 13px;
  }
}
@media print, screen and (min-width: 641px) {
  body {
    font-size: 14px;
  }
  #main {
    width: 960px;
    min-width: 960px;
    margin: 0 auto;
  }
  .pageTit {
    font-size: 20px;
    margin: 0 auto 60px;
    letter-spacing: 1px;
  }
  .pwStart h2 {
    padding: 12px 15px 10px;
    font-size: 16px;
  }
  .pwStart > p {
    margin: 22px 0 0;
  }
  .pwStart ul {
    margin: 36px 0 0;
    overflow: hidden;
  }
  .pwStart ul li h3 {
    font-size: 16px;
  }
  .pwStart ul li dl {
    padding: 10px 20px 20px;
    margin: 26px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: center;
            flex-direction: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .pwStart ul li dl dt {
    height: 36px;
    line-height: 36px;
    font-size: 14px;
    margin: 10px 0 0;
  }
  .pwStart ul li dl dd {
    margin: 10px 0 0;
    min-width: 60%;
  }
  .pwStart ul li:first-child:before {
    content: "";
    display: block;
    background: #ccc;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    right: -20px;
  }
  .pwStart ul li dl dd input {
    height: 36px;
    padding: 0 14px;
    width: 100%;
    height: 34px;
    padding: 0 10px;
    font-size: 14px;
  }
}
@media print, screen and (max-width: 490px) {
  .pwStart dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 15px 5px;
  }
  .pwStart dd {
    min-width: 60%;
  }
}
.btn,
.forget_pass,
.google-login {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.btn :hover,
.forget_pass :hover,
.google-login :hover {
  opacity: 0.8;
}

/* =========================================
   パスワード＋目アイコン 共通
   - 従業員詳細：.form-item 内
   - ログイン   ：.password-row 内
   ========================================= */
/* 入力欄の右側にアイコン分の余白を確保 */
.password-field {
  padding-right: 44px;
}

/* ▼ 従業員詳細の行ラッパーだけ flex & relative */
.form-item:has(.password-field) .disp-flex-align-center {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* ▼ ログイン画面のパスワード行は位置決めだけ */
.password-row {
  position: relative; /* flex にしない！ */
}

/* 目アイコンボタンの基本レイアウト */
.form-item:has(.password-field) .toggle-password,
.password-row .toggle-password {
  position: absolute;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 28px !important; /* inline の width:100px を上書き */
  height: 28px !important;
  min-width: 28px !important;
  padding: 0;
  margin-left: 0 !important; /* m-left-5 を打ち消す */
  border: 0;
  background: none;
  cursor: pointer;
  text-indent: -9999px; /* ボタン文字は隠す */
  overflow: hidden;
  border-radius: 4px;
  outline: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  -webkit-box-shadow: none !important;
          box-shadow: none !important; /* btn-point の影を消す */
}
.form-item:has(.password-field) .toggle-password:hover,
.password-row .toggle-password:hover {
  -webkit-transform: translateY(-50%) !important;
          transform: translateY(-50%) !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

/* hover でちょっとだけ濃く（お好みで） */
.form-item:has(.password-field) .toggle-password:hover,
.password-row .toggle-password:hover {
  color: #333;
}

/* focus 時も枠や影は出さない */
.form-item:has(.password-field) .toggle-password:focus,
.form-item:has(.password-field) .toggle-password:focus-visible,
.password-row .toggle-password:focus,
.password-row .toggle-password:focus-visible {
  outline: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

/* =========================================
   アイコン切り替え
   ========================================= */
/* type=password → 斜線なしの「見る」アイコン */
.form-item:has(.password-field[type=password]) .toggle-password,
.password-row:has(.password-field[type=password]) .toggle-password {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/><circle cx='12' cy='12' r='3'/></svg>");
}

/* type=text → 斜線入りの「隠す」アイコン */
.form-item:has(.password-field[type=text]) .toggle-password,
.password-row:has(.password-field[type=text]) .toggle-password {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/><circle cx='12' cy='12' r='3'/><path d='M3 3l18 18'/></svg>");
}

/* ===== LINEボタン：CDNなし・埋め込みSVGで“LINEロゴ”＆スリム化 ===== */
a[href^="https://miniapp.line.me"] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 0 10px 0 6px;
  border-radius: 8px;
  background: #06C755;
  border: 1px solid #05b64e;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  line-height: 1;
  -webkit-transition: -webkit-filter 0.15s ease;
  transition: -webkit-filter 0.15s ease;
  transition: filter 0.15s ease;
  transition: filter 0.15s ease, -webkit-filter 0.15s ease;
}

a[href^="https://miniapp.line.me"]:hover {
  -webkit-filter: brightness(0.95);
          filter: brightness(0.95);
}

/* 左ブロック＋LINEロゴ（あなたのSVGを白で上にのせる） */
a[href^="https://miniapp.line.me"]::before {
  content: "";
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  /* ↓ 提示のFont Awesome Free v7の line アイコンを data URI で埋め込み（白で描画） */
  background-image: url("data:image/svg+xml;utf8,  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'>  <path fill='%23fff' d='M375 260.8L375 342.1C375 344.2 373.4 345.8 371.3 345.8L358.3 345.8C357 345.8 355.9 345.1 355.3 344.3L318 294L318 342.2C318 344.3 316.4 345.9 314.3 345.9L301.3 345.9C299.2 345.9 297.6 344.3 297.6 342.2L297.6 260.9C297.6 258.8 299.2 257.2 301.3 257.2L314.2 257.2C315.3 257.2 316.6 257.8 317.2 258.8L354.5 309.1L354.5 260.9C354.5 258.8 356.1 257.2 358.2 257.2L371.2 257.2C373.3 257.1 375 258.8 375 260.7L375 260.8zM281.3 257.1L268.3 257.1C266.2 257.1 264.6 258.7 264.6 260.8L264.6 342.1C264.6 344.2 266.2 345.8 268.3 345.8L281.3 345.8C283.4 345.8 285 344.2 285 342.1L285 260.8C285 258.9 283.4 257.1 281.3 257.1zM249.9 325.2L214.3 325.2L214.3 260.8C214.3 258.7 212.7 257.1 210.6 257.1L197.6 257.1C195.5 257.1 193.9 258.7 193.9 260.8L193.9 342.1C193.9 343.1 194.2 343.9 194.9 344.6C195.6 345.2 196.4 345.6 197.4 345.6L249.6 345.6C251.7 345.6 253.3 344 253.3 341.9L253.3 328.9C253.3 327 251.7 325.2 249.8 325.2L249.9 325.2zM443.6 257.1L391.3 257.1C389.4 257.1 387.6 258.7 387.6 260.8L387.6 342.1C387.6 344 389.2 345.8 391.3 345.8L443.5 345.8C445.6 345.8 447.2 344.2 447.2 342.1L447.2 329C447.2 326.9 445.6 325.3 443.5 325.3L408 325.3L408 311.7L443.5 311.7C445.6 311.7 447.2 310.1 447.2 308L447.2 294.9C447.2 292.8 445.6 291.2 443.5 291.2L408 291.2L408 277.5L443.5 277.5C445.6 277.5 447.2 275.9 447.2 273.8L447.2 260.8C447.1 258.9 445.5 257.1 443.5 257.1L443.6 257.1zM576 157.4L576 483.4C575.9 534.6 533.9 576.1 482.6 576L156.6 576C105.4 575.9 63.9 533.8 64 482.6L64 156.6C64.1 105.4 106.2 63.9 157.4 64L483.4 64C534.6 64.1 576.1 106.1 576 157.4zM505.6 297.5C505.6 214.1 421.9 146.2 319.2 146.2C216.5 146.2 132.8 214.1 132.8 297.5C132.8 372.2 199.1 434.9 288.7 446.8C310.5 451.5 308 459.5 303.1 488.9C302.3 493.6 299.3 507.3 319.2 499C339.1 490.7 426.5 435.8 465.7 390.8C492.7 361.1 505.6 331 505.6 297.7L505.6 297.5z'/>  </svg>");
}

/* 既存のボタン系スタイルが擬似要素で装飾している場合の保険 */
a[href^="https://miniapp.line.me"]::after {
  content: none;
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.menu-nav button.category-title, .menu-nav .category-title {
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  cursor: pointer;
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
  padding: 10px;
  color: #fff;
  font-weight: 700;
  -webkit-transition: 0.1s;
  transition: 0.1s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.toggle-header button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}

.mode-accessible #timecard-date {
  font-size: clamp(28px, 3vw, 50px) !important;
}
.mode-accessible #timecard-time {
  font-size: clamp(48px, 16vw, 100px) !important;
}
.mode-accessible .ms-parent.single .ms-choice {
  height: auto !important;
  padding: 10px 12px !important;
  min-height: 5em;
}
.mode-accessible .ms-parent.single .ms-choice > span {
  font-size: clamp(24px, 3vw, 35px) !important;
}
@media screen and (max-width: 1180px) {
  .mode-accessible .ms-parent.single .ms-choice > span {
    font-size: clamp(24px, 5vw, 50px) !important;
  }
  .mode-accessible .ms-drop ul > li label span {
    font-size: clamp(18px, 3vw, 50px) !important;
  }
  .mode-accessible #timecard-date {
    font-size: clamp(28px, 7vw, 60px) !important;
    white-space: nowrap;
  }
  .mode-accessible #timecard-time {
    font-size: clamp(48px, 16vw, 140px) !important;
  }
  .mode-accessible #punch-form .btn-point {
    font-size: clamp(40px, 9vw, 100px);
  }
}
@media screen and (max-width: 640px) {
  .mode-accessible #punch-form form > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
  .mode-accessible #punch-form form > div > div {
    width: 100% !important;
    margin-left: 0 !important;
  }
  .mode-accessible .ms-parent.single .ms-choice {
    min-height: 4em;
  }
}

@supports selector(:has(*)) {
  :root:has(.mode-accessible #punch-form) .ms-drop ul > li label span {
    font-size: clamp(18px, 3vw, 30px) !important;
  }
}
.accessible-text-xl div, .accessible-text-xl span, .accessible-text-xl applet, .accessible-text-xl object, .accessible-text-xl iframe,
.accessible-text-xl h1, .accessible-text-xl h2, .accessible-text-xl h3, .accessible-text-xl h4, .accessible-text-xl h5, .accessible-text-xl h6, .accessible-text-xl p, .accessible-text-xl blockquote, .accessible-text-xl pre,
.accessible-text-xl a, .accessible-text-xl abbr, .accessible-text-xl acronym, .accessible-text-xl address, .accessible-text-xl big, .accessible-text-xl cite, .accessible-text-xl code,
.accessible-text-xl del, .accessible-text-xl dfn, .accessible-text-xl em, .accessible-text-xl img, .accessible-text-xl ins, .accessible-text-xl kbd, .accessible-text-xl q, .accessible-text-xl s, .accessible-text-xl samp,
.accessible-text-xl small, .accessible-text-xl strike, .accessible-text-xl strong, .accessible-text-xl sub, .accessible-text-xl sup, .accessible-text-xl tt, .accessible-text-xl var,
.accessible-text-xl b, .accessible-text-xl u, .accessible-text-xl i, .accessible-text-xl center,
.accessible-text-xl dl, .accessible-text-xl dt, .accessible-text-xl dd, .accessible-text-xl ol, .accessible-text-xl ul, .accessible-text-xl li,
.accessible-text-xl fieldset, .accessible-text-xl form, .accessible-text-xl label, .accessible-text-xl legend,
.accessible-text-xl table, .accessible-text-xl caption, .accessible-text-xl tbody, .accessible-text-xl tfoot, .accessible-text-xl thead, .accessible-text-xl tr, .accessible-text-xl th, .accessible-text-xl td, .accessible-text-xl input, .accessible-text-xl select, .accessible-text-xl textarea, .accessible-text-xl .ms-search input {
  font-size: 30px !important;
}
.accessible-text-xl .form-item {
  padding: 5px 20px;
}
.accessible-text-xl .form-item > .label150 {
  -ms-flex-preferred-size: 300px;
      flex-basis: 300px;
}
.accessible-text-xl .form-item > .label {
  padding: 0 0 0 20px;
}
.accessible-text-xl .form-item > .label.hissu2::before {
  left: 3px;
}
.accessible-text-xl .form-item .content-wrapper select {
  height: 45px;
}
.accessible-text-xl .form-item .content-wrapper .disp-flex-align-center {
  gap: 10px;
}
.accessible-text-xl .form-item .content-wrapper .disp-flex-align-center .width-20pe {
  width: 35%;
}
.accessible-text-xl .form-item .content-wrapper input[type=text], .accessible-text-xl .form-item .content-wrapper input[type=time], .accessible-text-xl .form-item .content-wrapper input[type=number], .accessible-text-xl .form-item .content-wrapper input[type=date], .accessible-text-xl .form-item .content-wrapper input[type=month], .accessible-text-xl .form-item .content-wrapper input[type=datetime], .accessible-text-xl .form-item .content-wrapper input[type=datetime-local], .accessible-text-xl .form-item .content-wrapper input[type=password] {
  height: 45px;
}
@media screen and (max-width: 640px) {
  .accessible-text-xl div, .accessible-text-xl span, .accessible-text-xl applet, .accessible-text-xl object, .accessible-text-xl iframe,
  .accessible-text-xl h1, .accessible-text-xl h2, .accessible-text-xl h3, .accessible-text-xl h4, .accessible-text-xl h5, .accessible-text-xl h6, .accessible-text-xl p, .accessible-text-xl blockquote, .accessible-text-xl pre,
  .accessible-text-xl a, .accessible-text-xl abbr, .accessible-text-xl acronym, .accessible-text-xl address, .accessible-text-xl big, .accessible-text-xl cite, .accessible-text-xl code,
  .accessible-text-xl del, .accessible-text-xl dfn, .accessible-text-xl em, .accessible-text-xl img, .accessible-text-xl ins, .accessible-text-xl kbd, .accessible-text-xl q, .accessible-text-xl s, .accessible-text-xl samp,
  .accessible-text-xl small, .accessible-text-xl strike, .accessible-text-xl strong, .accessible-text-xl sub, .accessible-text-xl sup, .accessible-text-xl tt, .accessible-text-xl var,
  .accessible-text-xl b, .accessible-text-xl u, .accessible-text-xl i, .accessible-text-xl center,
  .accessible-text-xl dl, .accessible-text-xl dt, .accessible-text-xl dd, .accessible-text-xl ol, .accessible-text-xl ul, .accessible-text-xl li,
  .accessible-text-xl fieldset, .accessible-text-xl form, .accessible-text-xl label, .accessible-text-xl legend,
  .accessible-text-xl table, .accessible-text-xl caption, .accessible-text-xl tbody, .accessible-text-xl tfoot, .accessible-text-xl thead, .accessible-text-xl tr, .accessible-text-xl th, .accessible-text-xl td, .accessible-text-xl input, .accessible-text-xl select, .accessible-text-xl textarea, .accessible-text-xl .ms-search input {
    font-size: 25px !important;
  }
  .accessible-text-xl .form-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .accessible-text-xl .form-item > .label {
    -ms-flex-preferred-size: initial !important;
        flex-basis: initial !important;
    width: 100%;
  }
  .accessible-text-xl .form-item .content-wrapper .content {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .accessible-text-xl .form-item .content-wrapper input[type=date],
  .accessible-text-xl .form-item .content-wrapper input[type=month],
  .accessible-text-xl .form-item .content-wrapper input[type=number],
  .accessible-text-xl .form-item .content-wrapper input[type=text],
  .accessible-text-xl .form-item .content-wrapper select {
    min-width: 100%;
  }
}

.accessible-text-l div, .accessible-text-l span, .accessible-text-l applet, .accessible-text-l object, .accessible-text-l iframe,
.accessible-text-l h1, .accessible-text-l h2, .accessible-text-l h3, .accessible-text-l h4, .accessible-text-l h5, .accessible-text-l h6, .accessible-text-l p, .accessible-text-l blockquote, .accessible-text-l pre,
.accessible-text-l a, .accessible-text-l abbr, .accessible-text-l acronym, .accessible-text-l address, .accessible-text-l big, .accessible-text-l cite, .accessible-text-l code,
.accessible-text-l del, .accessible-text-l dfn, .accessible-text-l em, .accessible-text-l img, .accessible-text-l ins, .accessible-text-l kbd, .accessible-text-l q, .accessible-text-l s, .accessible-text-l samp,
.accessible-text-l small, .accessible-text-l strike, .accessible-text-l strong, .accessible-text-l sub, .accessible-text-l sup, .accessible-text-l tt, .accessible-text-l var,
.accessible-text-l b, .accessible-text-l u, .accessible-text-l i, .accessible-text-l center,
.accessible-text-l dl, .accessible-text-l dt, .accessible-text-l dd, .accessible-text-l ol, .accessible-text-l ul, .accessible-text-l li,
.accessible-text-l fieldset, .accessible-text-l form, .accessible-text-l label, .accessible-text-l legend,
.accessible-text-l table, .accessible-text-l caption, .accessible-text-l tbody, .accessible-text-l tfoot, .accessible-text-l thead, .accessible-text-l tr, .accessible-text-l th, .accessible-text-l td, .accessible-text-l input, .accessible-text-l select, .accessible-text-l textarea, .accessible-text-l .ms-search input {
  font-size: 16px !important;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .accessible-text-l div, .accessible-text-l span, .accessible-text-l applet, .accessible-text-l object, .accessible-text-l iframe,
  .accessible-text-l h1, .accessible-text-l h2, .accessible-text-l h3, .accessible-text-l h4, .accessible-text-l h5, .accessible-text-l h6, .accessible-text-l p, .accessible-text-l blockquote, .accessible-text-l pre,
  .accessible-text-l a, .accessible-text-l abbr, .accessible-text-l acronym, .accessible-text-l address, .accessible-text-l big, .accessible-text-l cite, .accessible-text-l code,
  .accessible-text-l del, .accessible-text-l dfn, .accessible-text-l em, .accessible-text-l img, .accessible-text-l ins, .accessible-text-l kbd, .accessible-text-l q, .accessible-text-l s, .accessible-text-l samp,
  .accessible-text-l small, .accessible-text-l strike, .accessible-text-l strong, .accessible-text-l sub, .accessible-text-l sup, .accessible-text-l tt, .accessible-text-l var,
  .accessible-text-l b, .accessible-text-l u, .accessible-text-l i, .accessible-text-l center,
  .accessible-text-l dl, .accessible-text-l dt, .accessible-text-l dd, .accessible-text-l ol, .accessible-text-l ul, .accessible-text-l li,
  .accessible-text-l fieldset, .accessible-text-l form, .accessible-text-l label, .accessible-text-l legend,
  .accessible-text-l table, .accessible-text-l caption, .accessible-text-l tbody, .accessible-text-l tfoot, .accessible-text-l thead, .accessible-text-l tr, .accessible-text-l th, .accessible-text-l td, .accessible-text-l input, .accessible-text-l select, .accessible-text-l textarea, .accessible-text-l .ms-search input {
    font-size: 14px !important;
  }
}

[data-editing="0"] .edit-mode {
  display: none !important;
}
[data-editing="0"] .view-mode {
  display: block !important;
}

[data-editing="1"] .edit-mode {
  display: block !important;
}
[data-editing="1"] .view-mode {
  display: none !important;
}

@supports selector(:has(*)) {
  [data-editing]:not(:has(.view-mode)) .edit-mode {
    display: block !important;
  }
  [data-editing]:not(:has(.edit-mode)) .view-mode {
    display: block !important;
  }
  @supports (display: revert) {
    [data-editing]:not(:has(.view-mode)) .edit-mode {
      display: revert !important;
    }
    [data-editing]:not(:has(.edit-mode)) .view-mode {
      display: revert !important;
    }
  }
}
input.view {
  border: none;
  outline: none;
  background: transparent;
  color: #000;
}

textarea.view {
  border: none;
  outline: none;
  background: transparent;
  color: #000;
  resize: none;
}

/* ===== FINAL PATCH for #page-main-form ===== */
/* #page-main-form 自体をスクロール容器に固定 */
#page-main-form {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important; /* ← デフォルトは中央寄り防止で0 */
  width: auto !important;
  /* ヘッダー内画面：上余白なし */
  padding-top: 0 !important;
  /* デフォルトは全高（ボタンなし画面） */
  height: 100svh !important;
  /* スクロールを有効化 */
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  background: #efefef;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 下固定ボタンがある時の高さ算出に使う変数 */
  --btn-h: var(--btn-fixed-h, 55px);
  /* 内側スクロールをすべて殺して一本化 */
}
@supports not (height: 100svh) {
  #page-main-form {
    height: 100vh !important;
  }
}
#page-main-form #page-contents,
#page-main-form .main-content-parent,
#page-main-form .main-content-area,
#page-main-form .main-content {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
#page-main-form .tab-content {
  padding-bottom: 0 !important;
}

/* 左メニューがある画面だけ offset 適用 */
body:has(.left-menu-fixed) #page-main-form {
  left: var(--lm-w) !important;
}

#page-main-form:has(.left-menu.second) {
  left: var(--lm2-w) !important;
}

body:has(.left-menu.second) #page-main-form {
  left: var(--lm2-w) !important;
}

/* タブレット以下は全幅 */
@media screen and (max-width: 896px) {
  #page-main-form {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }
}
/* ▼ 下固定ボタンがあるページ
   → 高さそのものを減らして見た目の白帯を防止＋スクロールバー隠れ防止 */
#page-main-form:has(.btn-bottom-fixed) {
  height: calc(100svh - var(--btn-h) - env(safe-area-inset-bottom, 0px)) !important;
  padding-bottom: 0 !important;
}

@supports (-webkit-touch-callout: none) {
  #page-main-form:has(.btn-bottom-fixed) {
    height: calc(100svh - var(--btn-h) - constant(safe-area-inset-bottom, 0px)) !important;
  }
}
@supports not (height: 100svh) {
  #page-main-form:has(.btn-bottom-fixed) {
    height: calc(100vh - var(--btn-h)) !important;
  }
}
/* 下部ボタンとスクロールの干渉防止 */
#page-main-form .btn-bottom-fixed {
  pointer-events: none;
}

#page-main-form .btn-bottom-fixed * {
  pointer-events: auto;
}

/* ▼ LINE（ヘッダー無し）＋スマホ幅＋下固定ボタンあり のときだけ #page-main-form をゆるめる */
@supports selector(body:has(*)) {
  @media screen and (max-width: 768px) {
    body:not(:has(header, #header, .header, .global-header)) #page-main-form:has(.btn-bottom-fixed) {
      /* 高さ固定をやめて、普通の縦スクロールにする */
      position: static !important;
      height: auto !important;
      min-height: 100vh !important;
      overflow-y: visible !important;
      /* 画面下の固定ボタンに被らないように余白を確保 */
      padding-bottom: calc(var(--btn-h, 55px) + env(safe-area-inset-bottom, 0px)) !important;
    }
  }
}
/* =========================================
   #page-main-form 付きフォーム画面のスマホだけ
   → 通常の縦スクロールに戻すパッチ
   ========================================= */
@media screen and (max-width: 640px) {
  /* 1) html / body 両方のスクロールを解禁 */
  html,
  body {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  /* 2) #page-main-form を「固定レイアウト」から「普通のブロック」に戻す */
  #page-main-form {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow-y: visible !important;
    /* 画面下の固定ボタンに被らないように余白を確保 */
    padding-bottom: calc(var(--btn-h, 55px) + env(safe-area-inset-bottom, 0px)) !important;
  }
}
/* ===== / FINAL PATCH ===== */
/* ============== 日報（一覧＋フォーム） ============== */
.daily-report {
  max-width: 800px;
  margin: 0 auto;
  /* 一覧 */
  /* アイコンボタン（画像） */
}
.daily-report .daily-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 12px;
}
.daily-report .daily-title {
  font-weight: 700;
}
.daily-report .daily-count {
  color: #667085;
}
.daily-report .form-mini {
  border: none !important;
}
.daily-report .form-mini .form-item {
  border: none !important;
}
.daily-report .daily-list {
  list-style: none;
}
.daily-report .daily-list .daily-list-item {
  border: 1px solid #eee;
  background: #fefbf7;
}
.daily-report .daily-list .daily-list-item:not(:last-of-type) {
  margin-bottom: 8px;
}
.daily-report .daily-list .daily-list-item .form-item {
  background: transparent;
}
.daily-report .daily-list .daily-list-item .daily-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
}
.daily-report .daily-list .daily-list-item .daily-row .daily-item-left {
  gap: 8px;
}
.daily-report .daily-list .daily-list-item .daily-open__form {
  margin-top: 5px;
  background: #fff;
  padding: 16px;
  border-radius: 5px;
}
.daily-report .daily-item-left,
.daily-report .daily-item-right {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
.daily-report .daily-badge-role {
  background: #ff9a00;
  padding: 0 10px;
  color: #fff;
  border-radius: 999px;
  font-size: 0.9em;
}
.daily-report .daily-chip-name {
  font-weight: 700;
}
.daily-report .daily-icon-edit {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  line-height: 1;
}
.daily-report .daily-icon-edit .icon-edit {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: -2px;
}
.daily-report .btn-top-areas {
  margin-top: 10px !important;
}
.daily-report .icon-trash {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: -2px;
  -webkit-filter: invert(1);
          filter: invert(1);
}
@media screen and (max-width: 640px) {
  .daily-report .daily-list .daily-list-item .daily-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .daily-report .daily-list .daily-list-item .daily-row .daily-item-right {
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .daily-report .daily-list .daily-list-item .daily-open__form {
    padding: 8px;
  }
  .daily-report input, .daily-report select, .daily-report textarea, .daily-report button, .daily-report .ms-search input {
    font-size: 12px !important;
  }
}

/* ===== iOS Safari 固定要素クリップ対策（スマホ） ===== */
@media screen and (max-width: 896px) {
  /* 祖先側のクリップ・ containing block になり得る要素を無効化 */
  .left-menu.second,
  .left-menu.second .menu-nav,
  .left-menu.second .menu-nav > ul {
    overflow-y: visible !important;
    -webkit-transform: none !important;
            transform: none !important; /* 変換があると fixed が祖先基準になる */
    -webkit-filter: none !important;
            filter: none !important;
    contain: none !important;
    -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
  }
  /* ふだんは横スクロール維持（ここは従来どおり） */
  .left-menu.second .menu-nav > ul {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: auto !important; /* iOS でのバグを抑制 */
  }
  /* ─ メニューを「開いている時だけ」ULをスクロール親にしない ─
     inline の style="display: block" が付くのを :has() で検知 */
  @supports selector(.menu-nav:has(.submenu-container)) {
    .left-menu.second .menu-nav:has(.submenu-container[style*="display: block"]) > ul {
      overflow-x: visible !important; /* ← これでクリップ源を断つ */
      -webkit-overflow-scrolling: auto !important;
    }
  }
  /* サブメニュー本体：画面基準で固定配置（位置・幅だけ） */
  .left-menu.second .submenu-container {
    position: fixed !important;
    top: calc(var(--header-h, 65px) + 43px) !important; /* 2列目の下(43px) */
    left: 5% !important;
    right: 5% !important; /* 幅90% */
    width: auto !important;
    z-index: 2147483647 !important;
  }
}
/* =========================================================
   従業員日報用レイアウト（登録済み一覧＋編集＋新規登録）
   ========================================================= */
.daily-report-form button {
  cursor: pointer;
}
.daily-report-form .daily-report-row {
  background: rgba(255, 154, 0, 0.05);
  border: 1px solid #ddd;
  padding: 12px;
}
.daily-report-form .daily-report-row.open {
  border-bottom: none;
}
.daily-report-form .daily-report-edit {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease, opacity 0.3s ease;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
.daily-report-form .daily-report-edit.is-open {
  max-height: 1200px;
  opacity: 1;
}
.daily-report-form .badge-foreman {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 2px;
  font-size: 11px;
  background: #ff9a00;
  color: #fff;
  border-radius: 20px;
}
.daily-report-form .daily-report-edit .title {
  padding: 6px 12px;
  font-size: 13px;
  border-bottom: 1px solid #eee;
}
.daily-report-form .daily-report-edit .content {
  padding: 10px 12px 12px;
}
.daily-report-form .daily-report-edit .form-item {
  margin-bottom: 10px;
}
.daily-report-form .daily-report-edit .form-item .content-wrapper .content {
  margin: 0 !important;
  padding: 0 !important;
}
.daily-report-form .daily-report-edit .form-item:last-child {
  margin-bottom: 0;
}
.daily-report-form .daily-report-edit .form-item:last-child .disp-flex-content-justify-space-between {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.daily-report-form .daily-report-edit .form-mini {
  margin-bottom: 10px;
}
.daily-report-form .daily-report-edit .form-mini .form-item {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 640px) {
  .daily-report-form .daily-report-edit .form-mini .form-item {
    margin-bottom: 10px !important;
  }
}
.daily-report-form .daily-report-edit .label.label120 {
  font-size: 13px;
  padding-top: 4px;
}
.daily-report-form .daily-report-edit .btn-point.mini {
  min-width: 80px;
  padding: 5px 12px;
}
.daily-report-form .daily-report-edit .btn-point.color-808b94 {
  margin-right: 4px;
}
.daily-report-form .daily-report-edit .btn-point.color-046CC6 {
  margin-right: 4px;
}