@charset "UTF-8";
.section-online {
  margin-top: 80rem;
}
.section-online .content__frame {
  margin-top: 47rem;
  border-radius: 60rem;
  background: #F0F0F0;
  padding: 50px 60px;
  position: relative;
}
.section-online .content__frame::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #64965A;
  border-radius: 60rem;
  position: absolute;
  left: 0;
  bottom: -7rem;
  z-index: -1;
}
.section-online .content__frame .content__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 32px;
       column-gap: 32px;
  row-gap: 28px;
}
.section-online .content__frame .calendar__item .ttl {
  color: #64965A;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 40px;
}
.section-online .content__frame .calendar__btn {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.section-online .content__frame .calendar__btn .c__btn.p__btn {
  width: 240rem;
  margin-bottom: 20px;
  margin-top: 0;
}

.online__calendar {
  width: 100%;
}
.online__calendar .week__list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.online__calendar .week__list div {
  background-color: #64965A;
  color: #F5F5F5;
  font-size: 13px;
  font-weight: 500;
  padding: 5px 10px;
}
.online__calendar .week__list div:first-child {
  position: relative;
}
.online__calendar .week__list div:first-child::before {
  content: "";
  background: url(../img/attention.png) no-repeat center center/cover;
  width: 12px;
  height: 7px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.online__calendar .week__list div:first-child .today__panel {
  color: #FFFFCD;
  text-align: center;
  align-content: center;
  background: #F0AA1E;
  border-radius: 5px 5px 0 0;
  width: 100%;
  height: 29px;
  position: absolute;
  top: -29px;
  left: 0;
}
.online__calendar .week__list div:not(:last-child) {
  border-right: 2px solid #CDD7CD;
}
.online__calendar .week__list div:last-child {
  border-right: 2px solid #64965A;
  border-radius: 0 5px 0 0;
}
.online__calendar .week__list div.closed {
  color: #FFFFCD;
}
.online__calendar .day__list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.online__calendar .day__list a {
  display: block;
  align-content: center;
  text-align: center;
  background-color: #fff;
  padding: 12px 5px;
  border-bottom: 2px solid #64965A;
}
.online__calendar .day__list a:not(:last-child) {
  border-right: 2px solid #CDD7CD;
}
.online__calendar .day__list a:first-child {
  background-color: #FFFFCD;
  border-left: 2px solid #64965A;
  border-radius: 0 0 0 5px;
}
.online__calendar .day__list a:last-child {
  border-right: 2px solid #64965A;
  border-radius: 0 0 5px 0;
}
.online__calendar .day__list a .date {
  font-size: 14px;
  font-weight: 600;
  color: #4B4B4B;
  font-family: "Open Sans", sans-serif;
  letter-spacing: normal;
}
.online__calendar .day__list a .status {
  width: 100%;
  height: 17px;
  position: relative;
  margin: 5px 0;
}
.online__calendar .day__list a .status.closed::before {
  content: "";
  width: 14px;
  height: 3px;
  background-color: #87786E;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.online__calendar .day__list a .status.active::before {
  content: "●";
  font-size: 14px;
  color: #F0AA1E;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media (max-width: 1080px) {
  .section-online .content__frame .content__inner {
    grid-template-columns: repeat(1, 1fr);
  }
  .section-online .content__frame .content__inner .calendar__btn {
    justify-content: center;
    align-items: center;
  }
  .section-online .content__frame .content__inner .calendar__btn .c__btn.p__btn {
    width: 100%;
    margin-bottom: 0;
  }
}
@media (max-width: 768px) {
  .section-online .content__frame {
    padding: 50px 30px;
  }
}
@media (max-width: 480px) {
  .section-online .content__frame {
    padding: 40px 20px;
  }
  .online__calendar .week__list div {
    text-align: center;
    font-size: 12px;
  }
  .online__calendar .week__list div:first-child::before {
    width: 9.21px;
    height: 7px;
    background-size: contain;
    top: -1px;
  }
  .online__calendar .day__list a {
    padding: 8px 0;
  }
  .online__calendar .day__list a .date {
    font-size: 10.5px;
  }
}/*# sourceMappingURL=calendar.css.map */