/* ===== トクたびAI（ttcp の構造を ttai 名前空間で複製） ===== */
.ttai, .ttai-hero {
  --ttai-o:#FF7123; --ttai-od:#D95A12; --ttai-p:#675CC5; --ttai-ink:#2b2320; --ttai-cream:#FFF8F3;
  --ttai-line:rgba(255,113,35,.24); --ttai-sub:#7a6e66;
  font-family:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN',sans-serif;
}
.ttai [hidden] { display:none !important; }
.ttai p { margin:0; }
.ttai button { font:inherit; }
.ttai button:focus { outline:none; }
.ttai button:focus-visible { outline:2px solid var(--ttai-p); outline-offset:2px; }
body.ttai-lock { overflow:hidden; }

/* ピル */
.ttai-pill { position:fixed; left:0; right:0; bottom:var(--ttai-bottom, calc(16px + env(safe-area-inset-bottom)));
  z-index:998; display:flex; justify-content:center; pointer-events:none;
  opacity:0; transform:translateY(14px); transition:opacity .3s, transform .4s cubic-bezier(.34,1.56,.64,1); }
.ttai-pill.is-in { opacity:1; transform:none; }
.ttai-pill__inner { pointer-events:auto; display:flex; align-items:center; gap:2px; padding:4px; border-radius:100px;
  background:linear-gradient(135deg,#FF8F47,#FF7123);
  box-shadow:0 4px 0 var(--ttai-od), 0 12px 24px rgba(255,113,35,.32); transition:transform .12s, box-shadow .12s; }
.ttai-pill__inner:active { transform:translateY(3px); box-shadow:0 1px 0 var(--ttai-od), 0 6px 14px rgba(255,113,35,.28); }
.ttai-pill__open { display:flex; align-items:center; gap:7px; border:0; background:transparent; color:#fff;
  font-weight:900; font-size:12.5px; letter-spacing:.03em; padding:5px 8px 5px 5px; border-radius:100px; cursor:pointer;
  white-space:nowrap; -webkit-tap-highlight-color:transparent; }
.ttai-pill__open:focus { outline:none; }
.ttai-pill__open:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.ttai-pill__avatar { width:28px; height:28px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; }
.ttai-pill__open i { font-size:10px; opacity:.9; }
.ttai-pill__close { width:26px; height:26px; flex:0 0 26px; border:0; border-radius:50%; background:rgba(255,255,255,.26); color:#fff;
  font-size:15px; line-height:1; cursor:pointer; -webkit-tap-highlight-color:transparent; }

/* 「使えた？」吹き出し */
.ttai-fb { position:fixed; left:0; right:0; bottom:calc(var(--ttai-bottom, calc(16px + env(safe-area-inset-bottom))) + 50px);
  z-index:997; display:flex; justify-content:center; pointer-events:none; }
.ttai-fb__inner { pointer-events:auto; display:flex; align-items:center; gap:6px; background:#fff; border:2px solid var(--ttai-line);
  border-radius:100px; padding:5px 6px 5px 14px; box-shadow:0 8px 20px rgba(43,35,32,.14); font-size:12.5px; font-weight:800; color:var(--ttai-ink); }
.ttai-fb__btn { border:0; background:var(--ttai-cream); border-radius:50%; width:34px; height:34px; font-size:16px; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.ttai-fb__btn:active { transform:scale(.92); }

/* シート */
.ttai-sheet { position:fixed; inset:0; z-index:1070; display:flex; align-items:flex-end; justify-content:center; }
.ttai-sheet__backdrop { position:absolute; inset:0; background:rgba(43,35,32,.55); opacity:0; transition:opacity .25s; }
.ttai-sheet__panel { position:relative; width:100%; max-width:520px; max-height:88vh; max-height:88dvh; overflow-y:auto;
  overscroll-behavior:contain; -webkit-overflow-scrolling:touch; background:var(--ttai-cream); color:var(--ttai-ink);
  border-radius:26px 26px 0 0; padding:10px 16px calc(22px + env(safe-area-inset-bottom));
  transform:translateY(100%); transition:transform .28s cubic-bezier(.22,1,.36,1); }
.ttai-sheet.is-open .ttai-sheet__backdrop { opacity:1; }
.ttai-sheet.is-open .ttai-sheet__panel { transform:none; }
.ttai-sheet__grip { width:44px; height:5px; border-radius:100px; background:rgba(43,35,32,.18); margin:0 auto 10px; }
.ttai-sheet__close { position:absolute; top:12px; right:12px; width:34px; height:34px; border:0; border-radius:50%;
  background:#fff; color:var(--ttai-ink); font-size:20px; line-height:1; cursor:pointer; box-shadow:0 2px 6px rgba(43,35,32,.12); z-index:1; }
.ttai-sheet__eyebrow { display:inline-block; font-size:11px; font-weight:900; letter-spacing:.08em; color:#fff; background:var(--ttai-o);
  padding:3px 10px; border-radius:100px; transform:rotate(-2deg); margin-bottom:8px; }
.ttai-sheet__foot { font-size:10.5px; color:#9a8f87; text-align:center; margin-top:10px !important; }
.ttai-loading { text-align:center; color:var(--ttai-sub); font-size:12.5px; padding:30px 0; line-height:1.8; }

/* 会話ヘッダ */
.ttai-talk { display:flex; gap:10px; align-items:flex-start; margin:2px 40px 8px 0; }
.ttai-avatar { width:40px; height:40px; flex:0 0 40px; border-radius:50%; background:linear-gradient(135deg,#FF8F47,#FF7123);
  display:flex; align-items:center; justify-content:center; font-size:20px; box-shadow:0 3px 0 var(--ttai-od); }
.ttai-talk__text { font-size:18px; font-weight:900; line-height:1.35; }
.ttai-talk__sub { font-size:12px; color:var(--ttai-sub); margin-top:2px !important; }
.ttai-how { font-size:11.5px; color:var(--ttai-sub); margin-bottom:10px; }
.ttai-how summary { cursor:pointer; font-weight:800; outline:none; }
.ttai-how p { margin-top:4px !important; line-height:1.6; }
.ttai-back { border:0; background:transparent; color:var(--ttai-p); font-weight:900; font-size:13px; padding:0 0 6px; cursor:pointer; }

/* チップ */
.ttai-row { display:flex; align-items:flex-start; gap:8px; margin-bottom:8px; }
.ttai-row__label { flex:0 0 56px; font-size:11px; font-weight:900; color:var(--ttai-sub); padding-top:7px; }
.ttai-chips { display:flex; flex-wrap:wrap; gap:6px; }
.ttai-chip { border:2px solid var(--ttai-line); background:#fff; color:var(--ttai-ink); border-radius:100px; padding:5px 11px;
  font-size:12px; font-weight:800; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.ttai-chip.is-on { background:var(--ttai-o); border-color:var(--ttai-o); color:#fff; }
.ttai-mode { font-size:11.5px; font-weight:800; color:var(--ttai-p); margin:6px 0 8px !important; }

/* ロゴ */
.ttai-logo { position:relative; width:44px; height:44px; flex:0 0 44px; border-radius:13px; overflow:hidden; background:#fff;
  border:2px solid var(--ttai-line); display:flex; align-items:center; justify-content:center; }
.ttai-logo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; background:#fff; }
.ttai-logo__alt { font-size:18px; font-weight:900; color:var(--ttai-o); }

/* グリッド */
.ttai-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:6px; }
.ttai-svc { position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; background:#fff; border:2px solid var(--ttai-line);
  border-radius:16px; padding:10px 6px 8px; cursor:pointer; text-align:center; -webkit-tap-highlight-color:transparent; }
.ttai-svc:active { transform:translateY(2px); }
.ttai-svc.is-chosen { border-color:var(--ttai-o); }
.ttai-svc__name { font-size:11.5px; font-weight:900; line-height:1.2; }
.ttai-svc__deal { font-size:11px; font-weight:900; color:var(--ttai-o); }
.ttai-svc__deal.is-tip { color:var(--ttai-sub); font-weight:700; }
.ttai-svc__save { font-size:10.5px; color:var(--ttai-p); font-weight:800; }
.ttai-more { width:100%; margin-top:8px; border:0; background:transparent; color:var(--ttai-p); font-weight:900; font-size:12.5px; padding:8px; cursor:pointer; }

/* ランキング・保存ストリップ */
.ttai-saved { margin:0 0 10px; }
.ttai-saved__label { display:block; font-size:11px; font-weight:900; color:var(--ttai-p); margin-bottom:6px; }
.ttai-rank { display:flex; flex-direction:column; gap:8px; }
.ttai-rk { display:flex; align-items:center; gap:10px; background:#fff; border:2px solid var(--ttai-line); border-radius:16px; padding:10px 12px;
  cursor:pointer; text-align:left; width:100%; -webkit-tap-highlight-color:transparent; }
.ttai-rk:active { transform:translateY(2px); }
.ttai-rk__n { width:22px; height:22px; flex:0 0 22px; border-radius:50%; background:var(--ttai-o); color:#fff; font-size:12px; font-weight:900;
  display:flex; align-items:center; justify-content:center; }
.ttai-rk__body { flex:1; min-width:0; }
.ttai-rk__name { font-size:14px; font-weight:900; display:block; }
.ttai-rk__reason { font-size:11px; color:var(--ttai-sub); display:block; }
.ttai-rk__val { font-size:13px; font-weight:900; color:var(--ttai-o); white-space:nowrap; }

/* フッターリンク */
.ttai-foot { display:flex; justify-content:space-between; gap:8px; margin-top:12px; flex-wrap:wrap; }
.ttai-link { border:0; background:transparent; color:var(--ttai-p); font-weight:900; font-size:12.5px; text-decoration:underline;
  text-underline-offset:3px; cursor:pointer; padding:6px 0; }

/* ディール（画面2） */
.ttai-deal { background:#fff; border:2.5px solid var(--ttai-line); border-radius:20px; padding:14px 14px 12px; }
.ttai-deal__head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.ttai-deal__name { font-size:16px; font-weight:900; display:block; }
.ttai-badge { display:inline-block; font-size:10.5px; font-weight:900; padding:2px 8px; border-radius:100px; background:#EFEDFB; color:var(--ttai-p); }
.ttai-badge--link { background:#E6F6EC; color:#1F7A3E; }
.ttai-badge--tip { background:#F1ECE8; color:#6b5f57; }
.ttai-deal__title { font-size:14px; font-weight:800; line-height:1.45; }
.ttai-deal__big { font-size:30px; font-weight:900; color:var(--ttai-o); line-height:1.1; margin:8px 0 2px !important; }
.ttai-deal__big small { font-size:14px; margin-left:4px; color:var(--ttai-ink); }
.ttai-deal__sub { font-size:11.5px; color:var(--ttai-sub); }
.ttai-deal__exp { font-size:12px; font-weight:800; color:var(--ttai-p); margin:6px 0 8px !important; }
.ttai-code { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 12px; margin:8px 0;
  background:var(--ttai-cream); border:2px dashed var(--ttai-o); border-radius:14px; cursor:pointer; color:var(--ttai-ink); -webkit-tap-highlight-color:transparent; }
.ttai-code__value { font-size:17px; font-weight:900; letter-spacing:.06em; word-break:break-all; text-align:left; }
.ttai-code__hint { font-size:11px; font-weight:900; color:var(--ttai-o); white-space:nowrap; }
.ttai-code.is-copied { border-style:solid; background:#FFEFE4; }
.ttai-go { width:100%; display:flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:100px; padding:12px 14px;
  background:linear-gradient(135deg,#FF8F47,#FF7123); color:#fff; font-size:14.5px; font-weight:900; letter-spacing:.03em; margin-top:4px;
  cursor:pointer; box-shadow:0 4px 0 var(--ttai-od); transition:transform .12s, box-shadow .12s; -webkit-tap-highlight-color:transparent; }
.ttai-go:active { transform:translateY(3px); box-shadow:0 1px 0 var(--ttai-od); }
.ttai-go[data-busy] { opacity:.75; }
.ttai-reassure { font-size:11px; color:var(--ttai-sub); text-align:center; margin-top:8px !important; }
.ttai-tip { font-size:13px; line-height:1.6; background:var(--ttai-cream); border-radius:12px; padding:10px 12px; margin:8px 0 10px !important; }
.ttai-cond { margin-top:9px; font-size:11.5px; color:var(--ttai-sub); }
.ttai-cond summary { cursor:pointer; font-weight:700; outline:none; }
.ttai-cond p { margin-top:5px !important; line-height:1.6; }
.ttai-actions { display:flex; gap:6px; margin-top:10px; }
.ttai-act { flex:1; display:flex; align-items:center; justify-content:center; border:2px solid var(--ttai-line); background:#fff; color:var(--ttai-ink);
  border-radius:100px; padding:9px 6px; font-size:12px; font-weight:900; text-decoration:none; cursor:pointer; text-align:center; -webkit-tap-highlight-color:transparent; }
.ttai-act:hover { color:var(--ttai-ink); text-decoration:none; }
.ttai-act.is-on { background:var(--ttai-p); border-color:var(--ttai-p); color:#fff; }

/* トップのヒーローカード */
.ttai-hero { position:relative; display:flex; align-items:center; gap:12px; background:#fff; border:2.5px solid var(--ttai-line); border-radius:22px;
  padding:14px 14px; margin:14px 0 18px; cursor:pointer; box-shadow:0 8px 24px rgba(255,113,35,.10); -webkit-tap-highlight-color:transparent; }
.ttai-hero:active { transform:translateY(2px); }
.ttai-hero__avatar { width:48px; height:48px; flex:0 0 48px; border-radius:50%; background:linear-gradient(135deg,#FF8F47,#FF7123);
  display:flex; align-items:center; justify-content:center; font-size:24px; box-shadow:0 3px 0 var(--ttai-od); }
.ttai-hero__body { flex:1; min-width:0; }
.ttai-hero__text { font-size:17px; font-weight:900; color:var(--ttai-ink); line-height:1.3; margin:0; }
.ttai-hero__sub { font-size:12px; color:var(--ttai-sub); margin:2px 0 0; }
.ttai-hero__ex { font-size:11.5px; font-weight:800; color:var(--ttai-o); margin:4px 0 0; }
.ttai-hero__btn { border:0; border-radius:100px; padding:10px 16px; background:linear-gradient(135deg,#FF8F47,#FF7123); color:#fff;
  font-weight:900; font-size:14px; box-shadow:0 4px 0 var(--ttai-od); white-space:nowrap; }
.ttai-hero__brand { position:absolute; top:-10px; right:14px; font-size:10.5px; font-weight:900; color:#fff; background:var(--ttai-p);
  padding:2px 9px; border-radius:100px; transform:rotate(-2deg); }

@media (min-width: 992px) {
  .ttai-pill { left:auto; right:var(--ttai-pc-right, 24px); bottom:var(--ttai-pc-bottom, 24px); }
  .ttai-fb { left:auto; right:24px; bottom:calc(24px + 54px); justify-content:flex-end; }
  .ttai-pill__open { font-size:14px; padding:6px 10px 6px 6px; }
  .ttai-sheet { align-items:center; }
  .ttai-sheet__panel { border-radius:26px; max-height:84vh; padding:18px 22px 22px; transform:translateY(24px); opacity:0;
    transition:transform .25s cubic-bezier(.22,1,.36,1), opacity .2s; }
  .ttai-sheet.is-open .ttai-sheet__panel { opacity:1; }
  .ttai-sheet__grip { display:none; }
  .ttai-grid { grid-template-columns:repeat(4,1fr); }
}
@media (max-width: 420px) {
  .ttai-hero__btn { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .ttai-pill, .ttai-pill__inner, .ttai-sheet__panel, .ttai-sheet__backdrop, .ttai-go { transition:none; }
}

/* pickupの理由・向いている人 */
.ttai-deal__why { font-size:12.5px; line-height:1.55; color:var(--ttai-ink); background:var(--ttai-cream); border-radius:10px; padding:8px 10px; margin-top:6px !important; }
.ttai-deal__who { font-size:11.5px; color:var(--ttai-sub); margin-top:4px !important; }
.ttai-rk__reason { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tp26 .ttai-hero:focus { outline: none; }
.tp26 .ttai-hero:focus-visible { outline: 2px solid var(--o, #FF7123); outline-offset: 3px; }

/* ===== トップのヒーローカード: tp26 の検索カードと同じトークン・フォントに揃える ===== */
.tp26 .ttai-hero {
  font-family: 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
  display: flex; align-items: center; gap: 14px;
  background: var(--card, #fff);
  border: 1px solid var(--line, rgba(43,35,32,.08));
  border-radius: var(--r-lg, 20px);
  box-shadow: var(--sh, 0 8px 24px rgba(43,35,32,.06));
  padding: 16px 18px;
  margin: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.tp26 .ttai-hero:active { transform: none; }
.tp26 .ttai-hero:focus { outline: none; }
.tp26 .ttai-hero:focus-visible { outline: 2px solid var(--o, #FF7123); outline-offset: 3px; }
.tp26 .ttai-hero__avatar {
  width: 52px; height: 52px; flex: 0 0 52px; border-radius: 12px;
  background: linear-gradient(135deg, var(--o, #FF7123), var(--o-deep, #D95A12));
  box-shadow: var(--sh-o, 0 8px 18px rgba(255,113,35,.28));
  display: flex; align-items: center; justify-content: center; font-size: 26px;
}
.tp26 .ttai-hero__body { flex: 1; min-width: 0; }
.tp26 .ttai-hero__brand {
  position: static; transform: none; display: inline-block;
  font-size: 10.5px; font-weight: 800; letter-spacing: .12em; color: var(--o, #FF7123);
  background: #FFF1E7; padding: 3px 10px; border-radius: 100px; margin-bottom: 6px;
}
.tp26 .ttai-hero__text { font-size: 18px; font-weight: 900; line-height: 1.3; letter-spacing: -.01em; color: inherit; margin: 0; }
.tp26 .ttai-hero__sub { font-size: 12px; font-weight: 500; line-height: 1.6; color: var(--ink-soft, #7a6e66); margin: 3px 0 0; }
.tp26 .ttai-hero__btn {
  border: none; border-radius: 14px; padding: 12px 18px;
  background: linear-gradient(135deg, var(--o, #FF7123), var(--o-deep, #D95A12));
  color: #fff; font-weight: 900; font-size: 15px; white-space: nowrap;
  box-shadow: var(--sh-o, 0 8px 18px rgba(255,113,35,.28));
}
@media (max-width: 420px) {
  .tp26 .ttai-hero { gap: 12px; padding: 14px; }
  .tp26 .ttai-hero__btn { display: none; }
}

/* ===== シートのグリッド: BY SITE（.tp26-svc）と同じカード ===== */
.ttai-grid { gap: 10px; }
.ttai-svc { display: block; padding: 0; gap: 0; background: #fff; border: 1px solid rgba(43,35,32,.08); border-radius: 14px;
  overflow: hidden; box-shadow: 0 2px 6px rgba(43,35,32,.05); text-align: center; }
.ttai-svc.is-chosen { border-color: var(--ttai-o); box-shadow: inset 0 0 0 1px var(--ttai-o); }
.ttai-svc__img { position: relative; display: block; width: 100%; height: 72px; background: #fff; border-bottom: 1px solid rgba(43,35,32,.08); }
.ttai-svc__img .ttai-logo__alt { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.ttai-svc__img img { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 6px; box-sizing: border-box; }
.ttai-svc__name { display: block; font-size: 11px; font-weight: 700; line-height: 1.3; padding: 7px 6px 0; }
.ttai-svc__deal { display: block; font-size: 11px; padding: 2px 6px 8px; }
.ttai-svc__save { display: block; padding: 0 6px 8px; margin-top: -5px; }

/* ランキング行・画面2の小ロゴも横長に */
.ttai-logo { width: 64px; height: 44px; flex: 0 0 64px; border-radius: 10px; }
.ttai-logo img { padding: 3px; box-sizing: border-box; }

/* 微調整: 前回選択の枠を消す・チップ縮小・フッター中央・サービス別一覧リンク */
.ttai-svc.is-chosen { border-color: rgba(43,35,32,.08); box-shadow: 0 2px 6px rgba(43,35,32,.05); }
.ttai-chip { padding: 4px 10px; font-size: 11.5px; }
.ttai-row__label { flex-basis: 52px; font-size: 10.5px; padding-top: 6px; }
.ttai-foot { justify-content: center; }
.ttai-pagelink { display: block; text-align: center; margin-top: 12px; font-size: 12.5px; font-weight: 900; color: var(--ttai-p);
  text-decoration: underline; text-underline-offset: 3px; }
.ttai-pagelink:hover { color: var(--ttai-p); }

/* チップ: グリッドの文字（11px）に合わせる。ラベルは折り返さない */
.ttai-row { align-items: center; margin-bottom: 7px; }
.ttai-row__label { flex-basis: 60px; white-space: nowrap; font-size: 10.5px; padding-top: 0; }
.ttai-chips { gap: 5px; }
.ttai-chip { padding: 3px 9px; font-size: 11px; border-width: 1.5px; }

/* 画面2: 画像を上に、内側はパディング付きで統一 */
.ttai-deal { padding: 0; overflow: hidden; border-width: 1px; border-color: rgba(43,35,32,.08); box-shadow: 0 2px 6px rgba(43,35,32,.05); }
.ttai-deal__img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #fff; border-bottom: 1px solid rgba(43,35,32,.08); }
.ttai-deal__inner { padding: 12px 14px 14px; }
.ttai-deal__svc { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.ttai-deal__svc .ttai-logo { width: 48px; height: 34px; flex: 0 0 48px; border-radius: 8px; }
.ttai-deal__svcname { font-size: 12px; font-weight: 800; color: var(--ttai-sub); }
.ttai-deal__svc .ttai-badge { margin-left: auto; }
.ttai-deal__title { font-size: 15px; font-weight: 900; line-height: 1.5; }
.ttai-deal__big { font-size: 26px; margin: 8px 0 0 !important; }
.ttai-deal__sub { margin-top: 2px !important; }
.ttai-deal__why { margin-top: 8px !important; }
.ttai-deal__exp { margin: 8px 0 6px !important; }
.ttai-go { margin-top: 8px; }
.ttai-actions { margin-top: 10px; }
.ttai-act { padding: 11px 8px; font-size: 12.5px; }
.ttai-pagelink { margin-top: 10px; }

/* ===== 経済圏レンズ・クーポン行・画面2の代替 ===== */
.ttai-lens { background: #fff; border: 1px solid rgba(43,35,32,.08); border-radius: 16px; padding: 10px 12px 4px; margin-bottom: 10px; }
.ttai-lens__head { display: flex; align-items: center; gap: 8px; width: 100%; border: 0; background: transparent; padding: 0 0 8px; cursor: pointer; text-align: left; }
.ttai-lens__head .ttai-logo { width: 48px; height: 34px; flex: 0 0 48px; border-radius: 8px; }
.ttai-lens__name { flex: 1; font-size: 14px; font-weight: 900; }
.ttai-lens__more { font-size: 11.5px; font-weight: 800; color: var(--ttai-p); white-space: nowrap; }
.ttai-lens__none { font-size: 12px; color: var(--ttai-sub); line-height: 1.6; padding: 0 0 8px; }

.ttai-cp { display: flex; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px dashed rgba(255,113,35,.3); }
.ttai-cp__main { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0; text-align: left; cursor: pointer; color: var(--ttai-ink); }
.ttai-cp__main.is-static { cursor: default; }
.ttai-cp__title { display: block; font-size: 12.5px; font-weight: 800; line-height: 1.4; }
.ttai-cp__meta { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.ttai-tag { font-size: 10px; font-weight: 800; padding: 1px 7px; border-radius: 100px; background: #EFEDFB; color: var(--ttai-p); white-space: nowrap; }
.ttai-tag--exp { background: #F1ECE8; color: #6b5f57; }
.ttai-cp__side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: 0 0 auto; }
.ttai-cp__val { font-size: 12px; font-weight: 900; color: var(--ttai-o); white-space: nowrap; }
.ttai-cp__go { border: 0; border-radius: 100px; padding: 7px 11px; background: linear-gradient(135deg,#FF8F47,#FF7123); color: #fff;
  font-size: 11.5px; font-weight: 900; box-shadow: 0 2px 0 var(--ttai-od); white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.ttai-cp__go:active { transform: translateY(2px); box-shadow: none; }
.ttai-cp__go[data-busy] { opacity: .75; }

.ttai-ecotip { background: #fff; border: 1px solid rgba(43,35,32,.08); border-radius: 16px; padding: 10px 12px; margin-bottom: 10px; font-size: 12.5px; line-height: 1.6; }
.ttai-ecotip b { display: block; font-size: 12px; color: var(--ttai-p); margin-bottom: 3px; }
.ttai-others { margin-top: 4px; }
.ttai-others summary { cursor: pointer; font-size: 12.5px; font-weight: 900; color: var(--ttai-p); padding: 6px 0; outline: none; }
.ttai-others .ttai-grid { margin-top: 8px; }

.ttai-alts { margin-top: 10px; background: #fff; border: 1px solid rgba(43,35,32,.08); border-radius: 16px; padding: 10px 12px 2px; }
.ttai-alts__label { font-size: 11px; font-weight: 900; color: var(--ttai-sub); margin-bottom: 2px !important; }
.ttai-alts .ttai-cp:first-of-type { border-top: 0; }
.ttai-deal__tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px !important; }

/* 主ボタンを小さく中央寄せ・グリッドの件数表示 */
.ttai-go { display: flex; width: auto; max-width: 100%; margin: 10px auto 0; padding: 11px 24px; font-size: 14px; }
.ttai-svc__cnt { font-size: 10.5px; font-weight: 700; color: var(--ttai-sub); margin-left: 1px; }
.ttai-cp__side { align-items: center; }

/* スマホ: ヒーローのボタンを文言の下に全幅で出す */
@media (max-width: 420px) {
  .tp26 .ttai-hero { flex-wrap: wrap; }
  .tp26 .ttai-hero__btn { display: flex; justify-content: center; flex: 1 1 100%; margin-top: 6px; padding: 11px 16px; font-size: 14px; }
}

/* ピルを厳選クーポンピルと同じ寸法に */
.ttai-pill__open { font-size: 12.5px; gap: 6px; padding: 6px 8px 6px 5px; }
.ttai-pill__avatar { width: 24px; height: 24px; font-size: 13px; }
.ttai-pill__close { width: 24px; height: 24px; flex-basis: 24px; font-size: 14px; }

/* ヒーロー: オレンジは主ボタンだけ。ブランドピルはサブカラー、アイコンは白地 */
.tp26 .ttai-hero__brand { color: #675CC5; background: #EFEDFB; }
.tp26 .ttai-hero__avatar { background: #fff; border: 1.5px solid rgba(255,113,35,.35); box-shadow: none; }
.tp26 .ttai-hero:focus-visible { outline: none; }

/* ピルを厳選クーポンピルと同じ寸法に */
.ttai-pill__open { font-size: 12.5px; gap: 6px; padding: 6px 8px 6px 5px; }
.ttai-pill__avatar { width: 24px; height: 24px; font-size: 13px; }
.ttai-pill__close { width: 24px; height: 24px; flex-basis: 24px; font-size: 14px; }

/* ヒーロー: オレンジは主ボタンだけ。ブランドピルはサブカラー、アイコンは白地 */
.tp26 .ttai-hero__brand { color: #675CC5; background: #EFEDFB; }
.tp26 .ttai-hero__avatar { background: #fff; border: 1.5px solid rgba(255,113,35,.35); box-shadow: none; }
.tp26 .ttai-hero:focus-visible { outline: none; }

/* 絞り込み行のチップだけ: 文字 0.8em・余白 0.4em 1em */
.ttai-row--filter .ttai-chip { font: inherit; font-size: 0.8em; padding: 0.4em 1em; }
.ttai-chip { font: inherit; font-size: 0.8em; padding: 0.4em 1em; }

/* チップは px で固定（予算・絞り込み共通）。割引表記は折り返さない */
.ttai .ttai-row .ttai-chip { font-family: inherit; font-size: 12.5px; font-weight: 800; line-height: 1.3; padding: 6px 13px; }
.ttai .ttai-svc__deal { white-space: nowrap; font-size: 10.5px; }
@media (max-width: 360px) { .ttai .ttai-svc__deal { font-size: 9.5px; } }

/* 県ページの厳選クーポンブロック・コードタグ */
.ttai-featured { margin-bottom: 12px; }
.ttai-featured__label { font-size: 11px; font-weight: 900; color: var(--ttai-o); margin-bottom: 6px !important; }
.ttai-lens__head.is-static { cursor: default; }
.ttai-lens__head .ttai-badge { margin-left: auto; }
.ttai-tag--code { background: #FFF8F3; border: 1px dashed var(--ttai-o); color: var(--ttai-ink); font-weight: 900; letter-spacing: .04em; }

/* PCでも固定フッター（data-ttai-above）がある時はその直上に */
@media (min-width: 992px) {
  .ttai-pill { bottom: var(--ttai-bottom, 24px); }
  .ttai-fb { bottom: calc(var(--ttai-bottom, 24px) + 54px); }
}

/* ピルの×を廃止 */
.ttai-pill__close { display: none; }
.ttai-pill__open { padding: 6px 14px 6px 5px; }

/* ===== フッター中央のAIボタン ===== */
.mfnav .mfnav-item--ai { border: 0; background: transparent; font: inherit; color: inherit; cursor: pointer; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; }
.mfnav .mfnav-ai { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin: -16px auto 2px; border-radius: 50%;
  background: linear-gradient(135deg, #FF8F47, #FF7123); box-shadow: 0 3px 0 #D95A12, 0 8px 18px rgba(255,113,35,.32); font-size: 22px; }
.mfnav .mfnav-item--ai:active .mfnav-ai { transform: translateY(2px); box-shadow: 0 1px 0 #D95A12, 0 4px 10px rgba(255,113,35,.28); }
.mfnav button.mfnav-item { border: 0; background: transparent; font: inherit; color: inherit; cursor: pointer; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; }

/* スマホではピルを出さない（中央AIが入口）。mfnavが無いページ（サービス詳細など）はピルのまま */
@media (max-width: 991.98px) {
  body:has(.mfnav .mfnav-item--ai) .ttai-pill { display: none !important; }
}

/* ===== ツールメニューのボトムシート ===== */
.mftools { position: fixed; inset: 0; z-index: 1065; display: flex; align-items: flex-end; justify-content: center;
  font-family: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', sans-serif; }
.mftools[hidden] { display: none !important; }
.mftools__backdrop { position: absolute; inset: 0; background: rgba(43,35,32,.55); opacity: 0; transition: opacity .25s; }
.mftools__panel { position: relative; width: 100%; max-width: 520px; background: #FFF8F3; color: #2b2320; border-radius: 26px 26px 0 0;
  padding: 10px 16px calc(22px + env(safe-area-inset-bottom)); transform: translateY(100%); transition: transform .28s cubic-bezier(.22,1,.36,1); }
.mftools.is-open .mftools__backdrop { opacity: 1; }
.mftools.is-open .mftools__panel { transform: none; }
.mftools__grip { width: 44px; height: 5px; border-radius: 100px; background: rgba(43,35,32,.18); margin: 0 auto 10px; }
.mftools__close { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #fff; color: #2b2320;
  font-size: 20px; line-height: 1; cursor: pointer; box-shadow: 0 2px 6px rgba(43,35,32,.12); }
.mftools__title { font-size: 16px; font-weight: 900; margin: 4px 40px 12px 0; }
.mftools__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.mftools__item { display: flex; align-items: center; gap: 10px; background: #fff; border: 1.5px solid rgba(255,113,35,.24); border-radius: 16px; padding: 12px;
  text-decoration: none; color: #2b2320; -webkit-tap-highlight-color: transparent; }
.mftools__item:hover { color: #2b2320; text-decoration: none; }
.mftools__item:active { transform: translateY(2px); }
.mftools__icon { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 12px; background: #FFEFE4; color: #FF7123; display: flex; align-items: center; justify-content: center; font-size: 16px; }
.mftools__name { display: block; font-size: 14px; font-weight: 900; line-height: 1.2; }
.mftools__desc { display: block; font-size: 11px; color: #7a6e66; margin-top: 2px; }

/* 中央AI: 他のタブと同じ横並びに */
.mfnav .mfnav-item--ai { display: flex; align-items: center; gap: 6px; }
.mfnav .mfnav-ai { width: 34px; height: 34px; margin: 0; font-size: 18px; box-shadow: 0 2px 0 #D95A12; }
.mfnav .mfnav-label { white-space: nowrap; }

/* ===== 5枠対応: 余白を詰め、アクティブの広がりを控えめに ===== */
.mfnav .mfnav-inner { gap: 2px; padding: 6px; }
.mfnav .mfnav-item { padding: 9px 5px; }
.mfnav .mfnav-item.active { padding: 9px 12px; }
.mfnav .mfnav-label { font-size: 10px; margin-left: 3px; }
.mfnav .mfnav-item--ai { padding: 4px 6px; gap: 5px; }
.mfnav .mfnav-ai { width: 32px; height: 32px; font-size: 17px; box-shadow: 0 2px 0 #D95A12; }
.mfnav .mfnav-item--ai .mfnav-label { color: #FF7123; }
@media (max-width: 359px) {
  .mfnav .mfnav-item:not(.active):not(.mfnav-item--ai) .mfnav-label { display: none; }
}

/* ===== フッター: 全タブ同じ見た目に戻す（色・アイコン・余白） ===== */
.mfnav button.mfnav-item { color: #b3a89f; }
.mfnav button.mfnav-item.active { color: #fff; }
.mfnav .mfnav-item--ai { display: flex; gap: 0; padding: 9px 5px; }
.mfnav .mfnav-item--ai .mfnav-label { color: inherit; }
.mfnav .mfnav-inner { max-width: calc(100vw - 24px); gap: 2px; padding: 6px; }
.mfnav .mfnav-item { flex: 0 1 auto; padding: 9px 5px; }
.mfnav .mfnav-item.active { padding: 9px 11px; }
.mfnav .mfnav-icon { font-size: 16px; }
.mfnav .mfnav-label { font-size: 9.5px; margin-left: 3px; }
@media (max-width: 359px) {
  .mfnav .mfnav-item:not(.active) .mfnav-label { display: none; }
}

/* ボタン型タブ（AI・ツール）のアクティブ時もオレンジピルに */
.mfnav button.mfnav-item.active { background: linear-gradient(135deg, #FF8A47, #FF7123); color: #fff; }

/* スマホ（ピル無し）では「使えた？」をフッターの直上に */
.ttai.is-nopill .ttai-fb { bottom: var(--ttai-bottom, calc(16px + env(safe-area-inset-bottom))); }

/* 「使えた？」の吹き出しは廃止 */
.ttai-fb { display: none !important; }
