@charset "UTF-8";

/* =========================================================
  Aviva用カスタムCSS
========================================================= */
:root {
    --font-heading: "Noto Sans JP", sans-serif;
    --font-body: "Noto Sans JP", sans-serif;
    --font-label: "Noto Sans JP", sans-serif;
    --header-height: 80px;
}

.pt-\[80px\] {
    padding-top: 80px
}

@media (width>=1024px) {
    .lg\:flex {
        display:flex
    }

    .lg\:hidden {
        display: none
    }
}

/* =========================================================
  右下固定バナー
========================================================= */

/* 右下固定バナー & ページトップ */
.l-banner { 
  position: fixed; 
  bottom: 10px; /* 元の50pxから少し下げてスッキリさせます */
  right: 10px; 
  z-index: 100; 
}
.l-banner img { width: 230px; height: auto; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); transition: 0.3s; }
.l-banner img:hover { transform: translateY(-3px); box-shadow: 0 6px 15px rgba(0,0,0,0.3); }

.l-pagetop { 
  position: fixed; 
  /* バナー下余白(30) + バナー高さ(約160) + 隙間(15) = 205px */
  bottom: 185px; 
  right: 10px; 
  z-index: 100; 
  transition: bottom 0.3s ease; /* ←★追記（下への移動をフワッと滑らかにする） */
}
.l-pagetop img { width: 60px; height: auto; opacity: 0.8; transition: 0.3s; }
.l-pagetop img:hover { opacity: 1; }

/* ↓★追記（バナーが消えたあとに下へずれた時の位置） */
.l-pagetop.is-shifted {
  bottom: 10px; 
}