/* ============================================================
   フリマねこ 統合サイト — 共通デザインシステム v1
   猫のステッカー素材（白抜き）を主役に、丸ゴシック × 大きな余白 × 図解。
   ============================================================ */
:root{
  --paper:#FFFBF5; --cream:#FFF3E6; --cream-2:#FFE9D2; --white:#FFFFFF;
  --ink:#1E2A38; --ink-2:#4A5A6C; --mute:#7C8A99; --line:#F0E2D2; --line-2:#E3E8EE;
  --orange:#F5883C; --orange-d:#D9671A; --orange-soft:#FFEBD8; --orange-ink:#8A3E0B;
  --mint:#2FB58A; --mint-soft:#E3F6EE; --sky:#3E8BE8; --sky-soft:#E6F0FC; --red:#E24C4B; --red-soft:#FCE8E7; --yellow:#FFC83D;
  --navy:#1E2A38; --navy-2:#2B3B4E;
  --dp:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
  --jp:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic Medium",sans-serif;
  --num:"Fredoka","Zen Maru Gothic",sans-serif;
  --r:22px; --r-s:14px; --shadow:0 18px 40px rgba(30,42,56,.10); --shadow-s:0 6px 18px rgba(30,42,56,.08);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--jp);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--dp);font-weight:900;line-height:1.35;margin:0;letter-spacing:.01em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.narrow{max-width:860px}
.mono{font-family:var(--num)}
.mark{background:linear-gradient(transparent 62%,var(--orange-soft) 62%)}
.hl{color:var(--orange-d)}
strong{font-weight:700}

/* --- ボタン --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#fff;text-decoration:none;font-family:var(--dp);font-weight:900;font-size:16px;padding:16px 30px;border-radius:999px;box-shadow:0 6px 0 var(--orange-d);transition:transform .12s,box-shadow .12s;white-space:nowrap}
.btn:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--orange-d)}
.btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line-2)}
.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--orange)}
.btn.sm{padding:10px 20px;font-size:14px;box-shadow:0 4px 0 var(--orange-d)}
.btn.lg{padding:20px 40px;font-size:18px}
.btn.ghost.sm{box-shadow:inset 0 0 0 2px var(--line-2)}
.btn .ar{font-family:var(--num);font-weight:600}

/* --- ラベル --- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--num);font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-d);background:var(--orange-soft);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.eyebrow.mint{color:#14735A;background:var(--mint-soft)}
.eyebrow.sky{color:#1F5FB0;background:var(--sky-soft)}
.eyebrow.navy{color:#fff;background:var(--navy-2)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;border-radius:999px;padding:6px 13px;background:#fff;border:1.5px solid var(--line)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip.pf{border-color:var(--orange-soft);background:var(--orange-soft);color:var(--orange-ink)}
.badge{display:inline-block;font-family:var(--num);font-weight:600;font-size:11.5px;letter-spacing:.08em;border-radius:8px;padding:3px 9px;text-transform:uppercase}
.badge.auto{background:var(--mint-soft);color:#14735A}
.badge.manual{background:var(--sky-soft);color:#1F5FB0}
.badge.free{background:var(--orange);color:#fff}
.badge.new{background:var(--yellow);color:var(--ink)}

/* --- セクション --- */
section{padding:96px 0;position:relative}
section.tight{padding:64px 0}
.cream{background:var(--cream)}
.navy{background:var(--navy);color:#fff}
.navy .eyebrow{background:rgba(255,255,255,.12);color:#FFD2AE}
.sec-head{max-width:760px;margin-bottom:44px}
.sec-head h2{font-size:38px;margin-bottom:14px}
.sec-head p{color:var(--ink-2);font-size:17px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.lead{color:var(--ink-2);font-size:17px}
.note{font-size:13px;color:var(--mute)}
@media (max-width:760px){section{padding:64px 0}.sec-head h2{font-size:28px}.sec-head p{font-size:15.5px}}

/* --- ステッカー猫 --- */
.cat{filter:drop-shadow(0 12px 22px rgba(30,42,56,.14));user-select:none;-webkit-user-drag:none}
.cat.tilt-l{transform:rotate(-4deg)}.cat.tilt-r{transform:rotate(4deg)}
.cat.float{animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.sticker{position:relative;display:inline-block}
.sticker::before{content:"";position:absolute;inset:6% 4% 4% 4%;border-radius:40% 45% 42% 48%;background:#fff;z-index:-1;box-shadow:var(--shadow-s)}
@media (prefers-reduced-motion:reduce){.cat.float{animation:none}}

/* --- ヘッダー --- */
.head{position:sticky;top:0;z-index:60;background:rgba(255,251,245,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hbar{display:flex;align-items:center;gap:16px;height:70px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--dp);font-weight:900;font-size:19px;flex:none}
.logo img{width:36px;height:36px;border-radius:10px}
.tabs{display:flex;gap:3px;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:4px;flex:none}
.tabs a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink-2);font-family:var(--dp);font-weight:700;font-size:13.5px;line-height:1.15;padding:6px 15px;border-radius:999px;white-space:nowrap}
.tabs a small{font-family:var(--num);font-size:10.5px;font-weight:600;color:var(--mute);letter-spacing:.02em;margin-top:2px}
.tabs a.on{background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--line),0 3px 10px rgba(30,42,56,.08)}
.tabs a.on small{color:var(--orange-d)}
.sub{display:flex;gap:16px;margin-left:auto;font-size:14px;font-weight:700;flex:none}
.sub a{text-decoration:none;color:var(--ink-2);white-space:nowrap}
.sub a:hover{color:var(--orange-d)}
.hbar .btn{flex:none}
.menu-btn{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:12px;width:44px;height:44px;font-size:20px;cursor:pointer;color:var(--ink)}
@media (max-width:1180px){.sub{display:none}}
@media (max-width:1040px){.logo span{display:none}}
@media (max-width:720px){.hbar{gap:8px;height:62px}.tabs{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{padding:5px 11px;font-size:12.5px}.tabs a small{display:none}.hbar>.btn{display:none}.menu-btn{display:block}}
.mnav{display:none;position:fixed;inset:62px 0 0 0;background:var(--paper);z-index:59;padding:20px 24px;overflow:auto}
.mnav.on{display:block}
.mnav a{display:block;font-family:var(--dp);font-weight:700;font-size:18px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.mnav .btn{display:flex;margin-top:18px;border:0}

/* --- ヒーロー --- */
.hero{padding:56px 0 40px;overflow:hidden;background:radial-gradient(70% 80% at 85% 20%,var(--cream-2) 0%,transparent 60%),var(--paper)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center}
.hero h1{font-size:46px;line-height:1.28;margin:14px 0 20px}
.hero .lead{font-size:18px;max-width:520px;margin-bottom:28px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:22px}
.hero .trust{display:flex;gap:8px;flex-wrap:wrap}
.hero .trust .chip{background:#fff}
.hero-art{position:relative;display:flex;justify-content:center;align-items:center}
.hero-art .cat{width:min(480px,100%)}
.hero-art .bub{position:absolute;background:var(--ink);color:#fff;font-family:var(--dp);font-weight:900;border-radius:16px;padding:10px 16px;font-size:14px;line-height:1.3;box-shadow:var(--shadow)}
.hero-art .bub b{display:block;font-size:20px;color:#FFB077}
.hero-art .bub.tr{top:6%;right:0}.hero-art .bub.bl{bottom:10%;left:0}
.hero-art .bub.pill{background:#fff;color:var(--ink);border:2px solid var(--line)}
.hero-art .bub.pill b{color:var(--orange-d);display:inline;font-size:16px}
.hero-art .bub.say{bottom:19%;right:0;left:auto;top:auto;max-width:330px;background:#fff;color:var(--ink);border:2.5px solid var(--orange);border-radius:18px;padding:11px 16px;font-size:15px;line-height:1.5;transform:rotate(-2deg);text-align:center}
.hero-art .bub.say b{display:inline;font-size:15px;color:var(--orange-d)}
.fan .cap .m b{color:var(--mute)}.fan .cap .r b{color:var(--orange-d)}
@media (max-width:900px){.hero{padding:28px 0 24px}.hero-grid{grid-template-columns:1fr;gap:22px}.hero-art{order:0;margin-top:4px}.hero-art .cat{width:min(260px,62%)}.hero h1{font-size:min(31px,7.3vw)}.hero .lead{font-size:16px}.hero-art .bub{font-size:12.5px;padding:8px 12px}.hero-art .bub.say{font-size:12px;max-width:240px;padding:8px 10px;bottom:16%}.hero-art .bub b{font-size:16px}}

/* --- 対応サイトのタイル --- */
.sites{display:flex;gap:8px;flex-wrap:wrap}
.site{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:13.5px;border-radius:12px;padding:8px 13px;background:#fff;border:1.5px solid var(--line);font-family:var(--dp)}
.site i{width:10px;height:10px;border-radius:3px;display:inline-block}
.s-mer i{background:#E60012}.s-shops i{background:#3B6CFF}.s-raku i{background:#1c3f95}.s-yau i{background:#FF0033}.s-yfm i{background:#F72E52}

/* --- 図解: 1回で5サイト --- */
.fan{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:36px;box-shadow:var(--shadow-s)}
.fan .src{justify-self:center;text-align:center}
.fan .card-p{width:220px;background:var(--cream);border-radius:18px;padding:16px;border:1.5px solid var(--line);text-align:left}
.fan .card-p .ph{height:110px;border-radius:12px;background:linear-gradient(135deg,#FFE0C2,#FFF3E6);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.fan .card-p .ph img{width:80px}
.fan .card-p .t{font-weight:800;font-size:13.5px;line-height:1.4}
.fan .card-p .pr{font-family:var(--num);font-weight:600;color:var(--orange-d);font-size:18px}
.fan .arrows{width:120px;height:260px}
.fan .dst{display:grid;gap:10px}
.fan .dst .site{justify-content:flex-start;padding:12px 16px;font-size:15px;border-radius:14px}
.fan .dst .site small{margin-left:auto;font-family:var(--num);color:var(--mint);font-weight:600;font-size:12px}
.fan .cap{grid-column:1/-1;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:6px;color:var(--ink-2);font-size:14px}
.fan .cap b{font-family:var(--dp);font-size:22px;color:var(--ink)}
.fan .cap .x{font-family:var(--num);color:var(--orange-d);font-size:26px;font-weight:600}
@media (max-width:760px){.fan{grid-template-columns:1fr;padding:22px}.fan .arrows{width:100%;height:60px;transform:rotate(90deg);display:none}.fan .card-p{width:100%}}

/* --- 大きな数字 --- */
.bignum{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;text-align:center}
.bignum .n{font-family:var(--num);font-weight:600;font-size:72px;line-height:1;letter-spacing:-.02em}
.bignum .n small{font-family:var(--dp);font-size:20px;font-weight:900;margin-left:4px}
.bignum .l{color:var(--ink-2);font-size:14px;margin-top:6px}
.bignum .vs{font-family:var(--num);color:var(--mute);font-size:18px}
.bignum .bad .n{color:var(--mute)}
.bignum .good .n{color:var(--orange-d)}
@media (max-width:640px){.bignum .n{font-size:52px}}

/* --- Before / After --- */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ba .col{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:28px 28px 24px;position:relative}
.ba .col.after{border-color:var(--orange);box-shadow:var(--shadow)}
.ba .tag{position:absolute;top:-14px;left:24px;font-family:var(--num);font-weight:600;font-size:12px;letter-spacing:.14em;border-radius:999px;padding:5px 14px;background:var(--mute);color:#fff}
.ba .after .tag{background:var(--orange)}
.ba .col img{width:120px;position:absolute;right:16px;top:-40px}
.ba h3{font-size:20px;margin:6px 0 14px;padding-right:130px}
.ba li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px dashed var(--line);font-size:15px}
.ba li:first-child{border-top:0}
.ba li i{flex:none;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;margin-top:4px}
.ba .before li i{background:var(--red-soft);color:var(--red)}
.ba .after li i{background:var(--mint-soft);color:var(--mint)}
@media (max-width:760px){.ba{grid-template-columns:1fr;gap:56px}.ba h3{padding-right:100px;font-size:18px}.ba .col img{width:96px;top:-34px}}

/* --- 機能カード --- */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pillar{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:30px;display:grid;grid-template-columns:1fr 130px;gap:16px}
.pillar .num{font-family:var(--num);font-weight:600;color:var(--orange);font-size:14px;letter-spacing:.14em}
.pillar h3{font-size:24px;margin:4px 0 8px}
.pillar p{color:var(--ink-2);font-size:15px;margin-bottom:12px}
.pillar li{position:relative;padding:5px 0 5px 24px;font-size:14.5px}
.pillar li::before{content:"";position:absolute;left:0;top:14px;width:12px;height:12px;border-radius:4px;background:var(--orange)}
.pillar img{width:130px;align-self:start}
@media (max-width:760px){.pillars{grid-template-columns:1fr}.pillar{grid-template-columns:1fr 90px;padding:22px}.pillar img{width:90px}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fcard{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px}
.fcard img{width:64px;height:64px;object-fit:contain}
.fcard h4{font-size:16.5px;margin-top:4px}
.fcard p{font-size:14px;color:var(--ink-2);flex:1}
.fcard .sup{font-size:12px;color:var(--mute)}
.fcard .sup b{color:var(--ink)}
@media (max-width:900px){.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid3,.grid4,.grid2{grid-template-columns:1fr}}

/* --- 図解: 値下げ --- */
.pricechart{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow-s)}
.pricechart svg{width:100%;height:auto;display:block}
.pricechart .legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--ink-2)}
.pricechart .legend i{display:inline-block;width:14px;height:4px;border-radius:2px;vertical-align:middle;margin-right:6px}

/* --- 比較表 --- */
.cmp-hint{display:none}
.cmp{overflow-x:auto;background:#fff;border:1.5px solid var(--line);border-radius:var(--r)}
/* スマホ: 表は横にスクロール。1列目（項目名）を固定し、右端にうっすら影を出して「続きがある」と分かるように */
@media (max-width:760px){
  .cmp{position:relative}
  .cmp table{min-width:600px;font-size:13.5px;table-layout:fixed}
  .cmp th,.cmp td{padding:12px 12px}
  .cmp th:first-child,.cmp td:first-child{position:sticky;left:0;background:#fff;z-index:1;box-shadow:2px 0 0 var(--line)}
  .cmp thead th:first-child,.cmp .row-h td:first-child{background:var(--cream)}
  .cmp-hint{display:block;font-size:12px;color:var(--mute);margin:0 0 8px;text-align:right}
  .cmp th:first-child,.cmp td:first-child{width:128px!important;min-width:128px;max-width:128px;font-size:12.5px;padding-right:8px} /* 見出し行の inline width:34% より優先 */
}
.cmp table{border-collapse:collapse;width:100%;min-width:640px;font-size:14.5px}
.cmp th,.cmp td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.cmp thead th{font-family:var(--dp);font-size:14px;color:var(--mute);font-weight:700;background:var(--cream)}
.cmp thead th.me{color:var(--orange-d);background:var(--orange-soft)}
.cmp td.me{background:#FFF8F1;font-weight:700}
.cmp td .ok{color:var(--mint);font-weight:900;font-family:var(--num);font-size:18px;margin-right:6px}
.cmp td .ng{color:var(--red);font-weight:900;font-family:var(--num);font-size:16px;margin-right:6px}
.cmp tr:last-child td{border-bottom:0}
.cmp .row-h td{background:var(--cream);font-family:var(--dp);font-weight:900;color:var(--ink)}

/* --- 手順 --- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:step}
.step{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:22px;position:relative}
.step::before{counter-increment:step;content:counter(step);position:absolute;top:-16px;left:18px;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--num);font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 0 var(--orange-d)}
.step h4{font-size:16.5px;margin:8px 0 6px}
.step p{font-size:14px;color:var(--ink-2)}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:26px}}

/* --- 料金 --- */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;max-width:760px;margin:0 auto}
.plan{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:30px 28px;text-align:center;position:relative}
.plan.hot{border-color:var(--orange);box-shadow:var(--shadow)}
.plan .pn{font-family:var(--dp);font-weight:900;font-size:16px;display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:5px 16px}
.plan .pv{font-family:var(--num);font-weight:600;font-size:56px;line-height:1.1;margin:14px 0 2px;letter-spacing:-.02em}
.plan .pv small{font-family:var(--dp);font-size:16px;font-weight:900;margin-left:4px;color:var(--ink-2)}
.plan .pv .yen{font-size:24px;margin-right:2px}
.plan .ps{color:var(--ink-2);font-size:14px}
.plan ul{text-align:left;margin:18px 0 0;padding-top:16px;border-top:1px dashed var(--line)}
.plan li{position:relative;padding:5px 0 5px 26px;font-size:14.5px}
.plan li::before{content:"✓";position:absolute;left:0;top:5px;color:var(--mint);font-weight:900}
.plan .free{margin-top:12px;font-size:13px;color:var(--orange-d);font-weight:700}
.trial{margin-top:24px;background:#fff;border:2px solid var(--orange);border-radius:var(--r);padding:26px 30px;display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:center;max-width:860px;margin-left:auto;margin-right:auto}
.trial h3{font-size:20px;color:var(--orange-d);margin-bottom:4px}
.trial p{font-size:14.5px;color:var(--ink-2)}
@media (max-width:760px){.trial{grid-template-columns:1fr;text-align:center}.trial img{margin:0 auto}}

/* --- FAQ --- */
.faq{max-width:860px;margin:0 auto}
.faq details{background:#fff;border:1.5px solid var(--line);border-radius:16px;margin-bottom:10px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;padding:18px 22px;font-family:var(--dp);font-weight:700;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font-family:var(--num);color:var(--orange);font-weight:600;font-size:18px;flex:none}
.faq summary .pm{margin-left:auto;width:26px;height:26px;border-radius:50%;background:var(--cream);color:var(--orange-d);display:flex;align-items:center;justify-content:center;font-family:var(--num);flex:none;transition:transform .2s}
.faq details[open] summary .pm{transform:rotate(45deg)}
.faq details[open]{border-color:var(--orange)}
.faq .a{padding:0 22px 20px 56px;font-size:15px;color:var(--ink-2)}
.faq-grid{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}
.faq-side{position:sticky;top:96px;text-align:center}
.faq-side img{width:200px;margin:0 auto 10px}
.faq-side .say{display:inline-block;background:var(--orange-soft);color:var(--orange-ink);font-weight:700;font-size:13.5px;border-radius:14px;padding:10px 14px;position:relative}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}.faq-side{position:static}.faq-side img{width:140px}}

/* --- シリーズ / 次へ --- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards3.two{grid-template-columns:repeat(2,1fr);max-width:780px;margin:0 auto}
.pcard{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:26px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px;position:relative;transition:transform .18s,box-shadow .18s}
a.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pcard.here{border:2px solid var(--orange)}
.pcard img{width:110px;height:110px;object-fit:contain;margin:-6px 0 4px}
.pcard .nm{font-family:var(--dp);font-weight:900;font-size:20px}
.pcard .nm b{color:var(--orange-d)}
.pcard .ln{font-size:14px;color:var(--ink-2);flex:1}
.pcard .st{font-size:12px;color:var(--mute)}
.pcard .pr{align-self:flex-start;font-size:12.5px;font-weight:800;color:var(--orange-d);background:var(--orange-soft);border-radius:999px;padding:5px 12px}
.pcard .go{font-weight:800;color:var(--orange-d);font-size:14px;margin-top:4px}
.pcard.here .go{color:var(--mute)}
.pcard .here-tag{position:absolute;top:-13px;left:22px;background:var(--orange);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;border-radius:999px;padding:4px 12px}
@media (max-width:860px){.cards3,.cards3.two{grid-template-columns:1fr}}

/* --- 開発者 --- */
.dev{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:36px;display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:center}
.dev h2{font-size:30px;margin-bottom:12px}
.dev p{color:var(--ink-2);font-size:15px}
.dev li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px dashed var(--line);font-size:15px}
.dev li:first-child{border-top:0}
.dev li i{flex:none;width:22px;height:22px;border-radius:50%;border:3px solid var(--orange);margin-top:5px}
.dev img{width:140px;margin-bottom:10px}
@media (max-width:760px){.dev{grid-template-columns:1fr;padding:24px}}

/* --- 最終CTA --- */
.final{background:var(--orange-soft);color:var(--ink);padding:80px 0;overflow:hidden}
.final .grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.final h2{font-size:40px;margin-bottom:14px}
.final p{color:var(--ink-2);font-size:16px;margin-bottom:26px;max-width:520px}
.final .cat{width:min(320px,100%);justify-self:center}
.final .btn{box-shadow:0 6px 0 #B85614}
.final .note{color:var(--mute)}
@media (max-width:760px){.final{padding:56px 0}.final .grid{grid-template-columns:1fr}.final h2{font-size:28px}.final .cat{width:200px}}

/* --- フッター --- */
.foot{background:var(--cream);color:var(--ink-2);padding:56px 0 40px;font-size:13.5px;border-top:1px solid var(--line)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;align-items:start}
.foot .logo{color:var(--ink)}
.foot p{margin-top:12px;max-width:340px;line-height:1.8}
.foot h4{color:var(--ink);font-size:13px;letter-spacing:.06em;margin-bottom:12px}
.foot nav a{display:block;color:var(--ink-2);text-decoration:none;margin-bottom:9px}
.foot nav a:hover{color:var(--orange-d)}
.foot nav a b{color:var(--ink)}
.foot nav a small{color:var(--mute);margin-left:6px}
.foot .copy{margin-top:36px;font-size:12px;color:var(--mute);border-top:1px solid var(--line);padding-top:20px;max-width:none}
.foot .legal-links{display:block;margin-top:8px}.foot .legal-links a{color:var(--mute);text-decoration:none;font-size:11.5px;margin-right:14px}.foot .legal-links a:hover{color:var(--ink-2);text-decoration:underline}
.foot .fcat{width:120px;float:right;margin:-20px 0 0 12px;opacity:.95}
@media (max-width:760px){.fgrid{grid-template-columns:1fr;gap:26px}.foot .fcat{float:none;margin:0 0 12px}}

/* --- Telegram風メッセージ --- */
.tg{background:#0F1720;border-radius:22px;padding:18px 16px;color:#EAF0F6;font-size:13.5px;line-height:1.6;box-shadow:var(--shadow);max-width:380px}
.tg .bar{display:flex;align-items:center;gap:8px;color:#9FB0C2;font-size:12px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.tg .bar i{width:26px;height:26px;border-radius:50%;background:var(--sky);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.tg .msg{background:#1E2B3A;border-radius:14px;padding:10px 12px;margin-bottom:8px;position:relative}
.tg .msg.me{background:#3E5A80;margin-left:40px}
.tg .msg b{display:block;color:#fff;margin-bottom:2px}
.tg .msg .tm{position:absolute;right:10px;bottom:6px;font-size:10.5px;color:#7F92A6}
.tg .btns{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.tg .btns span{background:#26364A;border:1px solid #3A4F68;border-radius:8px;padding:5px 10px;font-size:12px;color:#DCE6F0}
.tg .btns span.hot{background:var(--sky);border-color:var(--sky);color:#fff}
.tg .msg.sys{background:transparent;text-align:center;color:#7F92A6;font-size:11.5px;padding:2px}

/* --- 図解: 秘書のしわけ --- */
.sort{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--shadow-s)}
.sort .in{display:grid;gap:8px}
.sort .in .nt{display:flex;align-items:center;gap:10px;background:var(--cream);border-radius:12px;padding:10px 12px;font-size:13.5px;font-weight:700}
.sort .in .nt i{width:10px;height:10px;border-radius:50%;flex:none}
.sort .mid{text-align:center;position:relative}
.sort .mid img{width:170px}
.sort .mid .lbl{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;font-family:var(--dp);font-weight:900;font-size:12.5px;border-radius:999px;padding:5px 12px}
.sort .out{display:grid;gap:12px}
.sort .out .lane{border-radius:16px;padding:14px 16px;border:1.5px solid var(--line)}
.sort .out .lane.auto{background:var(--mint-soft);border-color:#BFE8D7}
.sort .out .lane.you{background:var(--sky-soft);border-color:#BFD6F5}
.sort .out .lane h4{font-size:15px;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.sort .out .lane p{font-size:13px;color:var(--ink-2)}
@media (max-width:760px){.sort{grid-template-columns:1fr;padding:22px}.sort .mid img{width:130px}}

/* --- 図解: 売れたら止める --- */
.stopflow{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--shadow-s)}
.stopflow .row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch}
.stopflow .tile{border:1.5px solid var(--line);border-radius:16px;padding:16px 14px;text-align:center;position:relative;background:var(--paper)}
.stopflow .tile .nm{font-family:var(--dp);font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;gap:7px}
.stopflow .tile .nm i{width:10px;height:10px;border-radius:3px}
.stopflow .tile .st{margin-top:10px;font-size:12.5px;font-weight:800;border-radius:999px;padding:5px 10px;display:inline-block}
.stopflow .tile.sold{border-color:var(--orange);background:#FFF6EC}
.stopflow .tile.sold .st{background:var(--orange);color:#fff}
.stopflow .tile.stop .st{background:var(--mint-soft);color:#14735A}
.stopflow .tile .stamp{position:absolute;top:-12px;right:-8px;background:var(--red);color:#fff;font-family:var(--dp);font-weight:900;font-size:12px;border-radius:8px;padding:3px 8px;transform:rotate(6deg);box-shadow:var(--shadow-s)}
.stopflow .mid{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin:18px 0}
.stopflow .mid img{width:120px}
.stopflow .mid .ar{height:44px;position:relative;border-top:3px dashed var(--orange);margin-top:22px}
.stopflow .mid .ar span{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:#fff;padding:0 10px;font-family:var(--dp);font-weight:900;font-size:13px;color:var(--orange-d)}
@media (max-width:760px){.stopflow{padding:20px}.stopflow .row{grid-template-columns:1fr 1fr}}

/* --- 表（設定など） --- */
.kv{background:#fff;border:1.5px solid var(--line);border-radius:18px;overflow:hidden}
.kv div{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:14px 18px;border-top:1px solid var(--line);font-size:14.5px}
.kv div:first-child{border-top:0}
.kv div b{font-family:var(--dp);font-weight:700}
.kv div span{color:var(--ink-2)}
@media (max-width:600px){.kv div{grid-template-columns:1fr;gap:2px}}

/* --- 吹き出し付きの猫（セクション脇） --- */
.aside-cat{display:grid;grid-template-columns:1fr 200px;gap:24px;align-items:end}
.aside-cat img{width:200px}
@media (max-width:760px){.aside-cat{grid-template-columns:1fr}.aside-cat img{width:130px;justify-self:end}}
.callout{background:#fff;border-left:5px solid var(--orange);border-radius:12px;padding:16px 20px;font-size:14.5px;color:var(--ink-2)}
.callout b{color:var(--ink)}

/* --- 表示アニメーション（初期状態で見える） --- */
.rv{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
.js .rv{opacity:0;transform:translateY(14px)}
.js .rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}

/* --- スクショのスライド --- */
.shots{position:relative;display:flex;align-items:center;gap:10px}
.shots-track{flex:1;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 10px}
.shots-track::-webkit-scrollbar{display:none}
.shot{flex:0 0 min(720px,88%);scroll-snap-align:center;margin:0;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:12px;box-shadow:var(--shadow-s)}
.shot img,.shot .ph{width:100%;aspect-ratio:16/10;border-radius:12px;object-fit:contain;display:block;background:var(--cream)}
.shot .ph{background:repeating-linear-gradient(135deg,var(--cream),var(--cream) 12px,var(--orange-soft) 12px,var(--orange-soft) 24px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--orange-ink);font-family:var(--dp);font-weight:900;font-size:22px}
.shot .ph small{font-size:13px;font-weight:700;opacity:.7;margin-top:4px}
.shot figcaption{font-size:14px;color:var(--ink-2);padding:10px 6px 2px;text-align:center}
.shots-btn{flex:none;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font-size:24px;line-height:1;cursor:pointer;color:var(--ink);box-shadow:var(--shadow-s)}
.shots-btn:hover{border-color:var(--orange);color:var(--orange-d)}
@media (max-width:760px){.shots-btn{display:none}.shot{flex-basis:92%}}

/* --- こんな人に --- */
.who{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:28px 30px 26px}
.who h2{font-size:26px;text-align:center;margin-bottom:18px}
.who ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px}
.who li{flex:0 1 calc((100% - 12px)/2);white-space:nowrap;display:flex;gap:10px;align-items:flex-start;background:var(--cream);border-radius:14px;padding:12px 14px;font-size:14.5px;font-weight:700;line-height:1.5}
.who li i{width:22px;height:22px;border-radius:50%;background:var(--mint-soft);color:var(--mint);font-size:12px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:2px}
@media (max-width:900px){.who li{flex-basis:100%;white-space:normal}}
@media (max-width:640px){.who{padding:20px}.who h2{font-size:22px}.who li{flex-basis:100%}}
/* --- 対応表 --- */
.cmp.mx table{min-width:720px}
.fnpage .fn-lead{font-size:15px;color:var(--ink-2);margin:0 0 14px}
.fnpage .cmp.mx{margin-bottom:8px}
.cmp.mx th,.cmp.mx td{text-align:center;padding:12px 10px}
.cmp.mx th.fncol,.cmp.mx td.fncol{text-align:left;width:38%;font-weight:700;color:var(--ink)}
.cmp.mx td span{font-family:var(--num);font-weight:700;font-size:18px}
.cmp.mx td.ok span{color:var(--mint)}.cmp.mx td.ng span{color:#C9CFD6}.cmp.mx td.pt span{color:var(--orange-d)}
.cmp.mx td small{display:block;font-size:11px;color:var(--mute)}
/* --- 利用者の声 --- */
.voice li{list-style:none;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:20px;font-size:14.5px;display:flex;gap:10px}
.voice li i{font-family:var(--dp);font-size:28px;line-height:1;color:var(--orange);flex:none}
/* --- スマホ固定バー（PC用ツールの受け皿） --- */
.mbar{display:none}
@media (max-width:720px){
  body{padding-bottom:84px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:10px;align-items:center;padding:10px 14px;background:rgba(255,251,245,.96);border-top:1.5px solid var(--line);box-shadow:0 -6px 20px rgba(30,42,56,.08);backdrop-filter:blur(6px)}
  .mbar-t{flex:1;font-size:12px;line-height:1.45;color:var(--ink-2)}
  .mbar .btn{padding:10px 14px;font-size:13px;white-space:nowrap;background:#06C755;box-shadow:0 4px 0 #04963f}
}
/* --- 文章ページ（使い方・対応履歴） --- */
main.doc{padding:48px 0 96px}
.doc-grid{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}
.doc-toc{position:sticky;top:96px;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;font-size:13px}
.doc-toc h4{font-size:12px;color:var(--mute);letter-spacing:.1em;margin-bottom:6px}
.doc-toc a{display:block;padding:5px 0;text-decoration:none;color:var(--ink-2);border-top:1px dashed var(--line)}
.doc-toc a:first-of-type{border-top:0}.doc-toc a:hover{color:var(--orange-d)}
.doc article{max-width:760px}
.doc article h1{font-size:34px;margin:8px 0 10px}
.doc article .lead{color:var(--ink-2);font-size:16px;margin-bottom:26px}
.doc article h2{font-size:24px;margin:44px 0 12px;padding-top:8px;border-top:2px solid var(--orange-soft)}
.doc article h3{font-size:17px;margin:26px 0 8px;color:var(--orange-ink)}
.doc article p{margin:0 0 12px;font-size:15.5px}
.doc article ul,.doc article ol{margin:0 0 14px;padding-left:22px;font-size:15.5px}
.doc article ul{list-style:disc}.doc article ol{list-style:decimal}
.doc article li{margin:4px 0}
.doc article .callout{margin:12px 0 16px}
@media (max-width:860px){.doc-grid{grid-template-columns:1fr}.doc-toc{position:static}}

/* --- Feature02 のおまけ（さらっと触れる） --- */
.more{margin-top:22px;background:#fff;border:1.5px dashed var(--orange);border-radius:var(--r);padding:20px 24px}
.more h3{font-size:17px;margin-bottom:4px;color:var(--orange-ink)}
.more>p{font-size:14px;color:var(--ink-2);margin-bottom:12px}
.more ul{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}
.more li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);padding:4px 0}
.more li i{flex:none;width:18px;height:18px;border-radius:50%;background:var(--orange-soft);color:var(--orange-d);font-size:12px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;margin-top:3px}
@media (max-width:760px){.more ul{grid-template-columns:1fr}}
/* スマホ: 猫の吹き出しは絵の下に落とす（絵に被せない） */
@media (max-width:900px){.hero-art{flex-wrap:wrap}.hero-art .bub.say{position:static;transform:none;max-width:320px;margin:8px auto 0;flex-basis:100%;text-align:center}}

/* --- 機能詳細ページ --- */
.fnpage article{max-width:860px}
.fn-group{font-size:22px;margin:40px 0 14px;padding-top:10px;border-top:2px solid var(--orange-soft)}
.fn{display:grid;grid-template-columns:300px 1fr;gap:22px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:16px;align-items:start}
.fn-pic .ph{width:100%;aspect-ratio:4/3;border-radius:14px;display:block}
.fn-pic img{width:100%;max-height:340px;object-fit:contain;object-position:top;border-radius:14px;border:1.5px solid var(--line);background:#fff;display:block}
.fn-pic .ph{background:repeating-linear-gradient(135deg,var(--cream),var(--cream) 12px,var(--orange-soft) 12px,var(--orange-soft) 24px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;color:var(--orange-ink);font-size:12.5px;line-height:1.6}
.fn-pic .ph b{font-family:var(--dp);font-size:18px;margin-bottom:6px}
.fn-body h3{font-size:20px;margin-bottom:8px}
.fn-when{font-size:14.5px;color:var(--ink-2);margin-bottom:10px;background:var(--cream);border-radius:12px;padding:10px 12px}
.fn-when b{display:inline-block;font-size:11.5px;color:var(--orange-d);background:#fff;border-radius:999px;padding:2px 9px;margin-right:8px;font-family:var(--dp)}
.fn-steps{margin:0 0 10px;padding-left:22px;list-style:decimal;font-size:14.5px}
.fn-steps li{margin:4px 0}
.fn-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12.5px;color:var(--mute);margin-top:8px}
.fn-meta b{font-weight:700;margin-right:6px;color:var(--ink-2)}
.fn-meta span{display:inline-block;background:var(--cream);border-radius:999px;padding:2px 9px;margin:2px 4px 2px 0;color:var(--ink)}
.fn .callout{margin:6px 0 10px;font-size:13.5px}
.doc-toc .toc-alt{margin-top:8px;color:var(--orange-d);font-weight:700}
.fn.wide{grid-template-columns:1fr}
.fn.wide .fn-pic img{max-height:none}
.fn-pic a{display:block}
.fn-pic a+a{margin-top:10px}
.fn-pic.small a{display:flex;justify-content:center;padding:28px 16px;border-radius:14px;border:1.5px solid var(--line);background:#fff}
.fn-pic.small img{width:auto;max-width:100%;border:0;border-radius:12px;image-rendering:auto}
.fn-pic a:hover img{border-color:var(--orange)}
@media (max-width:760px){.fn{grid-template-columns:1fr}}

.more.main{margin-top:0;padding:26px 28px}
.more.main h3{font-size:19px}
.more.main li{display:block;font-size:14.5px;padding:6px 0 6px 26px;position:relative;line-height:1.6}
.more.main li i{position:absolute;left:0;top:9px;margin:0}
.more.main li b{color:var(--ink);margin-right:6px}
@media (max-width:760px){.more ul{grid-template-columns:1fr}.more.main{padding:20px}}
.more-cta{display:flex;align-items:center;gap:16px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--orange-soft);flex-wrap:wrap}
.more-cta .note{font-size:13px}
@media (max-width:640px){.more-cta{flex-direction:column;align-items:stretch;text-align:center}}
