/* ================================
   FoodSaver風 Footer (scoped)
   ================================ */

footer.fs-footer{
  background:#f2f2f2;
  color:#111;
  font-size:14px;
  line-height:1.7;
}

footer.fs-footer a{
  color:inherit;
  text-decoration:none;
}
footer.fs-footer a:hover{
  text-decoration:underline;
}

.fs-footer__container{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

/* --- maker (上の「取扱いメーカー」) --- */
.fs-footer__maker{
  background:#fff;
  border-top:1px solid #e5e5e5;
  border-bottom:1px solid #e5e5e5;
  padding:18px 0;
}
.fs-footer__makerTitle{
  font-size:13px;
  font-weight:700;
  margin:0 0 10px;
}
.fs-footer__makerList{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center;
}
.fs-footer__makerItem img{
  height:36px;
  width:auto;
  display:block;
}

/* --- main layout (左:リンク群 / 右:問い合わせ) --- */
.fs-footer__main{
  padding:36px 0 0;
}
.fs-footer__grid{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap:40px;
  align-items:start;
}

/* --- nav columns --- */
/* =========================
   footer: 1行ずつ縦に並べる
   ========================= */
.fs-footer .fs-footer__navGrid{
  display: grid;
  /* カラムが細くなりすぎないように最低幅を確保 → 足りなければ下段に折り返す */
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px 48px;
}

/* 大項目（製品一覧など）は太字で強調 */
.fs-footer .fs-footer__navTitle{
  margin: 0 0 10px;
  font-weight: 700;
}

/* リストは縦並び固定（横並び指定がどこかにあっても上書き） */
.fs-footer .fs-footer__navList{
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column; /* ← これで1行ずつ縦に */
  gap: 8px;
}

.fs-footer .fs-footer__navList li{
  margin: 0;
  padding: 0;
}

/* リンクをブロックにして行として扱う */
.fs-footer .fs-footer__navList a{
  display: block;
  text-decoration: none;
}

/* 日本語が1文字ずつ折り返されるのが嫌なら（必要なら） */
.fs-footer .fs-footer__navList a{
  white-space: nowrap;
}

/* --- SNS（色付き：YouTube / LINE） --- */
.fs-footer .footer_sns_list_item_link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border-radius:14px;
  text-decoration:none;
}

/* YouTube：赤背景＋白アイコン */
.fs-footer .footer_sns_list_item_link_youtube{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ff0000;
  border-radius:14px;
}
.fs-footer .footer_sns_list_item_link_youtube i{
  color:#fff;
  font-size:28px;
}

/* LINE：緑背景＋白アイコン */
.fs-footer .footer_sns_list_item_link_line{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#06c755;
  border-radius:14px;
}
.fs-footer .footer_sns_list_item_link_line i{
  color:#fff;
  font-size:28px;
}

.fs-footer__layout{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap:40px;
  align-items:start;
}

/* それっぽい縦区切り（PCだけ） */
@media (min-width: 992px){
  .fs-footer__col{
    padding-right:18px;
    border-right:1px solid #d9d9d9;
  }
  .fs-footer__col:last-child{
    border-right:none;
    padding-right:0;
  }
}

/* --- contact card --- */
.fs-footer__contactCard{
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:10px;
  padding:22px;
}

.fs-footer__contactTitle{
  font-weight:800;
  font-size:15px;
  margin:0 0 8px;
}
.fs-footer__contactLabel{
  margin:0 0 10px;
  color:#333;
  font-size:13px;
}

.fs-footer__tel{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:22px;
  margin:6px 0 8px;
  color:#f26b1d; /* FoodSaverっぽいオレンジ */
}
.fs-footer__telIcon{
  display:inline-flex;
  color:#f26b1d;
}
.fs-footer__telIcon svg{
  fill:currentColor;
}

.fs-footer__hours{
  margin:0 0 14px;
  color:#333;
  font-size:12.5px;
}

.fs-footer__mailBtn{
  display:block;
  text-align:center;
  background:#2e8b00; /* FoodSaverっぽいグリーン */
  color:#fff !important;
  padding:12px 14px;
  border-radius:999px;
  font-weight:800;
}
.fs-footer__mailBtn:hover{
  text-decoration:none;
  filter:brightness(0.95);
}

/* --- sns --- */
.fs-footer__sns{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #e6e6e6;
}
.fs-footer__snsTitle{
  font-weight:800;
  margin:0 0 10px;
}
.fs-footer__snsRow{
  display:flex;
  gap:14px;
  align-items:center;
}
.fs-footer__snsIcon{
  width:44px;
  height:44px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e6e6e6;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fs-footer__snsIcon img{
  width:24px;
  height:24px;
  display:block;
}

/* --- bottom --- */
.fs-footer__bottom{
  margin-top:28px;
  border-top:1px solid #d9d9d9;
  background:#e9e9e9;
  padding:14px 0;
}
.fs-footer__copyright{
  color:#333;
}

/* --- responsive --- */
@media (max-width: 991px){
  .fs-footer__grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .fs-footer__navGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:20px 24px;
  }
  .fs-footer__col{
    border-right:none;
    padding-right:0;
  }
  .fs-footer__layout{
    grid-template-columns:1fr;
    gap:18px;
  }
}

/* 左右の区切り線（PCだけ） */
@media (min-width: 992px){
  .fs-footer__nav{
    padding-right:40px;
    border-right:1px solid #d9d9d9;
  }
  .fs-footer__side{
    padding-left:40px;
  }
}

@media (max-width: 520px){
  .fs-footer__navGrid{
    grid-template-columns:1fr;
  }
}
