@charset "UTF-8";

/******** parts ********/
button.close{
  width:55px;
  aspect-ratio:1;
  position:absolute;
  right:25px;
  top:25px;
  z-index:1;
}
button.close hr {
  width:100%;
  height:1px;
  background-color:var(--black);
  position:absolute;
  top:50%;
  left:50%;
}
button.close hr:first-child {
  transform:translate(-50%,-50%) rotate(45deg);
}
button.close hr:last-child {
  transform:translate(-50%,-50%) rotate(-45deg);
}

/******** entrance ********/
.entrance {
  display: flex;
  justify-content: center;
  align-items:center;
  width:100vw;
  height:100vh;
  height:100svh;
  padding:0 0 60px 0;
}
.entrance a {
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:160px;
}
.entrance b {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:90%;
  margin:20px 0 0 0;
  padding:2px 0;
  color:var(--white);
  background-color:var(--black);
  border-radius:15px;
  font-size:85%;
  letter-spacing:.06rem;
}

/******** login ********/
.login {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100vw;
  height:100vh;
  height:100svh;
  padding:0 0 60px 0;
}
.login h1 {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  margin:0 0 25px 0;
}
.login h1 i {
  width:90px;
}
.login h1 b {
  margin:5px 0 0 0;
  font-size:16px;
}
.login form{
  display:flex;
  flex-direction:column;
  align-items:center;
  width: 300px;
}
.login p {
  margin:25px 0;
  font-size:85%;
}
.login input {
  border-radius:25px;
}
.login form input[type="text"] {}
.login form input[type="password"] {}
.login form input[type="submit"] {}

/******** alert *********/
.alert {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100%;
  height:100%;
  background-color:var(--white-97);
  z-index:1;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease-out, visibility .3s ease-out .3s;
  position:fixed;
  left:0;
  top:0;
}
.alert[data-alert-visible="1"] {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
.alert .scrollarea {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  width:100%;
  padding:120px 0 175px;
  overflow:auto;
}
.alert h2 {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  font-size:14px;
}
.alert h2 em {
  display:inline-flex;
  margin:0 6px 0 0;
  padding:2px 12px;
  color:var(--white);
}
.alert h2 b {
  margin:25px 0 0 0;
}
.alert h2 b small {
  margin:0 0 0 3px;
}
.alert .frame {
  width:calc(100% - 200px);
  margin:20px 0 50px 0;
}
.alert .frame > h3,
.alert .frame > div {
  width:100%;
}
.alert .confirm {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  max-width:400px;
  padding:1em 0;
  color:var(--white);
  background:var(--orange);
  border-radius:2.5vw;
}

/******** home *********/
.home{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:50px 0 0 0;
}
.home h2 {
  font-size:27px;
}
.homebody{
  display:flex;
  flex-wrap:wrap;
  width:calc(100% - 100px);
  max-width:1000px;
  margin:60px 0 0 0;
}
.homebody a{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:calc(100% / 3 - 10px);
  height:125px;
  margin:0 5px 10px;
  padding:10px 0 0 0;
  background:var(--base);
  border:solid 1px var(--gray);
  border-radius:6px;
}
.homebody a:nth-child(1),
.homebody a:nth-child(2),
.homebody a:nth-last-child(1),
.homebody a:nth-last-child(2) {
  width:calc(100% / 2 - 10px);
}
.home .homebody i {
  width:40px;
  aspect-ratio:1;
  margin:0 0 3px 0;
}

/******** basic list *********/
.basic_list {
  margin:50px 0 0 0;
}
.dateview + .basic_list {
  margin:25px 0 0 0;
}
.tool_search + .basic_list,
.ttlicon + .basic_list {
  margin:0;
}
.basic_list .sort_area {
  display:flex;
  flex-wrap:wrap;
  margin:0 -4px;
}
.basic_list .item {
  width:calc(100% / 2 - 8px);
  margin:4px;
  position:relative;
}
.basic_list .item:before {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:100px;
  padding:2px 0;
  border-radius:0 3px 0 3px;
  color:var(--white);
  font-size:75%;
  position:absolute;
  top:0;
  right:0;
  pointer-events:none;
  z-index:2;
}
.basic_list .item > * {
  display:inline-flex;
  flex-wrap:wrap;
  width:100%;
  border:1px solid var(--gray-75);
  border-radius:2px;
  font-size:90%;
  position:relative;
  overflow:hidden;
  cursor:pointer;
}
.basic_list .item picture {
  width:45%;
  max-width:175px;
  padding:20px;
  padding-right:0;
}
.basic_list .item .text {
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  width:55%;
  padding:20px;
}
.basic_list .item .text > * {
  line-height:1.8;
}
.basic_list .item .text p + p {
  margin:5px 0 0 0;
}
.basic_list .item .text h3 {
  display:inline-flex;
  align-items:center;
  margin:6px 0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.basic_list .item .text h3 i {
  font-size:13px;
}
.basic_list .item .text ul {
  display:flex;
  flex-wrap:wrap;
  margin:12px -2px 0 -2px;
}
.basic_list .item .text ul li {
  margin:2px;
  padding:6px;
  background-color:var(--lightgray);
}
.basic_list .item .decide {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  height:40px;
  background-color:var(--blue);
  border:1px solid var(--blue);
  color:var(--white);
  font-size:12px;
}
.basic_list .item .decide i {
  width:16px;
  aspect-ratio:1;
  margin:-2px 9px 0 0;
}

.basic_list.type_user .item:before {
  content:'一般利用者';
  background-color:var(--green);
}
.basic_list.type_user .item[data-user="sbd"]:before{
  content:"強度行動障害";
  background-color:var(--purple);
}
.basic_list.type_user .item[data-state="stop"]:before{
  content:"利用停止中";
  background-color:var(--black);
}

.basic_list.type_medicine .item {
  width:calc(100% / 3 - 8px);
}
.basic_list.type_medicine .item picture {
  width:100%;
  max-width:initial;
  padding:20px 20px 10px 20px;
}
.basic_list.type_medicine .item .text {
  width:100%;
  padding:0 20px 20px;
}
.basic_list.type_medicine .item:before {
  display:none;
}

/*********** user_data **********/
.user_data{}
.user_data h2 {
  margin:.5em 0 1em;
  font-size:16px;
  text-align:center;
  letter-spacing:.02rem;
}
.user_data h2 i {
  display:inline-flex;
  justify-content:center;
  align-items:center;
}
.user_data h3 {
  text-align:center;
  color:var(--white);
}
.user_data h3 i {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:3px 30px;
  border-radius:2px;
  font-size:95%;
}

.daily_block + .daily_block {
  margin:50px 0 0 0;
}

.daily_list {
  display:flex;
  flex-direction:column;
}
.daily_parts {
  display:flex;
  padding:0 30px;
}
.daily_parts + .daily_parts {
  margin:30px 0 0 0;
  padding:30px 30px 0;
  border-top:1px solid var(--gray);
}

.medicine_field .switch {
  margin:20px 0 0 0;
}
.medicine_field ul li {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  width:calc(100% / 1);
  height:50px;
  border:1px solid var(--gray);
  background-color:var(--white);
  font-size:95%;
  line-height:1.8;
}
.medicine_field ul li + li {
  border-top:none;
}
.medicine_field li i {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:110px;
  height:100%;
  min-height:50px;
  padding:0 1em;
  border-left:1px solid var(--gray);
  position:relative;
}
.medicine_field li i:first-child {
  justify-content:flex-start;
  width:calc(100% - 200px);
  border-left:none;
}

.activity_field ul li {
  border:none;
}
.activity_field ul li + li {
  margin:6px 0 0 0;
}
.activity_field li i:first-child {
  padding:0;
}
.activity_field label {
  width:100%;
}
.activity_field input[type="checkbox"] + span,
.activity_field input[type="radio"] + span {
  width:100%;
  margin:0;
  padding-right:0;
}
.activity_field .empty_message {
  justify-content:center;
  border:1px solid var(--gray);
  background-color:var(--white);
}

.other {
  height:auto;
}
.other .popup {
  width:100%;
  background-color:var(--white);
  border:1px solid var(--gray);
  border-top:none;
}
.other .box {
  width:100%;
  padding:25px;
}
.other .box + .box {
  border-top:1px solid var(--gray);
}
.other .entry {
  width:100%;
}
.other .entry > * {
  display:flex;
}
.other .entry label + label {
  margin:6px 0 0 0;
}
.other .info {
  justify-content:space-between;
  margin:10px 0 0 0;
}
.other .info > * {
  display:inline-flex;
  align-items:center;
  width:calc(100% / 2 - 5px);
}
.other .info mark {
  margin:0 0 0 5px;
}
.other .process {
  justify-content:space-between;
  margin:15px 0 0 0;
}
.other button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  height:50px;
  width:calc(100% / 2 - 5px);
  height:50px;
  border-radius:2px;
  color:var(--white);
}
.other .new_entry button {
  width:calc(100% / 1);
}
.other .result label {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:50px;
  padding:0 1em;
  border:1px solid var(--gray);
  cursor:default;
}
.other .result .info {
  margin:0;
}
.other .result .info > * {
  width:calc(100% / 2);
}
.other .result .info label {
  border-top:none;
}
.other .result .info > label + label {
  border-left:none;
}

.record_list {
  position:relative;
}
.record_block {
  display:flex;
  flex-direction:column;
  width:100%;
  border:1px solid var(--gray);
  position:relative;
}
.record_list .record_block + .record_block {
  margin:25px 0 0 0;
}
.record_block h2 {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 25px;
  background-color:var(--base);
  position:relative;
}
.record_block h2 > * {
  display:inline-flex;
  align-items:center;
}
.record_block h2 i {
  font-size:14px;
  letter-spacing:.04rem;
}
.record_block h2 b {
  display:inline-flex;
  padding:0 20px;
  color:var(--white);
  border-radius:2px;
  font-size:90%;
}
.record_block .exported {
  margin:0;
  background-color:initial;
}
.record_parts {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding:25px;
}
.record_parts + .record_parts {
  border-top:1px solid var(--gray);
}
.record_parts > * {
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}
.record_parts h3 {
  width:70px;
  padding:0;
}
.record_parts h3 i {
  position:relative;
}
.record_parts h3 > i + i {
  padding:20px 0 0 0;
}
.record_parts h3 > i + i:before {
  content:'〜';
  position:absolute;
  top:-3px;
  left:9px;
  transform:rotate(90deg);
}
.record_parts .field {
  width:calc(100% - 70px);
}
.record_parts .disorde {
  margin:20px 0 0 0;
}
.record_parts .disorde h3 {
  display:inline-flex;
  align-items:center;
  width:100%;
  padding:0 0 12px 0;
}
.record_parts .disorde h3 hr {
  width:10px;
  height:10px;
  border:1px solid;
  border-radius:50%;
  margin:0 6px 0 0;
}
.record_parts .disorde_detail {
  margin:0;
  padding:20px;
  background-color:var(--base);
}
.record_parts .disorde_detail + .disorde_detail {
  margin:5px 0 0 0;
}
.record_parts .disorde dl + dl {
  margin:5px 0 0 0;
}
.record_parts .disorde dd {
  display:flex;
  flex-direction:column;
}

.record_block .link_page {
  display:flex;
  justify-content:center;
  width:100%;
  margin:3px 0 25px 0;
}
.record_block .link_page a {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:calc(100% - 50px);
  height:50px;
  color:var(--white);
  background-color:var(--blue);
  border-radius:0 0 2px 2px;
}
.record_block .link_page a i {
  width:18px;
  aspect-ratio:1;
  margin:0 9px 0 0;
}

.plan_list {}
.plan_block {
  padding:25px;
  background-color:var(--base);
  border-top:1px solid var(--gray);
  border-bottom:1px solid var(--gray);
}
.plan_block + .plan_block {
  margin:25px 0 0 0;
}
.plan_block .empty_message {
  background-color:var(--white);
}
.plan_parts {
  display:flex;
  flex-direction:column;
}
.plan_parts + .plan_parts {
  margin:25px 0 0 0;
}
.plan_parts h2 {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.plan_parts h2 i {
  display:inline-flex;
  align-items:center;
  font-size:13px;
}
.plan_parts h2 i hr {
  height:8px;
  aspect-ratio:1 / .8;
  margin:0 5px 0 0;
  clip-path:polygon(0% 0%, 100% 0%, 50% 100%);
  background-color:var(--black);
}
.plan_parts .field {
  display:flex;
  flex-wrap:wrap;
  padding:20px 0 0 0;
  font-size:95%;
}

.sort_rule {
  flex-direction:column;
}
.sort_rule .add_stop {
  display:flex;
  flex-wrap:wrap;
  margin:0 -2px;
}
.sort_rule .add_stop button {
  display:inline-flex;
  align-items:center;
  padding:1em 1.5em;
  margin:2px;
  color:var(--white);
  border-radius:2px;
}
.sort_rule .add_stop i {
  width:12px;
  aspect-ratio:1;
  margin:0 3px 0 0;
}
.sort_process {
  margin:15px 0 0 0;
}
.sort_process .form_process {
  padding:15px 0 25px;
}

.invoice_list {
  display:flex;
  flex-wrap:wrap;
  margin:0 -4px;
}
 {
  width:calc(100% / 2 - 8px);
  margin:0 4px;
  border-radius:5px;
  position:relative;
}
.invoice_list .item {
  display:inline-flex;
  flex-wrap:wrap;
  width:calc(100% / 2 - 8px);
  margin:4px;
  border:1px solid var(--gray-75);
  border-radius:2px;
  line-height:1.8;
  position:relative;
  overflow:hidden;
  cursor:pointer;
}
.invoice_list .text {
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
}
.invoice_list .text h3 {
  display:flex;
  width:100%;
  padding:30px 20px 0;
}
.invoice_list .text h3 > i + i {
  padding:0 0 0 1em;
}
.invoice_list .text p {
  display:flex;
  flex-direction:column;
  padding:20px 20px 25px;
  font-size:95%;
}
.invoice_list .process {
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
}
.invoice_list .process > * {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:calc(100% / 2 - .5px);
  height:40px;
  color:var(--white);
  background-color:var(--blue);
}
.invoice_list .process > * + * {
  border-left:var(--gray-75);
}
.invoice_list .process i {
  width:18px;
  aspect-ratio:1;
  margin:0 5px 0 0;
}

.invoice_term {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  margin:50px 0;
}
.invoice_term > * {
  display:inline-flex;
  align-items:center;
  padding:5px 0;
}
.invoice_term h2 hr {
  height:8px;
  aspect-ratio:1 / .8;
  margin:0 5px;
  clip-path:polygon(0% 0%, 100% 0%, 50% 100%);
  background-color:var(--black);
}
.invoice_term select {
  width:6em;
}
.invoice_term mark {
  margin:0 5px;
}
.invoice_term h3 {
  font-size:85%;
}

.calculator {}
.calculator .line {
  display:flex;
  justify-content:space-between;
  min-height:45px;
  border-bottom:1px solid var(--gray);
  font-size:95%;
}
.calculator .line.head {
  color:var(--white);
  background-color:var(--black);
}
.calculator .line div {
  display:inline-flex;
  align-items:center;
  padding:1em;
}
.calculator .line > div + div {
  border-left:1px solid var(--gray);
}
.calculator .line div:first-child {
  justify-content:space-between;
  width:calc(100% - 80px * 3);
}
.calculator .line div:not(:first-child) {
  justify-content:center;
  width:80px;
}
.calculator .line button {
  display:inline-flex;
  align-items:center;
  padding:.75em 1em;
  border-radius:2px;
  color:var(--white);
  white-space:nowrap;
}
.calculator .line .plus {
  padding:.75em 2em;
}
.calculator .line .plus i {
  width:15px;
  aspect-ratio:1;
  margin:0 6px 0 0;
}
.calculator .process {
  display:inline-flex;
}
.calculator .process button {
  margin:0 0 0 5px;
  font-size:90%;
}
.calculator .line input[data-hide="1"] {
  display: none;
}
.calculator .thumb {
  display:flex;
  justify-content:flex-end;
  margin:20px 0 0 0;
}
.calculator .thumb ul {
  width:calc(80px * 3);
  padding:0 1em 0 0;
}
.calculator .thumb li {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:100%;
  padding:1em;
  border-bottom:1px solid var(--gray);
}
.calculator .thumb li > * {
  width:calc(100% / 2);
}
.calculator .thumb li mark {
  margin:0 6px;
  font-size:12px;
}
.calculator .thumb input {
  width:3em;
  min-height:35px;
  padding:0;
  text-align:center;
}
.calculator .thumb li:last-child {
  border-bottom:none;
}
.calculator .thumb li:last-child b {
  font-size:13px;
}
.calculator .form_process {
  padding:30px 0 0;
}

.download_this {
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:130px;
  aspect-ratio:1;
  padding:0 0 5px 0;
  border-radius:50%;
  line-height:1.6;
  color:var(--white);
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:10;
}
.download_this i {
  width:30px;
  aspect-ratio:1;
  margin:0 0 5px 0;
}

.report_block {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  border-top:1px solid var(--gray);
  border-left:1px solid var(--gray);
}
.report_block dl {
  display:flex;
  width:calc(100% / 1);
  border-right:1px solid var(--gray);
}
.report_block dt {
  display:inline-flex;
  justify-content:center;
  width:55px;
  padding:1.2em;
  background-color:var(--base);
  border-bottom:1px solid var(--gray);
}
.report_block dd {
  width:calc(100% - 55px);
}
.report_block dd .item {
  display:inline-flex;
  justify-content:space-between;
  width:100%;
}
.report_block dd .item > * {
  display:inline-flex;
  flex-direction:column;
  padding:1.2em;
  border-left:1px solid var(--gray);
  border-bottom:1px solid var(--gray);
}
.report_block dd i {
  justify-content:center;
  width:calc(100% - 125px);
}
.report_block dd i span {
  display:flex;
  flex-direction:column;
}
.report_block dd i > span + span {
  margin:15px 0 0 0;
}
.report_block dd b {
  justify-content:flex-start;
  align-items:center;
  width:125px;
  white-space:nowrap;
}
.report_block dl:first-child > * {
  background-color:var(--black);
  color:var(--white);
}
.report_block [data-type="lowlight"] {
  background-color:var(--lowlight);
}
.report_block [data-type="highlight"] {
  background-color:var(--highlight);
}

.report_list .thumb {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  margin:30px 0 50px 0;
}
.report_list .thumb li {
  display:flex;
  width:calc(80px * 3);
  padding:1.2em 0;
  border-bottom:1px solid var(--gray);
}
.report_list .thumb li:last-child {
  border-bottom:none;
}
.report_list .thumb li > * {
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}
.report_list .thumb li i {
  width:calc(100% - 125px);
  padding:0 1.2em;
}
.report_list .thumb li b {
  justify-content:center;
  width:125px;
}

.download_report {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  height:50px;
  color:var(--white);
  border-radius:2px;
}
.download_report i {
  width:20px;
  aspect-ratio:1;
  margin:0 9px 0 0;
}