/* Roomie v8 / 2026-10-14: exact three user-requested corrections.
   The approved MV-under CTA markup is not changed. */

/* 1: Mascot remains still; blink the ACTUAL two decorative stars that
   were baked into ic_sec01.png. Old v7 extra text glyph is disabled. */
@keyframes roomie-v8-stars-blink { 0%,100% {opacity:1;} 50% {opacity:0;} }
html body#index .info_sec01 .tt-sec01::after {
 background-image:url('../images/ic_sec01_mascot_v8.png')!important;
 animation:none!important;
}
html body#index .info_sec01 .tt-sec01>.roomie-v8-sparkles {
 position:absolute!important;display:block!important;pointer-events:none!important;
 background:url('../images/ic_sec01_sparkles_v8.png') center/contain no-repeat!important;
 width:200px;height:auto;aspect-ratio:100 / 111;
 left:-90px;top:-47px;z-index:1;
 animation:roomie-v8-stars-blink 1s ease-in-out infinite!important;
}
html body#index .info_sec01 .tt-sec01>.roomie-v2-sparkles {display:none!important;animation:none!important;}
html body#index .info_sec01 .tt-sec01 .txt,
html body#index .info_sec01 .tt-sec01 .txt2 { animation:none!important;opacity:1!important; }
@media(max-width:768px) {
 html body#index .info_sec01 .tt-sec01>.roomie-v8-sparkles {width:130px;left:-8vw;top:-5vw;}
}
@media(max-width:440px) {
 html body#index .info_sec01 .tt-sec01>.roomie-v8-sparkles {width:29vw;left:-8vw;top:-5vw;}
}

/* 2: POINT01 has TWO speech bubbles. Float the entire outlined bubble
   (including its words) without blinking the letters. The first is the
   'お掃除は全部…' bubble shown in the user's screenshot. */
@keyframes roomie-v8-popup-float {0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
html body#index .sec03 .info_sec03 .item1 .tt_popup.tt1 {
 animation:roomie-v8-popup-float 2s ease-in-out infinite!important;
 opacity:1!important;will-change:transform;
}
html body#index .sec03 .info_sec03 .item1 .tt_popup.tt2 {
 animation:roomie-v8-popup-float 2s ease-in-out infinite!important;
 animation-delay:-1s!important;opacity:1!important;will-change:transform;
}
html body#index .sec03 .info_sec03 .item1 .tt_popup.tt1 .txt,
html body#index .sec03 .info_sec03 .item1 .tt_popup.tt1 .txt2,
html body#index .sec03 .info_sec03 .item1 .tt_popup.tt2 .txt,
html body#index .sec03 .info_sec03 .item1 .tt_popup.tt2 .txt2 {
 animation:none!important;opacity:1!important;
}

/* 3: The previous v7 widened links to >=235px, but their inherited
   grid tracks stayed 190px. Fix TRACKS and links together, and keep
   the original phone/mail icons; do not change footer or MV CTA cards. */
@media(min-width:1024px){
 html body footer + .scroll_fixed>.info {
  max-width:1320px!important;width:calc(100% - 28px)!important;
  display:flex!important;gap:16px!important;justify-content:space-between!important;
  min-height:76px!important;padding:8px 4px!important;box-sizing:border-box!important;
 }
 html body footer + .scroll_fixed>.info>.txt_fixed {
  min-width:0!important;flex:0 1 585px!important;margin:0!important;
 }
 /* Keep the pre-existing mascot caption inside the fixed strip; the older
    absolute top:-27px rule made the wording visibly cut off. */
 html body footer + .scroll_fixed>.info>.txt_fixed .tt1{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:6px!important;min-width:0!important;
 }
 html body footer + .scroll_fixed>.info>.txt_fixed .tt1 .txt{
  display:block!important;position:static!important;order:2!important;
  top:auto!important;left:auto!important;transform:none!important;
  font-size:11px!important;line-height:1.25!important;white-space:nowrap!important;
 }
 html body footer + .scroll_fixed>.info>.txt_fixed .tt1 .icon_img{
  order:1!important;display:block!important;flex:0 0 auto!important;
  width:60px!important;max-width:60px!important;margin:0!important;
 }
 html body footer + .scroll_fixed>.info>.txt_fixed .tt1 .icon_img img{
  width:60px!important;max-width:60px!important;height:auto!important;
 }
 html body footer + .scroll_fixed>.info>.group_btn {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:auto!important;flex:1 1 490px!important;min-width:0!important;
  gap:14px!important;align-items:center!important;
 }
 html body footer + .scroll_fixed>.info>.group_btn>.btn_fixed:not(.btn_line) {
  min-width:0!important;width:100%!important;margin:0!important;
 }
 html body footer + .scroll_fixed>.info>.group_btn>.btn_fixed:not(.btn_line)>a {
  box-sizing:border-box!important;width:100%!important;min-width:0!important;
  max-width:none!important;height:62px!important;min-height:62px!important;
  padding:0 16px 0 56px!important;font-size:clamp(16px,1.55vw,21px)!important;
  white-space:nowrap!important;display:flex!important;
  align-items:center!important;justify-content:center!important;gap:0!important;
 }
 html body footer + .scroll_fixed>.info>.group_btn>.btn_tel>a {
  font-size:clamp(17px,1.65vw,23px)!important;
 }
 html body footer + .scroll_fixed>.info>.group_btn>.btn_fixed>a::before {
  width:40px!important;height:40px!important;left:10px!important;
  top:50%!important;transform:translateY(-50%)!important;
 }
 html body footer + .scroll_fixed>.info>.group_btn>.btn_line{display:none!important;}
}
@media(min-width:1024px) and (max-width:1250px){
 html body footer + .scroll_fixed>.info>.txt_fixed .tt3{display:none!important;}
 html body footer + .scroll_fixed>.info>.txt_fixed{flex:0 1 365px!important;}
 html body footer + .scroll_fixed>.info>.group_btn{flex:1 1 440px!important;}
}
@media(max-width:1023px){
 html body footer + .scroll_fixed{display:none!important;}
}
@media(prefers-reduced-motion:reduce){
 html body#index .info_sec01 .tt-sec01>.roomie-v8-sparkles,
 html body#index .sec03 .info_sec03 .item1 .tt_popup.tt1,
 html body#index .sec03 .info_sec03 .item1 .tt_popup.tt2 {
  animation:none!important;will-change:auto!important;
 }
}
