@charset "utf-8";


* { box-sizing: border-box; margin: 0; padding: 0; }
img{ vertical-align: bottom; }


.sp_only{ display: none;}

@media only screen and (max-width:768px){
    .sp_only{ display: block;}
    .sp_none{ display: none;}
}


body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI",
    YuGothic, "Yu Gothic Medium", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    Meiryo, sans-serif;
background: #f0f0f0;
color: #222;
line-height: 1.6;
}

.container{
  /* margin-bottom:80px; */
}

#contents{margin-top:10px;}


/* ===== ページ切替タブ ===== */
.page-nav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #1a1a1a;
    display: flex;
    justify-content: center;
    gap: 4px;
    padding: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    flex-wrap: wrap;
}
.page-nav button {
background: #333;
color: #fff;
border: none;
padding: 10px 20px;
font-size: 13px;
font-weight: bold;
cursor: pointer;
border-radius: 4px;
transition: background 0.2s;
}
.page-nav button:hover { background: #555; }
.page-nav button.active { background: #ffb300; color: #0e2a47; }

.label {
background: #fff;
padding: 16px 24px;
border-bottom: 1px solid #ddd;
font-size: 13px;
color: #666;
}
.label strong { color: #222; font-size: 15px; }

/* ===== デバイス切替 ===== */
.device-nav {
position: sticky;
top: 0;
z-index: 101;
background: #0e2a47;
display: flex;
justify-content: center;
gap: 4px;
padding: 8px;
}
.device-nav button {
background: #1a3a5c;
color: #fff;
border: none;
padding: 8px 24px;
font-size: 12px;
font-weight: bold;
cursor: pointer;
border-radius: 3px;
}
.device-nav button.active { background: #ffb300; color: #0e2a47; }



/* ===== ダミー要素 ===== */
.dummy-img {
background: linear-gradient(135deg, #ccc 25%, #ddd 25%, #ddd 50%, #ccc 50%, #ccc 75%, #ddd 75%);
background-size: 20px 20px;
display: flex;
align-items: center;
justify-content: center;
color: #666;
font-size: 12px;
font-weight: bold;
}
.dummy-banner {
background: #e0e0e0;
display: flex;
align-items: center;
justify-content: center;
color: #555;
font-size: 13px;
font-weight: bold;
border: 1px dashed #999;
}

.page {
    background: #fff;
    /*max-width: 1100px;*/ /*ワイドカラム化*/
    margin: 0 auto;
}
/* .page.active { display: block; } */

/* ===== セクション共通 ===== */
.content_inner{
  /*width: 80%;*/
  width: 100%;
  margin: auto;
}
.sec{
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 0;
}
.sec.gray {
  width: 100%;
  padding-left: 10%;
  padding-right: 10%;
  background: #f5f5f5;
}
@media (max-width: 768px){
  .sec{
    width: 90%;
  }
  .sec.gray {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
  
}


.sec-title {
    font-size: 22px; font-weight: bold; color: #14449D;
    margin-bottom: 24px; padding-bottom: 8px; border-bottom: 3px solid #14449D;
    display: inline-block;
}
.sec-tag {
display: inline-block;
background: #888;
color: #fff;
font-size: 11px;
padding: 2px 8px;
border-radius: 3px;
margin-left: 8px;
vertical-align: middle;
}


/* ===== 共通ヘッダー（全ページ） ===== */
.f-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 5%;
  box-sizing: border-box;
}

/*  ヘッダー高さ調整  */
body{  padding-top: 70px; }
.f-header{ height:70px;  }
.f-header .logo img{ height:60px; }
.f-header .left { display: flex; align-items: center; gap: 28px; }
.f-header .logo {
  font-size: 17px;
  font-weight: bold;
  color: #14449D;
  white-space: nowrap;
}
.f-header .logo img{  width: auto ;}
.f-header .logo small { font-size: 9px; color: #999; display: block; letter-spacing: 1px; }
.f-header nav { display: flex; }
.f-header nav a {
  padding: 20px 16px;
   color: #222; text-decoration: none;
  font-size: 15px; font-weight: bold; white-space: nowrap;
}
.f-header nav a:hover { background: #f5f5f5; }
.f-header .btn-rsv {
  background: #b5443a; color: #fff; padding: 10px 22px;
  font-weight: bold; font-size: 13px; text-decoration: none;
}
.f-header .btn-rsv-sp{ display: none;}


/* --- ヘッダー＞アコーディオン（D型） --- */
.f-accordion-toggle {
  background: #14449D;
  color: #fff; text-align: center;
  padding: 12px; cursor: pointer; font-weight: bold; font-size: 14px; user-select: none;
  /* margin-top: 77px; */
}
.f-accordion-toggle .arrow { margin-left: 8px; }
.f-accordion-body {
  display: none; background: #f8f8f8; padding: 20px 5%; border-bottom: 2px solid #14449D;
}
.f-accordion-body.open { display: block; }

.f-shop-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

.f-shop-bnr img {
  width: 100%;
  height: auto;
  display: block;
}

.f-shop-card {
  background: #fff; border: 1px solid #ddd; border-top: 3px solid #14449D; padding: 16px;
}
.f-shop-card .shop-name {
  font-size: 15px; font-weight: bold; color: #14449D;
  margin-bottom: 8px; padding-bottom: 6px; border-bottom: 2px solid #b5443a;
}
.f-shop-card .access { font-size: 12px; color: #555; margin-bottom: 10px; }
.f-shop-card .access li { list-style: none; padding: 2px 0 2px 14px; position: relative; }
.f-shop-card .access li::before { content: "・"; position: absolute; left: 0; color: #b5443a; }
.f-shop-card .tel { font-size: 20px; font-weight: bold; color: #14449D; margin-bottom: 4px; }
.f-shop-card .tel a{ color: #14449D; text-decoration: none ;}

.f-shop-card .tel-icon { color: #b5443a; margin-right: 4px; }
.f-shop-card .hours { font-size: 11px; color: #777; }


/* ============================================================
   ヘッダー1行維持（PC下限1440px想定）
   1781px以上：上記の初期値のまま
   1780–1441px：ナビを段階圧縮して1行を保つ
   768px以下：既存SPレイアウト（本ブロックは影響しない）
   ============================================================ */
@media screen and (min-width:769px) and (max-width:1780px) {
  .f-header { padding: 0 3%; }
  .f-header .left { gap: 16px; }
  .f-header nav a {
    padding: 20px 10px;
    font-size: 14px;
  }
}

@media screen and (min-width:769px) and (max-width:1600px) {
  .f-header { padding: 0 2%; }
  .f-header nav a {
    padding: 20px 7px;
    font-size: 13px;
  }
}

@media screen and (min-width:769px) and (max-width:1480px) {
  .f-header .left { gap: 10px; }
  .f-header nav a {
    padding: 20px 5px;
    font-size: 12px;
  }
}

@media only screen and (max-width:768px){

  
  
  .f-header{
    position:relative;
    display: grid;
    grid-template-columns: 7fr 3fr;  /* ロゴ70% / 予約ボタン30% */
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 8px;
    padding: 8px 0px 0;
  }

  /*  ヘッダー高さ調整  */
  body{  padding-top:0; }
  .f-header{ height: auto; }

  /* SP：ロゴと予約ボタンを横並び（70%/30%）にする */
  .f-header .left {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;   /* 子要素（画像）の縮小を許可 */
  }
  .f-header .logo {
    max-width: 100%;
    box-sizing: border-box;
  }
  .f-header .logo .h1 { margin: 0; }  /* トップページはh1.h1、下層ページはp.h1のためタグ非依存の.h1で指定 */

  /* 2枚を横並び */
  .f-header .logo .h1 a {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }

  /* 画像は高さ基準で表示し、枠幅が足りない場合は比率を保って縮小 */
  .f-header .logo img {
    height: auto;
    width: auto;
    max-width: 100%;
    min-width: 0;
    flex-shrink: 1;
    object-fit: contain;
    padding: 0;            /* 既存 padding:0 0 5px 10px を打ち消し */
  }
  .f-header .logo .h1 a img:first-child { max-height: 34px; }  /* 1枚目：KeePerロゴ */
  .f-header .logo .h1 a img:last-child  { max-height: 30px; }  /* 2枚目：店舗名ロゴ */

  .f-accordion-toggle{ display: none; }

  .f-header .btn-rsv{
    display: none;
  }
  .f-header .btn-rsv-sp{
    display: flex;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 12px 8px;
    font-size: 12px;
    box-sizing: border-box;
    margin:8px 2px;
  }

  .f-header .f-gnav{
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    background: #14449D; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch;
    border: 0;
  }

  .f-header .f-gnav a{
    display: inline-block; padding: 12px 14px; color: #fff; text-decoration: none; font-size: 11px; font-weight: bold;
    border-right: 1px solid rgba(255,255,255,0.15);
  }
  .f-header .f-gnav a:hover{
    background: #14449D;
    opacity: 0.7;
  }
  .f-header .f-gnav a.sp_none2{
    display: none;
  }


}


@media only screen and (max-width:768px){
  
 /* SPグローバルナビ：横スクロール */
  /* .b-gnav {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    margin: 0;
  }
  .b-gnav a {
    display: inline-block;
    padding: 12px 14px;
    font-size: 12px;
  } */

  
}



/* ===== 共通ページタイトル ===== */
.page-title-bar {
  background: #f5f5f5;
  padding: 24px;
  border-bottom: 1px solid #ddd;
}
.page-title-bar h1 {
font-size: 24px;
color: #0e2a47;
margin: 0;
}
.page-title-bar .breadcrumb {
font-size: 12px;
color: #888;
margin-bottom: 8px;
}

@media (max-width: 768px){
  
  .page-title-bar { background: #14449D; color: #fff; padding: 20px 16px; }
  .page-title-bar .breadcrumb{ font-size: 10px; opacity: 0.6; margin-bottom: 4px; }
  .page-title-bar .breadcrumb,
  .page-title-bar .breadcrumb *{ color: #d2dff2;}
  .page-title-bar h1 { font-size: 18px; color: #FFF; }
  
}

/* ===== 共通アンカーナビ（横並びタブ風） ===== */
.anchor-tabs {
    display: flex;
    gap: 0;
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 0 24px;
    flex-wrap: wrap;
    list-style-type: none;

}
.anchor-tabs li{
     border-bottom: 3px solid transparent;
}
.anchor-tabs a {
    display: block;
    padding: 14px 20px;
    color: #555;
    text-decoration: none;
    font-size: 13px;
    font-weight: bold;
}
.anchor-tabs li.active{
    border-bottom-color: #ffb300;
}
.anchor-tabs li.active a{
    color: #0e2a47;
}

.anchor-tabs a:hover { background: #f8f8f8; }

/* ===== 共通フッター ===== */
 .f-footer {
    background:#ececec; color: #fff; padding: 32px 5%;
    display: flex; justify-content: space-between; align-items: center; font-size: 12px;
}
.f-footer .logo-f {
  font-weight: bold;
  letter-spacing: 1px;
  display:grid ;
  grid-template-columns:1fr 1fr;
  align-items:center;
}
.f-footer .logo-f img { max-width: 300px; }
.f-footer ul.pc-f-footer { list-style: none; display: flex; gap: 20px; }
.f-footer a {
  color: #222;
  font-size: 16px;
  text-decoration: none;
}

.f-footer a:hover{
  opacity: 0.8;
}

.f-footer-copy { background: #14449D; color: #fff; text-align: center; padding: 12px; font-size: 10px; }
.f-footer-copy a{ color: #fff; text-decoration: none;  }
.sp-f-footer{ display: none; }

@media (max-width: 768px){

  .f-footer .logo-f,
  .f-footer ul.pc-f-footer{  display: none;  }

  .sp-f-footer { width: 100%; display:block; background: #14449D; color: #fff; padding: 20px 16px; text-align: center; font-size: 11px;   }
  .sp-f-footer ul { list-style: none; margin-bottom: 12px; }
  .sp-f-footer li { width: 100%; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.15); }
  .sp-f-footer a { color: #fff; opacity: 0.7; text-decoration: none; }

}

@media only screen and (max-width:768px){
  
  
  .b-footer{ display: block;   }
  .b-footer .navi-item{ display: none; } /* PCのナビ */
  
  /* SP共通：フッター */
  .sp-footer-navi {
    display: block;
    padding: 20px 16px;
    font-size: 11px;
    text-align: center;
  }
   .sp-footer-navi ul {
    list-style: none;
    display: block;
    margin-bottom: 12px;
    width: 100%;
  }
   .sp-footer-navi ul li {
    
    padding: 6px 0;
    border-bottom: 1px solid rgba(255,255,255,0.15);
  }
  .sp-footer-navi a { color: #fff; opacity: 0.85; text-decoration: none; }
  
  

  
}

/* ============================================ */
/* ===== トップページ ===== */
/* ============================================ */
.b-fv {
/*   display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0; */
  background: #0e2a47;
  color: #fff;
}

.b-fv .copy { padding: 40px; display: flex; flex-direction: column; justify-content: center; }
.b-fv .copy h2 { font-size: 28px; margin-bottom: 16px; line-height: 1.3; }
.b-fv .copy p { font-size: 14px; opacity: 0.9; margin-bottom: 24px; }
.b-fv .copy .price { font-size: 32px; font-weight: bold; color: #ffb300; }


.mv .mv_txt{ width: 700px;}
.mv .mv_txt img{ width: 100%; }


/* MV ワイド化 */
.mv .mv_txt{  width: 100%;  }
.b-fv .copy h2 { font-size: 32px;}
.b-fv .copy p { font-size: 18px;}
.b-fv .copy .price { font-size: 36px;}

@media (max-width: 1024px){
  .b-fv .copy { padding: 20px;}
  .b-fv .copy h2 { font-size:28px;}
  .b-fv .copy p { font-size: 16px;}
  .b-fv .copy .price { font-size: 30px;}

}

@media only screen and (max-width:768px){
  
  .b-fv { grid-template-columns: 1fr; }
  .mv .mv_txt{ width: 100%;}
  
  .b-fv .copy { padding: 20px 16px; }
  .b-fv .copy h2 { font-size: 22px; line-height: 1.3; margin-bottom: 12px; }
  .b-fv .copy p { font-size: 12px; opacity: 0.9; margin-bottom: 16px; }
  .b-fv .copy .price { font-size: 26px; font-weight: bold; color: #ffb300; }

}

.b-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 8px;
}
.b-gallery-grid .grid-img {
  overflow: hidden;
}
/* 中央の大画像（3番目の要素）を中央列2x2に配置 */
.b-gallery-grid .grid-img:nth-child(3) {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.b-gallery-grid .grid-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

@media only screen and (max-width:768px){

  .b-gallery-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
  }
 /* .b-gallery-grid .dummy-img { height: 90px; }
  .b-gallery-grid .dummy-img:first-child {
    grid-column: span 2;
    height: 180px;
  }*/
  
}


/* バナーエリア　*/
/* --- バナー（B型：横並び3カラム） --- */
.b-banners {
  display:flex ;
  flex-direction: column;

  list-style-type: none;
}
.b-banners li img{  width: 100%; }

@media only screen and (max-width:768px){
  
  .b-banners { display: flex; flex-direction: column; gap: 10px; }
  
}

/*　TOP 新着事例 */
.f-top-jirei-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.f-top-jirei-card { background: #fff; border: 1px solid #eee; }

.f-top-jirei-card{　 text-decoration:none;  color: #333;  transition: 0.9s ;}
.f-top-jirei-card:hover{  opacity: 0.5;}
.f-top-jirei-card .pic{
  height:180px;
  overflow:hidden;
  display:flex;
  justify-content:center; 
  align-items:center;     /* 縦中央 */
}

.f-top-jirei-card .pic img{
  width:100%;
}
.f-top-jirei-card .body { padding: 14px; }
.f-top-jirei-card .menu { font-size: 11px; color: #b5443a; letter-spacing: 1px; margin-bottom: 4px; }
.f-top-jirei-card .car { font-size: 15px; font-weight: bold; margin-bottom: 4px; }
.f-top-jirei-card .price { font-size: 18px; font-weight: bold; color: #b5443a; margin-bottom: 4px; }
.f-top-jirei-card .comment { font-size: 11px; color: #555; }


@media only screen and (max-width:768px){
  
  .f-top-jirei-grid { 
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .f-top-jirei-card .pic{
    height:120px;
  }  

  
}


/* --- 7つのすごい（B型：上部3カラムカード＋下部左右交互） --- */
.f-sugoi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 32px; }
.f-sugoi-grid .card {
  background: #fff; border: 1px solid #ddd; border-left: 4px solid #14449D; padding: 16px;
}
.f-sugoi-grid .card a{ display:block; text-decoration: none; }
.f-sugoi-grid .card .num {
  display: inline-block; background: #14449D; color: #fff;
  width: 28px; height: 28px; border-radius: 50%; text-align: center; line-height: 28px;
  font-size: 12px; font-weight: bold; margin-right: 8px;
}
.f-sugoi-grid .card .ttl { display: inline; font-weight: bold; font-size: 13px; color: #14449D; }
.f-sugoi-grid .card .desc { font-size: 11px; color: #555; margin-top: 6px; }


/* すごい詳細 */
.f-sugoi-detail {
  background: #f8f8f8; border-left: 4px solid #b5443a; padding: 24px; margin-bottom: 16px;
}
.f-sugoi-detail .inner { display: grid; grid-template-columns: 1fr 2fr; gap: 24px; align-items: flex-start; }
.f-sugoi-detail .sugo-img { height: 180px; }
.f-sugoi-detail .num-label {
  display: inline-block; background: #14449D; color: #fff;
  font-size: 10px; padding: 2px 10px; margin-bottom: 8px;
}
.f-sugoi-detail h3 { font-size: 16px; color: #14449D; margin-bottom: 4px; }
.f-sugoi-detail .lead { font-size: 12px; font-weight: bold; color: #b5443a; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px dashed #ddd; }
.f-sugoi-detail p { font-size: 12px; color: #555; }
.f-sugoi-detail .note { font-size: 10px; color: #888; margin-top: 6px; }



@media only screen and (max-width:768px){
  

  .f-sugoi-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .f-sugoi-grid .card {
    background: #fff; border: 1px solid #ddd; border-left: 4px solid #14449D;
    padding: 14px; margin-bottom: 8px;
  }
  .f-sugoi-grid .card .num {
    display: inline-block; background: #14449D; color: #fff;
    width: 22px; height: 22px; border-radius: 50%; text-align: center; line-height: 22px;
    font-size: 11px; font-weight: bold; margin-right: 8px;
  }
  .f-sugoi-grid .card .ttl { display: inline; font-weight: bold; font-size: 13px; }
  .f-sugoi-grid .card .desc { font-size: 11px; color: #555; margin-top: 4px; }

  
  .f-sugoi-detail {
    background: #f8f8f8; border-left: 4px solid #b5443a; padding: 16px; margin-bottom: 12px;
  }
  .f-sugoi-detail .inner{
    grid-template-columns: 1fr; 
  }
  
  .f-sugoi-detail .sugo-img { height: 160px; margin-bottom: 12px; }
  .f-sugoi-detail .num-label {
    display: inline-block; background: #14449D; color: #fff; font-size: 10px; padding: 2px 10px;
    margin-bottom: 6px;
  }
  .f-sugoi-detail h3 { font-size: 14px; color: #14449D; margin-bottom: 4px; }
  .f-sugoi-detail .lead { font-size: 11px; font-weight: bold; color: #b5443a; margin-bottom: 6px; }
  .f-sugoi-detail p { font-size: 11px; color: #555; }
  .f-sugoi-detail .note { font-size: 10px; color: #888; margin-top: 4px; }
  
  
/*  .b-sugoi {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .b-sugoi .item {
    border: 1px solid #ddd;
    border-left: 4px solid #0e2a47;
   }
  .b-sugoi .item .num {
    width: 22px;
    height: 22px;
    line-height: 22px;
    font-size: 11px;
    margin-right: 8px;
    margin-bottom: 0;
  }
  .b-sugoi .item .ttl { display: inline; font-size: 13px; padding:0 !important; margin: 0 !important; line-height: 1.2em;}
  .b-sugoi .item .desc { font-size: 12px; margin-top: 3px; }
  .b-sugoi .item .more {
    font-size: 11px;
    margin-top: 6px;
  }

  .b-sugoi-detail {
    background: #f8f8f8;
    border-left: 4px solid #ffb300;
    padding: 16px;
    margin-bottom: 16px;
  }
  .b-sugoi-detail .num-label {
    font-size: 10px;
    padding: 2px 10px;
    margin-bottom: 8px;
  }
  .b-sugoi-detail h3{ font-size: 15px;  margin-bottom: 4px; }
  .b-sugoi-detail .lead { font-size: 12px;  margin-bottom: 8px; padding-bottom: 6px;  }
  .b-sugoi-detail p { font-size: 12px; line-height: 1.7; margin-bottom: 6px; }
  .b-sugoi-detail .note { font-size: 10px; }
  

  
  .b-sugoi-detail {
    border-left: 4px solid #ffb300;
    padding: 16px;
    margin-bottom: 16px;
    grid-template-columns: 1fr;
  }
  .b-sugoi-detail .num-label {
    display: inline-block;
    background: #0e2a47;
    color: #fff;
    font-size: 10px;
    padding: 2px 10px;
    margin-bottom: 8px;
  }
  .b-sugoi-detail h3 { font-size: 15px; color: #0e2a47; margin-bottom: 4px; }
  .b-sugoi-detail .lead { font-size: 12px; font-weight: bold; color: #c8102e; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px dashed #ddd; }
  .b-sugoi-detail p { font-size: 12px; line-height: 1.7; margin-bottom: 6px; }
  .b-sugoi-detail .note { font-size: 10px; color: #888; }
  */

}





/* TOPお客様の声（上部）*/

.tv-h3 {
  margin: 20px 0 0;
  padding: 14px 16px;
  background: #0e2a47;
  color: #fff;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
}

.tv-h3 span {
  display: block;
  font-size: 18px;
}

.txt_bg {
  background: #fff;
  border: 1px solid #ddd;
  border-top: none;
  padding: 18px;
}

.txt_bg .txt {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
}

.txt_bg .txt p {
  margin: 0;
}

.txt_bg .txt span {
  line-height: 1.8;
}

.other_button {
  margin: 18px 0 0;
  text-align: center;
}

.other_button a {
  display: inline-block;
  background: #ffb300;
  color: #0e2a47;
  padding: 12px 22px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
}

.other_button a:hover {
  opacity: 0.85;
}


.b-voice {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 16px;
}
.b-voice .item {
background: #f8f8f8;
padding: 20px;
border-radius: 4px;
}
.b-voice .item .meta { /*font-size: 12px;*/ font-size: 15px; color: #0e2a47; font-weight: bold; margin-bottom: 8px; }
.b-voice .item .meta2 { /*font-size: 11px;*/ font-size: 14px; color: #000; font-weight: bold; margin-bottom: 8px; }
.b-voice .item .text { /*font-size: 13px;*/ font-size: 16px;  margin-bottom: 1em;}


@media only screen and (max-width:768px){
  
  .b-voice {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .b-voice .item {
    background: #f8f8f8;
    padding: 12px;
    border-radius: 4px;
  }
  .b-voice .item .meta { font-size: 11px; margin-bottom: 4px; }
  .b-voice .item .meta2 { margin-bottom: 4px; }
  .b-voice .item .text { font-size: 12px; }
  
}


/* お客様の声（下部） */
.f-top-voice-card { padding: 24px 0; border-bottom: 1px solid #eee; }
.f-top-voice-card:last-child { border-bottom: none; }
.f-top-voice-card .car-label {
display: inline-block; background: #3d4f5f; color: #fff;
font-size: 11px; padding: 3px 12px; margin-bottom: 8px;
}
.f-top-voice-card .text { font-size: 13px; color: #333; }

/* サブコンテンツ */

.b-about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items:flex-start;
}
.b-about .dummy-img { height: 240px; }


/* トグルボタン */
.coating_content_h {
  margin: 0;
  padding: 14px 18px;
  background: #0e2a47;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  cursor: pointer;
  position: relative;
  border-radius: 4px;
  transition: 0.3s;
  margin-bottom: 1em;
}

/* 右側の ▼ */
.coating_content_h::after {
  content: "▼";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  transition: 0.3s;
}

/* hover */
.coating_content_h:hover {
  background: #163b63;
}

/* 開いた時（JSで toggle-open が付く場合） */
.coating_content_h.toggle-open::after {
  content: "▲";
}

/* SP */
@media screen and (max-width: 768px) {
  .coating_content_h {
    font-size: 14px;
    padding: 12px 14px;
  }

  .coating_content_h::after {
    right: 12px;
    font-size: 12px;
  }
}

/* 地域情報　*/
.b-area {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 24px;
  background: #f5f5f5;
  padding: 32px;
  
  
}


/*　他商材リンク　*/
.link_other a{
  text-align: center;
  display: block;
  padding: 1em;
  margin: auto;
  width: 100%;
  max-width: 600px;
  background: #0e2a47;
  color: #fff;
  font-size: 15px;
  text-decoration: none;
  border-radius: 3px;
  
}

.b-area .dummy-img { height: 100%; min-height: 200px; }

/* ============================================ */
/* ===== 料金ページ ===== */
/* ============================================ */
.b-price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
}
.b-price-card {
  background: #fff;
  border: 1px solid #ddd;
  border-top: 4px solid #0e2a47;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  
}
.b-price-card .dummy-img { height: 140px; }
.b-price-card .body {
  padding: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.b-price-card .name { font-size: 16px; font-weight: bold; color: #0e2a47;
  margin: 1em 1em 0 1em;
}
.b-price-card .right {
  margin: 0 1em 0em 1em;
  min-height: 100px; /* ボタン上揃えのための調整*/
}

.b-price-card .desc { font-size: 12px; color: #555; margin-bottom: 12px; min-height: 48px; }
.b-price-card .price-from { font-size: 13px; color: #888; }
.b-price-card .price-from strong { font-size: 22px; color: #c8102e; margin-left: 4px; }


/* h3 をボタンにする*/
.b-price-card .toggle,
.b-price-card h3{
  display: block;
  background: #f5f5f5;
  text-align: center;
  padding: 10px;
  border-top: 1px solid #ddd;
  font-size: 12px;
  color: #0e2a47;
  font-weight: bold;
  cursor: pointer;
  
  /*ボタン下揃え*/
  /*margin-top: auto;
  margin-bottom: 0;*/
  
  /*上揃え */
  margin-top: 0;
  
  
}


/* サイズ表 */
.b-price-card.card-size-list{
  grid-column: 1 / -1; /* 1カラム表示 */
  border: 0;
}
#tbl_price_example{ text-align:center; }
.btn_txt2 {
  margin: 12px 0;
  text-align: center;
}

.btn_txt2 a {
  display: inline-block;
  padding: 8px 12px;
  background: #0e2a47;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  border-radius: 3px;
}



/* 料金表詳細部分　*/

.tbl_price_title .left img {
  width: 100%;
  height: auto !important;
  display: block;
}

.tbl_price_title .right {
 /* padding: 14px;*/
  font-size: 13px;
  line-height: 1.7;
}



.tbl_price_title .right p {
  margin: 0;
}

.tbl_price,
.tbl_price_menu {
  width: 98%;
  margin: 1%;
  border-collapse: collapse;
  font-size: 13px;
  table-layout: fixed;
}

.tbl_price th,
.tbl_price td,
.tbl_price_menu td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
  vertical-align: middle;
  word-break: break-word;
}

.tbl_price th {
  background: #0e2a47;
  color: #fff;
}

.tbl_price td{ font-size: 17px;}
.tbl_price_menu td {font-size: 17px;}


.tbl_price td p,
.tbl_price th p,
.tbl_price_menu td p {
  margin: 0;
}

.tbl_price .td_font_color_FE0 {
  color: #c8102e;
}

.tbl_price_menu .td_l {
  width: 28%;
  background: #f5f5f5;
  color: #0e2a47;
  font-weight: bold;
}

.tbl_price_menu .td_r {
  text-align: left;
  line-height: 1.7;
}

.jump_price_example {
  margin: 12px 0;
  text-align: center;
}

.jump_price_example a {
  display: inline-block;
  padding: 8px 12px;
  background: #0e2a47;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  border-radius: 3px;
}

/* EXキーパー導線ボタン */
.btn-ex-link {
  margin: 32px auto 0;
  text-align: center;
}
.btn-ex-link a {
  display: inline-block;
  min-width: 280px;
  padding: 26px 140px;
  background: #0e2a47;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 4px;
  transition: 0.3s;
}
.btn-ex-link a:hover {
  background: #14449D;
}

@media only screen and (max-width:768px){
  .btn-ex-link a {
    display: block;
    min-width: 0;
    width: 100%;
    padding: 14px 20px;
    font-size: 15px;
  }
}



@media only screen and (max-width:768px){
  
  .b-price-grid{
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .b-price-card {
    background: #fff;
    border: 1px solid #ddd;
    border-top: 3px solid #0e2a47;
  }
  .b-price-card .dummy-img { height: 120px; }
  .b-price-card .body { padding: 12px; }
  .b-price-card .name { font-size: 14px; font-weight: bold; color: #0e2a47; margin-bottom: 4px; }
  .b-price-card .desc { font-size: 11px; color: #555; margin-bottom: 8px; }
  .b-price-card .price-from { font-size: 11px; color: #888; }
  .b-price-card .price-from strong { font-size: 18px; color: #c8102e; margin-left: 4px; }
  .b-price-card .toggle {
    display: block;
    background: #f5f5f5;
    text-align: center;
    padding: 8px;
    border-top: 1px solid #ddd;
    font-size: 11px;
    color: #0e2a47;
    font-weight: bold;
  }
  .b-price-card .right {
    min-height: auto;
  }
  
  .tbl_price td{ font-size: 14px; }
  .tbl_price_menu td {font-size: 14px;}

}



/* 料金表をタブ化 */
.b-price-tabs ul{
  display:flex;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.b-price-tabs ul li{
  flex:1;
}

.b-price-tabs ul li a{
  display:block;
  padding:1em 1em;
  text-align:center;
  text-decoration:none;
  border:1px solid #DDD;
  border-bottom:none;
  border-radius:14px 14px 0 0;
  background:#F9F9F9;
  color:#0e2a47;
  font-weight:bold;
  font-size:20px;
  cursor:pointer;
}

.b-price-tabs ul li a:hover{
  opacity:0.8;
}

.b-price-tabs ul li.active a{
  background:#07318f;
  color:#fff;
}

.b-price-tab-content{
  border:1px solid #DDD;
  padding:20px 10px;
  background:#fff;
}

.b-price-tab-panel{
  display:none;
}

@media (max-width: 768px){
  
  .b-price-tab-content  .b-price-card{
   
  }

    
}



/* ============================================================
   料金表カルーセル化（レイアウトB）
   ============================================================ */
.b-price-carousel{ position:relative; }
.b-price-viewport{ overflow:hidden; }

/* カルーセル内グリッド→横並びトラック */
.b-price-carousel .b-price-grid{
  display:flex;
  flex-wrap:nowrap;
  gap:20px;
  align-items:stretch;
  transition:transform .35s ease;
  will-change:transform;
}
/* カード幅：3枚=窓幅（gap2つ分を差し引き3等分） */
.b-price-carousel .b-price-card{
  flex:0 0 calc((100% - 40px) / 3);
  width:calc((100% - 40px) / 3);
  height:auto;
}
/* ▼料金表を表示（h3）は廃止：既存アコーディオン定義を上書き */
.b-price-card h3[class^="title_"]{ display:none !important; }
/* 料金表は常時表示：既存アコーディオンJSを無効化 */
.b-price-card [class^="body_"]{ display:block !important; }

/* 左右矢印：スティッキー追従帯 */
.b-price-navbar{
  position:sticky;
  top:45vh;
  height:0;
  z-index:20;
  pointer-events:none;
}
.b-price-navbar .b-price-nav{
  position:absolute;
  top:0;
  width:56px; height:56px; border-radius:50%;
  background:#fff; color:#0e2a47; border:2px solid #0e2a47; cursor:pointer;
  font-size:26px; line-height:1; text-align:center;
  box-shadow:0 2px 10px rgba(0,0,0,.35);
  display:flex; align-items:center; justify-content:center;
  pointer-events:auto;
  transition:background .15s, color .15s;
}
.b-price-navbar .b-price-nav:hover{ background:#0e2a47; color:#fff; }
.b-price-nav:disabled{ opacity:.3; cursor:default; }
.b-price-nav.prev{ left:-10px; }
.b-price-nav.next{ right:-10px; }

/* 料金表フォント・余白縮小（縦幅圧縮） */
.b-price-carousel .tbl_price td,
.b-price-carousel .tbl_price_menu td{ font-size:13px; }
.b-price-carousel .tbl_price th,
.b-price-carousel .tbl_price td,
.b-price-carousel .tbl_price_menu td{ padding:5px; }
.b-price-carousel .tbl_price_title .right{ font-size:12px; line-height:1.6; }
.b-price-carousel .b-price-card .name{ font-size:14px; }
.b-price-carousel .tbl_price td img{ width:56px !important; }

/* スクロール明示ラベル（セクション右上） */
.b-price-sec-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  flex-wrap:wrap; gap:8px;
}
.b-price-scroll-hint{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; color:#0e2a47; font-weight:bold;
  background:#f5f5f5; border:1px solid #ddd; border-radius:20px;
  padding:5px 14px; margin-bottom:20px;
}
.b-price-scroll-hint .arrows{ color:#c8102e; letter-spacing:2px; font-size:15px; }

/* カルーセル外注記（税込・サイズPDF） */
.b-price-note{ margin-top:20px; }
.b-price-note .body{ font-size:13px; color:#555; }
.b-price-note .btn_txt2{ margin:12px 0; }

@media only screen and (max-width:768px){
  
  
  .b-price-carousel .b-price-grid{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:12px;
  }
  .b-price-carousel .b-price-card{
    flex:0 0 100%;
    width:100%;
  }
  .b-price-navbar .b-price-nav{ width:46px; height:46px; font-size:22px; }
  .b-price-nav.prev{ left:2px; }
  .b-price-nav.next{ right:2px; }
  .b-price-sec-head{ align-items:center; }
  .b-price-carousel .tbl_price td,
  .b-price-carousel .tbl_price_menu td{ font-size:12px; }
  
  
}


/*　割引　*/
.f-discount { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.f-discount .item {
  background: #fff; border: 2px solid #b5443a; padding: 24px; text-align: center;
}
.f-discount .item .big { font-size: 48px; font-weight: bold; color: #b5443a; line-height: 1; }
.f-discount .item .big small { font-size: 14px; }
.f-discount .item h3 { font-size: 14px; margin-top: 8px; color: #14449D; }
.f-discount .item p { font-size: 12px; color: #555; }

.f-tokuten .item {
  display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid #eee; align-items: flex-start;
}
.f-tokuten .item:last-child { border-bottom: none; }
.f-tokuten .item .num {
  background: #b5443a; color: #fff; min-width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-weight: bold;
}
.f-tokuten .item .ttl { font-size: 14px; font-weight: bold; color: #14449D; margin-bottom: 2px; }
.f-tokuten .item .desc { font-size: 12px; color: #555; }

.f-option-cat { margin-bottom: 24px; }
.f-option-cat h3 { font-size: 13px; color: #14449D; border-bottom: 2px solid #14449D; padding-bottom: 6px; margin-bottom: 12px; }
.f-option-item { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #eee; }
.f-option-item .ttl { font-size: 13px; font-weight: bold; }
.f-option-item .desc { font-size: 11px; color: #777; }
.f-option-item .price { font-size: 15px; font-weight: bold; color: #b5443a; white-space: nowrap; }



@media only screen and (max-width:768px){
 
  /* 特典／割引　*/
  #waribiki.sec{ background: #f5f5f5;  width: 100%; padding:2% 5%;  }
  .f-discount { grid-template-columns:1fr;}
  .f-discount .item { background: none;  padding: 16px 0; border:0; border-bottom: 1px solid #eee; text-align: center; }
  .f-discount .item .big { font-size: 36px; font-weight: bold; color: #b5443a; }
  .f-discount .item .big small { font-size: 12px; }
  .f-discount .item h3 { font-size: 13px; color: #14449D; }

  
  /*.b-discount-grid  {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .b-discount-grid  .item {
    background: #fff8e1;
    border: 2px solid #ffb300;
    padding: 14px;
    text-align: center;
  }
  .b-discount-grid  .item h3 { color: #c8102e; margin-bottom: 4px; font-size: 13px; }
  .b-discount-grid  .item .big { font-size: 28px; font-weight: bold; color: #c8102e; margin: 6px 0; }
  .b-discount-grid  .item .desc { font-size: 11px; color: #555; }

  .b-tokuten-grid  {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .b-tokuten-grid  .item {
    background: #fff;
    border: 1px solid #ddd;
    border-left: 4px solid #ffb300;
    padding: 12px;
  }
  .b-tokuten-grid  .item .label {
    background: #ffb300;
    color: #0e2a47;
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: bold;
    margin-bottom: 4px;
  }
  .b-tokuten-grid  .item .ttl { font-size: 13px; font-weight: bold; margin-bottom: 4px; }
  .b-tokuten-grid  .item .desc { font-size: 11px; color: #555; }

  */
}



/*
.b-option-tabs {
display: flex;
gap: 0;
border-bottom: 2px solid #0e2a47;
margin-bottom: 20px;
}
.b-option-tabs button {
background: #f5f5f5;
border: 1px solid #ddd;
border-bottom: none;
padding: 10px 20px;
font-size: 13px;
font-weight: bold;
cursor: pointer;
color: #555;
}
.b-option-tabs button.active {
background: #0e2a47;
color: #fff;
border-color: #0e2a47;
}
.b-option-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
.b-option-card {
background: #fff;
border: 1px solid #ddd;
padding: 16px;
}
.b-option-card .ttl { font-size: 18px; font-weight: bold; margin-bottom: 8px; color: #0e2a47; }
.b-option-card .desc { font-size: 15px; color: #555; margin-bottom: 12px; min-height: 40px; }
.b-option-card .price-row {
display: flex;
justify-content: space-between;
border-top: 1px solid #eee;
padding-top: 8px;
font-size: 13px;
}
.b-option-card .price-row .price { font-weight: bold; color: #c8102e; }

.option_ryokin{ margin-top: 10px; }*/

@media only screen and (max-width:768px){
  
   .b-option-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    border-bottom: 2px solid #0e2a47;
    margin-bottom: 14px;
    white-space: nowrap;
  }
  .b-option-tabs button {
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-bottom: none;
    padding: 8px 14px;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    cursor: pointer;
  }
  .b-option-tabs button.active {
    background: #0e2a47;
    color: #fff;
    border-color: #0e2a47;
  }
  .b-option-grid {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .b-option-grid .item {
    background: #fff;
    border: 1px solid #ddd;
    padding: 12px;
  }
  .b-option-grid .item .ttl { font-size: 12px; font-weight: bold; color: #0e2a47; margin-bottom: 4px; }
  .b-option-grid .item .desc { font-size: 11px; color: #555; margin-bottom: 6px; }
  .b-option-grid .item .price-row {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #eee;
    padding-top: 6px;
    font-size: 11px;
  }
  .b-option-grid .item .price-row .price { font-weight: bold; color: #c8102e; }
  
  
  
}

/* ============================================ */
/* ===== 店舗紹介ページ ===== */
/* ============================================ */

.f-shop-detail{}
.f-shop-detail .shop-img{
  height:30vw;
  margin-bottom:16px;
  overflow:hidden;
}

.f-shop-detail .shop-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.f-shop-detail .shop-name { font-size: 20px; font-weight: bold; color: #14449D; margin-bottom: 12px; }
.f-shop-detail dl { display: grid; grid-template-columns: 100px 1fr; gap: 6px 20px; font-size: 13px; margin-bottom: 12px; }
.f-shop-detail dt { color: #b5443a; font-weight: bold; }
.map_iframe_embed iframe{
  width: 100%; height: 350px;
  margin-bottom: 1em;
  }
@media only screen and (max-width:768px){
  .map_iframe_embed iframe{}
}

.f-company .company-img{
  height:30vw;
  margin-bottom:16px;
  overflow:hidden;
}

.f-company .company-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.f-company dl { display: grid; grid-template-columns: 130px 1fr; gap: 6px 20px; font-size: 13px; }
.f-company dt { color: #b5443a; font-weight: bold; }

.f-shop-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }

.f-shop-gallery .shop-gallery-img{
  height:20vw;
  overflow:hidden;
  margin-bottom: 0;
}

.f-shop-gallery .shop-gallery-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

/*.b-shop-card {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
background: #fff;
padding: 24px;
border: 1px solid #ddd;
margin-bottom: 24px;
}
.b-shop-card .left .dummy-img { height: 280px; }
.b-shop-card .shop-name {
font-size: 22px;
font-weight: bold;
color: #0e2a47;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 2px solid #ffb300;
}
.b-shop-card table {
width: 100%;
font-size: 16px;
border-collapse: collapse;
margin-bottom: 12px;
}
.b-shop-card table th {
background: #f5f5f5;
text-align: left;
padding: 8px;
width: 30%;
border: 1px solid #eee;
font-weight: bold;
}
.b-shop-card table td {
padding: 8px;
border: 1px solid #eee;
}
.b-shop-card .map-img { height: 140px; }


@media only screen and (max-width:768px){
  
  
  .b-shop-card{
    display: block;
    border: 1px solid #ddd;
    padding: 14px;
    margin-bottom: 14px;
  }
  .b-shop-card .shop-name {
    font-size: 14px;
    font-weight: bold;
    color: #0e2a47;
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 2px solid #ffb300;
  }
  .b-shop-card .pic{
    margin-bottom: 1em;
  }
  .b-shop-card table {
    width: 100%;
    font-size: 11px;
    border-collapse: collapse;
    margin-bottom: 10px;
  }
  .b-shop-card table th {
    background: #f5f5f5;
    text-align: left;
    padding: 6px;
    width: 30%;
    border: 1px solid #eee;
    font-weight: bold;
  }
  .b-shop-card table td {
    padding: 6px;
    border: 1px solid #eee;
  }

  
}

*/


/*

.b-company {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
background: #f5f5f5;
padding: 24px;
align-items: center;
}
.b-company .dummy-img { height: 220px; }
.b-company table {
width: 100%;
font-size: 16px;
border-collapse: collapse;
}
.b-company table th {
background: #fff;
text-align: left;
padding: 10px;
width: 30%;
border: 1px solid #ddd;
font-weight: bold;
}
.b-company table td {
padding: 10px;
border: 1px solid #ddd;
background: #fff;
}

.b-shop-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.b-shop-gallery .shop-gallery-img {
  height: 200px;
  overflow: hidden;
}

.b-shop-gallery .shop-gallery-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}


@media only screen and (max-width:768px){
  
 
  .b-company {
    display: block;
    padding: 14px;
  }
  .b-company .pic{ margin-bottom: 12px; }
  .b-company table {
    width: 100%;
    font-size: 11px;
    border-collapse: collapse;
  }
  .b-company table th {
    background: #fff;
    text-align: left;
    padding: 8px;
    width: 30%;
    border: 1px solid #ddd;
    font-weight: bold;
  }
  .b-company table td {
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
  }

  .b-shop-gallery {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
  }
  
  .b-shop-gallery .shop-gallery-img{ }
  
}
*/
/* ============================================ */
/* ===== お客様の声・Q&Aページ ===== */
/* ============================================ */
.f-voice-card { padding: 24px 0; border-bottom: 1px solid #eee; }
.f-voice-card:last-child { border-bottom: none; }
.f-voice-card .car-label {
  display: inline-block; background: #14449D; color: #fff;
  font-size: 11px; padding: 3px 12px; margin-bottom: 8px;
}
.f-voice-card .text { font-size: 13px; color: #333; }


.f-qa-item { padding: 20px 0; border-bottom: 1px solid #eee; }
.f-qa-item:last-child { border-bottom: none; }
.f-qa-item .q {
  background: #14449D; color: #fff; padding: 10px 14px; font-size: 13px; font-weight: bold; margin-bottom: 10px;
}
.f-qa-item .q::before { content: "Q. "; color: #b5443a; }
.f-qa-item .a { padding: 0 14px; font-size: 13px; color: #555; }
.f-qa-item .a::before { content: "A. "; color: #b5443a; font-weight: bold; }

/*.b-voice-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
.b-voice-grid .item {
background: #fff;
border: 1px solid #ddd;
border-top: 3px solid #ffb300;
padding: 20px;
}
.b-voice-grid .item .car-label {
display: inline-block;
background: #0e2a47;
color: #fff;
font-size: 14px;
padding: 3px 10px;
border-radius: 12px;
margin-bottom: 10px;
}
.b-voice-grid .item .text { font-size: 16px; color: #333; }

.b-qa-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.b-qa-grid .item {
background: #fff;
border: 1px solid #ddd;
padding: 17px;
}
.b-qa-grid .item .q {
background: #0e2a47;
color: #fff;
padding: 10px;
font-size: 16px;
font-weight: bold;
margin: -16px -16px 12px -16px;
}
.b-qa-grid .item .q::before { content: "Q. "; color: #ffb300; }
.b-qa-grid .item .a { font-size: 15px; color: #333; }
.b-qa-grid .item .a::before { content: "A. "; color: #c8102e; font-weight: bold; }
*/

@media only screen and (max-width:768px){
  
  
   .b-voice-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .b-voice-grid .item {
    background: #fff;
    border: 1px solid #ddd;
    border-top: 3px solid #ffb300;
    padding: 12px;
  }
  .b-voice-grid .item .car-label {
    display: inline-block;
    background: #0e2a47;
    color: #fff;
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 10px;
    margin-bottom: 6px;
  }
  .b-voice-grid .item .text { font-size: 12px; color: #333; }

  .b-qa-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .b-qa-grid .item {
    background: #fff;
    border: 1px solid #ddd;
  }
  .b-qa-grid .item .q {
    background: #0e2a47;
    color: #fff;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: bold;
  }
  .b-qa-grid .item .q::before { content: "Q. "; color: #ffb300; }
  .b-qa-grid .item .a {
    padding: 12px;
    font-size: 12px;
    color: #333;
  }
  .b-qa-grid .item .a::before { content: "A. "; color: #c8102e; font-weight: bold; }
  
  
  
}
/* ============================================ */
/* ===== 施工事例ページ ===== */
/* ============================================ */

.f-jirei-tabs {
  display: flex;
  gap: 0; border-bottom: 2px solid #14449D; margin-bottom: 24px;
  list-style-type: none;
  
}
.f-jirei-tabs li a{
  display: block;
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 10px 18px; font-size: 12px; font-weight: bold; color: #555; cursor: pointer;
}
.f-jirei-tabs li.active a { background: #14449D; color: #fff; border-color: #14449D; }


.f-jirei-grid { }

.f-jirei-grid.tab_content{
  display:none;
}
.f-jirei-grid.tab_content.is-active{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; 
}

.f-jirei-card { background: #fff; border: 1px solid #eee; }
.f-jirei-card .pic{
  height:180px;
  overflow:hidden;
  display:flex;
  justify-content:center; 
  align-items:center;     /* 縦中央 */
}

.f-jirei-card .pic img{
  width:100%;
}
.f-jirei-card .body { padding: 14px; }
.f-jirei-card .menu { font-size: 11px; color: #b5443a; letter-spacing: 1px; margin-bottom: 4px; }
.f-jirei-card .car { font-size: 15px; font-weight: bold; margin-bottom: 4px; }
.f-jirei-card .price { font-size: 18px; font-weight: bold; color: #b5443a; margin-bottom: 4px; }
.f-jirei-card .comment { font-size: 11px; color: #555; }



@media only screen and (max-width:768px){
  
  
  
   /* ===== SP/施工事例 ===== */
  .f-jirei-tabs {
    display: flex; overflow-x: auto; background: #f5f5f5; border-bottom: 2px solid #14449D; margin-bottom: 14px; white-space: nowrap;
  }
  .f-jirei-tabs button {
    background: transparent; border: none; padding: 10px 14px; font-size: 11px; font-weight: bold;
    color: #555; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px;
  }
  .f-jirei-tabs button.active { color: #b5443a; border-bottom-color: #b5443a; background: #fff; }

  .f-jirei-grid.tab_content.is-active{
    display: grid; 
    grid-template-columns: 1fr;
    gap: 16px; 
  }

  .f-jirei-card { padding: 14px 0; border-bottom: 1px solid #eee; }
  .f-jirei-card .dummy-img { height: 180px; margin-bottom: 10px; }
  .f-jirei-card .menu { font-size: 10px; color: #b5443a; letter-spacing: 1px; }
  .f-jirei-card .car { font-size: 15px; font-weight: bold; margin-bottom: 4px; }
  .f-jirei-card .price { font-size: 17px; font-weight: bold; color: #b5443a; margin-bottom: 4px; }
  .f-jirei-card .comment { font-size: 11px; color: #555; }
  
  
  
  
}






/* ------------------------------------------------------------

 SPフローティングボタン

------------------------------------------------------------ */

.sp-floating{ display: none;}

@media only screen and (max-width:768px){



  .sp-floating {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #ddd;
    z-index: 50;
  }
  .sp-floating-top {
    background: #14449D;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 12px;
    font-weight: bold;
    text-decoration: none;
    display: block;
  }
  .sp-floating-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .sp-floating-bottom a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 14px 8px;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    line-height: 1.3;
    color: #fff;
    border-radius:0;
  }
  .sp-floating-bottom .btn-tel {
    background: #556b7a;
    color:#FFF;
    border: none;
    outline: none;
    
  }
  .sp-floating-bottom .btn-tel:hover{ cursor: pointer; }
  
    
  .sp-floating-bottom .btn-rsv {
    background:#b5443a;
    color:#fff;
    
  }




  /* ============ MODAL ============ */
  .footer-modal-wrap{position:relative;/*width:375px;*/min-height:580px;background:rgba(0,0,0,0.5)!important;display:flex;align-items:center;justify-content:center;margin:0 auto!important;max-width:none!important;border-radius:8px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.5)!important;}
  .footer-modal-wrap .bg-placeholder{position:absolute;inset:0;background:#e0e0e0;opacity:0.3}
  .footer-modal-box{position:relative;z-index:1;width:340px;border-radius:12px;overflow:hidden}

  /* M-1 */
  .md1 .footer-modal-box{background:#fff;text-align:center;}
  .md1 .md-notice{background:#f5f3f0;border-left:4px solid #c43e3e;padding:10px 14px;font-size:11px;color:#c43e3e;font-weight:bold}
  .md1 .md-shops{padding:16px}
  .md1 .md-shop-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px;overflow:hidden}
  .md1 .md-shop-item:last-child{margin-bottom:0}
  .md1 .md-shop-name{background:#a03232;color:#fff;padding:8px 14px;font-size:13px;font-weight:bold}
  .md1 .md-shop-body{padding:12px 14px}
  .md1 .md-tel{font-size:22px;font-weight:bold;color:#2c2420;text-align:center;margin-bottom:4px}
  .md1 .md-tel-icon{color:#c43e3e;margin-right:4px}
  .md1 .md-hours{font-size:11px;color:#666;text-align:center}
  .md1 .md-net-wari{background:#c43e3e;color:#fff;text-align:center;padding:10px;font-size:13px;font-weight:bold}
  .md1 .md-caution{padding:10px 14px;font-size:10px;color:#888;background:#fafafa}
  .md1 .md-banner{padding:12px 14px}
  .md1 .md-banner-placeholder,.md2 .md-banner-placeholder,.md3 .md-banner-placeholder,.md4 .md-banner-placeholder,.md5 .md-banner-placeholder{background:#eee;border:1px dashed #ccc;height:auto;display:flex;align-items:center;justify-content:center;font-size:11px;color:#999;border-radius:4px}
  .md1 .md-close{display:block;text-align:center;padding:12px;background:#f5f5f5;color:#666;font-size:12px;font-weight:bold;cursor:pointer;border-top:1px solid #eee}
  .md1 .md-tel-name {font-size: 14px;color:#a03232;}
  .mfp-close {display: none!important;}

  .md-banner-placeholder img{ width: 100%; }

}

/* ============================================================
   ★ 料金表追加CSS：メニュー別背景色
   ============================================================ */

/* ---------- カラー定義 ---------- */
:root {
  --menu-crystal:    #D1EEF7;
  --menu-fresh:      #FFF103;
  --menu-diamond:    #F2EDDA;
  --menu-diamond_p:  #F2EDDA;
  --menu-dia2:       #EBF4FF;
  --menu-dia2_p:     #EBF4FF;
  --menu-ecodia:     #00A040;
  --menu-ecodia_p:   #00A040;
  --menu-wdiamond:   #425e83;
  --menu-wdiamond_p: #425e83;
  --menu-ex:         #002C5B;
  --menu-ex_p:       #002C5B;
}

/* ---------- 明色メニュー ---------- */
.b-price-grid .b-price-card:has(#crystal)   { background: var(--menu-crystal); }
.b-price-grid .b-price-card:has(#fresh)     { background: var(--menu-fresh); }
.b-price-grid .b-price-card:has(#diamond)   { background: var(--menu-diamond); }
.b-price-grid .b-price-card:has(#diamond_p) { background: var(--menu-diamond_p); }
.b-price-grid .b-price-card:has(#dia2)      { background: var(--menu-dia2); }
.b-price-grid .b-price-card:has(#dia2_p)    { background: var(--menu-dia2_p); }

/* 明色：tbl_price td 白戻し */
.b-price-grid .b-price-card:has(#crystal) .tbl_price td,
.b-price-grid .b-price-card:has(#fresh) .tbl_price td,
.b-price-grid .b-price-card:has(#diamond) .tbl_price td,
.b-price-grid .b-price-card:has(#diamond_p) .tbl_price td,
.b-price-grid .b-price-card:has(#dia2) .tbl_price td,
.b-price-grid .b-price-card:has(#dia2_p) .tbl_price td {
  background: #fff;
}

/* 明色：tbl_price_menu td 白戻し */
.b-price-grid .b-price-card:has(#crystal) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#fresh) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#diamond) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#diamond_p) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#dia2) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#dia2_p) .tbl_price_menu td {
  background: #fff;
}

/* 明色：tbl_price_menu td_l ラベル列は薄グレー維持 */
.b-price-grid .b-price-card:has(#crystal) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#fresh) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#diamond) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#diamond_p) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#dia2) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#dia2_p) .tbl_price_menu .td_l {
  background: #f5f5f5;
}


/* ---------- 暗色メニュー ---------- */
.b-price-grid .b-price-card:has(#ecodia)     { background: var(--menu-ecodia); }
.b-price-grid .b-price-card:has(#ecodia_p)   { background: var(--menu-ecodia_p); }
.b-price-grid .b-price-card:has(#wdiamond)   { background: var(--menu-wdiamond); }
.b-price-grid .b-price-card:has(#wdiamond_p) { background: var(--menu-wdiamond_p); }
.b-price-grid .b-price-card:has(#ex)         { background: var(--menu-ex); }
.b-price-grid .b-price-card:has(#ex_p)       { background: var(--menu-ex_p); }

/* 暗色：テキスト白化 */
.b-price-grid .b-price-card:has(#ecodia),
.b-price-grid .b-price-card:has(#ecodia_p),
.b-price-grid .b-price-card:has(#wdiamond),
.b-price-grid .b-price-card:has(#wdiamond_p),
.b-price-grid .b-price-card:has(#ex),
.b-price-grid .b-price-card:has(#ex_p) {
  color: #fff;
}

.b-price-grid .b-price-card:has(#ecodia) .name,
.b-price-grid .b-price-card:has(#ecodia_p) .name,
.b-price-grid .b-price-card:has(#wdiamond) .name,
.b-price-grid .b-price-card:has(#wdiamond_p) .name,
.b-price-grid .b-price-card:has(#ex) .name,
.b-price-grid .b-price-card:has(#ex_p) .name {
  color: #fff;
}

.b-price-grid .b-price-card:has(#ecodia) .tbl_price_title .right,
.b-price-grid .b-price-card:has(#ecodia_p) .tbl_price_title .right,
.b-price-grid .b-price-card:has(#wdiamond) .tbl_price_title .right,
.b-price-grid .b-price-card:has(#wdiamond_p) .tbl_price_title .right,
.b-price-grid .b-price-card:has(#ex) .tbl_price_title .right,
.b-price-grid .b-price-card:has(#ex_p) .tbl_price_title .right {
  color: #fff;
}

/* 暗色：tbl_price td 白戻し */
.b-price-grid .b-price-card:has(#ecodia) .tbl_price td,
.b-price-grid .b-price-card:has(#ecodia_p) .tbl_price td,
.b-price-grid .b-price-card:has(#wdiamond) .tbl_price td,
.b-price-grid .b-price-card:has(#wdiamond_p) .tbl_price td,
.b-price-grid .b-price-card:has(#ex) .tbl_price td,
.b-price-grid .b-price-card:has(#ex_p) .tbl_price td {
  background: #fff;
  color: #333;
}

/* 暗色：tbl_price_menu td 白戻し */
.b-price-grid .b-price-card:has(#ecodia) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#ecodia_p) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#wdiamond) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#wdiamond_p) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#ex) .tbl_price_menu td,
.b-price-grid .b-price-card:has(#ex_p) .tbl_price_menu td {
  background: #fff;
  color: #333;
}

.b-price-grid .b-price-card:has(#ecodia) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#ecodia_p) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#wdiamond) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#wdiamond_p) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#ex) .tbl_price_menu .td_l,
.b-price-grid .b-price-card:has(#ex_p) .tbl_price_menu .td_l {
  background: #f5f5f5;
  color: #0e2a47;
}

/* 暗色：ネット割テキスト色維持 */
.b-price-grid .b-price-card:has(#ecodia) .tbl_price .td_font_color_FE0,
.b-price-grid .b-price-card:has(#ecodia_p) .tbl_price .td_font_color_FE0,
.b-price-grid .b-price-card:has(#wdiamond) .tbl_price .td_font_color_FE0,
.b-price-grid .b-price-card:has(#wdiamond_p) .tbl_price .td_font_color_FE0,
.b-price-grid .b-price-card:has(#ex) .tbl_price .td_font_color_FE0,
.b-price-grid .b-price-card:has(#ex_p) .tbl_price .td_font_color_FE0 {
  color: #c8102e;
}

/* 暗色：jump_price_example リンク */
.b-price-grid .b-price-card:has(#ecodia) .jump_price_example a,
.b-price-grid .b-price-card:has(#ecodia_p) .jump_price_example a,
.b-price-grid .b-price-card:has(#wdiamond) .jump_price_example a,
.b-price-grid .b-price-card:has(#wdiamond_p) .jump_price_example a,
.b-price-grid .b-price-card:has(#ex) .jump_price_example a,
.b-price-grid .b-price-card:has(#ex_p) .jump_price_example a {
  background: rgba(255,255,255,0.2);
  color: #fff;
}

/* 暗色：border */
.b-price-grid .b-price-card:has(#ecodia),
.b-price-grid .b-price-card:has(#ecodia_p),
.b-price-grid .b-price-card:has(#wdiamond),
.b-price-grid .b-price-card:has(#wdiamond_p),
.b-price-grid .b-price-card:has(#ex),
.b-price-grid .b-price-card:has(#ex_p) {
  border-color: rgba(255,255,255,0.15);
  border-top-color: rgba(255,255,255,0.3);
}

/* ---------- プレミアム：案D（ゴールドボーダー＋内側額縁） ---------- */
.b-price-grid .b-price-card:has(#diamond_p),
.b-price-grid .b-price-card:has(#dia2_p),
.b-price-grid .b-price-card:has(#ecodia_p),
.b-price-grid .b-price-card:has(#wdiamond_p),
.b-price-grid .b-price-card:has(#ex_p) {
  border-top: 4px solid #c9a96e;
  box-shadow: inset 0 0 0 2px #c9a96e;
}
  
