@charset "UTF-8";
/*
 * calendar_daily.css
 *
 *  version --- 1.0
 *  updated --- 2026/04/24
 */

button {
    font-family: 'Barlow', sans-serif;
}

.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 959px) {
  .u-hidden-sp {
    display: initial;
  }
}

@media screen and (min-width: 959px) {
  .u-hidden-tb {
    display: none;
  }
}

@media screen and (min-width: 1201px) {
  .u-hidden-pc {
    display: none;
  }
}

.l-mainHead {
  padding-inline: 0;
}
.l-mainHead .iconWorks {
  padding: 0;
  color: #000;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (min-width: 959px) {
  .l-mainHead .iconWorks {
    padding-left: 56px;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 959px) {
  .l-mainHead .mainUser {
    display: flex;
    align-items: center;
  }
}
.l-mainHead .mainUser dt, .l-mainHead .mainUser dd {
  width: -moz-fit-content;
  width: fit-content;
}

.l-mainHead-sp {
  padding-top: 21px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E1DFEE;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 959px) {
  .l-mainHead-sp {
    display: none;
  }
}
.l-mainHead-sp .mainLogo {
  padding: 0;
  border: 0;
}

.p-mainHead__account a {
  display: block;
}
.p-mainHead__account img {
  width: 40px;
  height: 40px;
}

.mainBody {
    padding: 0px;
}

@media screen and (min-width: 959px) {
  .mainBody {
    padding-right: 120px;
  }
}

.calendarInquiry {
    width: 100%;
    background: #FFF5E6;
    border-bottom: 1px solid #FACF91;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 10px;
    letter-spacing: 0;
}

.calendarInquiry .calendarInquiryInfo {
    font-size: 1.2rem;
    line-height: 1.4rem;
    color: #D2820E;
    padding-left: 20px;
    background: url(../img/calendar_daily/icon_information.svg) left top no-repeat;
    background-size: 14px auto;
}

.calendarInquiry .calendarInquiryInfo span {
  font-weight: 600;
  margin-right: 6px;
}

.calendarInquiry .calendarInquiryLink {
  text-align: right;
}

.calendarInquiry .calendarInquiryLink a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 92px;
    height: 26px;
    font-size: 1.2rem;
    line-height: 1.4rem;
    color: #fff;
    background: #D2820E;
    border-radius: 13px;
}

.calendarDaily {
    width: 100%;
    background: #FFE7E2;
    border-bottom: 1px solid #F5C4B8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 10px;
    letter-spacing: 0;
}

.calendarDaily .calendarDailyInfo {
    font-size: 1.2rem;
    line-height: 1.4rem;
    color: #CB573A;
    padding-left: 20px;
    background: url(../img/calendar_daily/icon_presentation.svg) left top no-repeat;
    background-size: 14px auto;
}

.calendarDaily .calendarDailyLink a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 92px;
    height: 26px;
    font-size: 1.2rem;
    line-height: 1.4rem;
    color: #fff;
    background: #CB573A;
    border-radius: 13px;
}

.calendarCategoryList {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 10px;
}

.calendarCategoryList .calendarCategoryItem {
    border: 1px solid #E2DFEF;
    border-radius: 6px;
    padding: 9px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    letter-spacing: 0;
    cursor: pointer;
}

.calendarCategoryList .calendarCategoryItem.is-active {
  background: #F4F3F9;
}

.calendarCategoryList .calendarCategoryItem:before {
    width: 40px;
    min-width: 40px;
    aspect-ratio: 1 / 1;
    content: '';
}

.calendarCategoryList .catePersonal:before {
    background: url(../img/calendar_daily/icon_cate_personal.svg) center center no-repeat;
    background-size: cover;
}

.calendarCategoryList .cateShared:before {
    background: url(../img/calendar_daily/icon_cate_shared.svg) center center no-repeat;
    background-size: cover;
}

.calendarCategoryList .cateCompany:before {
    background: url(../img/calendar_daily/icon_cate_company.svg) center center no-repeat;
    background-size: cover;
}

.calendarCategoryList .cateLoading:before {
    background: url(../img/calendar_daily/icon_cate_loading.svg) center center no-repeat;
    background-size: cover;
}

.calendarCategoryList .calendarCategoryBox {
    flex-grow: 1;
}

.calendarCategoryList .calendarCategoryItem label {
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.6rem;
}

.calendarCategoryList .calendarCategoryItem .cateCount {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
}

.calendarCategoryList .calendarCategoryItem .cateCount span {
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 600;
    margin-right: 2px;
}

.calendarCategoryList .catePersonal .cateCount {
    color: #364689;
}

.calendarCategoryList .cateShared .cateCount {
    color: #6D917E;
}

.calendarCategoryList .cateCompany .cateCount {
    color: #CB573A;
}

.calendarCategoryList .cateLoading .cateCount {
    color: #D2820E;
}

.calendarControl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    border-radius: 6px;
    border: 1px solid #E2DFEF;
    background: #fff;
    padding: 9px;
}

.calendarControl .calendarControlMonth {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 135px;
    min-width: 135px;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
    position: relative;
    letter-spacing: 0;
}

.calendarControl .calendarControlMonth a {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 24px;
    height: 24px;
    border-radius: 100%;
}

.calendarControl .calendarControlMonth .prevMonth {
    left: 0;
    background: url(../img/calendar_daily/icon_prev_middle.svg) center center no-repeat;
    background-size: 100% auto;
}

.calendarControl .calendarControlMonth .nextMonth {
    right: 0;
    background: url(../img/calendar_daily/icon_next_middle.svg) center center no-repeat;
    background-size: 100% auto;
}

.calendarControl .calendarControlLinks {
    display: flex;
    align-items: center;
    gap: 9px;
}

.calendarControl .calendarControlLinks .monthlySummary {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 30px;
    border: 1px solid #E2DFEF;
    border-radius: 6px;
    background: #fff;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #364689;
    letter-spacing: 0;
}

.calendarControl .calendarControlLinks .newPlans {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 100px;
    height: 30px;
    border: 1px solid #364689;
    border-radius: 6px;
    background: #364689;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0;
}

.calendarControl .calendarControlLinks .newPlans:before {
    width: 10px;
    height: 10px;
    content: '';
    background: url(../img/calendar_daily/icon_plus.svg) center center no-repeat;
    background-size: 100% 100%;
}

.calendarControl .calendarControlLinks .calendarDisplay {
    display: inline-flex;
    align-items: center;
    background: #E2DFEF;
    border-radius: 6px;
    padding: 3px;
}

.calendarControl .calendarControlLinks .calendarDisplay a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 54px;
    height: 24px;
    border-radius: 6px;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #364689;
}

.calendarControl .calendarControlLinks .calendarDisplay a.is-active {
    background: #fff;
}

.calendarMonth {
    margin-top: 10px;
    width: 100%;
    padding-bottom: 80px;
}

.calendarMonth .calendarMonthTable {
    border: 1px solid #E2DFEF;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.display-list .calendarMonthTable {
    display: none;
}


.calendarMonth .calendarMonthTable table {
    width: 100%;
    height: 100%;
}

.calendarMonth .calendarMonthTable thead th {
    width: calc(100% / 7);
    height: 100%;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.5;
    padding: 5px;
}

.calendarMonth .calendarMonthTable thead th:first-child {
    color: #CB573A;
}

.calendarMonth .calendarMonthTable thead th:last-child {
    color: #364689;
}

.calendarMonth .calendarMonthTable tbody td {
    width: calc(100% / 7);
    height: 100%;
    border-top: 1px solid #E2DFEF;
    vertical-align: top;
}

.calendarMonth .calendarMonthTable tbody td + td {
    border-left: 1px solid #E2DFEF;
}

.calendarMonth .calendarMonthTable tbody td button {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 4px;
    position: relative;
    padding: 6px 9px;
    width: 100%;
    height: 100%;
    min-height: 65px;
    border-radius: 0;
    border: 0;
    background: #fff;
    cursor: pointer;
    letter-spacing: 0;
}

.calendarMonth .calendarMonthTable tbody td button:after {
    content: '';
    width: 100%;
    height: 10px;
    display: block;
}

.calendarMonth .calendarMonthTable tbody td button.more:after {
    background: url(../img/calendar_daily/icon_more.svg) left center no-repeat;
    background-size: auto 3px;
}

.calendarMonth .calendarMonthTable tbody tr td:first-child button,
.calendarMonth .calendarMonthTable tbody tr td:last-child button,
.calendarMonth .calendarMonthTable tbody td button.holiday {
    background: #FDF2EF;
    pointer-events: none;
}

.calendarMonth .calendarMonthTable tbody td button.prevMonth,
.calendarMonth .calendarMonthTable tbody td button.nextMonth {
    background: #F4F3F9 !important;
    pointer-events: none;
}


.calendarMonth .calendarMonthTable tbody td button .day {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: 0;
    color: #000;
}

.calendarMonth .calendarMonthTable tbody tr td:first-child button .day,
.calendarMonth .calendarMonthTable tbody tr td:last-child button .day,
.calendarMonth .calendarMonthTable tbody td button.holiday .day {
    color: #CB573A;
}

.calendarMonth .calendarMonthTable tbody td button .title {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: 0;
    color: #A7A7A7;
}

.calendarMonth .calendarMonthTable tbody td button .plans {
    width: 100%;
    text-align: left;
    display: block;
    font-size: 1rem;
    line-height: 1.8;
    font-weight: 400;
    overflow: hidden;
    height: 20px;
}

.calendarMonth .calendarMonthTable tbody td button.holiday .plans {
    color: #CB573A;
}

.calendarMonth .calendarMonthTable tbody td button .plans span {
    width: 100%;
    text-align: left;
    display: block;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 0 5px;
    overflow: hidden;
    height: 20px;
}


.calendarMonth .calendarMonthTable tbody td button .plans span.catePersonal {
    border-color: #E2DFEF;
    background: #F4F3F9;
    color: #364689;
}

.calendarMonth .calendarMonthTable tbody td button .plans span.cateShared {
    border-color: #BCD6B4;
    background: #EFF7EC;
    color: #6D917E;
}

.calendarMonth .calendarMonthTable tbody td button .plans span.cateCompany {
    border-color: #F5C4B8;
    background: #FDF2EF;
    color: #CB573A;
}

.calendarMonth .calendarMonthTable tbody td button .plans span.cateLoading {
    border-color: #FACF91;
    background: #FFF5E6;
    color: #D2820E;
}

.calendarMonth .calendarMonthTable tbody td button.today:before {
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border: 1px solid #BD5E43;
    position: absolute;
    left: -1px;
    top: -1px;
    z-index: 2;
    content: '';
}

.calendarMonthNotes {
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.calendarMonthNotes .calendarMonthNotesCate {
    display: flex;
    align-items: center;
    gap: 8px;
}

.calendarMonthNotes .calendarMonthNotesCate li {
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 3px 9px;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0;
}

.calendarMonthNotes .calendarMonthNotesCate li.catePersonal {
    border-color: #E2DFEF;
    background: #F4F3F9;
    color: #364689;
}

.calendarMonthNotes .calendarMonthNotesCate li.cateShared {
    border-color: #BCD6B4;
    background: #EFF7EC;
    color: #6D917E;
}

.calendarMonthNotes .calendarMonthNotesCate li.cateCompany {
    border-color: #F5C4B8;
    background: #FDF2EF;
    color: #CB573A;
}

.calendarMonthNotes .calendarMonthNotesCate li.cateLoading {
    border-color: #FACF91;
    background: #FFF5E6;
    color: #D2820E;
}

.calendarMonthNotes .calendarMonthNotesDay {
    display: flex;
    align-items: center;
    gap: 20px;
}

.display-list .calendarMonthNotes .calendarMonthNotesDay {
    display: none;
}

.calendarMonthNotes .calendarMonthNotesDay li {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0;
    color: #000;
}

.calendarMonthNotes .calendarMonthNotesDay li.holiday:before {
    width: 10px;
    height: 10px;
    border: 1px solid #F5C4B8;
    background: #FDF2EF;
    content: '';
}

.calendarMonthNotes .calendarMonthNotesDay li.today:before {
    width: 10px;
    height: 10px;
    border: 1px solid #BD5E43;
    content: '';
}

@media screen and (max-width: 959px) {
  .calendarInquiry,
  .calendarDaily {
      width: calc(100% + 50px);
      margin: 0 -25px;
      padding: 7px 7px 7px 10px;
  }

  .calendarInquiry.has-important,
  .calendarDaily.has-important {
      flex-wrap: wrap;
      gap: 10px;
  }

  .calendarInquiry.has-important .calendarInquiryInfo span,
  .calendarDaily.has-important .calendarInquiryInfo span {
    display: block;
    margin-bottom: 8px;
  }

  .calendarInquiry.has-important .calendarInquiryLink,
  .calendarDaily.has-important .calendarDailyLink {
    width: 100%;
  }

  .calendarCategoryList {
      grid-template-columns: repeat(2, 1fr);
      gap: 4px;
      margin-top: 30px;
  }

  .calendarCategoryList .calendarCategoryItem {
      padding: 6px 9px;
      gap: 10px;
  }

  .calendarCategoryList .calendarCategoryItem label {
      font-size: 1.2rem;
      line-height: 1.4rem;
  }

  .calendarControl {
    flex-direction: column;
    margin-top: 6px;
    padding: 10px 9px;
  }

  .calendarControl .calendarControlMonth {
    width: 100%;
    min-width: unset;
    font-size: 1.6rem;
  }

  .calendarControl .calendarControlMonth .prevMonth {
    left: 3px;
  }

  .calendarControl .calendarControlMonth .nextMonth {
    right: 3px;
  }

  .calendarControl .calendarControlLinks {
    width: 100%;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
  }

  .calendarControl .calendarControlLinks .monthlySummary,
  .calendarControl .calendarControlLinks .newPlans {
      width: 100%;
  }

  .calendarControl .calendarControlLinks .calendarDisplay {
    width: 100%;
  }

  .calendarControl .calendarControlLinks .calendarDisplay a {
      width: 50%;
  }

  .calendarMonth {
    padding-bottom: 35px;
  }

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

  .calendarMonth .calendarMonthTable thead th {
      font-size: 1.2rem;
      line-height: 1.4rem;
      padding: 12px;
  }

  .calendarMonth .calendarMonthTable tbody td button {
      padding: 5px 0;
  }

  .calendarMonth .calendarMonthTable tbody td button.more:after {
    background-position: 3px center;
  }

  .calendarMonth .calendarMonthTable tbody td button .day {
    margin-left: 4px;
  }

  .calendarMonth .calendarMonthTable tbody td button.holiday .plans {
    padding: 0 1px;
  }

  .calendarMonth .calendarMonthTable tbody td button .plans span {
    padding: 0 4px;
  }


  .calendarMonthNotes {
      margin-top: 10px;
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 12px;
  }
}

.calendarMonthList {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.display-month .calendarMonthList {
    display: none;
}

.calendarMonthList button {
  width: 100%;
  background: #fff;
  border-radius: 6px;
  padding: 15px 20px;
  display: grid;
  grid-template-columns: 70px auto 100px;
  gap: 30px;
  border: 0;
  border-left: 4px solid transparent;
  text-align: left;
  cursor: pointer;
}

.calendarMonthList button.catePersonal {
    border-color: #364689;
}

.calendarMonthList button.cateShared {
    border-color: #6D917E;
}

.calendarMonthList button.cateCompany {
    border-color: #CB573A;
}

.calendarMonthList button.cateLoading {
    border-color: #D2820E;
}

.calendarMonthList .calendarMonthDate .date {
  font-size: 1.6rem;
  line-height: 1.9rem;
  font-weight: 500;
  letter-spacing: 0;
  display: block;
}

.calendarMonthList .calendarMonthDate .time {
  font-size: 1.2rem;
  line-height: 1.4rem;
  font-weight: 300;
  letter-spacing: 0;
  margin-top: 10px;
  display: block;
}

.calendarMonthList .calendarMonthBox .title {
  font-size: 1.6rem;
  line-height: 1.9rem;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 5px;
  display: block;
}

.calendarMonthList .calendarMonthBox .title.is-alert {
  padding-left: 24px;
  background: url(../img/calendar_daily/icon_information.svg) left top no-repeat;
  background-size: 18px auto;
}

.calendarMonthList .calendarMonthBox {
  font-size: 1.4rem;
  line-height: 1.6rem;
  font-weight: 400;
  letter-spacing: 0;
  display: block;
}

.calendarMonthList .calendarMonthBox .address {
  padding-left: 16px;
  background: url(../img/calendar_daily/icon_location.svg) left top no-repeat;
  background-size: 16px auto;
  display: block;
}

.calendarMonthList .calendarMonthBox .moving {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.calendarMonthList .calendarMonthBox .moving span {
  font-weight: 600;
  word-break: keep-all;
  white-space: nowrap;
}

.calendarMonthList .calendarMonthBox .moving span.is-in {
  color: #364689;
}

.calendarMonthList .calendarMonthBox .moving span.is-out {
  color: #CB573A;
}

.calendarMonthList .calendarMonthCate {
  display: flex;
  justify-content: center;
  align-items: center;
}

.calendarMonthList .calendarMonthCate span {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 13px;
  height: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 600;
}

.calendarMonthList .catePersonal .calendarMonthCate span {
    border-color: #E2DFEF;
    background: #F4F3F9;
    color: #364689;
}

.calendarMonthList .cateShared .calendarMonthCate span {
    border-color: #BCD6B4;
    background: #EFF7EC;
    color: #6D917E;
}

.calendarMonthList .cateCompany .calendarMonthCate span {
    border-color: #F5C4B8;
    background: #FDF2EF;
    color: #CB573A;
}

.calendarMonthList .cateLoading .calendarMonthCate span {
    border-color: #FACF91;
    background: #FFF5E6;
    color: #D2820E;
}

@media screen and (max-width: 959px) {
  .calendarMonthList button {
    padding: 18px 20px;
    display: block;
    position: relative;
  }

  .calendarMonthList .calendarMonthDate {
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .calendarMonthList .calendarMonthDate .date {
    font-size: 1.5rem;
    line-height: 1.8rem;
  }

  .calendarMonthList .calendarMonthDate .time {
    margin-top: 0;
  }

  .calendarMonthList .calendarMonthBox .title {
    font-size: 1.5rem;
    line-height: 1.8rem;
  }

  .calendarMonthList .calendarMonthBox .title.is-alert {
    padding-left: 22px;
  }

  .calendarMonthList .calendarMonthBox {
    margin-top: 10px;
  }

  .calendarMonthList .calendarMonthCate {
    position: absolute;
    right: 20px;
    top: 14px;
    width: 80px;
    z-index: 2;
  }
}



.popupWrap {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 999;
    width: calc(100% - 260px);
    height: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
}

.popupWrap.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.popupWrap .popupOverlay {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: #F4F3F9;
    opacity: .8;
}

.popupWrap.layer .popupOverlay {
    opacity: 0;
}

.popupWrap .popupBox {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    width: 520px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 20px 30px 0 rgba(0, 0, 0, 0.2);
    padding: 44px 20px 30px 40px;
}

.popupWrap .popupClose {
    width: 24px;
    height: 24px;
    border-radius: 100%;
    background: url(../img/calendar_daily/btn_close_popup.svg) center center no-repeat;
    background-size: 100% 100%;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 2;
    cursor: pointer;
}

.popupWrap .popupBody {
    width: 100%;
    max-height: calc(100vh - 134px);
    padding-right: 20px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.popupWrap .popupBody::-webkit-scrollbar {
    width: 10px;
}
.popupWrap .popupBody::-webkit-scrollbar-track {
  background: #F4F3F9;
}
.popupWrap .popupBody::-webkit-scrollbar-thumb {
  background: #E2DFEF;
}

.popupWrap .popupHeading {
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 600;
    letter-spacing: 0;
    border-left: 4px solid #364689;
    padding-left: 5px;
    margin-bottom: 20px;
}

.popupWrap .popupBtn {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.popupWrap .popupBtn .is-close {
    cursor: pointer;
    border: 1px solid #D4D0E6;
    border-radius: 6px;
    width: 100%;
    max-width: 210px;
    height: 40px;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #364689;
    letter-spacing: 0;
    font-weight: 400;
    background: #fff;
}

.popupWrap .popupBtn .is-link {
    cursor: pointer;
    border: 1px solid #364689;
    border-radius: 6px;
    width: 100%;
    max-width: 210px;
    height: 40px;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #fff;
    letter-spacing: 0;
    font-weight: 400;
    background: #364689;
    position: relative;
}

.popupWrap .popupBtn .is-inquiry {
    cursor: pointer;
    border: 1px solid #D2820E;
    border-radius: 6px;
    width: 100%;
    max-width: 210px;
    height: 40px;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #fff;
    letter-spacing: 0;
    font-weight: 400;
    background: #D2820E;
    position: relative;
}

.popupWrap .popupBtn .is-save {
    cursor: pointer;
    border: 1px solid #D4D0E6;
    border-radius: 6px;
    width: 100%;
    max-width: 210px;
    height: 40px;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #364689;
    letter-spacing: 0;
    font-weight: 400;
    background: #F4F3F9;
    position: relative;
}

@media screen and (max-width: 959px) {
    .popupWrap {
        width: 100%;
    }

    .popupWrap .popupBox {
        position: absolute;
        margin-top: -30px;
        z-index: 2;
        width: calc(100% - 20px);
        padding: 44px 15px 20px 30px;
    }

    .popupWrap .popupBody {
        padding-right: 15px;
        max-height: calc(100vh - 144px);
    }

    .popupWrap .popupBody::-webkit-scrollbar {
        width: 6px;
    }

    .popupWrap .popupBtn .is-point {
        text-align: left;
        text-indent: -9999px;
    }

    .popupWrap .popupBtn .is-point:before {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
        content: 'PDF';
        font-size: 1.2rem;
        line-height: 1.5;
        color: #fff;
        letter-spacing: 0;
        font-weight: 400;
        text-indent: 0;
    }
}


.loadingGateList {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.loadingGateList .loadingGateHead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.loadingGateList .loadingGateHead .loadingGateDate {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.9rem;
    letter-spacing: 0;
}

.loadingGateList .loadingGateHead .loadingGateInfo {
    padding-left: 18px;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0;
    color: #D2820E;
    background: url(../img/calendar_daily/icon_information.svg) left center no-repeat;
    background-size: 14px auto;
}

.loadingGateList .loadingGateBody {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.loadingGateList .loadingGateItem {
    border: 1px solid #D2820E;
    border-left-width: 4px;
    border-radius: 6px;
    padding: 14px 17px 14px 19px;
    letter-spacing: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: left;
    background: #fff;
    cursor: pointer;
}

.loadingGateList .loadingGateItem .time {
    font-size: 1.6rem;
    line-height: 1.9rem;
    font-weight: 400;
}

.loadingGateList .loadingGateItem .title {
    font-size: 1.6rem;
    line-height: 1.9rem;
    font-weight: 600;
}

.loadingGateList .loadingGateItem .title.is-alert {
    padding-left: 26px;
    background: url(../img/calendar_daily/icon_information.svg) left top no-repeat;
    background-size: 18px auto;
}

.loadingGateList .loadingGateItem .moving {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 1.4rem;
  line-height: 1.7rem;
}

.loadingGateList .loadingGateItem .moving span {
  font-weight: 600;
  word-break: keep-all;
  white-space: nowrap;
}

.loadingGateList .loadingGateItem .moving span.is-in {
  color: #364689;
}

.loadingGateList .loadingGateItem .moving span.is-out {
  color: #CB573A;
}

.loadingGateList .loadingGateItem .name {
    font-size: 1.3rem;
    line-height: 2rem;
    font-weight: 400;
}


.monthlySummary .monthlySummaryDate {
    font-size: 1.6rem;
    line-height: 1.9rem;
    font-weight: 500;
    margin-bottom: 18px;
    letter-spacing: 0;
}

.monthlySummary .monthlySummaryInfo {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.monthlySummary .monthlySummaryInfo .item {
    border-radius: 6px;
    border: 1px solid transparent;
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 400;
    letter-spacing: 0;
    padding: 10px;
    text-align: center;
}

.monthlySummary .monthlySummaryInfo .item.projects {
    border-color: #FACF91;
    background-color: #FFF5E6;
}

.monthlySummary .monthlySummaryInfo .item.movein {
    border-color: #D4D0E6;
    background-color: #F4F3F9;
}

.monthlySummary .monthlySummaryInfo .item.moveout {
    border-color: #F5C4B8;
    background-color: #FDF2EF;
}

.monthlySummary .monthlySummaryInfo .item .count {
    font-size: 1.6rem;
    line-height: 1.9rem;
    font-weight: 600;
    margin-bottom: 4px;
}

.monthlySummary .monthlySummaryInfo .item .count span {
    font-size: 3.2rem;
    line-height: 1;
    margin-right: 4px;
}

.monthlySummary .monthlySummaryInfo .item.projects .count {
    color: #D2820E;
}

.monthlySummary .monthlySummaryInfo .item.movein .count {
    color: #364689;
}

.monthlySummary .monthlySummaryInfo .item.moveout .count {
    color: #CB573A;
}

.monthlySummary .monthlySummaryTitle {
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400;
    color: #000;
    margin-bottom: 10px;
}

.monthlySummary .monthlySummaryProject {
    margin-top: 18px;
}

.monthlySummary .projectList {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.monthlySummary .projectList li {
    width: 100%;
    border: 1px solid #D4D0E6;
    border-radius: 5px;
    background: #F4F3F9;
    padding: 15px 19px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400;
}

.monthlySummary .projectList .moving {
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.monthlySummary .projectList .moving .is-in {
    color: #364689;
}

.monthlySummary .projectList .moving .is-out {
    color: #CB573A;
}

.monthlySummary .monthlySummaryDetail {
    margin-top: 18px;
}

.monthlySummary .detailTable {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.monthlySummary .detailTable::-webkit-scrollbar {
    height: 10px;
}

.monthlySummary .detailTable::-webkit-scrollbar-track {
  background: #F4F3F9;
}

.monthlySummary .detailTable::-webkit-scrollbar-thumb {
  background: #E2DFEF;
}

.monthlySummary .detailTable table {
    width: 100%;
    border: 1px solid #D4D0E6;
}

.monthlySummary .detailTable thead th {
    background: #F4F3F9;
    border-bottom: 1px solid #D4D0E6;
    padding: 10px;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    text-align: left;
}

.monthlySummary .detailTable tbody td {
    text-align: left;
    padding: 10px;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    text-align: left;
}

.monthlySummary .detailTable tbody td.is-in {
    color: #364689;
    font-weight: 600;
}

.monthlySummary .detailTable tbody td.is-out {
    color: #CB573A;
    font-weight: 600;
}

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

    .monthlySummary .monthlySummaryInfo .item {
        padding: 10px 4px;
    }

    .monthlySummary .detailTable {
        padding-bottom: 10px;
        position: relative;
    }

    .monthlySummary .detailTable:before {
        width: ;
    }

    .monthlySummary .detailTable table {
        min-width: 440px;
    }

}

@media screen and (max-width: 526px) {
    .monthlySummary .detailTable:before {
        width: 180px;
        height: 130px;
        background: url(../img/calendar_daily/img_scroll.svg) center center no-repeat;
        background-size: 100% 100%;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        z-index: 2;
        content: '';
        pointer-events: none;
        transition: opacity .3s ease .3s;
    }

    .monthlySummary .detailTable.is-scroll:before {
        opacity: 0;
    }
}

.inquiryTable table {
    width: 100%;
}

.inquiryTable table th,
.inquiryTable table td {
    border: 1px solid #D4D0E6;
    padding: 10px 20px;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0;
    text-align: left;
    background: #fff;
}

.inquiryTable table th {
    background: #F4F3F9;
    width: 120px;
}

.inquiryTable .is-in {
    font-weight: 600;
    color: #364689;
}

.inquiryTable .is-out {
    font-weight: 600;
    color: #CB573A;
}

@media screen and (max-width: 959px) {
    .inquiryTable table th {
        width: 100px;
    }
}

.inquiryCategory {
    margin-bottom: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.inquiryCategory span {
    display: inline-flex;
    padding: 4px 20px;
    border: 1px solid #FACF91;
    background: #FFF5E6;
    border-radius: 10px;
    font-size: 10px;
    line-height: 1.2;
    color: #D2820E;
    letter-spacing: 0;
    font-weight: 400;
}

.inquiryAlert {
    border: 1px solid #FACF91;
    background: url(../img/calendar_daily/icon_information.svg) 20px 15px no-repeat #FFF5E6;
    background-size: 14px auto;
    border-radius: 5x;
    padding: 15px 15px 15px 44px;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    color: #D2820E;
    margin-bottom: 8px;
    border-radius: 5px;
}


.popupWrap .calendarMonthList button {
    border-right-width: 1px;
    border-top-width: 1px;
    border-bottom-width: 1px;
    border-style: solid;
    padding: 19px 19px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    min-height: 102px;
}

.popupWrap .calendarMonthList .calendarMonthDate .date {
    display: none;
}

.popupWrap .calendarMonthList .calendarMonthDate .time {
    font-size: 1.6rem;
    line-height: 1.9rem;
    margin: 0;
}

.popupWrap .calendarMonthList .calendarMonthCate {
    position: absolute;
    right: 20px;
    top: 14px;
    z-index: 2;
    width: 80px;
}

.calendarMonthTItle {
    font-size: 1.6rem;
    line-height: 1.9rem;
    color: #000;
    font-weight: 500;
    margin-top: -10px;
    margin-bottom: 10px;
}

@media screen and (max-width: 959px) {
    .popupWrap .calendarMonthList .calendarMonthBox {
        margin-top: 0;
    }
}


.plansInputTab ul {
    width: 100%;
    background: #E2DFEF;
    padding: 2px;
    border-radius: 6px;
    margin-bottom: 10px;
    display: flex;
    gap: 2px;
    align-items: center;
}

.plansInputTab ul li {
    width: 100%;
}

.plansInputTab ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E2DFEF;
    background: #E2DFEF;
    border-radius: 6px;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400;
    color: #364689;
    letter-spacing: 0;
    width: 100%;
    height: 36px;
}

.plansInputTab ul li a.is-active {
    background: #fff;
}


.plansInput input[type=checkbox] {
    position: absolute;
    left: -100%;
    top: -100%;
    z-index: -1;
    opacity: 0;
}

.plansInput input[type=checkbox]+label {
    padding-left: 28px;
    background: url(../img/icon_checkbox_no.svg) left center no-repeat;
    display: inline-block;
}

.plansInput input[type=checkbox]:checked+label {
    background: url(../img/icon_checkbox_on.svg) left center no-repeat;
}

.plansInput .radio {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.plansInput input[type=radio] {
    position: absolute;
    left: -100%;
    top: -100%;
    z-index: -1;
    opacity: 0;
}

.plansInput input[type=radio]+label {
    width: 100%;
    border: 1px solid #D4D0E6;
    border-radius: 5px;
    height: 50px;
    padding: 0 20px;
    font-size: 1.2rem;
    line-height: 1.66;
    background: #fff;
    display: flex;
    align-items: center;
}

.plansInput input[type=radio]:checked+label {
    border-color: #364689;
    background: #F4F3F9;
    color: #364689;
    font-weight: 600;
}

.plansInput form select,
.plansInput form input[type=text], 
.plansInput form input[type=password], 
.plansInput form input[type=email], 
.plansInput form input[type=tel] {
    border-color: #D4D0E6;
    height: 50px;
}

.plansInput textarea {
    width: 100%;
    border: 1px solid #D4D0E6;
    border-radius: 5px;
    background: #fff;
    height: 100px;
    padding: 15px 20px;
    font-size: 1.2rem;
    line-height: 1.66;
    resize: vertical;
}

.plansInput form input[type=date] {
    position: relative;
    width: 100%;
    border: 1px solid #D4D0E6;
    border-radius: 5px;
    height: 50px;
    padding: 0 20px;
    font-size: 1.3rem;
    line-height: 1.66;
    background: url(../img/calendar_daily/icon_date.svg) right 18px center no-repeat #fff;
    background-size: 16px auto;
}
.plansInput form input[type=date]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.plansInput form input[type=date]::-webkit-clear-button {
  -webkit-appearance: none;
}
.plansInput form input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.plansInput form input[type=number] {
    width: 100%;
    border: 1px solid #D4D0E6;
    border-radius: 5px;
    height: 50px;
    padding: 0 20px;
    font-size: 1.2rem;
    line-height: 1.66;
    background: #fff;
}

.plansInput form select {
    font-size: 1.3rem;
}

.plansInputForm .plansInputItem {
    margin-bottom: 18px;
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400;
    color: #000;
    letter-spacing: 0;
}

.plansInputForm .plansInputItem p {
    margin-bottom: 10px;
}

.plansInputForm .plansInputItem dt {
    font-size: 1.2rem;
    line-height: 1.5;
    color: #000;
    font-weight: 400;
    letter-spacing: 0;
    margin-bottom: 8px;
}

.plansInputForm .plansInputItem dt.is-required:after {
    content: '必須';
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    padding: 1px 10px;
    background: #F4F3F9;
    display: inline-flex;
    margin-left: 4px;
    border-radius: 9px;
}

.plansInputForm .plansInputItem dd {
    position: relative;
}

.plansInputForm .timeRow {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.is-hide {
    display: none !important;
}

.plansInputForm .error {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #CB573A;
    font-weight: 400;
    letter-spacing: 0;
    margin-top: 8px;
    display: block;
}

@media screen and (max-width: 959px) {
    .plansInput form select,
    .plansInput form input[type=text], 
    .plansInput form input[type=password], 
    .plansInput form input[type=email], 
    .plansInput form input[type=tel],
    .plansInput form input[type=number],
    .plansInput form input[type=date] {
        padding: 0 12px;
    }

    .plansInput form select,
    .plansInput form input[type=date] {
        background-position: right 12px center;
    }

    .plansInput textarea {
        padding: 10px 12px;
    }
}


.dailySearchWrap {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #E2DFEF;
    border-radius: 6px;
    padding: 10px 13px;
    background: #fff;
    margin-top: 10px;
}

.dailySearchWrap .dailySearch,
.dailySearchWrap .dailySearchInner,
.dailySearchWrap .dailySearchItem {
    flex-grow: 1;
    display: flex;
    align-items: center;
    gap: 12px;
}

.dailySearchWrap .dailySearchLeft,
.dailySearchWrap .dailySearchRight {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dailySearchWrap .dailySearchItem {
    width: 100%;
}

.dailySearchWrap .dailySearchItem label {
    font-size: 1.2rem;
    line-height: 1.4rem;
    font-weight: 400;
    letter-spacing: 0;
    word-break: keep-all;
    white-space: nowrap;
}

.dailySearchWrap .dailySearchItem input[type=text],
.dailySearchWrap .dailySearchItem select {
    flex-grow: 1;
    border: 1px solid #E2DFEF;
    background-color: #F4F3F9;
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: 0;
    height: 30px;
}

.dailySearchWrap .dailySearchItem input[type=text] {
    background: url(../img/calendar_daily/icon_date.svg) right 1.4rem center no-repeat #F4F3F9;
    background-size: 14px auto;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.7;
}

.dailySearchWrap .dailySearch input[type=submit] {
    width: 44px;
    min-width: 44px;
    height: 30px;
    border-radius: 6px;
    background: #364689;
    font-size: 1.2rem;
    line-height: 1.4rem;
    font-weight: 500;
    color: #fff;
}

.dailySearchWrap .newDaily {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 100px;
    min-width: 100px;
    height: 30px;
    border: 1px solid #364689;
    border-radius: 6px;
    background: #364689;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0;
}

.dailySearchWrap .newDaily:before {
    width: 10px;
    height: 10px;
    content: '';
    background: url(../img/calendar_daily/icon_plus.svg) center center no-repeat;
    background-size: 100% 100%;
}

.dailySearchWrap .newDaily.disabled {
    pointer-events: none;
    background: #F4F3F9;
    color: #E2DFEF;
    border-color: #F4F3F9;
}

.dailySearchWrap .newDaily.disabled:before {
    background-image: url(../img/calendar_daily/icon_plus_disabled.svg);
}


.dailyStatusList {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 10px;
}

.dailyStatusList .dailyStatusItem {
    border: 1px solid #E2DFEF;
    border-radius: 6px;
    padding: 9px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    letter-spacing: 0;
    cursor: pointer;
}

.dailyStatusList .dailyStatusItem.is-active {
  background: #F4F3F9;
}

.dailyStatusList .dailyStatusItem:before {
    width: 40px;
    min-width: 40px;
    aspect-ratio: 1 / 1;
    content: '';
}

.dailyStatusList .statusNotSubmit:before {
    background: url(../img/calendar_daily/icon_status_notsubmit.svg) center center no-repeat;
    background-size: cover;
}

.dailyStatusList .statusApproved:before {
    background: url(../img/calendar_daily/icon_status_approved.svg) center center no-repeat;
    background-size: cover;
}

.dailyStatusList .statusProblematic:before {
    background: url(../img/calendar_daily/icon_status_problematic.svg) center center no-repeat;
    background-size: cover;
}

.dailyStatusList .statusReturn:before {
    background: url(../img/calendar_daily/icon_status_return.svg) center center no-repeat;
    background-size: cover;
}

.dailyStatusList .dailyStatusBox {
    flex-grow: 1;
}

.dailyStatusList .dailyStatusItem label {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.6rem;
}

.dailyStatusList .dailyStatusItem .cateCount {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
}

.dailyStatusList .dailyStatusItem .cateCount span {
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 600;
    margin-right: 2px;
}

.dailyStatusList .statusNotSubmit .cateCount {
    color: #CB573A;
}

.dailyStatusList .statusApproved .cateCount {
    color: #6D917E;
}

.dailyStatusList .statusProblematic .cateCount {
    color: #D2820E;
}

.dailyStatusList .statusReturn .cateCount {
    color: #CB573A;
}

.dailyNotSubmit {
    background: #FDF2EF;
    border-radius: 6px;
    border-left: 4px solid #CB573A;
    padding: 16px;
    position: relative;
    margin-top: 10px;
}

.dailyNotSubmit .dailyNotSubmitClose {
    cursor: pointer;
    position: absolute;
    right: 20px;
    top: 16px;
    z-index: 2;
    width: 80px;
    height: 20px;
    border-radius: 10px;
    background: #CB573A;
    font-size: 1.1rem;
    line-height: 1.3;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

.dailyNotSubmit .dailyNotSubmitClose:before {
    content: '';
    width: 8px;
    height: 8px;
    background: url(../img/calendar_daily/icon_close_white.svg) center center no-repeat;
    background-size: 100% 100%;
}

.dailyNotSubmit .dailyNotSubmitTitle {
    margin-bottom: 18px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    letter-spacing: 0;
}

.dailyNotSubmit .dailyNotSubmitTitle h2 {
    font-size: 1.3rem;
    line-height: 1.6rem;
    font-weight: 500;
    color: #CB573A;
    padding-left: 16px;
    background: url(../img/calendar_daily/icon_presentation.svg) left 1px no-repeat;
    background-size: 14px auto;
}

.dailyNotSubmit .dailyNotSubmitTitle p {
    font-size: 1.2rem;
    line-height: 1.4rem;
    padding: 1px 0;
}

.dailyNotSubmitList {
    position: relative;
}

.dailyNotSubmitList ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
    max-height: 62px;
    overflow: hidden;
}

.dailyNotSubmitList ul.is-show {
    max-height: 10000px;
    padding-bottom: 40px;
}

.dailyNotSubmitList ul li {
    font-size: 1.2rem;
    line-height: 1.4rem;
}

.dailyNotSubmitList ul li a {
    font-size: 1.2rem;
    line-height: 1.4rem;
    font-weight: 500;
    color: #CB573A;
    text-decoration: underline;
    letter-spacing: 0;
} 

.dailyNotSubmitList .showmore {
    text-align: center;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -12px;
    z-index: 2;
    padding: 9px;
    background: linear-gradient(180deg, rgba(253, 242, 239, 0) 0%, #FDF2EF 60.1%);
    display: none;
}

.dailyNotSubmitList .showmore button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    font-size: 1.1rem;
    line-height: 1.3rem;
    font-weight: 500;
    color: #CB573A;
    background: #fff;
    border: 1px solid #CB573A;
    border-radius: 30px;
    width: 100px;
    height: 22px;
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.dailyNotSubmitList .showmore button:before {
    width: 10px;
    height: 10px;
    content: '';
    background: url(../img/calendar_daily/icon_plus_red.svg) center center no-repeat;
    background-size: 100% auto;
}

.dailyNotSubmitList .showmore button:after {
    font-size: 1.1rem;
    line-height: 1.3rem;
    font-weight: 500;
    color: #CB573A;
    content: '全部見る';
}

.dailyNotSubmitList .showmore button.is-show:before {
    background-image: url(../img/calendar_daily/icon_minus_red.svg);
}


.dailyNotSubmitList .showmore button.is-show:after {
    content: '閉じる';
}


.dailyReports {
    margin-top: 20px;
    padding-bottom: 80px;
}

.dailyReports .dailyReportsHeader {
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 20px;
}

.dailyReports .dailyReportsTitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.2rem;
    line-height: 1.4rem;
    font-weight: 400;
    letter-spacing: 0;
}

.dailyReports .dailyReportsTitle .date {
    font-size: 1.1rem;
    line-height: 1.3rem;
}

.noDailyReports {
    width: 100%;
    height: 230px;
    border-radius: 5px;
    border: 1px solid #E2DFEF;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.7rem;
    color: #364689;
    letter-spacing: 0;
    text-align: center;
}

.noDailyReports:before {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    border: 1.33px solid #E2DFEF;
    background: url(../calendar_daily/img/icon_nodaily.svg) center center no-repeat #F4F3F9;
    background-size: 20px auto;
    content: '';
}

.noDailyReports span {
    display: block;
    font-size: 1.2rem;
    line-height: 1.4rem;
    margin-top: 5px;
}

@media screen and (max-width: 959px) {
    .dailySearchWrap {
        flex-direction: column;
        gap: 10px;
        border: 0;
        border-radius: 0;
        padding: 0;
        background: none;
    }

    .dailySearchWrap .dailySearch,
    .dailySearchWrap .dailySearchInner,
    .dailySearchWrap .dailySearchItem {
        gap: 10px;
    }

    .dailySearchWrap .dailySearch {
        flex-wrap: wrap;
    }

    .dailySearchWrap .dailySearchItem {
        width: calc(50% - 10px);
    }

    .dailySearchWrap .dailySearchItem input[type=text],
    .dailySearchWrap .dailySearchItem select {
        background-color: #fff;
        height: 40px;
        padding: 0 12px;
    }

    .dailySearchWrap .dailySearchItem input[type=text] {
        background: url(../img/calendar_daily/icon_date.svg) right 1.4rem center no-repeat #fff;
        background-size: 18px auto;
        font-weight: 400;
        font-size: 1.3rem;
        line-height: 1.6;
    }

    .dailySearchWrap .dailySearch input[type=submit] {
        width: 64px;
        min-width: 64px;
        height: 40px;
    }

    .dailySearchWrap .newDaily {
        width: 100%;
        min-width: unset;
        height: 40px;
    }

    .dailySearchWrap .newDaily.disabled {
        border: 1px solid #E2DFEF;
    }


    .dailyStatusList {
        grid-template-columns: repeat(2, 1fr);
        gap: 4px;
    }

    .dailyStatusList .dailyStatusItem {
        padding: 6px 9px;
        gap: 10px;
    }

    .dailyStatusList .dailyStatusItem label {
        font-size: 1.2rem;
        line-height: 1.4rem;
    }

    .dailyNotSubmit {
        background: #FDF2EF;
        border-radius: 6px;
        border-left: 4px solid #CB573A;
        padding: 15px 13px 15px 9px;
        position: relative;
        margin-top: 20px;
    }

    .dailyNotSubmit .dailyNotSubmitClose {
        right: 13px;
        top: 15px;
        height: 22px;
        border-radius: 11px;
    }

    .dailyNotSubmit .dailyNotSubmitTitle {
        margin-bottom: 10px;
        flex-direction: column;
    }

    .dailyNotSubmit .dailyNotSubmitTitle h2 {
        font-size: 1.4rem;
        line-height: 1.7rem;
        padding-left: 16px;
        background: url(../img/calendar_daily/icon_presentation.svg) left 1.5px no-repeat;
        background-size: 14px auto;
    }

    .dailyNotSubmit .dailyNotSubmitTitle p {
        padding: 0;
    }

    .dailyReports {
        padding-bottom: 0;
    }

    .dailyReports .dailyReportsHeader {
        margin-bottom: 6px;
    }

    .dailyReports .dailyReportsTitle {
        font-size: 1.3rem;
        line-height: 1.6rem;
    }

    .dailyReports .dailyReportsTitle .date {
        font-size: 1.2rem;
        line-height: 1.4rem;
    }

    .noDailyReports {
        width: 100%;
        height: 170px;
        gap: 12px;
        font-size: 1.5rem;
        line-height: 1.8rem;
    }
  
}

@media screen and (max-width: 768px) {
    .ui-widget-content {
        margin-left: 0;
        left: 0 !important;
        width: 100% !important;
    }
}

.dailyReportsList {
    position: relative;
}

.dailyReportsList ul {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dailyReportsList ul li {
    width: 100%;
    position: relative;
}

.dailyReportsList ul li label {
    position: absolute;
    right: 20px;
    top: 17.5px;
    z-index: 2;
}

.dailyReportsList label input[type=checkbox] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

.dailyReportsList label span {
    display: block;
    padding-right: 38px;
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0;
    color: #364689;
    position: relative;
}

.dailyReportsList label span:before,
.dailyReportsList label span:after {
    width: 28px;
    height: 28px;
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.dailyReportsList label span:before {
    background: url(../img/icon_checkbox_no.svg) center center no-repeat;
    background-size: 100% 100%;
}

.dailyReportsList label span:after {
    background: url(../img/icon_checkbox_on.svg) center center no-repeat;
    background-size: 100% 100%;
    opacity: 0;
}

.dailyReportsList label input[type=checkbox]:checked + span:after {
    opacity: 1;
}

.dailyReportsList ul li button {
    width: 100%;
    border: 1px solid #E2DFEF;
    background: #fff;
    border-radius: 5px;
    text-align: left;
    cursor: pointer;
    padding: 0;
}

.dailyReportsHead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    width: 100%;
}

.dailyReportsInfo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dailyReportsInfo .user {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dailyReportsInfo .user .userHeader {
    width: 33px;
}

.dailyReportsInfo .user .userHeader img {
    width: 100%;
}

.dailyReportsInfo .user .userName {
    font-size: 1.4rem;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: 0;
}

.dailyReportsInfo .date {
    font-size: 1.3rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0;
}

.dailyReportsInfo .time {
    font-size: 1.3rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0;
    padding-left: 17px;
    background: url(../img/calendar_daily/icon_clock.svg) left center no-repeat;
    background-size: 14px auto;
}

.dailyReportsInfo .total {
    padding: 3px 15px;
    border: 1px solid #E2DFEF;
    background: #F4F3F9;
    border-radius: 30px;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0;
    color: #364689;
}

.dailyReportsInfo .total span {
    font-size: 1.3rem;
    line-height: 1;
    margin-left: 2px;
}

.dailyReportsStatus .status {
    border-radius: 30px;
    border-width: 1px;
    border-style: solid;
    padding: 3px 14px;
    font-size: 1.4rem;
    line-height: 1.7rem;
    font-weight: 400;
    letter-spacing: 0;
}

.statusDraft {
    border-color: #D4D0E6;
    background: #fff;
    color: #364689;
}

.statusSubmitted {
    border-color: #E2DFEF;
    background: #F4F3F9;
    color: #364689;
}

.statusRejected {
    border-color: #F5C4B8;
    background: #FDF2EF;
    color: #CB573A;
}

.statusApproved {
    border-color: #D4D0E6;
    background: #EFF7EC;
    color: #6D917E;
}

.statusRegistered {
    border-color: #D4D0E6;
    background: #EFF7EC;
    color: #6D917E;
}

.dailyReportsBody {
    border-top: 1px solid #E2DFEF;
    padding: 14px 20px 20px;
}

.dailyReportsProblem {
    margin-bottom: 7.5px;
}

.noProblem {
    padding-left: 19px;
    font-size: 1.2rem;
    line-height: 1.5rem;
    background: url(../img/calendar_daily/icon_checked.svg) left top no-repeat;
    background-size: 15px auto;
    color: #6D917E;
}

.waiting {
    padding-left: 19px;
    font-size: 1.2rem;
    line-height: 1.5rem;
    background: url(../img/calendar_daily/icon_information.svg) left top no-repeat;
    background-size: 15px auto;
    color: #D2820E;
}

.dailyReportsItem {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.dailyReportsItem li {
    width: 100%;
    border-radius: 8px;
    border: 1.33px solid #E2DFEF;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.dailyReportsItem .project {
    color: #000;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.2rem;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.dailyReportsItem .project:before {
    width: 10px;
    height: 10px;
    border-radius: 100%;
}

.is-inspection:before {
    content: '';
    background: #387F23;
}

.is-cutting:before {
    content: '';
    background: #B6B6B6;
}

.is-painting:before {
    content: '';
    background: #76FCFD;
}

.is-drilling:before {
    content: '';
    background: #0814F3;
}

.dailyReportsItem .hours {
    color: #364689;
    font-weight: 500;
    letter-spacing: 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.dailyReportsItem .hours span {
    font-size: 1.4rem;
    line-height: 1.7;
}

.dailyReportsItem .name {
    color: #000;
    font-weight: 400;
    letter-spacing: 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.rejectedArea {
    background: #FDF2EF;
    border-radius: 8px;
    padding: 15px 25px;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #CB573A;
    font-weight: 400;
    letter-spacing: 0;
    margin-top: 8px;
}

.rejectedArea .date {
    margin-bottom: 6px;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.4rem;
    letter-spacing: 0;
}

.dailyConfirm {
    position: fixed;
    width: calc(100% - 260px);
    left: 260px;
    bottom: 0;
    z-index: 99;
    padding: 20px 20px 20px 95px;
    background: #fff;
    border-top: 1px solid #E2DFEF;
    transition: transform .3s ease;
    transform: translateY(100%);
}

.dailyConfirm.is-show {
    transform: translateY(0);
}

.dailyConfirm .dailyConfirmDelete {
    border: 0;
    border-radius: 100%;
    background: url(../img/calendar_daily/btn_close_gray.svg) center center no-repeat;
    background-size: 100%;
    width: 44px;
    height: 44px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    cursor: pointer;
}

.dailyConfirm .dailyConfirmBody {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 1.4rem;
    line-height: 1.7rem;
    font-weight: 500;
    color: #000;
}

.dailyConfirm .dailyConfirmBody button {
    cursor: pointer;
    width: 100px;
    height: 30px;
    background: #364689;
    border: 1px solid #364689;
    border-radius: 6px;
    font-size: 1.2rem;
    line-height: 1.4rem;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0;
}

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

    .dailyReportsList ul {
        gap: 6px;
    }

    .dailyReportsList ul li label {
        right: 10px;
        top: 15px;
    }

    .dailyReportsHead {
        display: block;
        padding: 14px 10px;
        min-height: 40px;
    }

    .dailyReportsInfo {
        flex-wrap: wrap;
        gap: 2px 5px;
        padding-left: 48px;
        position: relative;
    }

    .dailyReportsInfo .user {
        display: block;
    }

    .dailyReportsInfo .user .userHeader {
        width: 40px;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
    }

    .dailyReportsInfo .user .userHeader img {
        width: 100%;
    }

    .dailyReportsInfo .date {
        font-size: 1.2rem;
        line-height: 1.4;
        width: 100%;
    }

    .dailyReportsInfo .time {
        padding-left: 16px;
    }

    .dailyReportsInfo .total {
        padding: 2px 11px;
        font-size: 1rem;
        line-height: 1.2;
    }

    .dailyReportsInfo .total span {
        font-size: 1.1rem;
        line-height: 1;
    }

    .dailyReportsStatus {
        position: absolute;
        right: 10px;
        top: 15px;
        z-index: 2;
    }

    .dailyReportsBody {
        border-top: 1px solid #E2DFEF;
        padding: 13px 10px 14px;
    }

    .dailyReportsProblem {
        margin-bottom: 7px;
    }

    .dailyReportsItem li {
        padding: 12px 20px;
        gap: 14px;
    }

    .rejectedArea {
        padding: 10px;
        margin-top: 7px;
    }

    .dailyConfirm {
        width: 100%;
        left: 0;
        bottom: 60px;
        z-index: 99;
        padding: 20px 20px 20px 54px;
        transform: translateY(100%);
    }

    .dailyConfirm.is-show {
        transform: translateY(0);
    }

    .dailyConfirm .dailyConfirmDelete {
        width: 24px;
        height: 24px;
    }

    .dailyConfirm .dailyConfirmBody button {
        width: 80px;
    }
}



.notsubmitCalendarDate {
    font-size: 1.6rem;
    line-height: 1.9rem;
    font-weight: 500;
    margin-bottom: 20px;
    margin-top: -10px;
}


.notsubmitCalendarUser {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.notsubmitCalendarUser .userHeader {
    width: 33px;
}

.notsubmitCalendarUser .userHeader img {
    width: 100%;
}

.notsubmitCalendarUser .userName {
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 500;
}

.notsubmitCalendarNotes {
    font-size: 1.4rem;
    line-height: 1.7rem;
    margin-bottom: 20px;
}

.notsubmitCalendarNotes p + p {
    margin-top: 5px;
}

.notsubmitCalendarNotes .markers:before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background: #F5C4B8;
    margin-right: 5px;
}

.notsubmitCalendarTable {
    border: 1px solid #E2DFEF;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.notsubmitCalendarTable table {
    width: 100%;
    height: 100%;
}

.notsubmitCalendarTable thead th {
    width: calc(100% / 7);
    height: 100%;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.9rem;
    letter-spacing: 0;
    padding: 15px;
}

.notsubmitCalendarTable thead th:first-child {
    color: #CB573A;
}

.notsubmitCalendarTable thead th:last-child {
    color: #364689;
}

.notsubmitCalendarTable tbody td {
    width: calc(100% / 7);
    border-top: 1px solid #E2DFEF;
    vertical-align: top;
    padding: 6px 2px;
    height: 85px;
    background: #fff;
    letter-spacing: 0;
    font-size: 1.4rem;
    line-height: 1.7rem;
    font-weight: 500;
    color: #000;
    position: relative;
}

.notsubmitCalendarTable tbody td + td {
    border-left: 1px solid #E2DFEF;
}

.notsubmitCalendarTable tbody tr td:first-child,
.notsubmitCalendarTable tbody tr td:last-child,
.notsubmitCalendarTable tbody td.holiday {
    background: #FDF2EF;
}

.notsubmitCalendarTable tbody td.prevMonth,
.notsubmitCalendarTable tbody td.nextMonth {
    background: #F4F3F9 !important;
}

.notsubmitCalendarTable tbody td span {
    display: block;
    position: relative;
    z-index: 2;
    pointer-events: none;
}

.notsubmitCalendarTable tbody td .day {
    margin-bottom: 10px;
    padding: 0 3px;
}

.notsubmitCalendarTable tbody tr td:first-child,
.notsubmitCalendarTable tbody tr td:last-child,
.notsubmitCalendarTable tbody td.holiday {
    color: #CB573A;
}

.notsubmitCalendarTable tbody td button {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-radius: 0;
    border: 0;
    background: #F5C4B8;
    cursor: pointer;
}

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

    .notsubmitCalendarTable {
        border-radius: 4.5px;
    }

    .notsubmitCalendarTable thead th {
        font-size: 1.1rem;
        line-height: 1.3rem;
        padding: 10px;
    }

    .notsubmitCalendarTable tbody td {
        padding: 4px 1px;
        height: 56px;
        font-size: 1rem;
        line-height: 1.2;
    }

    .notsubmitCalendarTable tbody td .day {
        margin-bottom: 6px;
        padding: 0 2px;
    }

    .notsubmitCalendarTable tbody td .plans {
        font-size: .9rem;
    }
}

.dailyDate {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    line-height: 1.9rem;
    letter-spacing: 0;
    margin: -10px 0 20px;
}

.dailyInputFlow {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin-bottom: 18px;
}

.dailyInputFlow li {
    width: 100%;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.4rem;
    font-weight: 500;
    color: #E2DFEF;
    position: relative;
    padding: 7px 0 0;
}

.dailyInputFlow li:before {
    width: 100%;
    height: 2px;
    border-radius: 1px;
    background: #E2DFEF;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    content: '';
}

.plansInput[data-flow=flow1] .dailyInputFlow li:nth-child(1),
.plansInput[data-flow=flow2] .dailyInputFlow li:nth-child(1),
.plansInput[data-flow=flow2] .dailyInputFlow li:nth-child(2),
.plansInput[data-flow=flow3] .dailyInputFlow li:nth-child(1),
.plansInput[data-flow=flow3] .dailyInputFlow li:nth-child(2),
.plansInput[data-flow=flow3] .dailyInputFlow li:nth-child(3) {
    color: #364689;
}

.plansInput[data-flow=flow1] .dailyInputFlow li:nth-child(1):before,
.plansInput[data-flow=flow2] .dailyInputFlow li:nth-child(1):before,
.plansInput[data-flow=flow2] .dailyInputFlow li:nth-child(2):before,
.plansInput[data-flow=flow3] .dailyInputFlow li:nth-child(1):before,
.plansInput[data-flow=flow3] .dailyInputFlow li:nth-child(2):before,
.plansInput[data-flow=flow3] .dailyInputFlow li:nth-child(3):before {
    background-color: #364689;
}

.plansInput[data-flow=flow1] .flow2,
.plansInput[data-flow=flow1] .flow3,
.plansInput[data-flow=flow2] .flow1,
.plansInput[data-flow=flow2] .flow3,
.plansInput[data-flow=flow3] .flow1,
.plansInput[data-flow=flow3] .flow2 {
    display: none;
}

/* 月刊まとめモーダル：印刷時は詳細一覧テーブルのみ */
@media print {
    body * {
        visibility: hidden;
    }
    /* .popupBox の transform が fixed の包含ブロックになるため、印刷時は解除して viewport 基準にする */
    #monthly_summary.is-show {
        left: 0;
        right: 0;
        width: 100%;
    }
    #monthly_summary.is-show .popupBox {
        transform: none;
        left: 0;
        top: 0;
        margin: 0;
        width: 100%;
        max-width: none;
        border-radius: 0;
        box-shadow: none;
        padding: 12px 16px;
    }
    #monthly_summary.is-show .popupBody {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
    #monthly_summary.is-show .js-monthly-summary-print-target,
    #monthly_summary.is-show .js-monthly-summary-print-target * {
        visibility: visible;
    }
    #monthly_summary.is-show .js-monthly-summary-print-target {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        overflow: visible;
    }
    #monthly_summary.is-show .js-monthly-summary-print-target table {
        width: 100%;
    }
}