:root {
  --color-link-default: #1176d4;
  --color-link-hover: #1b7097;
}
html {
  box-sizing: border-box;
  font-size: 16px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  line-height: 1.7;
}
body {
  background-color: #e6d8c5;
  /* height: 100vh; */
  font-family: "Roboto", "Zen Kaku Gothic Antique", "Helvetica Neue", Arial,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  /* font-weight: 700; */
}
a:not([class]) {
  color: var(--color-link-default);
  text-decoration: underline;
  transition: 0.4s;
  &:hover {
    color: var(--color-link-hover);
    text-decoration-thickness: 2px;
  }
}

.calendar_wrapper {
  max-width: 600px;
  margin: 0 auto;
  padding: 0 8px;
}
.calendar_wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.calendar_controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 24px;
}
.calendar_controls_buttonWrapper {
  display: flex;
  align-items: center;
  gap: 4px;
}
.calendar_controls_button {
  display: flex;
  color: #333333;
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0.5rem 0.4rem;
}
.calendar_controls_today {
  color: #333333;
  background-color: #e6e3d9;
  padding: 0.5rem 0.8rem;
  border-radius: 8px;
  line-height: 1;
}
.calendar_controls_prev,
.calendar_controls_next {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #333333;
  transform: rotate(45deg);
}
.calendar_controls_prev {
  transform: rotate(-135deg);
}
.calendar_controls_button:disabled {
  cursor: not-allowed;
}
.calendar_controls_button:disabled .calendar_controls_prev,
.calendar_controls_button:disabled .calendar_controls_next {
  border-color: #aaaaaa;
}

.calendar_block {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}
.calendar_dayweek {
  text-align: center;
  font-weight: bold;
  color: #95515e;
}

.calendar_day_day {
  padding: 4px 8px;
  color: #555555;
  text-align: center;
  cursor: pointer;
  border-radius: 4px;
}
.calendar_day_event {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #333333;
  font-weight: bold;
  position: relative;
}
.calendar_day_event:after {
  /* position: absolute; */
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background-color: #c39ba2;
  bottom: 4px;
  left: 43%;
}
.calendar_day_today {
  background-color: #debbc2;
  border-radius: 9999px;
}
.calendar_day_day.is-active {
  color: #ffffff;
  background-color: #95515e;
  border-radius: 9999px;
}

.calendar_card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 16px 20px;
  background: #e6e3d9;
  border-left: 4px solid #95515e;
}

.calendar_card_eventLink {
  color: var(--color-link-default);
  text-decoration: underline;
}
.calendar_card_eventLink:hover {
  color: var(--color-link-hover);
  text-decoration-thickness: 2px;
}
.calendar_card_title {
  font-size: 14px;
}
.calendar_card_description {
  margin: 0px;
}
.calendar_card_event {
  display: flex;
  flex-direction: column;
}
.calendar_card_eventTitle {
  font-weight: bold;
  margin: 0px;
}
.calendar_card_eventDescription {
  margin: 0px;
}
