/* PR広告 start */
/* =========================================================
   ロゴスライダー直下：おすすめNo.1 誘導バナー
   名前空間 .fv-cta-* のみ。既存CSSは上書きしません。
   ========================================================= */
@keyframes jumpbtn{
  0%, 10%, 20%, 100% {
    transform: translateY(0%);
  }
  5%, 15% {
      transform: translateY(-0.5em);
  }
}
.fv-cta{
  background:#FFFFFF;
  padding:calc(20 * var(--site-font-size-ratio)) calc(16 * var(--site-font-size-ratio)) calc(24 * var(--site-font-size-ratio));
  text-align:center;
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
.fv-cta:is(.hide){
    display: none !important;
}
/* ＼ 当サイトおすすめNo.1 ／ */
.fv-cta__head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:calc(10 * var(--site-font-size-ratio));
  margin:0 0 calc(12 * var(--site-font-size-ratio));
  font-size:calc(26 * var(--site-font-size-ratio));
  font-weight:700;
  line-height:1.3;
  color:#D0121B;
  letter-spacing:.02em;
}
.fv-cta__head::before,
.fv-cta__head::after{
  content:"";
  width:calc(2.5 * var(--site-font-size-ratio));
  height:calc(30 * var(--site-font-size-ratio));
  background:#D0121B;
  border-radius:calc(2 * var(--site-font-size-ratio));
}
.fv-cta__head::before{ transform:rotate(-20deg); }
.fv-cta__head::after { transform:rotate(20deg); }

.fv-cta__banner{
  width:calc(348 * var(--site-font-size-ratio));
  margin-left:auto;
  margin-right:auto;
}
.fv-cta__hours{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

/* バナー本体 */
.fv-cta__banner{
  display:block;
  max-width:100%;
}
.fv-cta__banner:hover{
  transform:translateY(calc(-2 * var(--site-font-size-ratio)));
}
.fv-cta__banner img{
  display:block;
  width:100%;
  height:auto;
  animation: jumpbtn 3s ease-out 0s infinite;
}

/* 赤帯：現在時刻（内容幅で中央寄せ） */
.fv-cta__now{
  width:auto;
  max-width:100%;
  display:table;
  margin:calc(10 * var(--site-font-size-ratio)) auto 0;
  text-align:center;
  padding:calc(7 * var(--site-font-size-ratio)) calc(8 * var(--site-font-size-ratio));
  background:#D0121B;
  color:#fff;
  font-size:calc(21 * var(--site-font-size-ratio));
  font-weight:700;
  line-height:1.4;
  letter-spacing:.01em;
  border-radius:calc(3 * var(--site-font-size-ratio));
}
.fv-cta__now .fv-cta__clock{
  font-feature-settings:"palt" 0;
  letter-spacing:.04em;
}

/* 黄色マーカーの訴求 */
.fv-cta__lead{
  margin:calc(9 * var(--site-font-size-ratio)) 0 0;
  font-size:calc(20 * var(--site-font-size-ratio));
  font-weight:700;
  line-height:1.5;
  color:#D0121B;
  background:linear-gradient(transparent 55%,#FFF14D 55%);
  display:inline;
}

/* 受付時間の注記 */
.fv-cta__hours{
  margin:calc(12 * var(--site-font-size-ratio)) 0 0;
  font-size:calc(14 * var(--site-font-size-ratio));
  line-height:1.6;
  color:#5C5245;
  text-align:center;
  text-align:center !important;
}

@media screen and (min-width:768px){
  .fv-cta__banner{
    width:calc(800 * var(--site-font-size-ratio));
  }
  .fv-cta__hours{
    width:100%;
  }
  .fv-cta__now{
    padding:calc(8 * var(--site-font-size-ratio)) calc(20 * var(--site-font-size-ratio));
  }
}

@media screen and (max-width:767px){
  .fv-cta{ padding:calc(16 * var(--site-font-size-ratio)) calc(12 * var(--site-font-size-ratio)) calc(20 * var(--site-font-size-ratio)); }
  .fv-cta__head{ font-size:calc(20 * var(--site-font-size-ratio)); }
  .fv-cta__head::before,
  .fv-cta__head::after{ height:calc(23 * var(--site-font-size-ratio)); }
  .fv-cta__now{ font-size:calc(16 * var(--site-font-size-ratio)); }
  .fv-cta__lead{ font-size:calc(15 * var(--site-font-size-ratio)); }
  .fv-cta__hours{ font-size:calc(12 * var(--site-font-size-ratio)); }
}
/* PR広告 end */


/* 無限ループスライダー start */
/* =========================================================
   ファーストビュー直下：ロゴ横流しスライダー
   名前空間 .fv-logo-* のみ。既存CSSは上書きしません。
   ========================================================= */
.fv-logo-slider{
  position:relative;
  overflow:hidden;
  width:100%;
  padding:calc(18 * var(--site-font-size-ratio)) 0;
  background:#FFFFFF;
  border-top:calc(2 * var(--site-font-size-ratio)) solid #E3DACB;
  border-bottom:calc(2 * var(--site-font-size-ratio)) solid #E3DACB;
}
/* 左右のフェード（見切れをきれいに） */
.fv-logo-slider::before,
.fv-logo-slider::after{
  content:"";
  position:absolute; top:0; bottom:0; width:calc(48 * var(--site-font-size-ratio));
  z-index:2; pointer-events:none;
}
.fv-logo-slider::before{ left:0;  background:linear-gradient(90deg,#fff,rgba(255,255,255,0)); }
.fv-logo-slider::after { right:0; background:linear-gradient(270deg,#fff,rgba(255,255,255,0)); }

.fv-logo-track{
  display:flex;
  align-items:center;
  gap:calc(48 * var(--site-font-size-ratio));
  width:max-content;
  animation:fv-logo-scroll 30s linear infinite;
}
.fv-logo-slider:hover .fv-logo-track{ animation-play-state:paused; }

.fv-logo-item{
  flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  height:calc(52 * var(--site-font-size-ratio));
}
.fv-logo-item img{
  display:block;
  width:auto;
  max-width:calc(160 * var(--site-font-size-ratio));
  height:100%;
  object-fit:contain;
}

/* 2セット目まで含めた全体幅の半分ぶん動かすとシームレスに繋がる */
@keyframes fv-logo-scroll{
  from{ transform:translate3d(0,0,0); }
  to  { transform:translate3d(calc(-50% - (24 * var(--site-font-size-ratio))),0,0); }
}

@media screen and (max-width:767px){
  .fv-logo-slider{ padding:calc(14 * var(--site-font-size-ratio)) 0; }
  .fv-logo-track{ gap:calc(28 * var(--site-font-size-ratio)); animation-duration:22s; }
  .fv-logo-item{ height:calc(38 * var(--site-font-size-ratio)); }
  .fv-logo-item img{ max-width:calc(120 * var(--site-font-size-ratio)); }
  @keyframes fv-logo-scroll{
    from{ transform:translate3d(0,0,0); }
    to  { transform:translate3d(calc(-50% - (14 * var(--site-font-size-ratio))),0,0); }
  }
}

@media (prefers-reduced-motion: reduce){
  .fv-logo-track{ animation:none; }
  .fv-logo-slider{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
}
/* 無限ループスライダー end */