@charset "UTF-8";
/* =========================================================
   AJO LABO：スマホの開閉メニュー
   File: assets/css/spmenu.css（inc/spmenu.php が読み込む）
========================================================= */

/* ---------- 1) 上の「MENU」帯 → 笑顔のにんにく ---------- */
#sp_menu .c-widget__title.-spmenu{
  position: relative;
  height: auto !important;
  overflow: visible !important;
  line-height: 1.4 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin: 0 0 8px;
  padding: 8px 0 14px;
  border: 0;
  border-bottom: 1px solid #e6e1db;
  background: none !important;
  color: #6b6158 !important;
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .32em;
  padding-left: .32em;
}
#sp_menu .c-widget__title.-spmenu::before{
  content: "";
  position: static !important;
  transform: none !important;
  display: block;
  width: 60px;
  height: 60px;
  background: url(../img/spmenu_garlic.png) no-repeat center / contain;
}
#sp_menu .c-widget__title.-spmenu::after{ display: none !important; }

/* ---------- 3) メニュー下の部品 [ajo_sp_menu_extra] ---------- */
.ajoSpExtra{
  margin: 20px 0 8px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ajoSpExtra__post{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border-radius: 999px;
  background: #2b2724;
  color: #fff !important;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none !important;
}
.ajoSpExtra__post .ajoNavIco{ width: 20px; height: 20px; color: #fff; }
.ajoSpExtra__label{
  margin: 6px 0 -4px;
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: .3em;
  color: #6b6158;
}
.ajoSpExtra__recent{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ajoSpExtra__recent li{ margin: 0; padding: 0; border: 0; }
.ajoSpExtra__recent li::before{ display: none; }
.ajoSpExtra__recent a{
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #2b2724 !important;
  text-decoration: none !important;
}
.ajoSpExtra__recent img{
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 6px;
}
.ajoSpExtra__recent span{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.45;
}
.ajoSpExtra__shop{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #d9d3cc;
  border-radius: 8px;
  color: #2b2724 !important;
  font-size: 14px;
  text-decoration: none !important;
}
.ajoSpExtra__shop .ajoNavIco{ width: 22px; height: 22px; color: #6b6158; }
.ajoSpExtra__ext{ margin-left: auto; color: #6b6158; }

/* ---------- 項目のアイコン（CSSだけで表示：リンク先URLで判定） ----------
   SWELLの「＞」の位置に、線画のアイコンを置く */
#sp_menu .c-spnav > li > a{
  position: relative;
  padding-left: 44px !important;
  --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E");  /* 該当なし：小さな丸 */
}
#sp_menu .c-spnav > li > a::before{
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  font-family: inherit !important;
  background: #6b6158;
  -webkit-mask: var(--ajo-ico) no-repeat center / contain;
          mask: var(--ajo-ico) no-repeat center / contain;
}
#sp_menu .c-spnav > li > a[href$="/recipe/"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16v3a8 8 0 0 1-16 0z'/%3E%3Cpath d='M2 10h20'/%3E%3Cpath d='M9 6c0-1.5 1-1.5 1-3M13 6c0-1.5 1-1.5 1-3'/%3E%3C/svg%3E"); }
#sp_menu .c-spnav > li > a[href*="/recipe-cat"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='7' height='7' rx='1'/%3E%3Crect x='13' y='4' width='7' height='7' rx='1'/%3E%3Crect x='4' y='13' width='7' height='7' rx='1'/%3E%3Crect x='13' y='13' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
#sp_menu .c-spnav > li > a[href*="/recipe-theme"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3C/svg%3E"); }
#sp_menu .c-spnav > li > a[href*="/recipe-authors"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.5 20c.8-4 3.8-6 7.5-6s6.7 2 7.5 6'/%3E%3C/svg%3E"); }
#sp_menu .c-spnav > li > a[href*="/products"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3h4v3l2 3v11a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9l2-3z'/%3E%3Cpath d='M8 13h8'/%3E%3C/svg%3E"); }
#sp_menu .c-spnav > li > a[href*="/category/column"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h12v16H6a2 2 0 0 0-2 2z'/%3E%3Cpath d='M4 21V5M8 7h7M8 11h7'/%3E%3C/svg%3E"); }
#sp_menu .c-spnav > li > a[href*="/form-recipe"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4l5 5-10 10-6 1 1-6z'/%3E%3Cpath d='M13 6l5 5'/%3E%3C/svg%3E"); }
/* マエストロ：勲章バッジ（少し大きく・墨色） */
#sp_menu .c-spnav > li > a[href*="/recipe-author/"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M46 74 L36 112 L46 104 L52 114 L58 80' /%3E%3Cpath d='M74 74 L84 112 L74 104 L68 114 L62 80' /%3E %3Cpolygon points='94.0,50.0 89.7,53.9 92.8,58.8 87.7,61.5 89.4,67.0 83.8,68.3 84.0,74.0 78.3,73.8 77.0,79.4 71.5,77.7 68.8,82.8 63.9,79.7 60.0,84.0 56.1,79.7 51.2,82.8 48.5,77.7 43.0,79.4 41.7,73.8 36.0,74.0 36.2,68.3 30.6,67.0 32.3,61.5 27.2,58.8 30.3,53.9 26.0,50.0 30.3,46.1 27.2,41.2 32.3,38.5 30.6,33.0 36.2,31.7 36.0,26.0 41.7,26.2 43.0,20.6 48.5,22.3 51.2,17.2 56.1,20.3 60.0,16.0 63.9,20.3 68.8,17.2 71.5,22.3 77.0,20.6 78.3,26.2 84.0,26.0 83.8,31.7 89.4,33.0 87.7,38.5 92.8,41.2 89.7,46.1' /%3E %3Ccircle cx='60' cy='50' r='22' /%3E%3Ccircle cx='60' cy='50' r='18' opacity='.55'/%3E %3Cpath d='M50 54 C50 44 70 44 70 54 Z' /%3E%3Cpath d='M48 54 H72' /%3E%3Cpath d='M60 40 V36' /%3E%3Ccircle cx='60' cy='35' r='1.6' fill='%23000'/%3E%3C/svg%3E"); }
#sp_menu .c-spnav > li > a[href*="/recipe-author/"]::before{ width: 26px !important; height: 26px !important; left: 6px !important; background: #2b2724; }

/* オンラインショップ：1行に収める */
.ajoSpExtra__shopText{ white-space: nowrap; font-size: 13px; }

/* マエストロの最新作（写真は切り抜かない） */
.ajoSpExtra__maestro{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #2b2724;
  border-radius: 4px;
  color: #2b2724 !important;
  text-decoration: none !important;
}
.ajoSpExtra__mImg{ flex: 0 0 96px; display: flex; align-items: center; justify-content: center; }
.ajoSpExtra__mImg img{ display: block; max-width: 96px; max-height: 96px; width: auto; height: auto; box-shadow: 0 6px 14px rgba(0,0,0,.12); }
.ajoSpExtra__mText{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ajoSpExtra__mNo{ font-family: "Cormorant Garamond", "Times New Roman", serif; font-size: 14px; letter-spacing: .08em; font-variant-numeric: lining-nums; }
.ajoSpExtra__mTitle{ font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 14px; font-weight: 600; line-height: 1.5; }
.ajoSpExtra__mBy{ font-size: 11px; letter-spacing: .2em; color: #6b6158; }
.ajoSpExtra__mMore{ align-self: flex-end; margin-top: -4px; font-size: 12px; color: #2b2724 !important; }


/* =========================================================
   PCのグローバルナビ：項目の頭にアイコン（スマホメニューと同じ絵）
   リンク先URLで判定（SWELLのメニューキャッシュの影響なし）
========================================================= */
.c-gnav > li > a[href$="/recipe/"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16v3a8 8 0 0 1-16 0z'/%3E%3Cpath d='M2 10h20'/%3E%3Cpath d='M9 6c0-1.5 1-1.5 1-3M13 6c0-1.5 1-1.5 1-3'/%3E%3C/svg%3E"); }
.c-gnav > li > a[href*="/recipe-cat"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='7' height='7' rx='1'/%3E%3Crect x='13' y='4' width='7' height='7' rx='1'/%3E%3Crect x='4' y='13' width='7' height='7' rx='1'/%3E%3Crect x='13' y='13' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
.c-gnav > li > a[href*="/recipe-theme"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3C/svg%3E"); }
.c-gnav > li > a[href*="/recipe-authors"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.5 20c.8-4 3.8-6 7.5-6s6.7 2 7.5 6'/%3E%3C/svg%3E"); }
.c-gnav > li > a[href*="/products"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3h4v3l2 3v11a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9l2-3z'/%3E%3Cpath d='M8 13h8'/%3E%3C/svg%3E"); }
.c-gnav > li > a[href*="/category/column"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h12v16H6a2 2 0 0 0-2 2z'/%3E%3Cpath d='M4 21V5M8 7h7M8 11h7'/%3E%3C/svg%3E"); }
.c-gnav > li > a[href*="/form-recipe"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4l5 5-10 10-6 1 1-6z'/%3E%3Cpath d='M13 6l5 5'/%3E%3C/svg%3E"); }
.c-gnav > li > a[href*="/recipe-author/"]{ --ajo-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M46 74 L36 112 L46 104 L52 114 L58 80' /%3E%3Cpath d='M74 74 L84 112 L74 104 L68 114 L62 80' /%3E %3Cpolygon points='94.0,50.0 89.7,53.9 92.8,58.8 87.7,61.5 89.4,67.0 83.8,68.3 84.0,74.0 78.3,73.8 77.0,79.4 71.5,77.7 68.8,82.8 63.9,79.7 60.0,84.0 56.1,79.7 51.2,82.8 48.5,77.7 43.0,79.4 41.7,73.8 36.0,74.0 36.2,68.3 30.6,67.0 32.3,61.5 27.2,58.8 30.3,53.9 26.0,50.0 30.3,46.1 27.2,41.2 32.3,38.5 30.6,33.0 36.2,31.7 36.0,26.0 41.7,26.2 43.0,20.6 48.5,22.3 51.2,17.2 56.1,20.3 60.0,16.0 63.9,20.3 68.8,17.2 71.5,22.3 77.0,20.6 78.3,26.2 84.0,26.0 83.8,31.7 89.4,33.0 87.7,38.5 92.8,41.2 89.7,46.1' /%3E %3Ccircle cx='60' cy='50' r='22' /%3E%3Ccircle cx='60' cy='50' r='18' opacity='.55'/%3E %3Cpath d='M50 54 C50 44 70 44 70 54 Z' /%3E%3Cpath d='M48 54 H72' /%3E%3Cpath d='M60 40 V36' /%3E%3Ccircle cx='60' cy='35' r='1.6' fill='%23000'/%3E%3C/svg%3E"); }
.c-gnav > li > a[href$="/recipe/"] .ttl::before,
.c-gnav > li > a[href*="/recipe-cat"] .ttl::before,
.c-gnav > li > a[href*="/recipe-theme"] .ttl::before,
.c-gnav > li > a[href*="/recipe-authors"] .ttl::before,
.c-gnav > li > a[href*="/products"] .ttl::before,
.c-gnav > li > a[href*="/category/column"] .ttl::before,
.c-gnav > li > a[href*="/form-recipe"] .ttl::before,
.c-gnav > li > a[href*="/recipe-author/"] .ttl::before{
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  vertical-align: -3px;
  background: #6b6158;
  -webkit-mask: var(--ajo-ico) no-repeat center / contain;
          mask: var(--ajo-ico) no-repeat center / contain;
  transition: background .2s ease;
}
.c-gnav > li > a[href*="/recipe-author/"] .ttl::before{ width: 21px; height: 21px; vertical-align: -5px; background: #2b2724; }
.c-gnav > li > a:hover .ttl::before{ background: #2b2724; }
.c-gnav > li > a .ttl{ white-space: nowrap; }
/* アイコンの分だけ、項目の間を少し詰める（狭い画面で折り返さないように） */
@media (min-width: 960px) and (max-width: 1279px){
  .c-gnav > li > a{ padding-left: .7em !important; padding-right: .7em !important; }
  .c-gnav > li > a .ttl{ font-size: 14px; }
  .c-gnav > li > a .ttl::before{ margin-right: 4px; width: 16px; height: 16px; }
}
