/* Roomie / いえうる: bottom fixed CTA. Independent of legacy .scroll_fixed rules.
   Reference: supplied 1269 x 165 px screenshot, 2026-10-16. */
.roomie-sticky-cta { --roomie-pink:#f7197e; --roomie-yellow:#fbff54; }
.roomie-sticky-cta, .roomie-sticky-cta * { box-sizing:border-box; }
.roomie-sticky-cta {
  position:fixed; bottom:0; left:0; z-index:3;
  width:100%; height:165px; background:#fff; box-shadow:0 -2px 12px rgba(0,0,0,.06);
  color:#171717; font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height:1.4;
}
.roomie-sticky-cta__inner {
  width:min(100%, 1269px); margin:0 auto; padding:0 10px;
  height:165px; display:grid; align-items:end;
  grid-template-columns:200px 145px minmax(0,1fr) 552px;
  column-gap:12px;
}
/* Mascot & speech */
.roomie-sticky-cta__mascot { position:relative; height:165px; min-width:0; }
.roomie-sticky-cta__boar {
  position:absolute; top:38px; left:59px; width:140px; height:auto;
  display:block; max-width:none;
}
.roomie-sticky-cta__cheer {
  position:absolute; top:41px; left:6px; width:100px;
  text-align:center; transform:rotate(-4deg); font-weight:900;
  font-size:17px; line-height:1.4; letter-spacing:-.04em;
  color:#090923; white-space:nowrap;
}
.roomie-sticky-cta__cheer .pink { color:var(--roomie-pink); }
/* Privacy/Free appraisal text (two intentional lines) */
.roomie-sticky-cta__free {
  margin:0 0 9px; font-size:19px; line-height:1.22; font-weight:900;
  letter-spacing:-.055em; white-space:nowrap; color:var(--roomie-pink);
}
.roomie-sticky-cta__free-top { display:flex; align-items:center; min-height:27px; }
.roomie-sticky-cta__search { width:27px; height:28px; object-fit:contain; margin-right:1px; flex:none; }
.roomie-sticky-cta__yen { color:#262626; font-size:22px; font-weight:900; margin-left:1px; letter-spacing:-.02em; }
.roomie-sticky-cta__free-bottom { display:block; font-size:20px; line-height:1.4; letter-spacing:-.055em; }
/* Consultation description */
.roomie-sticky-cta__desc {
  margin:0 0 20px; font-size:14px; font-weight:800; line-height:1.55;
  text-align:center; white-space:nowrap; letter-spacing:-.04em;
}
/* CTA buttons */
.roomie-sticky-cta__actions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 10px; min-width:0; }
.roomie-sticky-cta__button {
  position:relative; display:flex; justify-content:center; align-items:center;
  width:100%; height:60px; min-width:0; border-radius:999px;
  padding:0 8px 0 52px; text-decoration:none!important; white-space:nowrap;
  font-size:21px; font-weight:900; letter-spacing:-.025em; line-height:1;
  transition:filter .15s ease;
}
.roomie-sticky-cta__button:hover { filter:brightness(.96); }
.roomie-sticky-cta__button:focus-visible { outline:3px solid #333; outline-offset:3px; }
.roomie-sticky-cta__button--phone { background:var(--roomie-yellow); color:#181818!important; font-size:24px; }
.roomie-sticky-cta__button--web { background:var(--roomie-pink); color:#fff!important; font-size:22px; letter-spacing:-.02em; }
.roomie-sticky-cta__button-icon {
  position:absolute; left:9px; top:50%; transform:translateY(-50%);
  width:42px; height:42px; display:block; flex:none;
}
/* Web is intentionally the SAME size as the rest of the label, not a smaller span. */
.roomie-sticky-cta__button--web span { font-size:inherit; font-weight:inherit; letter-spacing:inherit; }
/* Preserve boar scale by giving actions extra room before shrinking text. */
@media (min-width:1200px) and (max-width:1268px) {
  .roomie-sticky-cta__inner { grid-template-columns:195px 145px minmax(0,1fr) 530px; gap:9px; }
  .roomie-sticky-cta__desc { font-size:13px; }
  .roomie-sticky-cta__button--phone { font-size:23px; }
  .roomie-sticky-cta__button--web { font-size:21px; }
}
@media (min-width:768px) and (max-width:1199px) {
  .roomie-sticky-cta__inner { grid-template-columns:200px 145px minmax(0,1fr); gap:10px; }
  .roomie-sticky-cta__desc { display:none; }
  .roomie-sticky-cta__button--phone { font-size:clamp(19px,2.1vw,24px); }
  .roomie-sticky-cta__button--web { font-size:clamp(18px,2vw,22px); }
  .roomie-sticky-cta__button { padding-left:48px; }
}
/* Mobile only: keep touch targets readable without clipping, and don't distort images. */
@media (max-width:767px) {
  .roomie-sticky-cta { height:70px; padding:7px 10px; }
  .roomie-sticky-cta__inner { width:100%; height:56px; padding:0; display:block; }
  .roomie-sticky-cta__mascot, .roomie-sticky-cta__free, .roomie-sticky-cta__desc { display:none; }
  .roomie-sticky-cta__actions { height:56px; margin:0; gap:8px; }
  .roomie-sticky-cta__button { height:56px; font-size:clamp(12px,3.3vw,17px); padding:0 5px 0 35px; }
  .roomie-sticky-cta__button--phone { font-size:clamp(12px,3.5vw,18px); }
  .roomie-sticky-cta__button--web { font-size:clamp(13px,3.5vw,18px); }
  .roomie-sticky-cta__button-icon { left:5px; width:30px; height:30px; }
}
@media (prefers-reduced-motion:reduce) { .roomie-sticky-cta__button { transition:none; } }
/* Final reference alignment (1269px): keep the visible Web text large and flush with left content. */
@media (min-width:1200px) {
  .roomie-sticky-cta__cheer { left:-4px; font-size:18px; }
  .roomie-sticky-cta__free-bottom { font-size:22px; }
  .roomie-sticky-cta__desc { transform:translateX(-42px); font-size:15px; }
  .roomie-sticky-cta__button { justify-content:flex-start; padding-left:68px; }
  .roomie-sticky-cta__button--phone { font-size:25px; padding-left:66px; }
  .roomie-sticky-cta__button--web { font-size:22px; }
}

/* Integrated site version: existing mobile footer stays unchanged. */
@media (max-width:1023px) { .roomie-sticky-cta { display:none !important; } }
@media (min-width:1024px) and (max-width:1199px) {
  .roomie-sticky-cta__inner { grid-template-columns:200px 145px minmax(0,1fr); }
  .roomie-sticky-cta__actions { grid-column:3; }
  .roomie-sticky-cta__desc { display:none; }
}

/* V11: keep the full Web label at the same legible size, never shrink just 'Web'. */
@media (min-width:1200px) {
 .roomie-sticky-cta .roomie-sticky-cta__button--web,
 .roomie-sticky-cta .roomie-sticky-cta__button--web span {font-size:24px!important;line-height:1!important;font-weight:900!important;}
}
/* No unintended auto-breaks in the prominent two-line labels */
@media (min-width:1024px) {
 .roomie-sticky-cta__free-top,.roomie-sticky-cta__free-bottom,
 .roomie-sticky-cta__button--web span {white-space:nowrap;}
}
