/*
|---------------------------------------------------------------
| regist-banner.css
|---------------------------------------------------------------
*/
.oku-regist-banner-wrap {
  background-color: #ecf3f8;
  padding: 32px 8px;
}
.oku-regist-banner {
  box-sizing: border-box;
  max-width: 1024px;
  margin: clamp(20px, 4vw, 40px) auto;
  padding: clamp(18px, 3vw, 28px) clamp(15px, 3vw, 30px);
  border: 3px solid var(--oku-color-main, #0F4C81);
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: 0 4px 10px rgba(15, 76, 129, .12);
  text-align: center;
  font-family: var(--oku-font-family-base, "Noto Sans JP", sans-serif);
}
.oku-regist-banner *,
.oku-regist-banner *::before,
.oku-regist-banner *::after {
  box-sizing: border-box;
}

.oku-regist-banner__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 1.5vw, 14px);
  margin: 0 0 clamp(10px, 2vw, 16px);
  color: var(--oku-color-main, #0F4C81);
  font-size: clamp(19px, 3.2vw, 28px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .02em;
}
.oku-regist-banner__icon {
  flex: none;
  width: clamp(34px, 5vw, 46px);
  height: auto;
}
.oku-regist-banner__heading em {
  color: var(--oku-color-accent, #E65100);
  font-style: normal;
}

.oku-regist-banner__lead {
  margin: 0 0 clamp(16px, 3vw, 26px);
  color: #333333;
  font-size: clamp(13px, 2.1vw, 17px);
  font-weight: 500;
  line-height: 1.7;
}

.oku-regist-banner__button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 520px;
  min-height: clamp(56px, 8vw, 72px);
  margin: 0 auto;
  padding: 12px 60px;
  border-radius: 6px;
  background-color: var(--oku-color-main, #0F4C81);
  color: #ffffff;
  font-size: clamp(15px, 2.6vw, 21px);
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.oku-regist-banner__button:hover,
.oku-regist-banner__button:focus-visible {
  background-color: #0d3f6c;
  box-shadow: 0 6px 14px rgba(15, 76, 129, .28);
  transform: translateY(-2px);
  color: #ffffff;
  text-decoration: none;
}
.oku-regist-banner__button-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: clamp(14px, 2.5vw, 24px);
  width: clamp(24px, 3.4vw, 30px);
  height: clamp(24px, 3.4vw, 30px);
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: var(--oku-color-accent, #E65100);
}
.oku-regist-banner__button-arrow svg {
  width: 45%;
  height: 45%;
}

@media screen and (max-width: 480px) {
  .oku-regist-banner__heading {
    flex-wrap: wrap;
  }
}
