@charset "UTF-8";
/* ===== AQUA GIFT 共通ガワ（ヘッダー/フルスクリーンメニュー/フッター/メガメニュー） =====
   すべて agb- で名前空間化し、各テーマ純正のヘッダー/フッターは隠す。Kadence/SWELL両対応。 */
:root{
  --agb-navy:#0a2740; --agb-navy2:#0c2e4d; --agb-blue:#0e6db0; --agb-bright:#1488c9;
  --agb-teal:#13a6c4; --agb-tint:#e8f3fa; --agb-ink:#13293b; --agb-red:#d8232a;
  --agb-muted:#5c7488; --agb-line:rgba(10,39,64,.10);
  --agb-grad:linear-gradient(155deg,#15b0cf 0%,#0e6db0 42%,#0a2740 100%);
}
/* 各テーマ純正ヘッダー/フッターを隠す */
body.agbrand #masthead, body.agbrand .site-header, body.agbrand .site-header-wrap,
body.agbrand #colophon, body.agbrand .site-footer, body.agbrand .site-footer-wrap,
body.agbrand .l-header, body.agbrand #l-header, body.agbrand .l-footer, body.agbrand #site-footer{ display:none !important; }
body.agbrand.agb-menu-open{ overflow:hidden; }

/* スコープ内の基本リセット */
.agb-hd, .agb-hd *, .agb-menu, .agb-menu *, .agb-ftr, .agb-ftr *{ box-sizing:border-box; }
.agb-hd a, .agb-menu a, .agb-ftr a{ text-decoration:none; color:inherit; }
/* ===== インスタント商品検索 ===== */
.agb-searchbtn{ cursor:pointer; background:none; border:0; }
.agb-search{ position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--agb-line); box-shadow:0 26px 44px -26px rgba(10,39,64,.45); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.16s; z-index:600; }
body.agb-search-open .agb-search{ opacity:1; visibility:visible; transform:none; }
.agb-search-inner{ max-width:780px; margin:0 auto; padding:18px 20px 22px; }
.agb-search-form{ display:flex; align-items:center; gap:10px; border:1.6px solid var(--agb-line); border-radius:14px; padding:10px 14px; }
.agb-search-form:focus-within{ border-color:var(--agb-blue); box-shadow:0 0 0 3px rgba(14,109,176,.12); }
.agb-search-ic svg{ width:20px; height:20px; stroke:var(--agb-muted); stroke-width:1.8; fill:none; display:block; }
.agb-search-input{ flex:1; border:0; outline:0; font-size:16px; background:none; color:var(--agb-navy); min-width:0; }
.agb-search-close{ border:0; background:none; cursor:pointer; font-size:15px; color:var(--agb-muted); padding:4px 6px; line-height:1; }
.agb-search-close:hover{ color:var(--agb-navy); }
.agb-search-results{ margin-top:8px; max-height:60vh; overflow-y:auto; }
.agb-sr-item{ display:flex; align-items:center; gap:13px; padding:9px 8px; border-radius:12px; text-decoration:none; }
.agb-sr-item:hover, .agb-sr-item.active{ background:#f3f8fc; }
.agb-sr-th{ width:48px; height:48px; border-radius:9px; background:#eef2f6 center/cover no-repeat; flex:none; }
.agb-sr-meta{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.agb-sr-cat{ font-size:10.5px; font-weight:700; color:var(--agb-teal); letter-spacing:.04em; }
.agb-sr-name{ font-size:13.5px; font-weight:700; color:var(--agb-navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.agb-sr-price{ font-size:14px; font-weight:900; color:var(--agb-navy); white-space:nowrap; flex:none; }
.agb-sr-price em{ font-size:10.5px; font-weight:700; color:#e23b4e; font-style:normal; margin-left:4px; }
.agb-sr-all{ display:block; text-align:center; padding:12px; margin-top:6px; border-top:1px solid var(--agb-line); font-size:13px; font-weight:700; color:var(--agb-blue); text-decoration:none; }
.agb-sr-all:hover{ background:#f3f8fc; }
.agb-search-empty{ padding:18px; text-align:center; color:var(--agb-muted); font-size:13px; }
@media(max-width:600px){ .agb-search-inner{ padding:12px 14px 16px; } .agb-sr-th{ width:42px; height:42px; } }
/* リンクの下線はストアフロント全体で既定オフ（テーマのアンダーラインを解除）。
   絞り込みサイドバー/チップ/パンくず/カード等を含む。必要時のみ個別に下線を足す方針 */
body.agbrand a{ text-decoration:none; }
body.agbrand .agb-fopt, body.agbrand .agb-achip, body.agbrand .agb-clearall,
body.agbrand .agb-bc a, body.agbrand .woocommerce a, body.agbrand .agb-plp a{ text-decoration:none !important; }
.agb-hd button, .agb-menu button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; padding:0; }
.agb-hd svg, .agb-menu svg, .agb-ftr svg{ display:block; }
.agb-hd img, .agb-ftr img, .agb-menu img{ display:block; max-width:100%; }

/* ===== ロゴ ロックアップ ===== */
.agb-logo{ display:inline-flex; align-items:center; gap:9px; }
.agb-logo .agb-mk{ width:34px; height:34px; flex:none; }
.agb-logo .agb-wm{ display:flex; flex-direction:column; line-height:1; }
.agb-logo .agb-tg{ font-size:7.5px; font-weight:500; letter-spacing:.18em; color:var(--agb-teal); margin-bottom:3px; white-space:nowrap; }
.agb-logo .agb-nm{ font-size:16px; font-weight:900; letter-spacing:.06em; color:var(--agb-navy); white-space:nowrap; }
.agb-logo.agb-lg .agb-mk{ width:46px; height:46px; }
.agb-logo.agb-lg .agb-nm{ font-size:22px; }
.agb-logo.agb-lg .agb-tg{ font-size:9px; }
.agb-logo.agb-on-dark .agb-nm{ color:#fff; }
.agb-logo.agb-on-dark .agb-tg{ color:#7fd6e7; }

/* ===== ヘッダー（レスポンシブ・1つで両対応） ===== */
.agb-hd{ position:sticky; top:0; z-index:500; display:flex; align-items:center; justify-content:space-between;
  height:60px; padding:0 16px; background:rgba(255,255,255,.94); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--agb-line); box-shadow:0 6px 18px -14px rgba(10,39,64,.6); }
.agb-acts{ display:flex; align-items:center; gap:4px; }
.agb-iconbtn{ width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; color:var(--agb-navy); transition:.15s; background:none; }
.agb-iconbtn:hover{ background:var(--agb-tint); }
.agb-iconbtn svg{ width:22px; height:22px; stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.agb-badge{ position:absolute; top:2px; right:2px; min-width:17px; height:17px; padding:0 4px; border-radius:99px; background:var(--agb-red); color:#fff; font-size:10.5px; font-weight:700; display:flex; align-items:center; justify-content:center; line-height:1; }
.agb-ham{ }

/* デスクトップ ナビ＋メガ（既定は非表示・PCで表示） */
.agb-dtnav{ display:none; align-items:center; gap:2px; }
.agb-dt-item{ position:static; }
.agb-dt-item > a{ display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:var(--agb-ink); padding:26px 16px; transition:.15s; }
.agb-dt-item > a svg{ width:13px; height:13px; stroke:currentColor; stroke-width:2; fill:none; transition:.2s; }
.agb-dt-item:hover > a{ color:var(--agb-blue); }
.agb-dt-item.has-mega:hover > a{ box-shadow:inset 0 -3px 0 var(--agb-teal); }
.agb-dt-item.has-mega:hover > a svg{ transform:rotate(180deg); }
.agb-mega{ position:absolute; left:0; top:100%; width:100%; background:#fff; box-shadow:0 30px 50px -24px rgba(10,39,64,.4);
  border-top:1px solid var(--agb-line); opacity:0; visibility:hidden; transform:translateY(-10px);
  transition:.26s cubic-bezier(.2,.8,.2,1); z-index:480; }
.agb-dt-item.has-mega:hover .agb-mega{ opacity:1; visibility:visible; transform:translateY(0); }
.agb-mega-in{ display:grid; grid-template-columns:1.1fr 1.1fr 2.6fr; gap:30px; max-width:1240px; margin:0 auto; padding:34px 38px 38px; }
.agb-mega-col h6{ font-size:11px; font-weight:700; letter-spacing:.12em; color:var(--agb-teal); margin:0 0 16px; }
.agb-mega-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.agb-mega-col ul a{ font-size:14.5px; font-weight:500; color:var(--agb-ink); display:flex; align-items:center; justify-content:space-between; transition:.12s; }
.agb-mega-col ul a:hover{ color:var(--agb-blue); transform:translateX(3px); }
.agb-mega-feat{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.agb-mfc{ border-radius:14px; overflow:hidden; background:#f3f7fa; border:1px solid var(--agb-line); transition:.18s; }
.agb-mfc:hover{ transform:translateY(-3px); box-shadow:0 16px 30px -18px rgba(10,39,64,.5); }
.agb-mfc .ph{ aspect-ratio:4/3; background:var(--agb-grad); }
.agb-mfc .ph img{ width:100%; height:100%; object-fit:cover; }
.agb-mfc .mb{ padding:11px 13px 13px; }
.agb-mfc .mb .ct{ font-size:10px; font-weight:700; letter-spacing:.08em; color:var(--agb-teal); }
.agb-mfc .mb h5{ font-size:13.5px; font-weight:700; margin:3px 0 5px; color:var(--agb-ink); line-height:1.35; }
.agb-mfc .mb .pr{ font-size:14px; font-weight:900; color:var(--agb-navy); }

/* ===== フルスクリーン・モバイルメニュー ===== */
.agb-menu{ position:fixed; inset:0; z-index:1000; background:linear-gradient(180deg,#0c2e4d,#081d31); color:#fff;
  display:flex; flex-direction:column; overflow-y:auto; opacity:0; visibility:hidden; transform:scale(1.03);
  transition:.32s cubic-bezier(.2,.8,.2,1); }
body.agb-menu-open .agb-menu{ opacity:1; visibility:visible; transform:scale(1); }
.agb-menu::before{ content:""; position:absolute; width:340px; height:340px; border-radius:50%; right:-120px; top:-90px;
  background:radial-gradient(circle,rgba(19,166,196,.3),transparent 70%); pointer-events:none; }
.agb-menu .mtop{ display:flex; align-items:center; justify-content:space-between; padding:14px 20px 6px; position:relative; z-index:2; }
.agb-menu .xbtn{ width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; }
.agb-menu .xbtn svg{ width:20px; height:20px; stroke:#fff; stroke-width:1.9; fill:none; stroke-linecap:round; }
.agb-menu .mcats{ padding:10px 22px 0; position:relative; z-index:2; }
.agb-menu .mrow{ padding:15px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.agb-menu .mr-h{ display:flex; align-items:center; justify-content:space-between; gap:14px; cursor:pointer; }
.agb-menu .mr-h .nm{ font-size:27px; font-weight:900; letter-spacing:.01em; display:flex; align-items:baseline; gap:11px; min-width:0; }
.agb-menu .mr-h .nm .en{ font-size:11px; font-weight:700; letter-spacing:.14em; color:rgba(159,230,243,.7); }
.agb-menu .chev{ width:26px; height:26px; stroke:rgba(255,255,255,.6); stroke-width:2; fill:none; transition:.25s; flex:none; }
.agb-menu .mrow.open .chev{ transform:rotate(90deg); stroke:var(--agb-teal); }
.agb-menu .mrow.open .mr-h .nm{ color:#9fe6f3; }
.agb-menu .subs{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.agb-menu .mrow.open .subs{ max-height:260px; }
.agb-menu .subs .si{ display:flex; gap:8px 18px; flex-wrap:wrap; padding:14px 2px 2px; }
.agb-menu .subs .si a{ font-size:14px; font-weight:500; color:rgba(255,255,255,.78); padding:6px 0; }
.agb-menu .subs .si a:hover{ color:#fff; }
.agb-menu .mlinks{ display:flex; flex-direction:column; gap:2px; padding:8px 22px 0; position:relative; z-index:2; }
.agb-menu .mlinks a{ font-size:14px; font-weight:500; color:rgba(255,255,255,.74); padding:12px 0; display:flex; align-items:center; gap:10px; }
.agb-menu .mlinks a svg{ width:16px; height:16px; stroke:rgba(255,255,255,.5); stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.agb-menu .mbot{ padding:16px 22px 30px; margin-top:auto; position:relative; z-index:2; }
.agb-menu .mb-malls{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:18px; }
.agb-menu .ob{ border:1.5px solid rgba(255,255,255,.3); border-radius:12px; padding:13px; text-align:center; font-size:13px; font-weight:700; transition:.15s; }
.agb-menu .ob:hover{ border-color:var(--agb-teal); background:rgba(19,166,196,.12); }
.agb-menu .mb-tag{ font-size:12px; letter-spacing:.16em; color:rgba(159,230,243,.7); text-align:center; }

/* ===== フッター ===== */
.agb-ftr{ position:relative; background:linear-gradient(180deg,var(--agb-navy2),var(--agb-navy)); color:#fff; }
.agb-ftr .wave{ display:block; width:100%; height:40px; }
.agb-ftr .fbody{ max-width:1240px; margin:0 auto; padding:6px 22px 26px; }
.agb-ftr .ft-tag{ font-size:12.5px; color:#9fe6f3; margin:14px 0; font-weight:500; }
.agb-ftr .ft-info{ font-size:11.5px; line-height:1.95; color:rgba(255,255,255,.7); }
.agb-ftr .fl{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:24px 0 22px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
.agb-ftr .fl h5{ font-size:11px; font-weight:700; letter-spacing:.1em; margin:0 0 12px; color:#fff; }
.agb-ftr .fl ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.agb-ftr .fl a{ font-size:12.5px; color:rgba(255,255,255,.78); }
.agb-ftr .fl a:hover{ color:#fff; }
.agb-ftr .malls{ display:flex; flex-direction:column; gap:10px; margin-bottom:22px; }
.agb-ftr .mall{ display:flex; align-items:center; justify-content:space-between; padding:13px 16px; border-radius:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); font-size:13px; font-weight:700; transition:.15s; }
.agb-ftr .mall:hover{ background:var(--agb-teal); border-color:var(--agb-teal); }
.agb-ftr .cpy{ font-size:11px; color:rgba(255,255,255,.5); padding-top:18px; border-top:1px solid rgba(255,255,255,.12); }

/* ===== デスクトップ切替（981px〜） ===== */
@media (min-width:981px){
  .agb-hd{ height:74px; padding:0 38px; }
  .agb-logo .agb-mk{ width:44px; height:44px; }
  .agb-logo .agb-nm{ font-size:22px; }
  .agb-logo .agb-tg{ font-size:9px; }
  .agb-dtnav{ display:flex; }
  .agb-ham{ display:none; }
  .agb-iconbtn svg{ width:23px; height:23px; }
}
/* モバイル（〜980px）：フッターは1カラム寄せ */
@media (max-width:520px){
  .agb-ftr .fl{ gap:18px; }
}

/* ===== ホーム本体 ===== */
.agb-home{ background:#fff; }
.agb-home *{ box-sizing:border-box; }
.agb-home a{ text-decoration:none; color:inherit; }
.agb-home img{ display:block; max-width:100%; }
.agb-home .hero{ position:relative; min-height:470px; display:flex; background:var(--agb-grad); overflow:hidden; }
.agb-home .hero .bg{ position:absolute; inset:0; }
.agb-home .hero .bg img{ width:100%; height:100%; object-fit:cover; }
.agb-home .hero .bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,39,64,.10) 0%,rgba(10,39,64,.32) 45%,rgba(10,39,64,.92) 100%); }
.agb-home .hero .hc{ position:relative; z-index:2; align-self:flex-end; width:100%; max-width:1120px; margin:0 auto; padding:0 22px 38px; color:#fff; }
.agb-home .hero .eyebrow{ font-size:11px; font-weight:700; letter-spacing:.22em; color:#9fe6f3; margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.agb-home .hero .eyebrow::before{ content:""; width:22px; height:1.5px; background:#9fe6f3; }
.agb-home .hero h1{ color:#fff !important; font-size:34px; font-weight:900; line-height:1.18; letter-spacing:-.01em; margin:0 0 12px; text-shadow:0 2px 24px rgba(0,0,0,.45); }
.agb-home .hero .hc, .agb-home .hero p, .agb-home .hero .eyebrow{ position:relative; z-index:2; }
.agb-home .hero p{ font-size:14px; color:rgba(255,255,255,.88); margin:0 0 20px; max-width:340px; }
.agb-cta{ display:inline-flex; align-items:center; gap:9px; background:var(--agb-teal); color:#fff; font-size:14px; font-weight:700; padding:14px 24px; border-radius:99px; box-shadow:0 12px 26px -10px rgba(19,166,196,.8); transition:.18s; }
.agb-cta:hover{ background:#15b8d8; transform:translateY(-1px); }
.agb-cta svg{ width:16px; height:16px; stroke:#fff; stroke-width:2.2; fill:none; }
.agb-home .trust{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:20px 14px; }
.agb-home .ti{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:10px 4px; }
.agb-home .ti .ci{ width:38px; height:38px; border-radius:50%; background:var(--agb-tint); display:flex; align-items:center; justify-content:center; }
.agb-home .ti svg{ width:19px; height:19px; stroke:var(--agb-blue); stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.agb-home .ti span{ font-size:12px; font-weight:700; color:var(--agb-navy); line-height:1.4; }
.agb-home .sec{ max-width:1120px; margin:0 auto; padding:22px 18px; }
.agb-home .sec-h{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:18px; }
.agb-home .sec-h .eb{ font-size:10px; font-weight:700; letter-spacing:.18em; color:var(--agb-teal); margin-bottom:4px; }
.agb-home .sec-h h2{ font-size:24px; font-weight:900; letter-spacing:-.01em; color:var(--agb-navy); margin:0; }
.agb-home .sec-h a{ font-size:12px; font-weight:700; color:var(--agb-blue); }
.agb-home .pgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.agb-pcard{ background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 14px 34px -20px rgba(10,39,64,.45); border:1px solid var(--agb-line); transition:.18s; }
.agb-pcard:hover{ transform:translateY(-3px); box-shadow:0 20px 40px -20px rgba(10,39,64,.5); }
.agb-pcard .ph{ position:relative; aspect-ratio:1/1; background:var(--agb-tint); }
.agb-pcard .ph img{ width:100%; height:100%; object-fit:cover; }
.agb-pcard .tag{ position:absolute; top:12px; left:12px; background:var(--agb-navy); color:#fff; font-size:10px; font-weight:700; padding:5px 10px; border-radius:99px; }
.agb-pcard .bd{ padding:13px 15px 16px; }
.agb-pcard .bd .ct{ font-size:10px; font-weight:700; letter-spacing:.1em; color:var(--agb-teal); }
.agb-pcard .bd h3{ font-size:15px; font-weight:700; color:var(--agb-ink); margin:3px 0 8px; line-height:1.35; }
.agb-pcard .bd .pr b{ font-size:18px; font-weight:900; color:var(--agb-navy); }
.agb-pcard .bd .pr .u{ font-size:11px; color:var(--agb-muted); margin-left:4px; }
.agb-home .cats{ max-width:1120px; margin:0 auto; padding:8px 18px 44px; display:grid; grid-template-columns:1fr; gap:13px; }
.agb-cat{ position:relative; height:140px; border-radius:18px; overflow:hidden; display:block; background:var(--agb-grad); }
.agb-cat img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.agb-cat::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,39,64,.82),rgba(10,39,64,.32) 60%,rgba(10,39,64,.05)); }
.agb-cat .cc{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:0 24px; color:#fff; }
.agb-cat .en{ font-size:10px; font-weight:700; letter-spacing:.2em; color:#9fe6f3; }
.agb-cat .jp{ font-size:24px; font-weight:900; display:flex; align-items:center; gap:10px; }
.agb-cat .jp svg{ width:18px; height:18px; stroke:#fff; stroke-width:2.4; fill:none; }
@media (min-width:781px){
  .agb-home .hero{ min-height:540px; }
  .agb-home .hero h1{ font-size:48px; }
  .agb-home .hero p{ font-size:16px; max-width:440px; }
  .agb-home .hero .hc{ padding-bottom:54px; }
  .agb-home .trust{ gap:14px; padding:30px 18px; }
  .agb-home .sec-h h2{ font-size:30px; }
  .agb-home .pgrid{ grid-template-columns:repeat(4,1fr); }
  .agb-home .cats{ grid-template-columns:repeat(3,1fr); }
  .agb-cat{ height:200px; }
}
/* ホームでテーマ既定の本文/タイトルを隠す（ガワ＋自前ホームを使う） */
body.home.agbrand .content-area, body.home.agbrand #primary, body.home.agbrand .site-main,
body.home.agbrand .content-container, body.home.agbrand .entry-hero,
body.home.agbrand .entry-hero-container, body.home.agbrand .page-title{ display:none !important; }
/* Kadenceのスティッキーフッター用 min-height:100vh が空のwrapperで巨大な余白を作るので潰す */
body.home.agbrand #wrapper, body.home.agbrand .site, body.home.agbrand #inner-wrap{ min-height:0 !important; }

/* ===== Phase4 商品アーカイブ（/shop/ など） ===== */
/* ページ/アーカイブ見出し帯：Kadenceの水色帯(.entry-hero-container-inner = #edf2f7)を白く・コンパクトに統一 */
body.agbrand .entry-hero-container-inner{ background:#fff !important; min-height:0 !important; }
/* カテゴリ/ショップ等アーカイブの背景をテーマ既定のグレー(#f7fafc)から白へ統一（他ページと揃える） */
body.agbrand.tax-product_cat,
body.agbrand.post-type-archive-product,
body.agbrand.woocommerce-shop{ background-color:#fff !important; }
body.agbrand .entry-hero .hero-container{ padding-top:28px !important; padding-bottom:18px !important; min-height:0 !important; }
body.agbrand .entry-hero .entry-title, body.agbrand .entry-hero .page-title{ color:var(--agb-navy) !important; font-weight:900 !important; letter-spacing:-.01em; }
body.agbrand .entry-hero{ border-bottom:1px solid var(--agb-line); }
/* agb-hide-pagetitle のページ(カート/マイアカウント/お気に入り)は見出し帯ごと隠す。
   ※マイアカウントはKadenceのアカウント専用CSSが高詳細度でheroを表示するため、ここで強く打ち消す */
body.agbrand.agb-hide-pagetitle .entry-hero,
body.agbrand.woocommerce-account.agb-hide-pagetitle section.entry-hero,
body.agbrand.agb-hide-pagetitle .entry-hero-container{ display:none !important; }
/* 並び替え・件数 */
body.agbrand .woocommerce-result-count, body.agbrand .woocommerce-ordering{ font-size:13px; color:var(--agb-muted); }
/* 商品グリッド（Kadenceのグリッドは活かしつつ余白だけ調整） */
body.agbrand .woocommerce ul.products{ gap:20px 16px !important; }
/* 商品カード */
body.agbrand .woocommerce ul.products li.product{ background:#fff !important; border:1px solid var(--agb-line) !important; border-radius:18px !important; overflow:hidden !important; box-shadow:0 14px 34px -20px rgba(10,39,64,.4) !important; transition:transform .18s, box-shadow .18s !important; padding:0 !important; }
body.agbrand .woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:0 22px 44px -18px rgba(10,39,64,.5) !important; }
body.agbrand .woocommerce ul.products li.product > a.woocommerce-loop-product__link,
body.agbrand .woocommerce ul.products li.product > a.woocommerce-loop-image-link{ display:block; }
body.agbrand .woocommerce ul.products li.product img{ width:100% !important; aspect-ratio:1/1; object-fit:cover; border-radius:0 !important; margin:0 !important; }
body.agbrand .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.agbrand .woocommerce ul.products li.product h2.woocommerce-loop-product__title{ font-size:14.5px !important; font-weight:700 !important; color:var(--agb-ink) !important; padding:13px 15px 0 !important; margin:0 !important; line-height:1.45 !important; }
body.agbrand .woocommerce ul.products li.product .price{ display:block !important; padding:6px 15px 0 !important; color:var(--agb-navy) !important; font-weight:900 !important; font-size:17px !important; }
body.agbrand .woocommerce ul.products li.product .price del{ color:var(--agb-muted); font-weight:400; font-size:13px; }
body.agbrand .woocommerce ul.products li.product .price ins{ text-decoration:none; }
body.agbrand .woocommerce ul.products li.product .button,
body.agbrand .woocommerce ul.products li.product .added_to_cart{
  display:inline-block !important; margin:12px 15px 16px !important;
  background:linear-gradient(135deg,var(--agb-bright),var(--agb-teal)) !important; color:#fff !important;
  border:none !important; border-radius:10px !important; font-weight:700 !important; font-size:13px !important;
  padding:10px 16px !important; box-shadow:0 8px 18px -8px rgba(19,166,196,.6) !important; }

/* ============================================================
   PC最適化（981px〜）：モバイル優先は維持しつつ、PCを“デスクトップらしく”
   ============================================================ */
@media (min-width:981px){
  /* 横幅をデスクトップ級に */
  .agb-home .hero .hc, .agb-home .sec, .agb-home .cats, .agb-ftr .fbody{ max-width:1280px !important; }
  .agb-mega-in{ max-width:1320px !important; }

  /* ヒーロー：大きく・高く・余裕のある余白 */
  .agb-home .hero{ min-height:660px !important; }
  .agb-home .hero .hc{ padding:0 48px 66px !important; }
  .agb-home .hero .eyebrow{ font-size:13px; margin-bottom:16px; }
  .agb-home .hero h1{ font-size:58px !important; line-height:1.12; margin-bottom:18px; }
  .agb-home .hero p{ font-size:17px !important; max-width:520px !important; margin-bottom:26px; }
  .agb-cta{ font-size:15px; padding:16px 30px; }

  /* 信頼ストリップ：中央寄せの上質なバンドに */
  .agb-home .trust{ max-width:1040px !important; gap:18px !important; padding:26px !important;
    background:var(--agb-tint); border-radius:18px; margin:34px auto 0 !important; }
  .agb-home .ti{ flex-direction:row !important; gap:14px !important; padding:8px 12px !important; justify-content:center; }
  .agb-home .ti .ci{ width:48px; height:48px; }
  .agb-home .ti svg{ width:23px; height:23px; }
  .agb-home .ti span{ font-size:14px !important; text-align:left; }
  .agb-home .ti span br{ display:none; }

  /* セクション見出し・余白 */
  .agb-home .sec{ padding:40px 48px !important; }
  .agb-home .sec-h{ margin-bottom:24px; }
  .agb-home .sec-h h2{ font-size:32px !important; }
  .agb-home .sec-h .eb{ font-size:11px; }

  /* 注目グリッド・カテゴリ */
  .agb-home .pgrid{ gap:26px !important; }
  .agb-pcard .bd{ padding:16px 18px 18px; }
  .agb-pcard .bd h3{ font-size:16px; }
  .agb-pcard .bd .pr b{ font-size:20px; }
  .agb-home .cats{ padding:10px 48px 64px !important; gap:22px !important; }
  .agb-cat{ height:240px; }
  .agb-cat .jp{ font-size:30px; }

  /* 商品一覧（/shop/）：中央寄せ＋カードを程よいサイズに */
  body.agbrand .woocommerce ul.products{ max-width:1280px; margin-left:auto !important; margin-right:auto !important; gap:28px 24px !important; }
  body.agbrand .woocommerce-result-count, body.agbrand .woocommerce-notices-wrapper,
  body.agbrand .woocommerce-ordering{ max-width:1280px; margin-left:auto; margin-right:auto; }
  body.agbrand .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:15.5px !important; }
  body.agbrand .woocommerce ul.products li.product .price{ font-size:18px !important; }

  /* 商品ページ：ギャラリーを大きく、2カラムを綺麗に */
  body.agbrand div.product .woocommerce-product-gallery{ width:54% !important; }
  body.agbrand div.product .summary.entry-summary, body.agbrand div.product .summary{ width:42% !important; }
}
/* 超ワイド：左右が空きすぎないよう中央の最大幅を少し広く */
@media (min-width:1500px){
  .agb-home .hero .hc, .agb-home .sec, .agb-home .cats, .agb-ftr .fbody{ max-width:1340px !important; }
}

/* ============================================================
   v3：PC art-direction（ヒーロー＋実績＋濃紺信頼バンド＋ストーリー）
   ※モバイルはそのまま縦積みで成立、PCで本気のレイアウトに
   ============================================================ */
.agb-home .hero{ display:flex; }
.agb-home .hero .hc{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:center; align-self:auto; max-width:none; padding:0; color:#fff; }
.agb-home .hero .hc-in{ width:100%; max-width:1280px; margin:0 auto; padding:0 22px; }
.agb-home .hero-cta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.agb-ghost{ display:inline-flex; align-items:center; gap:9px; color:#fff; font-size:14px; font-weight:700; padding:14px 22px; border-radius:99px; border:1.5px solid rgba(255,255,255,.4); transition:.15s; }
.agb-ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
.agb-home .hero-meta{ display:none; }

.agb-home .trustband{ background:var(--agb-navy); }
.agb-home .trustband .tb-in{ max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr; }
.agb-home .trustband .ti{ display:flex; align-items:center; gap:16px; padding:18px 22px; color:#fff; border-top:1px solid rgba(255,255,255,.1); }
.agb-home .trustband .ti:first-child{ border-top:none; }
.agb-home .trustband .ti .ci{ width:48px; height:48px; border-radius:50%; background:rgba(19,166,196,.18); display:flex; align-items:center; justify-content:center; flex:none; }
.agb-home .trustband .ti svg{ width:24px; height:24px; stroke:#5fd3e8; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.agb-home .trustband .ti h4{ font-size:15px; font-weight:700; margin:0 0 2px; color:#fff; }
.agb-home .trustband .ti p{ font-size:12px; color:rgba(255,255,255,.7); margin:0; }

.agb-home .story{ background:var(--agb-navy); position:relative; overflow:hidden; }
.agb-home .story .story-in{ max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr; }
.agb-home .story .txt{ padding:44px 22px; }
.agb-home .story .eb{ font-size:11px; font-weight:700; letter-spacing:.2em; color:#9fe6f3; margin-bottom:14px; }
.agb-home .story h2{ font-size:28px; font-weight:900; line-height:1.25; color:#fff; margin:0 0 16px; }
.agb-home .story p{ font-size:15px; color:rgba(255,255,255,.8); margin:0 0 22px; }
.agb-home .story .pic{ height:240px; position:relative; }
.agb-home .story .pic img{ width:100%; height:100%; object-fit:cover; }

@media (min-width:981px){
  .agb-home .hero{ min-height:620px !important; height:620px; }
  .agb-home .hero .bg::after{ background:linear-gradient(95deg,rgba(8,24,40,.86) 0%,rgba(8,24,40,.55) 42%,rgba(8,24,40,.12) 75%,rgba(8,24,40,.28) 100%) !important; }
  .agb-home .hero .hc-in{ max-width:1320px; padding:0 50px; }
  .agb-home .hero h1{ font-size:64px !important; line-height:1.08; margin-bottom:22px; }
  .agb-home .hero p{ font-size:17px !important; max-width:480px !important; margin-bottom:34px; }
  .agb-cta{ font-size:16px; padding:18px 32px; }
  .agb-ghost{ font-size:15px; padding:18px 24px; }
  .agb-home .hero-meta{ display:flex; position:absolute; right:50px; bottom:30px; z-index:2; gap:34px; color:rgba(255,255,255,.8); font-size:12px; }
  .agb-home .hero-meta b{ display:block; font-size:28px; font-weight:900; color:#fff; line-height:1.1; }

  .agb-home .trustband .tb-in{ grid-template-columns:repeat(3,1fr); padding:0 50px; }
  .agb-home .trustband .ti{ border-top:none; border-left:1px solid rgba(255,255,255,.12); padding:30px 26px; }
  .agb-home .trustband .ti:first-child{ border-left:none; }
  .agb-home .trustband .ti h4{ font-size:16px; }
  .agb-home .trustband .ti p{ font-size:12.5px; }

  .agb-home .story .story-in{ grid-template-columns:1fr 1fr; align-items:center; gap:60px; padding-left:50px; }
  .agb-home .story .txt{ padding:84px 0; }
  .agb-home .story h2{ font-size:40px; }
  .agb-home .story .pic{ height:480px; }
  .agb-home .story .pic img{ border-radius:20px 0 0 20px; }
}

/* ============================================================
   v3：商品ページ（PDP）
   ============================================================ */
body.agbrand div.product .product_title{ font-size:28px !important; font-weight:900 !important; color:var(--agb-navy) !important; letter-spacing:-.01em; line-height:1.25; }
body.agbrand div.product p.price{ color:var(--agb-navy) !important; font-weight:900 !important; font-size:26px !important; }
body.agbrand div.product p.price del{ color:var(--agb-muted); font-weight:400; font-size:16px; }
body.agbrand div.product p.price ins{ text-decoration:none; }
body.agbrand div.product .woocommerce-product-gallery img{ border-radius:18px; }
body.agbrand div.product .woocommerce-product-gallery{ box-shadow:none; }
body.agbrand div.product .variations select{ border:1.5px solid var(--agb-line) !important; border-radius:10px !important; padding:12px 14px !important; font-weight:700 !important; color:var(--agb-navy) !important; }
body.agbrand div.product .single_add_to_cart_button{ border-radius:12px !important; }
/* 安心バッジ（カート下に注入） */
.agb-pdp-trust{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:20px 0 6px; background:var(--agb-tint); border-radius:14px; padding:16px 10px; }
.agb-pdp-trust .b{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:7px; font-size:11.5px; font-weight:700; color:var(--agb-navy); line-height:1.4; }
.agb-pdp-trust .b .ci{ width:40px; height:40px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px -5px rgba(10,39,64,.3); }
.agb-pdp-trust svg{ width:21px; height:21px; stroke:var(--agb-blue); stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }
@media (min-width:981px){
  body.agbrand div.product .woocommerce-product-gallery{ width:54% !important; }
  /* 購入カラムは追従(sticky)にしない：タブ/レビューと重なる不具合を防ぐ */
  body.agbrand div.product .summary.entry-summary, body.agbrand div.product .summary{ width:42% !important; position:static !important; }
  body.agbrand div.product .product_title{ font-size:34px !important; }
  body.agbrand div.product p.price{ font-size:30px !important; }
}

/* ============================================================
   v3：商品一覧（PLP）左フィルタ＋2カラム
   ============================================================ */
.agb-fgrp{ padding:20px 0; border-bottom:1px solid var(--agb-line); }
.agb-fgrp:first-child{ padding-top:2px; }
.agb-fgrp h4{ font-size:14px; font-weight:700; color:var(--agb-navy); margin:0 0 12px; }
.agb-fopt{ display:flex; align-items:center; gap:11px; font-size:14px; color:var(--agb-ink); padding:8px 0; }
.agb-fopt:hover{ color:var(--agb-blue); }
.agb-fopt .agb-box{ width:19px; height:19px; border-radius:5px; border:1.5px solid rgba(10,39,64,.16); flex:none; display:flex; align-items:center; justify-content:center; }
.agb-fopt .agb-box svg{ width:12px; height:12px; stroke:#fff; stroke-width:3; fill:none; opacity:0; }
.agb-fopt.on .agb-box{ background:var(--agb-blue); border-color:var(--agb-blue); }
.agb-fopt.on .agb-box svg{ opacity:1; }
.agb-fopt .agb-radio{ width:19px; height:19px; border-radius:50%; border:1.5px solid rgba(10,39,64,.16); flex:none; position:relative; }
.agb-fopt.on .agb-radio{ border-color:var(--agb-blue); }
.agb-fopt.on .agb-radio::after{ content:""; position:absolute; inset:4px; border-radius:50%; background:var(--agb-blue); }
.agb-fopt .agb-cnt{ margin-left:auto; font-size:12px; color:var(--agb-muted); }
.agb-fopt.on{ color:var(--agb-blue); font-weight:700; }
.agb-plp-bar{ margin:0 0 16px; }
.agb-chips{ display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.agb-achip{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--agb-blue); background:var(--agb-tint); border-radius:99px; padding:7px 13px; }
.agb-clearall{ font-size:12.5px; color:var(--agb-muted); }
.agb-clearall:hover{ color:var(--agb-red); }
.agb-plp-filterbtn{ display:none; cursor:pointer; }
@media (min-width:981px){
  body.agbrand .woocommerce .agb-plp, body.agbrand .agb-plp{ display:grid; grid-template-columns:264px 1fr; gap:40px; align-items:start; }
  .agb-fside{ position:sticky; top:96px; }
  body.agbrand .agb-plp-main ul.products{ grid-template-columns:repeat(3,1fr) !important; }
}
@media (max-width:980px){
  .agb-fside{ display:none; margin-bottom:16px; }
  .agb-fside.open{ display:block; }
  .agb-plp-filterbtn{ display:inline-block; margin:0 0 14px; background:var(--agb-navy); color:#fff; border:none; border-radius:10px; padding:10px 18px; font-weight:700; font-size:13px; }
}

/* PLPヘッダー（plp-top）をモック準拠に：Kadence標準の見出し帯はアーカイブで隠す */
body.agbrand.post-type-archive-product .entry-hero,
body.agbrand.tax-product_cat .entry-hero,
body.agbrand.woocommerce-shop .entry-hero{ display:none !important; }
.agb-plp-top{ padding:6px 0 20px; border-bottom:1px solid var(--agb-line); margin-bottom:24px; }
.agb-bc{ font-size:12.5px; color:var(--agb-muted); margin-bottom:12px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.agb-bc a:hover{ color:var(--agb-blue); }
.agb-bc .sep{ opacity:.5; }

/* ===== 商品ページ等のパンくず(Kadence標準)を上品に整える ===== */
body.agbrand .kadence-breadcrumbs{ padding:4px 0 2px; margin-bottom:14px; font-size:12.5px; }
body.agbrand .kadence-breadcrumb-container{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; line-height:1.7; }
body.agbrand .kadence-breadcrumb-container > span{ display:inline-flex; align-items:center; }
body.agbrand .kadence-breadcrumbs a{ color:var(--agb-muted); text-decoration:none; transition:color .15s; }
body.agbrand .kadence-breadcrumbs a:hover{ color:var(--agb-blue); }
body.agbrand .kadence-breadcrumbs .bc-delimiter{ color:rgba(10,39,64,.25); font-size:11px; }
/* 末尾の商品名(下の見出しと重複)とその直前の区切りを隠す */
body.agbrand .kadence-breadcrumbs .kadence-bread-current{ display:none; }
body.agbrand .kadence-breadcrumbs .bc-delimiter:has(+ .kadence-bread-current){ display:none; }
.agb-plp-title{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px 24px; flex-wrap:wrap; }
.agb-plp-title h1{ font-size:28px; font-weight:900; letter-spacing:-.01em; color:var(--agb-navy); margin:0; }
.agb-plp-title h1 .cnt{ font-size:14px; font-weight:500; color:var(--agb-muted); margin-left:12px; }
.agb-plp-title p{ margin:8px 0 0; font-size:13.5px; color:var(--agb-muted); max-width:600px; }
.agb-sort{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--agb-muted); white-space:nowrap; }
.agb-sort .woocommerce-ordering{ margin:0 !important; }
.agb-sort .woocommerce-ordering select{ border:1px solid var(--agb-line); border-radius:10px; padding:9px 12px; font-weight:700; color:var(--agb-navy); background:#fff; }
.agb-plp-bar{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 18px; }
.agb-plp-cnt{ font-size:13px; color:var(--agb-muted); white-space:nowrap; }
.agb-fopt-soon{ opacity:.5; cursor:default; }
/* テーマ(Kadence)が標準フック外で別途出す「並び替え/件数」の重複を隠す（agb-sort内の正規版だけ残す） */
body.agbrand .woocommerce-result-count{ display:none !important; }
body.agbrand form.woocommerce-ordering{ display:none !important; }
body.agbrand .agb-sort form.woocommerce-ordering{ display:inline-flex !important; }

/* 検索/絞り込み0件の救済UI */
body.agbrand .agb-noresults{ max-width:760px; margin:8px auto 10px; text-align:center; }
body.agbrand .agb-nr-head h3{ font-size:20px; font-weight:900; color:var(--agb-navy); margin:0 0 8px; }
body.agbrand .agb-nr-head p{ font-size:13px; color:var(--agb-muted); line-height:1.8; margin:0 auto 20px; max-width:520px; }
body.agbrand .agb-nr-search{ display:flex; gap:8px; max-width:480px; margin:0 auto 18px; }
body.agbrand .agb-nr-search input[type=search]{ flex:1; border:1.5px solid var(--agb-line); border-radius:12px; padding:12px 14px; font-size:15px; }
body.agbrand .agb-nr-search button{ background:var(--agb-navy); color:#fff; border:0; border-radius:12px; padding:12px 22px; font-weight:900; font-size:14px; cursor:pointer; }
body.agbrand .agb-nr-search button:hover{ background:var(--agb-blue); }
body.agbrand .agb-nr-cats{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 30px; }
body.agbrand .agb-nr-cats a{ border:1.5px solid var(--agb-line); border-radius:99px; padding:9px 18px; font-size:13px; font-weight:700; color:var(--agb-navy); text-decoration:none; transition:.15s; }
body.agbrand .agb-nr-cats a:hover{ background:var(--agb-navy); color:#fff; border-color:var(--agb-navy); }
body.agbrand .agb-nr-pop h4{ font-size:14px; font-weight:900; color:var(--agb-navy); margin:0 0 14px; }
body.agbrand .agb-nr-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
body.agbrand .agb-nr-card{ display:flex; flex-direction:column; text-decoration:none; text-align:left; }
body.agbrand .agb-nr-card img{ width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; margin-bottom:8px; }
body.agbrand .agb-nr-card .nm{ font-size:12.5px; font-weight:700; color:var(--agb-ink,#13293b); line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body.agbrand .agb-nr-card .pr{ font-size:14px; font-weight:900; color:var(--agb-navy); margin-top:4px; }
@media(max-width:600px){ body.agbrand .agb-nr-grid{ grid-template-columns:repeat(2,1fr); } }

/* スマホのカート上で潰れて表示される即決済ボタン(G Pay/Link)を隠す（チェックアウト側では表示・正常） */
@media(max-width:780px){
  body.agbrand .wc-block-cart .wc-block-components-express-payment,
  body.agbrand .wc-block-cart .wp-block-woocommerce-cart-express-payment-block,
  body.agbrand .wc-block-cart .wc-block-components-express-payment-continue-rule{ display:none !important; }
}
@media (min-width:981px){ .agb-plp-title h1{ font-size:38px; } }

/* 大型貨物の配送注意書き */
.ag-oogata-note{ background:#fff7ed; border:1px solid #f3d9b8; color:#7a5320; border-radius:12px; padding:14px 16px; font-size:12.5px; line-height:1.85; margin:16px 0; }
.ag-oogata-note strong{ color:#b45309; }

/* チェックアウト上部の配送ポリシー注記 */
body.agbrand .agb-co-note{ max-width:1120px; margin:0 auto 18px; background:#eef6fb; border:1px solid #cfe2ef; border-left:4px solid #0e6db0; border-radius:10px; padding:12px 16px; font-size:13px; line-height:1.85; color:#33536b; }
body.agbrand .agb-co-note b{ color:var(--agb-navy); }

/* ===== ブロックチェックアウト ブランド調整（カートと統一） ===== */
body.agbrand .wc-block-components-checkout-place-order-button{ background:#13a6c4 !important; border-radius:12px !important; font-size:16px !important; font-weight:800 !important; box-shadow:0 14px 28px -12px rgba(19,166,196,.7) !important; }
body.agbrand .wc-block-components-checkout-place-order-button:hover{ background:#15b8d8 !important; }
body.agbrand .wc-block-checkout__sidebar{ background:#fff !important; border:1px solid var(--agb-line) !important; border-radius:18px !important; }
body.agbrand .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ color:var(--agb-navy) !important; font-weight:900 !important; }
body.agbrand .wc-block-components-text-input input, body.agbrand .wc-block-components-combobox input, body.agbrand .wc-block-components-select select{ border-radius:10px !important; }
/* ===== チェックアウト/カート：白パネル除去＋枠の整理（見本＝灰色ページに白カードが浮く・枠in枠と過剰な枠を解消） ===== */
body.agbrand.woocommerce-checkout article.content-bg, body.agbrand.woocommerce-cart article.content-bg,
body.agbrand.woocommerce-checkout .single-entry, body.agbrand.woocommerce-cart .single-entry{
  background:transparent !important; box-shadow:none !important; border:0 !important; border-radius:0 !important;
}
body.agbrand.woocommerce-checkout .wc-block-checkout__contact-fields,
body.agbrand.woocommerce-checkout .wc-block-checkout__shipping-fields,
body.agbrand.woocommerce-checkout .wc-block-checkout__billing-fields,
body.agbrand.woocommerce-checkout .wc-block-components-express-payment__content,
body.agbrand.woocommerce-checkout .wc-block-components-address-card{ border:0 !important; box-shadow:none !important; }
body.agbrand.woocommerce-checkout .wc-block-components-checkout-step{ margin-bottom:18px !important; box-shadow:0 1px 2px rgba(10,39,64,.04) !important; }

/* ===== 本日の入荷（横スクロール） ===== */
body.agbrand .agb-arrivals{ display:flex; gap:16px; overflow-x:auto; padding:4px 2px 16px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
body.agbrand .agb-arrivals::-webkit-scrollbar{ height:8px; }
body.agbrand .agb-arrivals::-webkit-scrollbar-thumb{ background:rgba(10,39,64,.18); border-radius:99px; }
body.agbrand .agb-arrivals .agb-pcard{ flex:0 0 190px; scroll-snap-align:start; }
@media (min-width:981px){ body.agbrand .agb-arrivals .agb-pcard{ flex-basis:220px; } }

/* ===== レビュー強化 ===== */
body.agbrand .agb-review-lead{ background:#f0f8f1; border:1px solid #cfe6d4; border-left:4px solid #2e9e58; border-radius:10px; padding:12px 15px; font-size:13px; line-height:1.8; color:#33536b; margin:0 0 18px; }
/* ===== レビュー写真（投稿欄・表示・ストリップ・ライトボックス・購入者バッジ） ===== */
body.agbrand .agb-rvup{ margin:14px 0 4px; }
body.agbrand .agb-rvup-label{ display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap; cursor:pointer; }
body.agbrand .agb-rvup-btn{ display:inline-flex; align-items:center; gap:7px; border:1.5px dashed var(--agb-line); border-radius:10px; padding:9px 16px; font-size:13px; font-weight:700; color:var(--agb-navy); background:#f7fafc; }
body.agbrand .agb-rvup-btn::before{ content:"📷"; }
body.agbrand .agb-rvup-label:hover .agb-rvup-btn{ border-color:var(--agb-blue); color:var(--agb-blue); }
body.agbrand .agb-rvup-cap{ font-size:11.5px; color:var(--agb-muted); }
body.agbrand .agb-rvup-input, body.agbrand .agb-rv-vinput{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
body.agbrand .agb-rvup-prev{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
body.agbrand .agb-rvup-item{ position:relative; width:74px; height:74px; border-radius:10px; background:#eef2f6 center/cover no-repeat; border:1px solid var(--agb-line); }
body.agbrand .agb-rvup-item.loading{ background:#eef2f6; animation:agbpulse 1s ease-in-out infinite; }
@keyframes agbpulse{ 0%,100%{opacity:1} 50%{opacity:.45} }
body.agbrand .agb-rvup-x{ position:absolute; top:-7px; right:-7px; width:21px; height:21px; border-radius:50%; border:0; background:#0a2740; color:#fff; font-size:10px; line-height:21px; cursor:pointer; padding:0; }
/* レビュー本文下の写真サムネ */
body.agbrand .agb-rv-photos{ display:flex; flex-wrap:wrap; gap:9px; margin:11px 0 2px; }
body.agbrand .agb-rv-photo{ display:block; width:72px; height:72px; border-radius:9px; overflow:hidden; border:1px solid var(--agb-line); cursor:zoom-in; }
body.agbrand .agb-rv-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
/* 上部「お客様の写真」ストリップ */
body.agbrand .agb-rv-strip{ margin:6px 0 20px; }
body.agbrand .agb-rv-strip-h{ font-size:13px; font-weight:900; color:var(--agb-navy); margin:0 0 10px; }
body.agbrand .agb-rv-strip-row{ display:flex; gap:10px; overflow-x:auto; padding-bottom:6px; }
body.agbrand .agb-rv-strip .agb-rv-photo{ width:88px; height:88px; flex:none; }
/* ライトボックス */
body.agbrand .agb-rv-lb{ position:fixed; inset:0; z-index:99999; background:rgba(8,20,33,.9); display:none; align-items:center; justify-content:center; cursor:zoom-out; }
body.agbrand .agb-rv-lb.show{ display:flex; }
body.agbrand .agb-rv-lb-in{ display:flex; align-items:center; justify-content:center; }
body.agbrand .agb-rv-lb img{ max-width:92vw; max-height:88vh; border-radius:10px; box-shadow:0 30px 80px -20px rgba(0,0,0,.6); }
body.agbrand .agb-rv-lb-vid{ width:min(92vw,900px); aspect-ratio:16/9; }
body.agbrand .agb-rv-lb-vid iframe{ width:100%; height:100%; border:0; border-radius:10px; background:#000; }
body.agbrand .agb-rv-lb-x{ position:absolute; top:18px; right:24px; color:#fff; font-size:26px; cursor:pointer; }
/* 購入者(認証済)バッジをAmazon風に */
body.agbrand .woocommerce-review__verified{ display:inline-flex; align-items:center; gap:4px; font-style:normal; font-size:11px; font-weight:800; color:#2e9e58; background:#eaf7ee; border-radius:99px; padding:2px 9px; margin-left:8px; }
body.agbrand .woocommerce-review__verified::before{ content:"✓"; font-weight:900; }
/* レビュー動画（アップボタン・サムネ再生） */
body.agbrand .agb-rvup-row{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
body.agbrand .agb-rvup-vbtn::before{ content:"🎬"; }
body.agbrand .agb-rvup .agb-rvup-cap{ display:block; margin-top:10px; }
body.agbrand .agb-rv-vstat{ font-size:12.5px; color:var(--agb-muted); margin-top:8px; }
body.agbrand .agb-rv-vstat.done{ color:#2e9e58; font-weight:700; }
body.agbrand .agb-rv-video{ position:relative; display:block; width:72px; height:72px; border-radius:9px; overflow:hidden; border:1px solid var(--agb-line); background:#0a2740 center/cover no-repeat; cursor:pointer; }
body.agbrand .agb-rv-play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; background:rgba(8,20,33,.34); }
body.agbrand .agb-rv-strip .agb-rv-video{ width:88px; height:88px; flex:none; }
body.agbrand .agb-review-lead b{ color:#1f6b3d; }
body.agbrand #reviews .comment-form input[type=text], body.agbrand #reviews .comment-form input[type=email], body.agbrand #reviews .comment-form textarea{ border:1.5px solid #c3d2de !important; border-radius:10px !important; padding:11px 13px !important; }
body.agbrand #reviews .comment-form input:focus, body.agbrand #reviews .comment-form textarea:focus{ outline:none; border-color:#0e6db0 !important; box-shadow:0 0 0 3px rgba(14,109,176,.15) !important; }
body.agbrand #reviews #submit, body.agbrand #reviews .comment-form .submit{ background:#0e6db0 !important; border:0 !important; border-radius:10px !important; padding:12px 26px !important; font-weight:800 !important; color:#fff !important; }
body.agbrand #reviews .woocommerce-Reviews-title{ font-size:18px !important; font-weight:800 !important; color:var(--agb-navy) !important; }

/* ===== ブロックカート（デザイン適用） ===== */
body.agbrand.woocommerce-cart .entry-content, body.agbrand.woocommerce-cart .wp-block-post-content{ max-width:1120px; margin-left:auto; margin-right:auto; }
body.agbrand .agb-cart-lead{ font-size:13.5px; color:var(--agb-muted); margin:-6px 0 20px; }

/* 2カラムはWCネイティブ(is-large)に任せ、サイドバーをstickyにするだけ */
@media (min-width:920px){
  body.agbrand .wc-block-cart__sidebar{ position:sticky; top:20px; }
}
/* 明細カード */
body.agbrand .wc-block-cart-items{ background:#fff; border:1px solid var(--agb-line); border-radius:18px; overflow:hidden; margin:0; }
body.agbrand .wc-block-cart-items__header{ background:#fafcfe; color:var(--agb-muted); font-size:12px !important; letter-spacing:.04em; border-bottom:1px solid var(--agb-line); padding:14px 24px; }
body.agbrand .wc-block-cart-items__row{ padding:20px 22px !important; border-bottom:1px solid var(--agb-line); }
body.agbrand .wc-block-cart-items__row:last-child{ border-bottom:none; }
body.agbrand .wc-block-cart-item__image img{ border-radius:14px !important; }
body.agbrand .wc-block-components-product-name{ font-size:16px !important; font-weight:700 !important; color:var(--agb-ink) !important; }
body.agbrand .wc-block-cart-item__total .wc-block-components-product-price__value,
body.agbrand .wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-formatted-money-amount{ font-weight:900 !important; color:var(--agb-navy) !important; }
/* 数量セレクタ */
body.agbrand .wc-block-components-quantity-selector{ border:1.5px solid rgba(10,39,64,.16) !important; border-radius:10px !important; }
/* 削除リンク */
body.agbrand .wc-block-cart-item__remove-link{ color:var(--agb-muted) !important; }
body.agbrand .wc-block-cart-item__remove-link:hover{ color:var(--ag-red,#d8232a) !important; }

/* サイドバー＝サマリーカード */
body.agbrand .wc-block-cart__sidebar{ background:#fff !important; border:1px solid var(--agb-line) !important; border-radius:18px !important; padding:24px !important; box-shadow:none !important; }
body.agbrand .wc-block-cart__totals-title{ font-size:17px !important; font-weight:900 !important; color:var(--agb-navy) !important; letter-spacing:0 !important; padding-top:0 !important; }
body.agbrand .wc-block-components-totals-item{ font-size:14px; }
body.agbrand .wc-block-components-totals-item__label{ color:var(--agb-muted) !important; }
body.agbrand .wc-block-components-totals-footer-item{ border-top:1px solid var(--agb-line) !important; }
body.agbrand .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ font-size:26px !important; font-weight:900 !important; color:var(--agb-navy) !important; }
/* 購入手続きボタン＝ティール */
body.agbrand .wc-block-cart__submit-button{ background:#13a6c4 !important; border-radius:12px !important; font-size:16px !important; font-weight:700 !important; padding:16px !important; box-shadow:0 14px 28px -12px rgba(19,166,196,.7) !important; }
body.agbrand .wc-block-cart__submit-button:hover{ background:#15b8d8 !important; }

/* 安心バンド（カート下／PCはサイドバー幅で右寄せ） */
body.agbrand .agb-assure{ background:#fff; border:1px solid var(--agb-line); border-radius:18px; padding:14px 18px; margin:16px 0 0; display:grid; gap:2px; }
@media (min-width:920px){ body.agbrand .agb-assure{ max-width:372px; margin-left:auto; } }
body.agbrand .agb-assure .ai{ display:flex; align-items:center; gap:13px; padding:9px 4px; }
body.agbrand .agb-assure .ci{ width:40px; height:40px; border-radius:50%; background:var(--agb-tint,#e8f3fa); display:flex; align-items:center; justify-content:center; flex:none; }
body.agbrand .agb-assure .ci svg{ width:21px; height:21px; }
body.agbrand .agb-assure .at{ font-size:13.5px; font-weight:700; color:var(--agb-navy); }
body.agbrand .agb-assure .ad{ font-size:11.5px; color:var(--agb-muted); }

/* ===== Cart v2 仕上げ（見本準拠：見出し/ラベル/送料注記。CSSのみ・決済/計算には非接触） ===== */
/* ページ見出し「カート」を subtitle の上に表示（件数バッジはデータ要のため省略） */
body.agbrand.woocommerce-cart .agb-cart-lead{ margin:0 0 18px; }
body.agbrand.woocommerce-cart .agb-cart-lead::before{ content:"カート"; display:block; font-size:28px; font-weight:900; letter-spacing:.01em; color:var(--agb-navy); line-height:1.2; margin-bottom:6px; }
@media (max-width:600px){ body.agbrand.woocommerce-cart .agb-cart-lead::before{ font-size:23px; } }
/* サマリー見出し「お買い物カゴの合計」→「注文サマリー」 */
body.agbrand.woocommerce-cart .wc-block-cart__totals-title{ font-size:0 !important; }
body.agbrand.woocommerce-cart .wc-block-cart__totals-title::before{ content:"注文サマリー"; font-size:17px; font-weight:900; color:var(--agb-navy); line-height:1.3; }
/* 合計ラベル「推定合計額」→「合計」＋ 金額に「税込」 */
body.agbrand.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{ font-size:0 !important; }
body.agbrand.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label::before{ content:"合計"; font-size:15px; font-weight:700; color:var(--agb-navy); }
body.agbrand.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value::after{ content:"税込"; font-size:11px; font-weight:500; color:var(--agb-muted); margin-left:6px; white-space:nowrap; }
/* 送料の下に配送注記（見本のクール便/大型注記ボックス） */
body.agbrand.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block::after{ content:"生体はクール便・専門梱包でお届けします。大型商品は地域別送料となり、ご注文確定時に確定します。"; display:block; background:var(--agb-tint); border-radius:10px; padding:11px 13px; margin:8px 0 2px; font-size:11.5px; line-height:1.7; color:var(--agb-muted); }

/* モバイル：独立スティッキー追加ボタン（summaryは触らない＝重なり回避） */
.agb-sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  transform:translateY(115%); transition:transform .25s ease;
  background:#fff; border-top:1px solid var(--agb-line);
  box-shadow:0 -8px 24px -12px rgba(10,39,64,.32);
  padding:10px 14px; padding-bottom:calc(10px + env(safe-area-inset-bottom));
}
.agb-sticky.show{ transform:translateY(0); }
.agb-sticky-in{ display:flex; align-items:center; gap:12px; max-width:760px; margin:0 auto; }
.agb-sticky-info{ flex:1 1 auto; min-width:0; overflow:hidden; }
.agb-sticky-info .pr{ font-weight:900; color:var(--agb-navy); font-size:18px; white-space:nowrap; }
.agb-sticky-info .pr del{ color:var(--agb-muted); font-weight:400; font-size:13px; }
.agb-sticky-info .pr ins{ text-decoration:none; }
.agb-sticky-btn{
  flex:0 0 auto; border:0; border-radius:11px; padding:13px 24px; cursor:pointer;
  background:linear-gradient(180deg,#1488c9,#0e6db0); color:#fff;
  font-weight:800; font-size:15px; white-space:nowrap;
}
.agb-sticky-btn:active{ filter:brightness(.95); }
@media (min-width:981px){ .agb-sticky{ display:none !important; } }
body.agb-menu-open .agb-sticky{ display:none !important; }

/* 死着保証 かんたん申請フォーム */
body.agbrand .agb-claim{ max-width:640px; margin:0 auto; }
body.agbrand .agb-claim-lead{ font-size:13.5px; line-height:1.85; color:#33536b; background:#f5f8fb; border:1px solid #d8e3ec; border-radius:12px; padding:14px 16px; margin:0 0 22px; }
body.agbrand .agb-claim-lead b{ color:var(--agb-navy); }
body.agbrand .agb-claim-row{ display:grid; gap:14px; }
body.agbrand .agb-claim-f, body.agbrand .agb-claim-file{ display:block; font-size:13.5px; font-weight:700; color:var(--agb-navy); margin-bottom:16px; }
body.agbrand .agb-claim .req{ display:inline-block; font-size:10.5px; font-weight:700; color:#fff; background:#c0413f; border-radius:4px; padding:2px 7px; margin-left:6px; vertical-align:middle; }
body.agbrand .agb-claim .note-inline{ font-size:11px; font-weight:500; color:var(--agb-muted); margin-left:4px; }
body.agbrand .agb-claim input[type=text], body.agbrand .agb-claim input[type=email], body.agbrand .agb-claim input[type=tel], body.agbrand .agb-claim textarea{
  display:block; width:100%; margin-top:7px; padding:12px 14px; font-size:15px; font-family:inherit; font-weight:400; color:var(--agb-ink);
  border:1.5px solid #c3d2de; border-radius:10px; background:#fff; box-sizing:border-box;
}
body.agbrand .agb-claim input:focus, body.agbrand .agb-claim textarea:focus{ outline:none; border-color:#0e6db0; box-shadow:0 0 0 3px rgba(14,109,176,.15); }
body.agbrand .agb-claim input[type=file]{ display:block; width:100%; margin-top:8px; font-size:13px; font-weight:400; padding:11px 12px; border:1.5px dashed #c3d2de; border-radius:10px; background:#fafcfe; box-sizing:border-box; }
body.agbrand .agb-claim .agb-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; }
body.agbrand .agb-claim-btn{ width:100%; margin-top:8px; border:0; border-radius:12px; padding:16px; cursor:pointer; background:#13a6c4; color:#fff; font-size:16px; font-weight:800; box-shadow:0 14px 28px -12px rgba(19,166,196,.7); }
body.agbrand .agb-claim-btn:hover{ background:#15b8d8; }
body.agbrand .agb-claim-btn:disabled{ opacity:.6; cursor:default; }
body.agbrand .agb-claim-msg{ margin-top:14px; font-size:14px; font-weight:700; min-height:1.2em; }
body.agbrand .agb-claim-msg.ok{ color:#1f6b3d; }
body.agbrand .agb-claim-msg.err{ color:#c0413f; }
body.agbrand .agb-claim-msg.wait{ color:var(--agb-muted); }

/* 死着保証（生体PDPの要約ボックス） */
body.agbrand .agb-guarantee{
  margin:14px 0; padding:14px 16px;
  background:#f0f8f1; border:1px solid #cfe6d4; border-left:4px solid #2e9e58; border-radius:10px;
}
body.agbrand .agb-guarantee-h{
  display:flex; align-items:center; gap:8px;
  font-size:14px; font-weight:800; color:#1f6b3d; margin-bottom:5px;
}
body.agbrand .agb-guarantee-h svg{ width:20px; height:20px; fill:none; stroke:#2e9e58; stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round; }
body.agbrand .agb-guarantee p{ font-size:12.5px; color:#33536b; margin:0 0 6px; line-height:1.7; }
body.agbrand .agb-guarantee b{ color:#1f6b3d; }
body.agbrand .agb-guarantee-link{ font-size:12.5px; font-weight:700; color:#0e6db0; }

/* 規定ページ（死着保証・特商法など）の整形 */
body.agbrand .agb-doc{ max-width:820px; margin:0 auto; font-size:14.5px; line-height:1.95; color:var(--agb-ink); }
body.agbrand .agb-doc .agb-doc-lead{ font-size:15px; color:var(--agb-ink); background:#f5f8fb; border:1px solid #d8e3ec; border-radius:12px; padding:16px 18px; margin:0 0 26px; }
body.agbrand .agb-doc h2{ font-size:19px; font-weight:800; color:var(--agb-navy); margin:30px 0 12px; padding-left:12px; border-left:4px solid #0e6db0; }
body.agbrand .agb-doc ul{ margin:8px 0 14px; padding-left:1.3em; }
body.agbrand .agb-doc li{ margin:5px 0; }
body.agbrand .agb-doc .agb-doc-note{ font-size:13px; color:#7a5320; background:#fff7ed; border:1px solid #f3d9b8; border-radius:10px; padding:12px 14px; }
body.agbrand .agb-doc .agb-doc-cta{ margin-top:28px; background:#eef6fb; border:1px solid #cfe2ef; border-radius:12px; padding:16px 18px; font-size:13.5px; }
body.agbrand .agb-doc-btn{ display:inline-block; margin-top:8px; background:#13a6c4; color:#fff !important; font-size:15px; font-weight:800; padding:13px 26px; border-radius:10px; box-shadow:0 12px 24px -12px rgba(19,166,196,.7); }
body.agbrand .agb-doc-btn:hover{ background:#15b8d8; }

/* 商品動画（コンパクトな再生トリガー → 実寸比で再生・縦動画対応） */
body.agbrand .agb-video{ margin:12px 0; }
body.agbrand .agb-video-trigger{ display:flex; align-items:center; gap:12px; width:100%; box-sizing:border-box; padding:11px 14px; border:1.5px solid #cfe0ec; border-radius:12px; background:#f3f9fd; cursor:pointer; text-align:left; transition:.15s; }
body.agbrand .agb-video-trigger:hover{ border-color:#0e6db0; background:#e7f3fb; }
body.agbrand .agb-vt-ic{ width:42px; height:42px; border-radius:50%; background:#13a6c4; display:flex; align-items:center; justify-content:center; flex:none; }
body.agbrand .agb-vt-ic svg{ width:20px; height:20px; fill:#fff; margin-left:2px; }
body.agbrand .agb-vt-tx{ font-size:14px; font-weight:800; color:#0a2740; line-height:1.3; }
body.agbrand .agb-vt-tx small{ display:block; font-size:11.5px; font-weight:500; color:#5c7488; }
body.agbrand .agb-video-frame{ position:relative; width:100%; border-radius:14px; overflow:hidden; background:#000; }
body.agbrand .agb-video-frame--portrait{ max-width:300px; margin-left:auto; margin-right:auto; }
body.agbrand .agb-video-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
body.agbrand .agb-video-el{ width:100%; border-radius:14px; display:block; background:#000; }
body.agbrand .agb-video-frame--portrait .agb-video-el{ max-width:300px; margin:0 auto; }

/* 現物（一点物）の明示ノート */
body.agbrand .agb-genbutsu{
  display:flex; align-items:center; gap:9px;
  margin:14px 0; padding:11px 14px;
  background:#eef6fb; border:1px solid #cfe2ef; border-left:4px solid #0e6db0; border-radius:10px;
  font-size:13.5px; color:#0a2740; line-height:1.5;
}
body.agbrand .agb-genbutsu svg{ width:22px; height:22px; flex:0 0 auto; fill:none; stroke:#0e6db0; stroke-width:1.7; stroke-linejoin:round; }
body.agbrand .agb-genbutsu b{ color:#0e6db0; font-weight:800; }

/* サブカテゴリ・タイル（親カテゴリ表示時のドリルダウン） */
body.agbrand .woocommerce ul.products li.product-category > a{ display:block; }
body.agbrand .woocommerce ul.products li.product-category .woocommerce-loop-category__title{ font-size:14.5px !important; font-weight:700 !important; color:var(--agb-ink) !important; padding:13px 15px 15px !important; margin:0 !important; line-height:1.4 !important; text-align:left !important; }
body.agbrand .woocommerce ul.products li.product-category .woocommerce-loop-category__title .count{ background:none !important; color:var(--agb-muted) !important; font-weight:600 !important; font-size:12.5px !important; padding:0 0 0 5px !important; float:none !important; }
body.agbrand .woocommerce ul.products li.product-category .agb-subcat-img{ aspect-ratio:1/1; object-fit:cover; }
