@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yusei+Magic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sigmar+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');

body {
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

.speech-balloon-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  align-content: space-between;
}

.speech-balloon {
  width: 20rem;
  height: 15rem;
  margin: 1rem 0.5rem;
  padding: 1rem 0.5rem;
  border-radius: 50%;
  border: solid 1px var(--color);
  font-size: 1.5rem;
  text-align: center;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  overflow: break-all;
  position: relative;
  display: flex;
  color: #fff;
  background: var(--color);
}

.speech-balloon::after {
  top: 100%;
  left: 50%;
  position: absolute;
  border: solid 1rem transparent;
  border-top: solid 1rem var(--color);
  transform: translateX(-50%);
  content: "";
}

.the-ogawa-times {
  font-family: 'Righteous', cursive;
}

.my-title {
  font-family: 'Sigmar One', cursive;
  /* color: #575454; */
}

.my-card-img-top {
  aspect-ratio: 8 / 5;
  object-fit: cover;
}

.my-card-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.my-card-text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.consulting-menu {
  box-sizing: border-box !important;
  background-color: #597CCE !important;
  color: #FFF !important;
}

.consulting-menu:hover {
  box-sizing: border-box !important;
  border: solid 3px #597CCE !important;
  background-color: #FFF !important;
  color: #597CCE !important;
}

.balloon {
  width: 15rem;
  height: 10rem;
  margin-left: auto;
  border-radius: 50%;
  font-size: 2.5rem;
  text-align: center;
  align-items: center;
  justify-content: center;
  overflow: break-all;
  position: relative;
  display: flex;
  color: #f5ac3f;
  background: var(--color);
}

.balloon::after {
  bottom: -20px;
  right: -10px;
  position: absolute;
  border: solid 2rem transparent;
  border-left: solid 2rem var(--color);
  transform: rotate(45deg);
  content: "";
}

.circle {
  width: 200px;
  height: 200px;
  text-align: center;
  border-radius: 50%;
  border: solid 5px #807EBE;
  box-sizing: border-box;
  overflow: hidden;
}

.circle-header {
  width: 100%;
  height: calc(70px - 5px);
  padding: 1rem;
  font-size: 1.5rem;
  background-color: #807EBE;
  box-sizing: border-box;
  color: #fff;
  display: table;
}

.circle-body {
  width: 100%;
  height: calc(130px - 5px);
  padding: 0 1rem;
  font-size: 1.5rem;
  box-sizing: border-box;
  display: table;
}

.circle-header>span,
.circle-body>span {
  display: table-cell;
  vertical-align: middle;
}

.tsubamesanjofp {
  color: #fff;
  font-family: 'Righteous', cursive;
  background-color: #7e8fe2;
  border-radius: 10px;
  padding: 0 1rem;
}

#blackboard {
  background-image: url("/images/blackboard.png");
  background-size: cover;
  aspect-ratio: 16 / 9;
}

#blackboard * {
  opacity: 0.9;
  color: #fff;
  font-family: 'Yusei Magic', sans-serif;
}

.marker {
  background: linear-gradient(transparent 65%, var(--marker-color) 75%);
  padding: 5px 0px 0px;
  display: inline;
}

.warpper {
  position: relative;
}

.start {
  width: 125px;
  height: 125px;
  display: block;
  object-fit: cover;
  object-position: right center;
  border: solid 3px #0d6efd;
}

.ends {
  width: 125px;
  font-size: small;
}

@media (min-width: 768px) {
  .start {
    width: 150px;
    height: 150px;
  }

  .ends {
    width: auto;
    font-size: unset;
  }
}