@charset "utf-8";

* {
  margin: 0;
  padding: 0;
}

html {
  width: 100%;
  height: 100%;
  font-size: calc((100vw - 320px) / 140 + 16px);
  margin: 0;
  padding: 0;
}

body {
  width: 100%;
  height: 100%;
  color: #222;
  font-family:
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  -webkit-text-size-adjust: none;
  margin: 0;
  padding: 0;
  min-width: 600px;
  min-height: 100vh;
  /* -webkit-text-size-adjust: 100%; */
}

.container {
  height: 100%;
  min-height: 100%;
}

.contents {
  min-height: 100%;
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: 80px 70px auto auto auto auto auto auto auto 40px;
}

.header {
  width: 100%;
  display: grid;
  grid-column: 1 / 11;
  grid-row: 1 / 2;
  color: #356dad;
  text-indent: 1%;
  letter-spacing: 4px;
  background-color: #fcfcfc;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 999;
  /* background-color: #1995ad; */
}

.coName {
  display: grid;
  align-items: center;
}

.systemName {
  display: grid;
  font-weight: bold;
  align-items: center
}

.menu-btn {
  position: fixed;
  display: flex;
  width: 2em;
  height: 2em;
  top: 0.5em;
  right: 0.5em;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  margin: auto;
  z-index: 9999;
  background-image: radial-gradient(rgb(64, 115, 158), rgb(48, 125, 180));
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  width: 30px;
  height: 3px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
}

.menu-btn span:before {
  bottom: 8px;
}

.menu-btn span:after {
  top: 8px;
}

#menu-btn-check:checked~.menu-btn span {
  background-color: rgba(255, 255, 255, 0);
}

#menu-btn-check:checked~.menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#menu-btn-check:checked~.menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

#menu-btn-check {
  display: none;
}

.menu-content ul {
  padding: 70px 10px 0;
}

.menu-content ul li {
  border-bottom: solid 1px #dddddd;
  list-style: none;
}

.menu-content ul li a {
  display: block;
  width: 65%;
  color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  padding: 9px 15px 10px 0;
  position: relative;
}

.menu-content ul li a::before {
  /* content: ""; */
  width: 7%;
  height: 7%;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}

.menu-content {
  width: 25%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  white-space: nowrap;
  z-index: 9998;
  background-color: #3b6e92;
  transition: all 0.5s;
}

#menu-btn-check:checked~.menu-content {
  left: 75%;
}

/* エラー表示エリア */
.errorbox {
  position: fixed;
  top: 0;
  left: 20%;
  width: 50%;
  border: 2px solid #d4ced4;
  text-align: center;
  background-color: #f3f3f3;
  background:rgba(218, 212, 212, 0.2);
  padding: 1%; 
  z-index: 999;
  transform: translate(10%, 5%);
}

.errorbox .warning {
  color: #f31155;

    &:before {
	  content: "⚠️";
  }
}

.errorbox .Caution {
  color: #ec720dce;

    &:before {
    content: "❎";
  }
}

/* @keyframes blinkBorder {
  0% {
  border-color: #eee;
  }
  100% {
  border-color: #e6a899;
  }
} */

/* ページ名 */
.page {
  width: 100%;
  display: grid;
  grid-column: 1 / 11;
  grid-row: 2 / 3;
  grid-auto-flow: column;
  position: sticky;
  top: 80px;
  z-index: 99;
  align-items: center;
  grid-template-areas:
  "nav1 nav2 nav3";
  grid-template-columns: repeat(auto-fit, minmax(240px, 25%) minmax(150px, 71%) minmax(60px, 4%));
  background-color: #fff;
  /* margin-top: 5px;
  margin-bottom: 5px; */
}

.page_area1 {
  display: grid;
  grid-area: nav1;
  grid-auto-flow: column;
  color: #084061;
  font-size: calc((100vw - 320px) / 140 + 14px);
  text-indent: 0.7em;
  letter-spacing: 0.5em;
  white-space: nowrap;
}

.page_area2 {
  display: flex;
  grid-area: nav2;
  grid-auto-flow: column;
  grid-template-areas:
  "item name";
  color: #2c5e7a;
  font-size: calc((100vw - 320px) / 140 + 12px);
  white-space: nowrap;
  place-items: center;
}

.page_area2 p {
  grid-area: item;
  padding-right: 0.5em;
}

.page_area2 div {
  grid-area: name;
}

.page_area3 {
  display: grid;
  grid-area: nav3;
  grid-auto-flow: column;
  grid-template-columns: 1fr;
  justify-content: flex-end;
  margin-right: 0.5em;
}

.main {
  width: 100%;
  display: grid;
  grid-column: 1 / 11;
  grid-row: 3 / 10;
  background-color: #fff;
  /* margin-bottom: 0.3em; */
}

.main_container {
  display: grid;
  align-self: start;
  margin: 0 0.5em 0.3em 0.5em;
}

.footer {
  display: grid;
  grid-column: 1 / 11;
  grid-row: 10 / 11;
  color: #fff;
  text-align: center;
  align-items: center;
  place-content: center;
  background: radial-gradient(circle, #335a74, rgb(139, 165, 182) 80%);
}

input[type="text"],
input[type="number"],
input[type="password"],
input[type="date"],
button,
select,
.button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"] {
  border-radius: 10px;
  padding: 0.2em;
  text-indent: 0.5em;
  font-size: calc((100vw - 320px) / 140 + 16px);
  border: 3px solid #d4d4d4;
}

input[type="text"],
input[type="number"],
input[type="password"],
input[type="date"] {
  width: 100%;
  /* height: 100%; */
  color: #222222;
  text-indent: 0.1rem;
  padding: 0;
  border: 1px solid #dfdfdf;
  border-radius: 0px;
  background: #fff;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  padding: 0.5em var(--padding-x);
}

input:focus,
select:focus {
  color: #222222;
  outline: none;
  border: 1px solid #9ad8eb;
  background: #e1f4ff;
  outline: #88939e 1px double;
}

button {
  width: auto;
  color: #ffffff;
  text-align: center;
  font-size: calc((100vw - 320px) / 140 + 16px);
  font-family: Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  border-radius: 5px;
  border: 1px solid #337997;
  background: #1995ad;
  box-shadow: 2px 2px 4px gray;
  cursor: pointer;
  transition: 0.2s;
  white-space: nowrap;
  padding: 0 0.4em;
}

button:hover {
  background-color: rgba(25, 148, 173, 0.788);
}

button:active{
  color: #ffffff;
  background-color: rgba(0, 125, 163, 0.6);
  -webkit-transform: translate(0,2px);
	-moz-transform: translate(0,2px);
	transform: translate(0,2px);  
  transition: 0.2s;
}

.button {
  width: auto;
  color: #ffffff;
  text-align: center;
  font-size: calc((100vw - 320px) / 140 + 16px);
  font-family: Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  border-radius: 5px;
  border: 1px solid #337997;
  background: #1995ad;
  box-shadow: 2px 2px 4px gray;
  cursor: pointer;
  transition: 0.2s;
  white-space: nowrap;
  padding: 0 0.4em;
}

.button:hover {
  background-color: rgba(44, 135, 163, 0.6);
}

.button:active{
  color: #ffffff;
  background-color: rgba(0, 125, 163, 0.6);
  -webkit-transform: translate(0,2px);
	-moz-transform: translate(0,2px);
	transform: translate(0,2px);  
  transition: 0.2s;
}

 .Backbtn {
/*  border: 1px solid #5b6264;
  background: #737b7e; */
  width: auto;
  color: #ffffff;
  text-align: center;
  font-size: calc((100vw - 320px) / 140 + 16px);
  font-family: Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  border-radius: 5px;
  border: 1px solid #5b6264;
  background: #737b7e;
  box-shadow: 2px 2px 4px gray;
  cursor: pointer;
  transition: 0.2s;
  white-space: nowrap;
  padding: 0 0.4em;
}

.Backbtn:hover {
  background-color: rgba(115, 123, 126, 0.808);
}

.DLbtn {
  background: #5f7694;
}

.DLbtn:hover {
  background-color: rgba(115, 123, 126, 0.808);
}

/* dialog {
  width: auto;
  height: auto;
  min-width: 50%;
  min-height: 17em;
  background: #f8f8f8;
  border-radius: 3%;
  border: 2px solid #a7a0a0;
  box-shadow: 2px 2px 4px gray;
  padding: 1em;
  z-index: 99999;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  vertical-align: middle;
  place-content: center;
  overflow: hidden;
  white-space: pre-wrap;
}

dialog p {
  font-size: calc((100vw - 320px) / 140 + 16px);
}

.dlgBtn {
  display: flex;
  grid-auto-flow: column;
  place-content: center;
}

.dlgBtn button:first-of-type {
  margin-right: 1em;
} */

select {
  font-size: calc((100vw - 320px) / 140 + 16px);
  appearance: none; 
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #aaa;
  border-radius: 4px;
  padding: 3px 25px 3px 10px;
  background-color: #fff;
  cursor: pointer; 
  text-align: center;
}

.select:disabled {
  pointer-events: none;
  background-color: #f1f1f1;
  color: #aaa;
}

.select-wrapper {
  display: block;
  position: relative;
}

.select-wrapper::after {
  display: block;
  height: auto;
  content: '';
  border: 5px solid #333;
  border-bottom: 0;
  border-left-color: transparent;
  border-right-color: transparent;
  position: absolute;
  right: 5%;
  top: 45%;
  pointer-events: none;
}

.select-wrapper--disabled::after {
  border-top-color: #aaa;
}

.ac-box,
.ac-box1,
.ac-box2 {
  position: relative;
  place-content: center;
}

.ac-box label,
.ac-box1 label,
.ac-box2 label {
  display: block;
  width: 1.2em;
  color: #fff;
  text-align: center;
  border-radius: 9999px;
  background-color: #ddd;
  background: #aa9fa3;
  cursor: pointer;
  transition: all 0.5s;
}

.ac-box label:hover,
.ac-box1 label:hover,
.ac-box2 label:hover {
  background: rgba(146, 132, 0, 0.55);
}

.ac-box input,
.ac-box1 input,
.ac-box2 input {
  display: none;
}

.ac-box input:checked ~ div,
.ac-box1 input:checked ~ div,
.ac-box2 input:checked ~ div {
  opacity: 1; 
}

.ac-box div p,
.ac-box1 div p,
.ac-box2 div p {
  color: #fff;
  font-size: calc((100vw - 320px) / 140 + 10px);
}

.flex {
  display: flex;
  white-space: nowrap;
  justify-content: flex-start;
  align-items: center;
}

.flex_R {
  display: flex;
  white-space: nowrap;
  justify-content: flex-end;
}

.flex_R .item {
  position: relative;
  right: 6.5%;
  padding-left: 2%;
  padding-bottom: 0.5%;
}

.catergory {
  display: grid;
  grid-template-rows: subgrid;
  color: #222;
  letter-spacing: 0.4em;
  background-color: #e9e9e9;
  border-bottom: 1.5px solid #57acb3de;
  text-indent: 0.5em;
  margin-top: 0.3em
}

.link {
  color: #2896c5;
  cursor: pointer;
}

hr {
	border: none;
	border-bottom: solid 1px #dadada;
}

.errorMsg {
  color: #D9485C;
  text-align: center;
}

.caution {
  color: #f13232;
  font-size: calc((100vw - 320px) / 140 + 7px);
}

.wave {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #86c3e7, transparent);
  animation: waveMove 4s linear infinite;
}

@keyframes waveMove {
  0% {
    top: 99%;
  }

  50% {
    top: 100%;
  }

  100% {
    top: 99%;
  }
}


/* 携帯縦向き */
  @media screen and (max-width: 480px) {

    body {
      min-width: 0;
      min-height: 0;
    }

    .menu-content {
      width: 40%;
    }

    #menu-btn-check:checked~.menu-content {
      left: 60%;
    }

    .contents {
      grid-template-rows: 60px 40px auto auto auto auto auto auto auto 40px;
    }

    .page {
      position: sticky;
      top: 60px;
      grid-template-columns: minmax(180px, 20%) minmax(150px, 75%) minmax(60px, 5%);
      margin-top: 0;
    }

    .page_area1 {
      font-size: calc((100vw - 320px) / 140 + 13px);
      letter-spacing: 0.3em;
    }

    .page_area2 {
      font-size: 9px;
    }
    
    .page_area3 {
      margin-right: 4px;
      padding: 0 5px;
    }

    input[type="text"],
    input[type="number"],
    input[type="date"] {
      padding: 5px;
    }

    /* dialog {
	    width: 75%;
    } */

    input[type="date"] {
      height: 1.7em;
    }

    input[type="date"]::-webkit-date-and-time-value {
      text-align: left;
    }

  }

/* 携帯横向き */
  @media (orientation: landscape) and (max-width: 767px) {

    body {
      min-width: 0;
      min-height: 0;
    }

    .contents {
      grid-template-rows: 0 60px auto auto auto auto auto auto auto 40px;
    }

    .header {
      display: none;
    }

    .page {
      position: sticky;
      top: 0;
      margin-top: 0;
      margin-bottom: 0;
    }

    .page_area2 {
      grid-template-columns: minmax(40px, 15%) minmax(180px, 85%);
    }

    .page_area3 {
      margin-right: 5px;
      padding: 0 5px;
    }

    /* dialog {
	    width: 60%;
      height: 70%;
      min-width: 50%;
      min-height: 12em;
    } */

    input[type="date"] {
      height: 1.8em;
    }

    input[type="date"]::-webkit-date-and-time-value {
      text-align: left;
    }
  }

/* iPad 縦向き */
  @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) { 

    body {
      min-width: 0;
      min-height: 0;
    }

    .contents {
      grid-template-rows: 70px 50px auto auto auto auto auto auto auto 40px;
    }

    .page {
      position: sticky;
      top: 70px;
      margin-top: 0;
    }

    .page_area2 {
      grid-template-columns: minmax(40px, 14%) minmax(180px, 86%);
    }

    .page_area3 {
      margin-right: 4px;
      padding: 0 5px;
    }

    /* dialog {
	    width: 60%;
    } */

    input[type="date"] {
      height: 1.8em;
    }

    input[type="date"]::-webkit-date-and-time-value {
      text-align: left;
    }

  }

/* iPad 横向き */
  @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {

    body {
      min-width: 0;
      min-height: 0;
    }

    .contents {
      grid-template-rows: 60px auto auto auto auto auto auto auto 40px;
    }

    .header {
      display: none;
    }

    .page {
      grid-row: 1 / 2;
      position: sticky;
      top: 0;
      margin-top: 0;
    }

    .page_area2 {
      grid-template-columns: minmax(40px, 12%) minmax(180px, 88%);
    }

    .page_area3 {
      margin-right: 5px;
      padding: 0 5px;
    }

    .main {
      grid-row: 2 / 10;
    }

    /* dialog {
	    width: 50%;
    }     */

    input[type="date"] {
      height: 1.8em;
    }
    
    input[type="date"]::-webkit-date-and-time-value {
      text-align: left;
    }

  }