/*
 * Shared CTA shape
 * Keep each service's color, size, shadow and motion; unify only the outline.
 * The corporate header is intentionally excluded.
 */
:where(
  #header-lp a.btn-header,
  #header-lp a.sp-btn,
  #nav a.pamphlet,
  #nav a.briefing,
  a.floating-cta-button,
  .sidenav .buttons a.btn,
  .btn-lists a.btn--item,
  .consult a.btn,
  .page-top .introduction a.btn,
  .page-top .subsidy a.btn,
  .page-top .seminar-btn > a,
  .page-top .uservoice-cta > a.works-btn,
  a.banner-btn,
  a.btn-b,
  a.btn-qq,
  a.cta-btn-cover,
  a.line-steps-btn,
  a.webinar-second-btn,
  a.button-yellow,
  a.counseling-btn,
  a.button_form,
  a.button_form-c,
  a.button_form-c1,
  a.button-fixed,
  a.other-courses__button,
  .contact-button > a,
  .contact-button-first > a
):not(#header-corporate *) {
  border-radius: 9999px !important;
  transform-origin: center;
  transition: transform 0.3s ease !important;
}

:where(
  #header-lp a.btn-header,
  #header-lp a.sp-btn,
  #nav a.pamphlet,
  #nav a.briefing,
  .sidenav .buttons a.btn,
  .btn-lists a.btn--item,
  .consult a.btn,
  .page-top .introduction a.btn,
  .page-top .subsidy a.btn,
  .page-top .seminar-btn > a,
  .page-top .uservoice-cta > a.works-btn,
  a.banner-btn,
  a.btn-b,
  a.btn-qq,
  a.cta-btn-cover,
  a.line-steps-btn,
  a.webinar-second-btn,
  a.button-yellow,
  a.counseling-btn,
  a.button_form,
  a.button_form-c,
  a.button_form-c1,
  a.button-fixed,
  a.other-courses__button,
  .contact-button > a,
  .contact-button-first > a
):not(#header-corporate *):hover {
  opacity: 1;
  transform: scale(1.06) !important;
}

:where(
  input[type="submit"],
  button[type="submit"]
):not(#header-corporate *) {
  border-radius: 9999px !important;
  transform-origin: center;
  transition: transform 0.3s ease !important;
}

:where(
  input[type="submit"],
  button[type="submit"]
):not(#header-corporate *):hover {
  transform: scale(1.06) !important;
}

/* Shared floating CTA design */
#Ft_cv_Area_bver.fixed-bottom {
  padding: 22px 0;
}

#Ft_cv_Area_bver .floating-cta-button {
  align-items: center;
  border-radius: 9999px;
  color: #fff;
  display: flex;
  font-weight: 700;
  justify-content: center;
  min-height: 76px;
  opacity: 1;
  position: relative;
  transition: background-color 0.3s ease;
  white-space: nowrap;
  width: 100%;
}

#Ft_cv_Area_bver .floating-cta-button:hover {
  opacity: 1;
}

#Ft_cv_Area_bver .floating-cta-button img {
  display: none;
}

#Ft_cv_Area_bver .floating-cta-button--counseling {
  background-color: #f3920b;
  box-shadow: 0 7px 0 #d77b00;
}

#Ft_cv_Area_bver .floating-cta-button--pamphlet {
  background-color: #6ca6f4;
  box-shadow: 0 7px 0 #2f7fe8;
}

#Ft_cv_Area_bver .floating-cta-button--line {
  background-color: #06c755;
  box-shadow: 0 7px 0 #009c3b;
}

#Ft_cv_Area_bver .floating-cta-button--counseling:hover {
  background-color: #f7a22f;
}

#Ft_cv_Area_bver .floating-cta-button--pamphlet:hover {
  background-color: #82b5f8;
}

#Ft_cv_Area_bver .floating-cta-button--line:hover {
  background-color: #25d366;
}

#Ft_cv_Area_bver .floating-cta-kicker {
  background-color: #fff;
  border: 3px solid currentColor;
  border-radius: 9999px;
  color: inherit;
  font-size: 18px;
  left: 50%;
  line-height: 1;
  padding: 8px 40px;
  position: absolute;
  top: -20px;
  transform: translateX(-50%);
}

#Ft_cv_Area_bver .floating-cta-button--counseling .floating-cta-kicker {
  color: #f3920b;
}

#Ft_cv_Area_bver .floating-cta-button--pamphlet .floating-cta-kicker {
  color: #6ca6f4;
}

#Ft_cv_Area_bver .floating-cta-button--line .floating-cta-kicker {
  color: #06c755;
}

#Ft_cv_Area_bver .floating-cta-label {
  font-size: 26px;
  transform: translateY(9px);
  transform-origin: center;
  transition: transform 0.3s ease;
}

#Ft_cv_Area_bver .floating-cta-button:hover .floating-cta-label {
  transform: translateY(9px) scale(1.06);
}

@media only screen and (max-width: 47.9375em) {
  #Ft_cv_Area_bver.fixed-bottom {
    box-sizing: border-box;
    padding: 15px 0 20px;
    width: 100%;
  }

  #Ft_cv_Area_bver.fixed-bottom .wrapper {
    overflow: visible;
    width: 100%;
  }

  #Ft_cv_Area_bver.fixed-bottom .row-sp {
    box-sizing: border-box;
    gap: 8px;
    margin: 0;
    padding: 0 8px;
    width: 100%;
  }

  #Ft_cv_Area_bver.fixed-bottom .row-sp > div {
    flex: 1 1 0;
    min-width: 0;
  }

  #Ft_cv_Area_bver.fixed-bottom .floating-cta-button {
    box-sizing: border-box;
    min-height: 52px;
    min-width: 0;
    padding: 0 4px;
  }

  #Ft_cv_Area_bver.fixed-bottom .floating-cta-kicker {
    border-width: 2px;
    box-sizing: border-box;
    font-size: clamp(9px, 2.7vw, 10px);
    max-width: calc(100% - 8px);
    padding: 5px clamp(8px, 4vw, 16px);
    top: -13px;
  }

  #Ft_cv_Area_bver.fixed-bottom .floating-cta-label {
    font-size: clamp(11px, 3.7vw, 14px);
    transform: translateY(6px);
  }

  #Ft_cv_Area_bver.fixed-bottom .floating-cta-button:hover .floating-cta-label {
    transform: translateY(6px) scale(1.06);
  }
}
