/* Lower-page mobile design tokens
   One shared reference prevents About / Service / Case / News from drifting apart.
   These variables do not alter a page until that page explicitly uses them. */
:root{
  --renewal-sp-gutter:16px;
  --renewal-sp-section-gap:72px;
  --renewal-sp-fv-title-size:clamp(27px,7vw,29px);
  --renewal-sp-section-title-size:24px;
  --renewal-sp-item-title-size:18px;
  --renewal-sp-body-size:15.5px;
  --renewal-sp-body-line-height:1.9;
  --renewal-sp-body-weight:400;
  --renewal-sp-label-size:14px;
}

/* Shared consultation CTA */
.p-renewal-contact{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-image:linear-gradient(rgba(16,43,80,.66),rgba(16,43,80,.70)),url(../images/top-v55/cta-atmosphere-v55.png)!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.p-renewal-contact .title::before,
.p-renewal-contact .title:before{display:none!important;content:none!important}
.p-renewal-contact__meta-stack{display:none}
.p-renewal-contact__title-line{display:block}


/* Tablet consultation CTA */
@media screen and (min-width:721px) and (max-width:1040px){
  .p-renewal-contact .title{
    max-width:820px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:clamp(30px,4.2vw,36px)!important;
    line-height:1.5!important;
    letter-spacing:-.01em!important;
    text-align:center!important;
  }
  .p-renewal-contact__meta-pc{display:none!important}
  .p-renewal-contact__meta-stack{
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    gap:6px;
    width:100%;
    margin:22px auto 0;
    padding:0;
    color:rgba(255,255,255,.96);
    text-shadow:0 1px 2px rgba(0,0,0,.22);
    font-size:14px;
    line-height:1.65;
    font-weight:600;
    letter-spacing:.01em;
    text-align:center;
  }
}

/* Phone consultation CTA */
@media screen and (max-width:720px){
  .p-renewal-contact{
    min-height:0!important;
    padding-top:62px!important;
    padding-bottom:66px!important;
    background-position:center center!important;
  }
  .p-renewal-contact .l-content-inner{padding-left:0;padding-right:0}
  .p-renewal-contact .title{
    width:auto!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0 18px!important;
    font-size:clamp(21px,6.4vw,26px)!important;
    line-height:1.55!important;
    letter-spacing:-.012em!important;
    text-align:center!important;
    white-space:normal!important;
    text-wrap:wrap!important;
    text-wrap-style:auto!important;
    word-break:normal!important;
    line-break:strict!important;
    overflow-wrap:normal!important;
  }
  .p-renewal-contact .text{
    max-width:600px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:20px!important;
    padding-right:20px!important;
    font-size:15.5px!important;
    line-height:1.95!important;
    font-weight:600!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    white-space:normal!important;
    text-wrap:wrap!important;
    text-wrap-style:auto!important;
    word-break:normal!important;
    line-break:strict!important;
    overflow-wrap:normal!important;
  }
  .p-renewal-contact .text br{display:none!important}
  .p-renewal-contact .c-btn{width:calc(100% - 40px);margin-top:28px!important}
  .p-renewal-contact__meta-pc{display:none!important}
  .p-renewal-contact__meta-stack{
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    gap:5px;
    width:100%;
    margin:22px auto 0;
    padding:0 20px;
    color:rgba(255,255,255,.94);
    text-shadow:0 1px 2px rgba(0,0,0,.22);
    font-size:13px;
    line-height:1.65;
    font-weight:600;
    letter-spacing:.01em;
    text-align:center;
  }
}

/* Responsive Japanese line-break polish */
/* Avoid one-character remnants such as 「変 / 化。」, 「なぜ / か」 in archive cards. */
.c-index__list .item__inn .title{
  text-wrap:balance;
}



/* Contact confirm: keep required/optional badge horizontal */
.p-contact.-confirm .p-contact__tbl .inn dt .hissu{
  display:inline-flex!important;
  flex:0 0 auto!important;
  min-width:3.6rem!important;
  width:auto!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  writing-mode:horizontal-tb!important;
}
