/* CSS Document */

/* 大きめのリンクボタン */
.yoyakuLink {
  padding-top: 30px;
}

.reserve-btn {
  display: block;
  max-width: 300px;
  padding: 34px 20px;
  margin: 0;
  /* ← 左寄せ */

  background: #b45a57;
  color: #fff;

  font-size: 20px;
  font-weight: bold;
  text-align: center;
  /* ← ボタン内の文字は中央 */
  text-decoration: none;
  letter-spacing: 0.25em;

  border-radius: 50px;
  transition: background .2s ease, transform .2s ease;
}

.reserve-btn:hover {
  background: #c66a66;
  transform: translateY(2px);
}

.normalLink {
  padding-top: 20px;
  padding-bottom: 30px;
}

.normal-btn {
  display: block;
  max-width: 300px;
  padding: 34px 20px;
  margin: 0;
  /* ← 左寄せ */

  background: #343434;
  color: #fff;

  font-size: 20px;
  font-weight: bold;
  text-align: center;
  /* ← ボタン内の文字は中央 */
  text-decoration: none;
  letter-spacing: 0.25em;

  border-radius: 50px;
  transition: background .2s ease, transform .2s ease;
}

/*日にちバッヂ*/

.date-badge {
  --badge-color: #39a5c5;
  --text-color: #ffffff;
  --size: 240px;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: var(--badge-color);
  color: var(--text-color);
  font-family: Arial, "Noto Sans JP", sans-serif;
  vertical-align: middle;
  flex-shrink: 0;
}

.date-badge::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: 6%;
  bottom: 7%;
  width: 27%;
  height: 32%;
  background: var(--badge-color);
  border-radius: 0px 100% 12%;
  transform: rotate(-8deg);
}

.date-badge__text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--size) * .015);
  position: relative;
  line-height: 1;
  white-space: nowrap;
}

.date-badge__number {
  font-size: calc(var(--size) * .5);
  font-weight: 400;
}

.date-badge__day {
  font-size: calc(var(--size) * .34);
  font-weight: 400;
}


/*リンクボタンMini*/

.yoyakuLinkMini {
  padding-top: 30px;
}

.reserve-btn {
  display: block;
  max-width: 250px;
  padding: 20px 20px;
  margin: 0;
  /* ← 左寄せ */

  background: #b45a57;
  color: #fff;

  font-size: 15px;
  font-weight: bold;
  text-align: center;
  /* ← ボタン内の文字は中央 */
  text-decoration: none;
  letter-spacing: 0.25em;

  border-radius: 10px;
  transition: background .2s ease, transform .2s ease;
}

.reserve-btn:hover {
  background: #c66a66;
  transform: translateY(2px);
}

.normalLinkMini {
  padding-top: 20px;
  padding-bottom: 30px;
}

.normal-btn {
  display: block;
  max-width: 250px;
  padding: 20px 20px;
  margin: 0;
  /* ← 左寄せ */

  background: #343434;
  color: #fff;

  font-size: 15px;
  font-weight: bold;
  text-align: center;
  /* ← ボタン内の文字は中央 */
  text-decoration: none;
  letter-spacing: 0.25em;

  border-radius: 10px;
  transition: background .2s ease, transform .2s ease;
}

