.v7{
  --bg:#fff; --bg-alt:#f5f5f7;
  --ink:#1d1d1f; --muted:#6e6e73;
  --line:rgba(0,0,0,0.1);
  --sp:#ff3d7f; --cta:#0071e3;
  --radius:14px; --radius-sm:10px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.darking .v7{ --bg:#000; --bg-alt:#1c1c1e; --ink:#f5f5f7; --muted:#86868b; --line:rgba(255,255,255,0.14); }
.v7 *{box-sizing:border-box}
.v7 a{color:inherit;text-decoration:none}
.v7 .ico{display:inline-block;width:1em;height:1em;vertical-align:-0.15em;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.v7-hero{background:var(--bg);color:var(--ink);text-align:center}
.v7-hero-media{display:block}
.v7-hero-media img{display:block;width:100%;height:auto;max-width:1440px;margin:0 auto}
.v7-hero-cap{padding:28px 24px 36px;display:flex;justify-content:center}
.v7-date-badge{display:inline-flex;align-items:center;gap:14px;padding:0}
.v7-date-ico{width:24px;height:24px;flex:0 0 auto;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.v7-date-range{display:flex;align-items:baseline;gap:12px;color:var(--ink);font-size:22px;font-weight:700;font-feature-settings:"tnum";letter-spacing:.005em}
.v7-date-range small{font-size:13px;font-weight:600;color:var(--muted);margin-left:2px}
.v7-date-sep{color:var(--muted);font-weight:400;font-size:17px;opacity:.5}
@media(max-width:480px){.v7-hero-cap{padding:22px 18px 30px}.v7-date-range{font-size:18px;gap:9px;flex-wrap:wrap;justify-content:center}.v7-date-range small{font-size:12px}.v7-date-ico{width:20px;height:20px}}
.v7-sec{padding:56px 24px;background:var(--bg);color:var(--ink)}
.v7-sec.alt{background:var(--bg-alt)}
.v7-sec-inner{max-width:760px;margin:0 auto}
.v7-h2{font-size:clamp(22px,2.4vw,28px);line-height:1.3;letter-spacing:-0.015em;font-weight:600;margin:0 0 8px;color:var(--ink)}
.v7-lead{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 24px;font-weight:400}

.v7-img{display:block;width:100%;max-width:760px;height:auto;margin:0 auto;border-radius:var(--radius);border:1px solid var(--line)}

.v7-cards{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.v7-card{display:flex;align-items:center;gap:14px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;color:var(--ink);transition:border-color .15s ease}
.darking .v7-sec.alt .v7-card{background:#2c2c2e}
.v7-card:hover{border-color:var(--muted);color:var(--ink)}
.v7-card-ic{flex:0 0 auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.v7-card-ic .ico{width:22px;height:22px;stroke-width:1.6}
.v7-card-body{flex:1;min-width:0}
.v7-card-title{font-size:16px;font-weight:600;color:var(--ink);margin:0 0 2px;line-height:1.3}
.v7-card-desc{font-size:13px;color:var(--muted);margin:0;line-height:1.5}
.v7-card-meta{font-size:12px;color:var(--muted);margin-top:4px;font-feature-settings:"tnum"}
.v7-card-arrow{flex:0 0 auto;color:var(--muted);transition:transform .15s ease}
.v7-card-arrow .ico{width:16px;height:16px;stroke-width:2}
.v7-card:hover .v7-card-arrow{transform:translateX(3px)}
.v7-card.disabled{opacity:0.5;pointer-events:none}

.v7-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.v7-grid .v7-card{gap:12px}

.v7-feature{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.v7-feat{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px;color:var(--ink);display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease}
.darking .v7-sec.alt .v7-feat{background:#2c2c2e}
.v7-feat:hover{border-color:var(--muted);color:var(--ink)}
.v7-feat-ic{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.v7-feat-ic .ico{width:24px;height:24px;stroke-width:1.6}
.v7-feat-title{font-size:17px;font-weight:600;color:var(--ink);margin:0;line-height:1.3}
.v7-feat-desc{font-size:13px;color:var(--muted);line-height:1.6;margin:0;flex:1}
.v7-feat-cta{display:inline-flex;align-items:center;gap:4px;color:var(--cta);font-size:14px;font-weight:500;margin-top:4px}
.v7-feat-cta .ico{width:13px;height:13px;stroke-width:2;transition:transform .15s ease}
.v7-feat:hover .v7-feat-cta .ico{transform:translateX(3px)}

.v7-note{max-width:760px;margin:0 auto;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.darking .v7-note{background:#1c1c1e}
.v7-note-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);margin:0 0 10px}
.v7-note-title .ico{width:18px;height:18px;color:var(--muted)}
.v7-note ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.8}

.v7-disc{padding:32px 24px;text-align:center;color:var(--muted);font-size:11px;line-height:1.7;background:var(--bg);border-top:1px solid var(--line)}
.v7-disc-inner{max-width:760px;margin:0 auto}

@media(max-width:640px){
  .v7-sec{padding:44px 18px}
  .v7-hero-cap{padding:32px 20px 40px}
  .v7-card{padding:14px 16px;gap:12px}
  .v7-grid,.v7-feature{grid-template-columns:1fr}
  .v7-feat{padding:20px 18px}
}


/* === SUMMER OVERLAY v2 (2026 summer sale, per-section accents) === */
.v7 {
  --summer-applied: 2;
  --bg: #fbfaf5;
  --bg-alt: #fbfaf5;
  --ink: #0e2a3a;
  --muted: #5b7787;
  --line: rgba(13,71,100,0.12);
  --sp: #1456a8;
  --cta: #088a99;
}
.darking .v7 {
  --bg: #06141d;
  --bg-alt: #0c2230;
  --ink: #e8f4f8;
  --muted: #7ea4b6;
  --line: rgba(255,255,255,0.10);
  --sp: #6fbcff;
  --cta: #44dcd0;
}

/* Hero */
.v7-hero{
  position:relative;
  background:
    radial-gradient(ellipse 80% 60% at 80% 0%, rgba(255,217,140,.35), transparent 60%),
    linear-gradient(180deg, #cfe9f5 0%, #e6f3f7 38%, #faf3e0 100%);
  overflow:hidden;
}
.v7-hero::before{
  content:"";position:absolute;top:22px;right:8%;width:84px;height:84px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #fff5c4 0%, #ffd66b 45%, #ffb347 100%);
  box-shadow:0 0 60px rgba(255,179,71,.45),0 0 120px rgba(255,217,140,.35);
  pointer-events:none;z-index:0;
}
.v7-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:36px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'><path d='M0,30 C240,55 480,5 720,30 C960,55 1200,5 1440,30 L1440,60 L0,60 Z' fill='%23fbfaf5'/></svg>") center bottom / 100% 100% no-repeat;
  pointer-events:none;z-index:1;
}
.v7-hero-media,.v7-hero-cap{position:relative;z-index:2}
.v7-date-badge{
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  padding:12px 22px;border-radius:999px;
  box-shadow:0 6px 24px rgba(13,71,100,.10),0 1px 0 rgba(255,255,255,.6) inset;
  border:1px solid rgba(255,255,255,.7);
}
.v7-date-ico{color:var(--sp);stroke:currentColor;opacity:1}
.v7-date-range{color:var(--ink)}

/* 全セクション統一ベース */
.v7-sec, .v7-sec.alt { background: #fbfaf5; }

/* H2 デフォルト波線(コバルト深め) */
.v7-h2{position:relative;padding-bottom:14px}
.v7-h2::after{
  content:"";display:block;width:64px;height:8px;margin-top:10px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%231456a8' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>") left center / 64px 8px no-repeat;
}

/* カード/feat/note 統一(白カード) */
.v7-card, .v7-feat { background:#fff; transition:border-color .15s ease,box-shadow .2s ease,transform .2s ease; }
.v7-card:hover, .v7-feat:hover { box-shadow:0 8px 24px rgba(13,71,100,.08); border-color:rgba(20,86,168,.35); transform:translateY(-1px); }
.v7-note { background:#fff; }
.v7-feat-cta { color:var(--cta); font-weight:600; }

/* === セクション別アクセント(hero=1, 公式お得特集=2 を考慮、以降のセクションは nth-of-type を+1) === */

/* 3: クーポンによって条件が異なります — コバルト */
.v7-sec:nth-of-type(3) .v7-card { border-color:rgba(20,86,168,.22); }
.v7-sec:nth-of-type(3) .v7-card .v7-card-ic { color:#1456a8; }

/* 4: クーポン配布情報 — コバルト */
.v7-sec:nth-of-type(4) .v7-card { border-color:rgba(20,86,168,.22); }
.v7-sec:nth-of-type(4) .v7-card .v7-card-ic { color:#1456a8; }

/* 5: AliExpress 初めての方 — 砂・琥珀 */
.v7-sec:nth-of-type(5) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23b07d35' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.v7-sec:nth-of-type(5) .v7-card { border-color:rgba(176,125,53,.26); }
.v7-sec:nth-of-type(5) .v7-card .v7-card-ic { color:#b07d35; }

/* 6: キャンペーン — サンセットオレンジ */
.v7-sec:nth-of-type(6) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23c75921' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.v7-sec:nth-of-type(6) .v7-card { border-color:rgba(199,89,33,.24); }
.v7-sec:nth-of-type(6) .v7-card .v7-card-ic { color:#c75921; }

/* 7: セールコーナー — ターコイズ */
.v7-sec:nth-of-type(7) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23088a99' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.v7-sec:nth-of-type(7) .v7-card { border-color:rgba(8,138,153,.26); }
.v7-sec:nth-of-type(7) .v7-card .v7-card-ic { color:#088a99; }

/* 8: 公式商品特集 — 深い藍 */
.v7-sec:nth-of-type(8) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%231e3a6b' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.v7-sec:nth-of-type(8) .v7-feat { border-color:rgba(30,58,107,.24); }
.v7-sec:nth-of-type(8) .v7-feat-ic { color:#1e3a6b; }
.v7-sec:nth-of-type(8) .v7-feat-cta { color:#1e3a6b; }

/* 9: コインページまとめ — 琥珀イエロー */
.v7-sec:nth-of-type(9) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23a07414' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.v7-sec:nth-of-type(9) .v7-card { border-color:rgba(160,116,20,.26); }
.v7-sec:nth-of-type(9) .v7-card .v7-card-ic { color:#a07414; }

/* 10: もっとお得に — シーフォーム */
.v7-sec:nth-of-type(10) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23107a5e' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.v7-sec:nth-of-type(10) .v7-note { border-color:rgba(16,122,94,.28); }

/* === 解禁日バッジ === */
.v7-cap-stack { display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; }
.v7-reveal-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 18px; border-radius:999px;
  background:linear-gradient(135deg,#1456a8,#0a9eaf);
  color:#fff; font-size:15px; font-weight:600;
  box-shadow:0 6px 20px rgba(20,86,168,.32); letter-spacing:.01em;
}
.v7-reveal-badge b { font-weight:700; margin:0 3px; }
.v7-reveal-badge small { font-size:.82em; opacity:.85; }
.v7-reveal-ico { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; color:#fff; }
.darking .v7-reveal-badge { background:linear-gradient(135deg,#2d7fd6,#1ab0c4); box-shadow:0 6px 24px rgba(0,0,0,.4); }

/* === 公式お得商品特集 === */
.v7-official-deal { background:#fbfaf5; padding-top:48px; padding-bottom:48px; }
.darking .v7-official-deal { background:#06141d; }
.v7-od-tag {
  display:inline-block; padding:4px 14px; border-radius:999px;
  background:linear-gradient(135deg,#ff6b35,#ff3d7f);
  color:#fff; font-size:12px; font-weight:700; letter-spacing:.08em;
  margin-bottom:12px; box-shadow:0 4px 14px rgba(255,61,127,.3);
}
.v7-od-h2 { margin-top:0; }
.v7-od-h2::after {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23ff6b35' stroke-width='2.6' fill='none' stroke-linecap='round'/></svg>");
  width:80px;
}
.darking .v7-od-h2::after {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23ff9966' stroke-width='2.6' fill='none' stroke-linecap='round'/></svg>");
}
.v7-od-banner {
  display:block; position:relative; margin-top:18px; border-radius:16px; overflow:hidden;
  box-shadow:0 10px 36px rgba(20,86,168,.18);
  border:2px solid rgba(255,107,53,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.v7-od-banner:hover { transform:translateY(-3px); box-shadow:0 16px 48px rgba(255,107,53,.28); border-color:rgba(255,107,53,.6); }
.v7-od-banner img { display:block; width:100%; height:auto; }
.v7-od-cta {
  position:absolute; right:16px; bottom:14px;
  display:inline-flex; align-items:center;
  padding:8px 18px; border-radius:999px;
  background:rgba(255,255,255,.92); color:#c2410c;
  font-size:14px; font-weight:700;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.darking .v7-od-cta { background:rgba(8,20,29,.78); color:#ff9966; border:1px solid rgba(255,153,102,.35); }
@media(max-width:480px){
  .v7-od-cta{ right:10px; bottom:10px; padding:6px 12px; font-size:12px; }
  .v7-reveal-badge{ font-size:13px; padding:7px 14px; }
}

@media (max-width:480px) {
  .v7-hero::before { width:60px; height:60px; top:16px; right:12px; }
  .v7-hero::after { height:24px; }
}


/* === DARK MODE FIX === */
.darking .v7-sec, .darking .v7-sec.alt { background: #06141d; }
.darking .v7-card, .darking .v7-feat { background: #11212c; }
.darking .v7-note { background: #11212c; }

/* ダーク用 波線色(明るめに) */
.darking .v7-h2::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%236fbcff' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>");
}
.darking .v7-sec:nth-of-type(5) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23e0b070' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.darking .v7-sec:nth-of-type(6) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23ff9966' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.darking .v7-sec:nth-of-type(7) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%2344dcd0' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.darking .v7-sec:nth-of-type(8) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%238ab4f0' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.darking .v7-sec:nth-of-type(9) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%23ffd76b' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }
.darking .v7-sec:nth-of-type(10) .v7-h2::after { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' preserveAspectRatio='none'><path d='M0,4 Q8,0 16,4 T32,4 T48,4 T64,4' stroke='%2358d4a8' stroke-width='2.4' fill='none' stroke-linecap='round'/></svg>"); }

/* ダーク用 アイコン色 */
.darking .v7-sec:nth-of-type(3) .v7-card .v7-card-ic,
.darking .v7-sec:nth-of-type(4) .v7-card .v7-card-ic { color:#6fbcff; }
.darking .v7-sec:nth-of-type(5) .v7-card .v7-card-ic { color:#e0b070; }
.darking .v7-sec:nth-of-type(6) .v7-card .v7-card-ic { color:#ff9966; }
.darking .v7-sec:nth-of-type(7) .v7-card .v7-card-ic { color:#44dcd0; }
.darking .v7-sec:nth-of-type(8) .v7-feat-ic,
.darking .v7-sec:nth-of-type(8) .v7-feat-cta { color:#8ab4f0; }
.darking .v7-sec:nth-of-type(9) .v7-card .v7-card-ic { color:#ffd76b; }

/* ダーク用 カード枠 */
.darking .v7-sec:nth-of-type(3) .v7-card,
.darking .v7-sec:nth-of-type(4) .v7-card { border-color:rgba(111,188,255,.25); }
.darking .v7-sec:nth-of-type(5) .v7-card { border-color:rgba(224,176,112,.28); }
.darking .v7-sec:nth-of-type(6) .v7-card { border-color:rgba(255,153,102,.28); }
.darking .v7-sec:nth-of-type(7) .v7-card { border-color:rgba(68,220,208,.28); }
.darking .v7-sec:nth-of-type(8) .v7-feat { border-color:rgba(138,180,240,.28); }
.darking .v7-sec:nth-of-type(9) .v7-card { border-color:rgba(255,215,107,.28); }
.darking .v7-sec:nth-of-type(10) .v7-note { border-color:rgba(88,212,168,.28); }

/* hover */
.darking .v7-card:hover, .darking .v7-feat:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  border-color: rgba(111,188,255,.45);
}

/* 日付バッジ(ダーク:暗め半透明で白文字をはっきり) */
.darking .v7-date-badge {
  background: rgba(8,20,29,.62);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(111,188,255,.30);
  box-shadow: 0 6px 28px rgba(0,0,0,.45), 0 1px 0 rgba(255,255,255,.06) inset;
}
.darking .v7-date-range { color: #ffffff; }
.darking .v7-date-range small { color: #9fc4dc; }
.darking .v7-date-sep { color: #7ea4b6; }
.darking .v7-date-ico { color: #6fbcff; }


/* === 公式お得特集 内 タグページリンクカード === */
.v7-od-taglink {
  display:flex; align-items:center; gap:16px;
  margin-top:16px; padding:12px 16px;
  border-radius:14px; background:#fff;
  border:1px solid rgba(20,86,168,.18);
  box-shadow:0 4px 16px rgba(13,71,100,.06);
  text-decoration:none; color:inherit;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.v7-od-taglink:hover {
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(13,71,100,.12);
  border-color:rgba(255,107,53,.45);
}
.v7-od-tl-thumb {
  width:96px; height:72px; flex:0 0 auto;
  object-fit:cover; border-radius:10px;
  background:#eef4fb;
}
.v7-od-tl-body { display:flex; flex-direction:column; gap:3px; flex:1 1 auto; min-width:0; }
.v7-od-tl-title { font-size:15px; font-weight:700; color:var(--ink); line-height:1.4; }
.v7-od-tl-desc { font-size:13px; color:var(--muted); }
.v7-od-tl-arrow { flex:0 0 auto; font-size:24px; color:#ff6b35; font-weight:700; line-height:1; }
.darking .v7-od-taglink { background:#11212c; border-color:rgba(111,188,255,.22); box-shadow:0 4px 16px rgba(0,0,0,.3); }
.darking .v7-od-taglink:hover { border-color:rgba(255,153,102,.45); box-shadow:0 10px 28px rgba(0,0,0,.45); }
.darking .v7-od-tl-thumb { background:#0c2230; }
.darking .v7-od-tl-arrow { color:#ff9966; }
@media(max-width:480px){
  .v7-od-tl-thumb { width:72px; height:56px; }
  .v7-od-tl-title { font-size:14px; }
  .v7-od-tl-desc { font-size:12px; }
}


/* === 公式お得特集 内 「当サイト PICK UP」サブ見出し === */
.v7-od-subhead { margin-top:26px; margin-bottom:2px; }
.v7-od-subtag {
  display:inline-block; padding:4px 14px; border-radius:999px;
  background:linear-gradient(135deg,#1456a8,#0a9eaf);
  color:#fff; font-size:12px; font-weight:700; letter-spacing:.08em;
  box-shadow:0 4px 14px rgba(20,86,168,.28);
}
.darking .v7-od-subtag { background:linear-gradient(135deg,#2d7fd6,#1ab0c4); box-shadow:0 4px 16px rgba(0,0,0,.4); }


/* === 公式 PICK UP バッジ(見出し下、当サイトと同形式・色は暖色維持) === */
.v7-od-subhead--official { margin-top:10px; margin-bottom:14px; }
.v7-od-subtag--official {
  background:linear-gradient(135deg,#ff6b35,#ff3d7f);
  box-shadow:0 4px 14px rgba(255,61,127,.3);
}
.darking .v7-od-subtag--official {
  background:linear-gradient(135deg,#ff6b35,#ff3d7f);
  box-shadow:0 4px 16px rgba(0,0,0,.4);
}


/* === 無効化(準備中)カード === */
.v7-card--disabled {
  opacity:.5; filter:grayscale(.9);
  pointer-events:none; cursor:default;
  position:relative;
}
.v7-card-badge-soon {
  flex:0 0 auto; align-self:center;
  padding:3px 10px; border-radius:999px;
  background:rgba(0,0,0,.08); color:var(--muted);
  font-size:12px; font-weight:700; white-space:nowrap;
}
.darking .v7-card-badge-soon { background:rgba(255,255,255,.12); }
/* ===== クーポン条件比較セクション (v7-cc-*) 復旧用スタイル ===== */
.v7-cc-note{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 16px;color:var(--ink);font-size:14px;line-height:1.7;margin:0 0 14px;}
.v7-cc-note b{color:var(--sp);}
.v7-cc-note b.turq,.v7-cc-card .turq,.turq{color:var(--cta);}
.v7-cc-details{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg);}
.v7-cc-details>summary{cursor:pointer;padding:13px 16px;font-weight:700;color:var(--ink);list-style:none;background:var(--bg-alt);}
.v7-cc-details>summary::-webkit-details-marker{display:none;}
.v7-cc-details>summary::after{content:"＋";float:right;color:var(--muted);font-weight:700;}
.v7-cc-details[open]>summary::after{content:"−";}
.v7-cc-details-inner{padding:16px;}
.v7-cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:600px){.v7-cc-grid{grid-template-columns:1fr;}}
.v7-cc-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--bg);}
.v7-cc-head{font-weight:800;font-size:14px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.v7-cc-jpss .v7-cc-head{color:var(--sp);}
.v7-cc-glob .v7-cc-head{color:var(--cta);}
.v7-cc-sub{font-size:13px;color:var(--muted);margin:0 0 10px;line-height:1.6;}
.v7-cc-sub b{color:var(--ink);}
.v7-cc-row{display:flex;gap:10px;align-items:flex-start;margin:9px 0;}
.v7-cc-ic{flex:0 0 auto;width:20px;height:20px;color:var(--muted);display:inline-flex;}
.v7-cc-ic svg{width:20px;height:20px;}
.v7-cc-rt{font-size:11px;color:var(--muted);margin:0;font-weight:700;}
.v7-cc-rv{font-size:13.5px;color:var(--ink);margin:1px 0 0;line-height:1.5;}
.v7-cc-rv em{font-style:normal;font-weight:700;color:var(--cta);}
.v7-cc-tbl-wrap{margin:14px 0 0;overflow-x:auto;}
.v7-cc-tbl-h{display:inline-block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px;}
.v7-cc-tbl{width:100%;border-collapse:collapse;font-size:13px;}
.v7-cc-tbl th,.v7-cc-tbl td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;}
.v7-cc-tbl thead th{background:var(--bg-alt);font-weight:700;}
.v7-cc-tbl tbody th{background:var(--bg-alt);font-weight:700;color:var(--muted);white-space:nowrap;}
.v7-cc-tbl .cj{color:var(--sp);} .v7-cc-tbl .cg{color:var(--cta);}
.v7-cc-concl{margin:14px 0 0;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;}
.v7-cc-concl-h{display:flex;align-items:center;gap:6px;font-weight:800;color:var(--ink);margin-bottom:6px;}
.v7-cc-concl-h svg{width:18px;height:18px;flex:0 0 auto;color:var(--cta);}
.v7-cc-concl p{margin:4px 0;font-size:13.5px;color:var(--ink);line-height:1.7;}
.v7-cc-fine{margin:12px 0 0;font-size:11.5px;color:var(--muted);line-height:1.6;}
.v7-cc-fine span{display:block;}

/* ===== キーボードフォーカスの可視化（スキル: focus must be visible） ===== */
.v7 a:focus-visible,
.v7 summary:focus-visible,
.v7 button:focus-visible,
.v7 [tabindex]:focus-visible {
  outline: 3px solid var(--sp);
  outline-offset: 3px;
  border-radius: 8px;
}
.v7 .v7-card:focus-visible,
.v7 .v7-od-banner:focus-visible,
.v7 .v7-od-taglink:focus-visible { outline-offset: 2px; }
