/* Shared by the LP and the air-conditioner price section's shadow root. */
.phone-ribbon {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  display: block;
  width: min(100%, 24rem);
  margin: .65rem auto .4rem;
  padding: 0 1rem .25rem;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.phone-ribbon::before, .phone-ribbon::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1.6rem;
  top: .42rem;
  bottom: 0;
  background: #315f79;
}
.phone-ribbon::before { left: 0; clip-path: polygon(0 0,100% 0,100% 100%,0 100%,26% 50%); }
.phone-ribbon::after { right: 0; clip-path: polygon(0 0,100% 0,74% 50%,100% 100%,0 100%); }
.phone-ribbon > .ribbon-face {
  display: block;
  background: #163c56;
  color: #fff;
  border-radius: 2px;
  padding: .3rem .35rem;
  font-size: clamp(1rem, 4.2vw, 1.18rem);
  font-weight: 650;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.phone-ribbon .ribbon-lead { display: block; }
.phone-ribbon .ribbon-close { display: block; color: #fff1c5; font-size: 1.24em; font-weight: 800; line-height: 1.28; }
.offer .phone-ribbon + .call, .end .phone-ribbon + .call { margin-top: .32rem; }
.ribbon-phone-group { display: grid; align-content: end; gap: .35rem; min-width: 0; }
.final-buttons { align-items: end; }
.final-buttons .phone-ribbon { margin: 0 auto; }
@media(max-width:780px) { .final-buttons { align-items: stretch; } }
.fixed-actions > .ribbon-bar {
  grid-column: 1 / -1;
  background: #fff;
  padding: 2px .25rem;
}
.fixed-actions .phone-ribbon { width: fit-content; max-width: 100%; margin: 0 auto; padding: 0 .63rem .12rem; }
.fixed-actions .phone-ribbon::before, .fixed-actions .phone-ribbon::after { width: .9rem; top: .2rem; }
.fixed-actions .phone-ribbon .ribbon-face { font-size: .9rem; line-height: 1.3; padding: .12rem .48rem; }
.fixed-actions .phone-ribbon .ribbon-lead, .fixed-actions .phone-ribbon .ribbon-close { display: inline; }
.fixed-actions .phone-ribbon .ribbon-close { font-size: 1.06em; }
@media(max-width:350px) {
  .fixed-actions .phone-ribbon { padding-inline: .44rem; }
  .fixed-actions .phone-ribbon .ribbon-face { font-size: .875rem; padding-inline: .15rem; }
}
.completion-callback .phone-ribbon { margin-top: .75rem; }
