@charset "utf-8";
body{
  font-family: 'メイリオ','Meiryo','游ゴシック体','Yu Gothic','YuGothic','ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro','Osaka','ＭＳ Ｐゴシック','MS PGothic',sans-serif !important;
}
html{-webkit-text-size-adjust: 100%;}

/*datepicker*/
.ui-datepicker { z-index: 2000 !important; }


/* display */
.d-none{
  display: none;
}
.d-grid{
  display: grid;
}
.d-flex{
  display: flex;
}
.d-flex-column {
  display: flex;
  flex-direction: column;
}

/* フォーム */
form {
  width: fit-content;
}
.form-group-row {
  display: flex;
  align-items: stretch;
}
.form-group {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: fit-content;
  padding: 0;
  margin: 0;
}
.form-group .form-group-text {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0 1px;
  background-color: #eee;
  color: #111;
  min-height: 1.7rem;
}
/* button */
.form-group >button {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #99a;
  border-radius: .25rem;
  min-height: 1.6rem;
}
.form-group >button:hover {
  cursor: pointer;
}
/* input */
.form-group .formInput {
  height: 1.425rem;
  border: 1px solid #99a;
  padding: .125rem .25rem;
}
.form-group .formTextarea {
  border: 1px solid #99a;
  padding: .125rem .25rem;
  margin: 0;
}
.form-group .formInput:focus,
.form-group .formTextarea:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 .125rem inset rgba(13,110,253,.25);
}
/* select */
.form-group .formSelect {
  height: 1.8rem;
  border: 1px solid #99a;
  padding: .125rem .5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form-group .formSelect:hover {
  cursor: pointer;
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 .125rem inset rgba(13,110,253,.25);
}

.form-group button,
.form-group .formInput,
.form-group .formSelect {
  border-radius: 0;
  border-right:0;
}
.form-group > div,
.form-group > span,
.form-group > p {
  border: 1px solid #99a;
  border-right: 0;
}
.form-group > :first-child {
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.form-group > :last-child {
  border-top-right-radius: .25rem;
  border-bottom-right-radius: .25rem;
  border-right: 1px solid #99a;
}

/* text-align */
.t-center {text-align: center;}
.t-left {text-align: left;}
.t-right {text-align: right;}

/* margin */
.m-auto {margin: auto;}
.m-1 {margin: 1rem;}
.m-2 {margin: 2rem;}
.m_5 {margin: .5rem;}
.m_25 {margin: .25rem;}
.m_125 {margin: .125rem;}
.mx-auto {margin-left: auto; margin-right: auto;}
.mx-1 {margin-left: 1rem; margin-right: 1rem;}
.mx-2 {margin-left: 2rem; margin-right: 2rem;}
.mx_5 {margin-left: .5rem; margin-right: .5rem;}
.mx_25 {margin-left: .25rem; margin-right: .25rem;}
.mx_125 {margin-left: .125rem; margin-right: .125rem;}
.my-auto {margin-top: auto; margin-bottom: auto;}
.my-1 {margin-top: 1rem; margin-bottom: 1rem;}
.my-2 {margin-top: 2rem; margin-bottom: 2rem;}
.my_5 {margin-top: .5rem; margin-bottom: .5rem;}
.my_25 {margin-top: .25rem; margin-bottom: .25rem;}
.my_125 {margin-top: .125rem; margin-bottom: .125rem;}
.mt-auto {margin-top: auto;}
.mt-1 {margin-top: 1rem;}
.mt-2 {margin-top: 2rem;}
.mt_5 {margin-top: .5rem;}
.mt_25 {margin-top: .25rem;}
.mt_125 {margin-top: .125rem;}
.mb-auto {margin-bottom: auto;}
.mb-1 {margin-bottom: 1rem;}
.mb-2 {margin-bottom: 2rem;}
.mb_5 {margin-bottom: .5rem;}
.mb_25 {margin-bottom: .25rem;}
.mb_125 {margin-bottom: .125rem;}
.ml-auto {margin-left: auto;}
.ml-1 {margin-left: 1rem;}
.ml-2 {margin-left: 2rem;}
.ml_5 {margin-left: .5rem;}
.ml_25 {margin-left: .25rem;}
.ml_125 {margin-left: .125rem;}
.mr-auto {margin-right: auto;}
.mr-1 {margin-right: 1rem;}
.mr-2 {margin-right: 2rem;}
.mr_5 {margin-right: .5rem;}
.mr_25 {margin-right: .25rem;}
.mr_125 {margin-right: .125rem;}

/* padding */
.p-auto {padding: auto;}
.p-1 {padding: 1rem;}
.p-2 {padding: 2rem;}
.p_5 {padding: .5rem;}
.p_25 {padding: .25rem;}
.p_125 {padding: .125rem;}
.px-auto {padding-left: auto; padding-right: auto;}
.px-1 {padding-left: 1rem; padding-right: 1rem;}
.px-2 {padding-left: 2rem; padding-right: 2rem;}
.px_5 {padding-left: .5rem; padding-right: .5rem;}
.px_25 {padding-left: .25rem; padding-right: .25rem;}
.px_125 {padding-left: .125rem; padding-right: .125rem;}
.py-auto {padding-top: auto; padding-bottom: auto;}
.py-1 {padding-top: 1rem; padding-bottom: 1rem;}
.py-2 {padding-top: 2rem; padding-bottom: 2rem;}
.py_5 {padding-top: .5rem; padding-bottom: .5rem;}
.py_25 {padding-top: .25rem; padding-bottom: .25rem;}
.py_125 {padding-top: .125rem; padding-bottom: .125rem;}
.pt-auto {padding-top: auto;}
.pt-1 {padding-top: 1rem;}
.pt-2 {padding-top: 2rem;}
.pt_5 {padding-top: .5rem;}
.pt_25 {padding-top: .25rem;}
.pt_125 {padding-top: .125rem;}
.pb-auto {padding-bottom: auto;}
.pb-1 {padding-bottom: 1rem;}
.pb-2 {padding-bottom: 2rem;}
.pb_5 {padding-bottom: .5rem;}
.pb_25 {padding-bottom: .25rem;}
.pb_125 {padding-bottom: .125rem;}
.pl-auto {padding-left: auto;}
.pl-1 {padding-left: 1rem;}
.pl-2 {padding-left: 2rem;}
.pl_5 {padding-left: .5rem;}
.pl_25 {padding-left: .25rem;}
.pl_125 {padding-left: .125rem;}
.pr-auto {padding-right: auto;}
.pr-1 {padding-right: 1rem;}
.pr-2 {padding-right: 2rem;}
.pr_5 {padding-right: .5rem;}
.pr_25 {padding-right: .25rem;}
.pr_125 {padding-right: .125rem;}

.class-holiday > .ui-state-default {
  background: #FFDDDD !important;
  color: red !important;
}
.class-sunday > .ui-state-default {
  background: #FFCCCC !important;
  color: red !important;
}
.class-saturday > .ui-state-default {
  background: #CCCCFF !important;
  color: blue !important;
}

.form-2row-group {
  display: flex;
  align-items: stretch;
  margin-bottom: .125rem;
}
.form-2row-group .form-group-text,
.form-2row-group .div2row-text,
.form-2row-group .formInput,
.form-2row-group .formTextarea,
.form-2row-group .formSelect {
  border: 1px solid #99a;
  padding: .125rem .25rem;
}
.form-2row-group .div2row-text {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  border-bottom: none;
}

.form-2row-group .formInput {
  min-width: 1rem;
  min-height: 1.5rem;
  width: auto;
}
.form-2row-group .form-group-text:first-of-type {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.form-2row-group > .div2row {
  display: flex;
  flex-direction: column;
  margin-left: -1px;
}
.form-2row-group > .div2row:last-of-type .div2row-text {
  border-top-right-radius: .25rem;
}
.form-2row-group > .div2row:last-of-type [class^=form] {
  border-bottom-right-radius: .25rem;
}