
:root{
 --bg:#06101b;--bg2:#0a1524;--panel:#0e1a2a;--panel2:#111f32;--line:rgba(255,255,255,.105);
 --text:#f8fafc;--muted:#93a2b7;--gold:#f0bf45;--gold2:#ffdc77;--blue:#6684ff;--green:#59d5a6;--pink:#ef619a;
 --radius:18px;--shadow:0 24px 70px rgba(0,0,0,.24)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 15% 0,rgba(86,76,255,.14),transparent 25%),linear-gradient(180deg,var(--bg),#091522 56%,var(--bg));color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{max-width:100%}
.container{max-width:1180px;margin:auto;padding:0 18px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(5,12,21,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.header-inner{height:70px;display:flex;align-items:center;gap:27px}
.brand{display:flex;align-items:center;gap:10px;font-weight:950;letter-spacing:.2px}
.brand-mark{position:relative;width:38px;height:38px;padding:0;border:2px solid #f7c52e;border-radius:50%;background:transparent;box-shadow:0 0 0 4px rgba(247,197,46,.08),inset 0 0 14px rgba(247,197,46,.06)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;border-radius:50%;border:3px solid #f7c52e}
.brand-mark:before{inset:6px;border-right-color:transparent;transform:rotate(-28deg)}
.brand-mark:after{width:6px;height:6px;border:0;background:#f7c52e;right:4px;top:6px;box-shadow:0 0 10px #f7c52e}
.brand small{display:block;color:#73849a;font-size:8px;letter-spacing:1.45px;margin-top:2px}
.nav{display:flex;gap:21px;font-size:11px;font-weight:850;color:#c2ccda}
.nav a:hover{color:white}
.header-search{margin-left:auto;display:flex;gap:8px}
.search-input{width:235px;border:1px solid var(--line);background:#0b1726;color:white;border-radius:999px;padding:9px 13px;outline:none}
.header-cta{padding:9px 12px;border-radius:10px;background:#19283b;color:#dbe4ef;border:1px solid var(--line);font-size:9px;font-weight:900}
.mobile-menu{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:22px}
.hero{padding:24px 0 10px}
.hero-box{min-height:470px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);background:#0b1422}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,17,.96),rgba(3,9,17,.82) 38%,rgba(3,9,17,.12) 74%)}
.hero-copy{position:relative;z-index:2;max-width:630px;padding:60px 48px}
.eyebrow{font-size:9px;font-weight:900;letter-spacing:1.55px;color:#c2cedd}
.hero h1{font-size:52px;line-height:1.12;letter-spacing:-2px;margin:16px 0}
.hero h1 em{font-style:normal;color:var(--gold2)}
.hero p{font-size:12px;line-height:1.95;color:#bdc9d8;max-width:560px}
.chips{display:flex;gap:7px;flex-wrap:wrap;margin:21px 0}
.chip{padding:7px 10px;border:1px solid rgba(255,255,255,.17);background:rgba(6,13,23,.5);border-radius:999px;font-size:9px;font-weight:850}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 15px;font-size:10px;font-weight:950;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#191207}
.btn-dark{background:#152438;color:#e9eef5;border:1px solid var(--line)}
.btn-light{background:#f7f9fc;color:#111823}
.newsbar{margin-top:13px;background:#f6f7f9;color:#2e3948;border-radius:13px;padding:11px 14px;display:flex;align-items:center;gap:10px;font-size:9px}
.news-tag{background:#101827;color:#fff;border-radius:7px;padding:4px 7px;font-weight:900}
.section{padding:33px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:15px}
.section-head h2{font-size:28px;margin:0;letter-spacing:-.45px}
.section-head p{font-size:10px;color:var(--muted);margin:5px 0 0}
.section-link{font-size:9px;font-weight:900;color:#c2cdda}
.ranking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.rank-card{background:linear-gradient(180deg,#0f1c2d,#0a1523);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.13)}
.rank-card.rank-1{border-color:rgba(240,191,69,.57)}
.rank-image{width:100%;height:190px;object-fit:cover;display:block}
.rank-body{padding:15px}
.rank-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rank-title h3{margin:0;font-size:17px}
.place{font-size:9px;font-weight:950;background:#18273b;padding:6px 8px;border-radius:8px}
.rank-1 .place{background:#aa7d1a}
.score{font-size:9px;color:#d7bd72;font-weight:900;margin-top:5px}
.rank-desc{font-size:10px;color:#aab7c8;line-height:1.72;min-height:52px}
.tag-row{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}
.tag{font-size:8px;background:#162438;color:#cbd5e2;border-radius:6px;padding:5px 7px;font-weight:850}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:11px 0}
.stat{padding:9px 4px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border:0}
.stat b{font-size:9px;display:block}.stat small{font-size:7px;color:#7e8ca0}
.rank-actions{display:flex;gap:7px}.rank-actions .btn{flex:1}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.category-card{background:#0e1a29;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.18s}
.category-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.21)}
.category-card img{width:100%;height:112px;object-fit:cover;display:block}
.category-copy{padding:11px}.category-copy b{font-size:11px}.category-copy small{display:block;font-size:8px;color:#8391a5;margin-top:4px}
.compare-box{background:#0e1a29;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.filter-row{display:flex;gap:6px;padding:12px;border-bottom:1px solid var(--line);overflow:auto}
.filter{background:#111f31;color:#b6c1cf;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:8px;font-weight:900;white-space:nowrap}
.filter.active{background:#fff;color:#101722}
.filter-count{display:inline-block;margin-left:4px;font-style:normal;opacity:.7}
.filter:disabled{opacity:.4;cursor:not-allowed}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:790px}
th,td{padding:12px;border-bottom:1px solid var(--line);font-size:9px;text-align:left;vertical-align:middle}
th{font-size:7px;color:#7f8ea2;background:#0b1624;letter-spacing:.35px}
.table-cta{border:0;background:var(--gold);color:#181109;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:950}
.article-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.article-card{background:#0e1a29;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.article-card img{width:100%;height:135px;object-fit:cover;display:block}
.article-copy{padding:12px}
.article-copy small{font-size:7px;color:#7e8ca0}.article-copy b{display:block;font-size:10px;line-height:1.55;margin-top:5px}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.trust-card{padding:17px;border-radius:16px;background:#0e1a29;border:1px solid var(--line)}
.trust-card b{font-size:12px}.trust-card p{font-size:9px;color:#91a0b4;line-height:1.7;margin:6px 0 0}
.footer{border-top:1px solid var(--line);padding:36px 0 65px;color:#728297;font-size:9px}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,.7fr);gap:20px}
.footer h4{font-size:10px;color:#d0d8e4;margin:0 0 8px}.footer a{display:block;margin:6px 0}
.page-hero{padding:45px 0 10px}.page-hero .breadcrumbs{font-size:8px;color:#77879b}.page-hero h1{font-size:38px;margin:12px 0 10px;line-height:1.35}.page-hero p{font-size:11px;color:#a7b4c5;line-height:1.8;max-width:800px}
.content-layout{display:grid;grid-template-columns:1fr 260px;gap:18px}
.content-main{min-width:0}
.content-box,.side-box{background:#0e1a29;border:1px solid var(--line);border-radius:16px;padding:17px;margin-bottom:14px}
.content-box h2{font-size:23px;margin:2px 0 13px}.content-box h3{font-size:17px;margin:20px 0 9px}.content-box p,.content-box li{font-size:10px;line-height:1.85;color:#b2bece}
.content-box ul{padding-left:20px}
.side-box{position:sticky;top:88px}.side-box h3{font-size:11px;margin:0 0 8px}.side-box a{display:block;padding:7px 0;border-bottom:1px solid var(--line);font-size:9px;color:#a9b5c5}
.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:stretch}
.service-hero img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:18px;border:1px solid var(--line)}
.service-summary{background:#0e1a29;border:1px solid var(--line);border-radius:18px;padding:22px}
.service-summary h1{font-size:34px;margin:0 0 6px}.service-summary p{font-size:10px;color:#aab7c8;line-height:1.8}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.info{background:#101f32;border-radius:10px;padding:10px}.info small{display:block;color:#7f8ea2;font-size:7px}.info b{font-size:10px}
.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;background:#f3f5f8;color:#171b23}
.admin-side{background:#101824;color:white;padding:20px 14px}.admin-side h2{font-size:15px;margin:4px 8px 22px}.admin-side a{display:block;color:#9ca9ba;padding:10px 11px;border-radius:9px;font-size:10px;font-weight:850}.admin-side a.active{background:#1b2737;color:white}
.admin-main{padding:24px}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-top h1{font-size:24px;margin:0}.admin-top p{font-size:9px;color:#7f8894}
.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.admin-metric,.admin-panel{background:white;border:1px solid #e3e7ed;border-radius:14px;padding:14px}.admin-metric small{font-size:7px;color:#8b95a1;font-weight:900}.admin-metric b{display:block;font-size:22px;margin-top:5px}
.admin-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:10px}.admin-panel h3{font-size:13px;margin:0 0 4px}.admin-panel>p{font-size:8px;color:#838d99}
.admin-service{border:1px solid #e5e8ed;border-radius:11px;padding:10px;margin:8px 0}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.admin-row img{width:82px;height:50px;object-fit:cover;border-radius:7px;vertical-align:middle;margin-right:8px}.admin-actions{display:flex;gap:5px}.tiny{border:1px solid #dfe4ea;background:white;border-radius:7px;padding:5px 6px;font-size:7px;font-weight:900}.tiny.on{background:#eaf8f2;color:#16764f}.admin-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.admin-fields input,.admin-fields textarea{width:100%;border:1px solid #e2e6eb;border-radius:7px;padding:6px;font-size:7px}.admin-fields textarea{grid-column:1/-1;min-height:45px}.admin-save{background:#111827;color:white;border:0;border-radius:7px;padding:6px 8px;font-size:7px;font-weight:900;margin-top:6px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(10px);opacity:0;background:#fff;color:#111827;border-radius:10px;padding:9px 12px;font-size:9px;font-weight:900;z-index:99;transition:.2s;box-shadow:0 12px 30px rgba(0,0,0,.2)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.bottom-nav{display:none}
.mobile-menu{position:relative;z-index:2;line-height:1;transition:color .2s}
.site-header.nav-open .mobile-menu{color:#f0bf45}
@media(max-width:930px){
 .nav,.header-search{display:none}.mobile-menu{display:block}
 .site-header.nav-open{background:rgba(5,12,21,.98)}
 .site-header.nav-open .header-inner{height:auto;flex-wrap:wrap;padding-bottom:16px}
 .site-header.nav-open .nav,.site-header.nav-open .header-search{display:flex;flex:0 0 100%;width:100%;margin:0}
 .site-header.nav-open .nav{flex-direction:column;gap:2px;padding-top:8px;border-top:1px solid var(--line)}
 .site-header.nav-open .nav a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}
 .site-header.nav-open .nav a:after{display:none}
 .site-header.nav-open .header-search{margin-top:12px}
 .site-header.nav-open .search-input{flex:1;width:auto}
 .site-header.nav-open .search-box{flex:1;min-width:0}.site-header.nav-open .search-box .search-input{width:100%}
 .ranking-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(3,1fr)}
 .article-grid{grid-template-columns:repeat(2,1fr)}.content-layout{grid-template-columns:1fr}.side-box{position:static}
 .service-hero{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.admin-side{position:sticky;top:0;z-index:20;display:flex;gap:6px;overflow-x:auto;padding:10px;scrollbar-width:none}.admin-side::-webkit-scrollbar{display:none}.admin-side h2{flex:0 0 auto;margin:0;align-self:center;padding-right:6px;font-size:12px}.admin-side a{flex:0 0 auto;white-space:nowrap;padding:9px 12px;font-size:10px}
}
@media(max-width:620px){
 .container{padding:0 12px}.header-inner{height:61px}.hero{padding-top:13px}.hero-box{min-height:545px}
 .hero-img{object-position:66% center}.hero-overlay{background:linear-gradient(180deg,rgba(3,9,17,.96),rgba(3,9,17,.76) 54%,rgba(3,9,17,.25))}
 .hero-copy{padding:31px 20px}.hero h1{font-size:37px}.section{padding:26px 0}.section-head h2{font-size:23px}
 .category-grid{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}.page-hero h1{font-size:30px}.service-summary h1{font-size:28px}
 .admin-main{padding:15px}.admin-metrics{grid-template-columns:1fr 1fr}.admin-fields{grid-template-columns:1fr 1fr}
 .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;background:rgba(6,14,24,.94);border-top:1px solid var(--line);backdrop-filter:blur(14px);z-index:45}
 .bottom-nav a{flex:1;text-align:center;padding:9px 3px;color:#a3b0c1;font-size:7px;font-weight:850}.footer{padding-bottom:95px}
}


/* ===== v2 visual upgrade ===== */
:root{
  --gold3:#9d731b;
  --cyan:#5dc9ff;
  --purple:#8b6cff;
  --red:#f25b6c;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:
    linear-gradient(180deg,transparent 0 42%,rgba(28,43,68,.12) 55%,transparent 72%),
    radial-gradient(circle at 80% 10%,rgba(115,80,255,.10),transparent 24%);
}
.hero-box{
  min-height:520px;
  background:#08111d;
}
.hero-img{filter:saturate(1.18) contrast(1.05)}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(2,7,14,.98) 0%,rgba(2,7,14,.90) 34%,rgba(2,7,14,.35) 58%,rgba(2,7,14,.06) 78%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28));
}
.hero-copy{padding-top:70px}
.hero h1{font-size:58px;text-shadow:0 4px 28px rgba(0,0,0,.28)}
.hero h1 em{
  background:linear-gradient(180deg,#fff1b2,#f0bc3e);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{font-size:13px;max-width:570px}
.hero-proof{
  display:flex;gap:18px;flex-wrap:wrap;margin:18px 0 0;padding-top:17px;border-top:1px solid rgba(255,255,255,.1)
}
.hero-proof div b{display:block;font-size:16px}
.hero-proof div small{font-size:8px;color:#8fa0b5}
.hero-side-ad{
  position:absolute;z-index:4;right:24px;top:26px;width:305px;border:1px solid rgba(240,191,69,.42);
  background:linear-gradient(145deg,rgba(8,12,24,.94),rgba(38,18,54,.90));border-radius:18px;padding:16px;
  box-shadow:0 20px 55px rgba(0,0,0,.28)
}
.hero-side-ad .label{font-size:8px;color:#f2c659;font-weight:950;letter-spacing:.9px}
.hero-side-ad b{display:block;font-size:22px;margin:5px 0 4px}
.hero-side-ad p{font-size:9px!important;line-height:1.5!important;margin:0 0 10px!important;color:#b8c3d2!important}
.hero-side-ad .mini-cards{display:flex;gap:7px;margin:10px 0 13px}
.hero-side-ad .mini-cards span{
  flex:1;height:74px;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:radial-gradient(circle at 50% 35%,rgba(255,219,97,.65),transparent 20%),linear-gradient(145deg,#1b1736,#173b6b);
  box-shadow:inset 0 0 20px rgba(255,255,255,.03)
}
.newsbar{border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.section{position:relative}
.section:before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
}
.section-head h2{font-size:30px}
.section-head h2:before{
  content:"";display:inline-block;width:8px;height:20px;border-radius:99px;
  background:linear-gradient(180deg,var(--gold2),var(--gold3));margin-right:10px;vertical-align:-2px;
}
.ranking-grid{gap:15px}
.rank-card{transition:.18s;position:relative}
.rank-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.20)}
.rank-card.rank-1{
  box-shadow:0 20px 55px rgba(240,191,69,.11),inset 0 0 28px rgba(240,191,69,.035);
}
.rank-card.rank-1:before{
  content:"BEST";position:absolute;z-index:2;left:13px;top:13px;
  padding:6px 9px;border-radius:8px;background:linear-gradient(135deg,#bb891e,#f2c656);color:#1a1205;
  font-size:8px;font-weight:1000;letter-spacing:.8px;box-shadow:0 8px 20px rgba(0,0,0,.2)
}
.rank-card.rank-1 .rank-image{height:220px}
.rank-image{height:205px;transition:.25s}
.rank-card:hover .rank-image{transform:scale(1.015)}
.score{
  display:flex;align-items:center;gap:7px;color:#d9c078
}
.score:before{
  content:"";width:46px;height:4px;border-radius:99px;
  background:linear-gradient(90deg,var(--gold),#d39f24);
  box-shadow:18px 0 0 rgba(240,191,69,.35);
}
.rank-desc{font-size:10.5px}
.rank-actions .btn-primary{box-shadow:0 8px 20px rgba(240,191,69,.12)}
.category-card{position:relative}
.category-card:after{
  content:"›";position:absolute;right:10px;bottom:12px;color:#65758a;font-size:16px;font-weight:900
}
.category-card img{height:125px}
.article-card{transition:.18s}
.article-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2)}
.article-card img{height:150px}
.article-copy{min-height:82px}
.article-copy small{display:inline-block;background:#162438;border-radius:999px;padding:4px 7px;font-weight:900}
.compare-box{box-shadow:0 18px 40px rgba(0,0,0,.13)}
.compare-box tbody tr:hover{background:rgba(255,255,255,.025)}
.trust-card{
  position:relative;overflow:hidden;min-height:130px
}
.trust-card:before{
  content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-50px;top:-55px;
  background:radial-gradient(circle,rgba(240,191,69,.12),transparent 70%)
}
.footer{background:rgba(4,10,18,.45)}
.bottom-nav a{
  position:relative;padding:11px 3px 10px
}
/* 下部ナビのアイコン。以前はトップだけ home-v8.css で出していたので、全ページ共通のこちらへ移した。 */
.bottom-nav a span{display:block;margin-bottom:3px;color:#f6c832;font-size:17px}
.mobile-sticky-cta{
  display:none;position:fixed;right:13px;bottom:72px;z-index:44;border:0;border-radius:999px;padding:11px 14px;
  background:linear-gradient(135deg,#efbd42,#ffdb75);color:#191208;font-size:9px;font-weight:950;
  box-shadow:0 12px 26px rgba(0,0,0,.28)
}

/* portable rank-card v8 parts (crown/medal/media/points) for pages without home-v8.css */
.rank-card{overflow:visible}
.rank-card.rank-1:before{display:none}
.rank-media{position:relative;isolation:isolate;overflow:hidden;border-radius:19px 19px 0 0;background:#0a1424}
.rank-media:before{content:"";position:absolute;z-index:0;inset:-8px;background-image:linear-gradient(180deg,rgba(4,12,24,.42) 0%,rgba(4,12,24,.5) 62%,rgba(4,12,24,.82) 100%),var(--rank-backdrop);background-position:center;background-size:cover;opacity:.88;transform:scale(1.06)}
.rank-media>a:first-of-type{position:relative;z-index:1;display:block}
.rank-image{object-fit:contain;background:transparent;padding:10px 8px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.38))}
.rank-medal{position:absolute;z-index:4;left:12px;top:12px;display:grid;place-items:center;width:36px;height:42px;border-radius:5px 5px 14px 14px;background:linear-gradient(145deg,#fff3a0,#e4a519 70%,#a56d08);border:2px solid #fff6bd;color:#fff;font-family:Georgia,serif;font-size:19px;font-weight:900;text-shadow:0 2px 2px #9b6711;box-shadow:0 5px 14px rgba(0,0,0,.28)}
.rank-card.rank-2 .rank-medal{background:linear-gradient(145deg,#f9fbff,#aeb8c7 70%,#6f7c8f);text-shadow:0 2px 2px #58677c}
.rank-card.rank-3 .rank-medal{background:linear-gradient(145deg,#ffd7bd,#ca7547 70%,#84442b);text-shadow:0 2px 2px #75402b}
.rank-best{position:absolute;z-index:4;right:-6px;bottom:10px;padding:7px 14px;border-radius:999px 0 0 999px;background:linear-gradient(135deg,#ff2f1d,#eb120f);color:#fff;font-size:11px;font-style:italic;box-shadow:0 8px 16px rgba(203,29,19,.3)}
.official-credit{position:absolute;z-index:5;right:9px;top:9px;padding:5px 8px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(4,12,23,.78);backdrop-filter:blur(7px);color:#ffe17d;font-size:7px;font-weight:900}
.rank-points{min-height:56px;margin:9px 0;padding:0;list-style:none}
.rank-points li{position:relative;margin:6px 0;padding-left:18px;color:#aab7c8;font-size:9px;line-height:1.4}
.rank-points li:before{content:"✓";position:absolute;left:0;top:-1px;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#ffc52c;color:#1a1409;font-size:7px;font-weight:950}
.score-star{color:#f7b514;font-size:12px;margin-right:3px}
.rank-crown{position:absolute;z-index:6;left:50%;top:-26px;transform:translateX(-50%);width:42px;height:42px;filter:drop-shadow(0 5px 10px rgba(0,0,0,.45))}
.rank-card.rank-1{box-shadow:0 0 0 3px rgba(240,191,69,.18),0 20px 55px rgba(240,191,69,.13)}

/* service detail upgrade */
.service-summary{position:relative;overflow:hidden}
.service-summary:after{
 content:"";position:absolute;right:-90px;top:-90px;width:230px;height:230px;border-radius:50%;
 background:radial-gradient(circle,rgba(240,191,69,.13),transparent 68%)
}
.service-summary .btn-primary{position:relative;z-index:2}

/* ads page */
.ad-page-hero{position:relative;overflow:hidden;padding:0;min-height:280px;display:flex;align-items:flex-end}
.ad-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:saturate(1.2)}
.ad-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,9,17,.55) 0%,rgba(4,9,17,.88) 78%,rgba(4,9,17,.97) 100%)}
.ad-page-hero .container{position:relative;z-index:1;padding-top:52px;padding-bottom:22px}
.ad-page-hero h1,.ad-page-hero .breadcrumbs{color:#fff}
.ad-preview-block{margin-bottom:16px}
/* トップのPR枠・サイドバナーの部品。/ad/ の掲載イメージでも同じものを使う（見本と実物をズラさない） */
/* トップPR枠（TOPピックアップ）＝横長バナーのスライド。文言なし・左上にPRだけ。
   2026-09-14 先方「カテゴリページの大きい画像と同じでよい」＝PCは高さ310px固定（category/*.html の画像と同じ）・画像は切り抜き。
   スマホで310pxにすると正方形に近くなるので、640px以下は3:1に戻す。推奨サイズは1800×600（切れにくい） */
.pr-carousel{position:relative;margin:0 0 22px;height:auto;border-radius:16px;overflow:hidden;border:1px solid rgba(240,191,69,.45);background:#0b1626;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.pr-carousel[hidden]{display:none}
.pr-track{display:flex;height:auto;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pr-track::-webkit-scrollbar{display:none}
.pr-slide{flex:0 0 100%;height:auto;scroll-snap-align:start;display:block}
/* 9/17 シート「バナーサイズはオリパ社から直接指定されるのでオートに」＝どの比率の画像も切らずに横幅いっぱいで全体を出す */
.pr-slide img{display:block;width:100%;height:auto;object-fit:initial}
.pr-label{position:absolute;top:10px;left:10px;z-index:1;background:#f0bf45;color:#1a1409;font-weight:950;font-size:11px;letter-spacing:.04em;line-height:1;padding:5px 9px;border-radius:6px;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.pr-dots{position:absolute;left:0;right:0;bottom:10px;z-index:1;display:flex;justify-content:center;gap:6px}
.pr-dots button{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.55);cursor:pointer;transition:width .2s}
.pr-dots button.on{width:22px;background:#f0bf45}
@media (max-width:640px){.pr-carousel{height:auto;border-radius:12px;margin-bottom:16px}.pr-label{top:7px;left:7px;font-size:9px;padding:4px 7px}.pr-dots{bottom:6px}}
/* サービス比較・サイト一覧の6件ずつのページ送り（A-4） */
.list-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0 0}
.list-pager[hidden]{display:none}
/* 9/17 シート17行：ページ送りで高さが変わったとき、ブラウザの自動スクロール補正と app.js の turnListPage が二重に効かないように */
.list-pager,.comparison-list,.table-wrap{overflow-anchor:none}
.list-pager button{width:38px;height:38px;border:1px solid #cfd6df;border-radius:50%;background:#fff;color:#17202d;font-size:13px;cursor:pointer;box-shadow:0 2px 8px rgba(27,41,62,.08)}
.list-pager button:disabled{opacity:.35;cursor:default}
.list-pager span{min-width:48px;text-align:center;font-size:12px;font-weight:900;color:#5a6676}
/* サイドバナー（PR枠）。2026-09-14 電話 A-3：小さくして4枠＋5枠目にポリシー、左のサービス比較と高さを揃える。
   PC幅290pxで正方形×4＋ポリシー ≒ 目的から探す＋サービス比較の高さ（実測 約1363px）。左上は常に「PR」。 */
.spotlight-card{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:16px;background:linear-gradient(160deg,#2b1030,#160c28 55%,#0b0a1c);color:#fff;box-shadow:0 10px 24px rgba(122,24,56,.2)}
.spotlight-card>span{position:absolute;z-index:4;left:10px;top:10px;padding:4px 9px;border-radius:6px;background:#f0bf45;color:#1a1409;font-size:11px;font-weight:950;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.spotlight-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.spotlight-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,20,0) 40%,rgba(5,8,20,.9) 88%)}
.spotlight-card>div{position:absolute;z-index:3;left:12px;right:12px;bottom:12px}
.spotlight-card small{display:block;color:#ffe6a1;font-size:9px;font-weight:900}
.spotlight-card b{display:block;margin:2px 0;font-size:18px;line-height:1.15;text-shadow:0 3px 10px rgba(0,0,0,.4)}
.spotlight-card em{display:block;color:#ffe77e;font-size:10px;font-style:normal;font-weight:900}
.spotlight-card strong{display:block;margin-top:7px;padding:7px;border-radius:999px;background:linear-gradient(135deg,#ffe981,#ffbd1a);color:#241a05;text-align:center;font-size:9px}
/* /ad/ の掲載イメージ。実物と同じ部品を、実物と同じ幅で見せる */
@media(max-width:700px){.spotlight-card b{font-size:15px}.spotlight-card strong{display:none}}
.ad-preview-frame{max-width:290px}
.ad-preview-frame.full{max-width:none}
.ad-preview-note{margin:9px 0 0;color:#8b9ab0;font-size:9px;line-height:1.75}
.ad-preview-block+.ad-preview-block{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.ad-preview-label{font-size:9px;font-weight:900;color:#e6b93e;letter-spacing:.08em;margin-bottom:10px}
.ad-preview-card{max-width:360px}
.ad-preview-card:before{display:none}
.ad-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:13px}
.ad-sample{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(240,191,69,.25);border-radius:18px;min-height:220px}
.ad-sample-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:saturate(1.15) brightness(.85)}
.ad-sample:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,rgba(17,27,45,.82),rgba(37,22,58,.88))}
.ad-sample-body{padding:18px}
.ad-sample .ad-badge{font-size:8px;background:var(--gold);color:#1a1205;border-radius:7px;padding:5px 7px;font-weight:950}
.ad-sample h3{font-size:22px;margin:14px 0 8px}
.ad-sample p{font-size:9px;color:#99a7b9;line-height:1.7}

/* desktop top nav current feel */
.nav a{position:relative;padding:26px 0}
.nav a:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;background:var(--gold);transform:scaleX(0);transition:.18s}
.nav a:hover:after{transform:scaleX(1)}

@media(max-width:930px){
 .hero-side-ad{width:265px;right:16px}
}
@media(max-width:720px){
 .hero-side-ad{display:none}
 .hero-box{min-height:580px}
 .hero-copy{padding-top:38px}
 .hero h1{font-size:42px}
 .hero-proof{gap:13px}
 .rank-card.rank-1 .rank-image{height:195px}
 .category-card img{height:118px}
 .mobile-sticky-cta{display:block}
 .ad-hero-grid{grid-template-columns:1fr}
}

/* v3 CMS / operation */
.admin-section{display:none}.admin-section.active{display:block}.admin-article,.admin-ad{border:1px solid #e5e8ed;border-radius:11px;padding:10px;margin:8px 0}.admin-article-head,.admin-ad-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.admin-article-head b,.admin-ad-head b{font-size:9px}.status-pill{font-size:7px;border-radius:999px;padding:4px 7px;background:#eaf8f2;color:#16764f;font-weight:900}.status-pill.off{background:#fff0f0;color:#b34444}.admin-wide-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.admin-wide-fields input,.admin-wide-fields textarea{width:100%;border:1px solid #e2e6eb;border-radius:7px;padding:6px;font-size:7px}.admin-wide-fields textarea{grid-column:1/-1;min-height:70px}.analytics-bars{display:flex;align-items:end;gap:8px;height:170px;padding-top:18px}.analytics-bar{flex:1;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#6f86ff,#465bd4);min-height:10px;position:relative}.analytics-bar span{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-size:7px;color:#8b95a1}.analytics-bar b{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:7px;color:#555}.application-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.application-form input,.application-form textarea,.application-form select{width:100%;border:1px solid var(--line);background:#0d1b2b;color:white;border-radius:10px;padding:10px;font-size:9px}.application-form textarea,.application-form .full{grid-column:1/-1}.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.legal-card{background:#0e1a29;border:1px solid var(--line);border-radius:16px;padding:16px}.legal-card h3{font-size:13px;margin:0 0 7px}.legal-card p{font-size:9px;color:#96a5b8;line-height:1.75}@media(max-width:700px){.admin-wide-fields,.application-form,.legal-grid{grid-template-columns:1fr}.application-form textarea,.application-form .full{grid-column:1}}

/* v5 real-service data */
.ranking-grid{grid-template-columns:repeat(3,1fr)}
.ranking-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid var(--line);font-size:8px;line-height:1.7;color:#8998aa}
.verify-row{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.verify{font-size:7px;border-radius:999px;padding:4px 7px;background:#132338;color:#9eb0c4;border:1px solid var(--line)}
.verify.ok{background:rgba(74,207,151,.1);color:#6fe0ae;border-color:rgba(74,207,151,.18)}
.verify.warn{background:rgba(240,191,69,.08);color:#dfc26f;border-color:rgba(240,191,69,.17)}
.source-list{display:grid;gap:6px;margin-top:10px}
.source-list a{font-size:8px;color:#9cb5d5;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#101d2d}
.payment-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.payment-list span{font-size:7px;padding:4px 6px;border-radius:6px;background:#142338;color:#b7c3d2}
@media(max-width:930px){.ranking-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ranking-grid{grid-template-columns:1fr}}

/* Feature-led service comparison: intentionally has no rank or numeric score. */
.comparison-guide{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.045)}
.comparison-guide b{font-size:15px}.comparison-guide span{color:var(--muted);font-size:13px}
.comparison-filters .filter{white-space:nowrap}
.comparison-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
.comparison-card{min-width:0;padding:16px;border:1px solid rgba(126,145,169,.24);border-radius:16px;background:linear-gradient(145deg,#fff,#f7f9fc);color:#1a2637;box-shadow:0 8px 20px rgba(20,36,58,.06)}
.comparison-card[hidden]{display:none}
.comparison-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #e6ebf1}
.comparison-service{display:flex;align-items:center;min-width:0;gap:10px;color:inherit}
.comparison-service img{flex:0 0 auto;width:48px;height:48px;border:1px solid #dde4ec;border-radius:13px;object-fit:cover}
.comparison-service span{min-width:0}.comparison-service small{display:block;margin-bottom:3px;color:#7b8898;font-size:10px}.comparison-service b{display:block;overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}
.comparison-vectors{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.comparison-vectors span{padding:5px 8px;border:1px solid #b9d8ed;border-radius:999px;background:#eaf6ff;color:#17618f;font-size:10px;font-weight:900;white-space:nowrap}
.comparison-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.comparison-facts>div{min-width:0;padding:10px;border-radius:10px;background:#f1f4f7}
.comparison-facts small{display:block;margin-bottom:4px;color:#778596;font-size:10px}.comparison-facts b{display:block;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.comparison-actions{display:flex;gap:8px;margin-top:12px}.comparison-actions a,.comparison-actions button{display:grid;place-items:center;flex:1;min-height:40px;padding:8px 10px;border:1px solid #ccd6e2;border-radius:999px;background:#fff;color:#18263a;font-size:11px;font-weight:900;cursor:pointer}.comparison-actions button{border-color:#e5b728;background:linear-gradient(135deg,#ffe989,#ffc32c);color:#251b04}
@media(max-width:760px){.comparison-list{grid-template-columns:1fr;padding:10px}.comparison-guide{align-items:flex-start;flex-direction:column}.comparison-card-head{flex-direction:column}.comparison-vectors{justify-content:flex-start}.comparison-actions{flex-direction:column}.comparison-actions a,.comparison-actions button{width:100%}}

/* ===== v6 Supabase / auth / scoring ===== */
.backend-badge{display:inline-flex;align-items:center;gap:5px;font-size:7px;font-weight:950;padding:5px 7px;border-radius:999px;background:#112b24;color:#6be0ae;border:1px solid rgba(107,224,174,.15)}
html[data-backend="fallback"] .backend-badge{background:#332a13;color:#f0c55c}
.admin-login-wrap{min-height:100vh;background:#f3f5f8;color:#171b23;display:grid;place-items:center;padding:20px}
.admin-login-card{width:min(460px,100%);background:white;border:1px solid #e3e7ed;border-radius:18px;padding:22px;box-shadow:0 22px 60px rgba(0,0,0,.08)}
.admin-login-card h1{font-size:23px;margin:0 0 6px}.admin-login-card p{font-size:9px;color:#7d8794;line-height:1.7}
.admin-login-card input{width:100%;border:1px solid #e1e6ec;border-radius:9px;padding:10px;margin:5px 0;font-size:10px}
.admin-login-actions{display:flex;gap:7px;margin-top:9px}.admin-login-actions button{flex:1}
#adminMessage{font-size:9px;margin-top:9px;min-height:18px;color:#4c647b}#adminMessage[data-type="error"]{color:#c34747}
.score-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0}
.score-field{border:1px solid #e4e8ed;border-radius:8px;padding:7px;background:#fafbfc}
.score-field span{display:block;font-size:7px;color:#77818e;font-weight:900;margin-bottom:3px}.score-field input{width:100%;border:0;background:transparent;font-size:12px;font-weight:900;outline:none}
.admin-service small{font-size:7px}
@media(max-width:650px){.score-editor{grid-template-columns:1fr 1fr}.admin-login-actions{flex-direction:column}}

/* v7 AI article production studio */
.admin-new-badge{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;background:linear-gradient(135deg,#6d4cff,#1cb9e8);color:#fff;font-size:6px;line-height:1.2;vertical-align:middle}
.ai-admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:3px 0 15px}.ai-admin-header h2{margin:2px 0 5px;font-size:24px}.ai-admin-header p{max-width:720px;margin:0;color:#778291;font-size:9px;line-height:1.75}.ai-kicker{font-size:7px;letter-spacing:.16em;color:#6954de;font-weight:950}.ai-system-status{flex:0 0 auto;border:1px solid #dce3eb;border-radius:999px;background:#fff;padding:7px 10px;font-size:7px;font-weight:900;color:#697585}.ai-system-status:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#98a2b3}.ai-system-status[data-type="ready"]{color:#137a51;border-color:#bde7d4;background:#effbf5}.ai-system-status[data-type="ready"]:before{background:#20b978;box-shadow:0 0 0 3px rgba(32,185,120,.13)}.ai-system-status[data-type="warning"]{color:#9a6411;background:#fff9e9;border-color:#f1d99f}.ai-system-status[data-type="warning"]:before{background:#e6a72e}.ai-system-status[data-type="error"]{color:#a33e48;background:#fff3f4;border-color:#efc9cd}.ai-system-status[data-type="error"]:before{background:#d6505c}
.ai-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}.ai-create-panel{border-top:3px solid #6954de}.ai-mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.ai-mode-card{display:flex;align-items:flex-start;gap:9px;border:2px solid #e1e6ed;border-radius:12px;background:#fff;padding:11px;cursor:pointer;transition:.18s ease}.ai-mode-card:has(input:checked){border-color:#6954de;background:#f7f5ff;box-shadow:0 0 0 3px rgba(105,84,222,.08)}.ai-mode-card.quantity:has(input:checked){border-color:#168863;background:#f1fbf7;box-shadow:0 0 0 3px rgba(22,136,99,.08)}.ai-mode-card.free:has(input:checked){border-color:#1f6fb8;background:#f0f7fd;box-shadow:0 0 0 3px rgba(31,111,184,.09)}.ai-mode-card input{margin:3px 0 0;accent-color:#6954de}.ai-mode-card span{display:block;min-width:0}.ai-mode-card b{display:block;font-size:10px;color:#202a3b}.ai-mode-card small{display:block;margin-top:3px;font-size:7px;color:#707c8c;line-height:1.45}.ai-mode-card em{display:inline-block;margin-top:6px;border-radius:999px;background:#eef1f6;padding:3px 7px;color:#485568;font-size:7px;font-style:normal;font-weight:900}.ai-mode-card.quantity em{background:#dff5eb;color:#116b4e}.ai-mode-card.free em{background:#e3f0fb;color:#14568f}.ai-mode-summary{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#f4f7fa;color:#617083;font-size:7px;line-height:1.6}.ai-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.ai-form-grid label{display:block}.ai-form-grid label.full{grid-column:1/-1}.ai-form-grid label>span{display:block;margin:0 0 4px;font-size:7px;color:#5f6c7b;font-weight:900}.ai-form-grid input,.ai-form-grid textarea,.ai-form-grid select{width:100%;border:1px solid #dfe5ec;border-radius:9px;background:#fff;color:#172033;padding:9px;font:inherit;font-size:8px;outline:none}.ai-form-grid textarea{min-height:82px;resize:vertical}.ai-form-grid input:focus,.ai-form-grid textarea:focus,.ai-form-grid select:focus{border-color:#7968e5;box-shadow:0 0 0 3px rgba(105,84,222,.09)}.ai-form-grid select:disabled{background:#f1f5f3;color:#2b6f5a;opacity:1;cursor:not-allowed}.ai-check-label{display:flex!important;align-items:center;gap:7px;background:#f7f8fb;border-radius:8px;padding:8px}.ai-check-label input{width:auto}.ai-check-label span{margin:0!important}.ai-main-action{margin-top:12px;min-width:190px;border:0}.ai-main-action:disabled,.ai-job-panel button:disabled,.ai-publish-confirm button:disabled{opacity:.5;cursor:wait}.ai-form-note{margin:8px 0 0!important;font-size:7px!important;color:#8791a0!important}.ai-history-panel{position:sticky;top:12px;max-height:calc(100vh - 30px);overflow:auto}.ai-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.ai-panel-title h3{margin:0}.ai-panel-title>span{font-size:7px;color:#85909e;max-width:65%;text-align:right;line-height:1.5}.ai-history-item{display:block;width:100%;border:1px solid #e6e9ee;border-radius:10px;background:#fff;padding:9px;margin:7px 0;text-align:left;color:#182132;cursor:pointer}.ai-history-item:hover,.ai-history-item.active{border-color:#8372e8;background:#faf9ff}.ai-history-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.ai-history-top b{font-size:8px}.ai-history-top em{font-size:6px;font-style:normal;font-weight:900;border-radius:999px;padding:3px 5px;background:#edf0f4;color:#5e6876}.ai-history-top em[data-status="published"],.ai-history-top em[data-status="ready_for_review"]{background:#e8f8f0;color:#137a51}.ai-history-top em[data-status="failed"]{background:#fff0f1;color:#b23d49}.ai-history-item strong{display:block;font-size:8px;line-height:1.55;margin:6px 0 4px}.ai-history-item small{font-size:6px;color:#8a94a2}.ai-history-item>i{display:block;height:3px;margin-top:7px;background:#eef0f4;border-radius:999px;overflow:hidden}.ai-history-item>i span{display:block;height:100%;background:linear-gradient(90deg,#6d4cff,#27b8eb)}.ai-empty{font-size:8px;color:#9099a5;padding:10px 0;margin:0}.ai-empty.error{color:#b33f49}
.ai-setup-panel{margin-bottom:12px;border-top:3px solid #172b4d}.ai-setup-panel .ai-panel-title h3{margin-top:2px;font-size:14px}.ai-setup-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ai-setup-check{display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;column-gap:7px;align-items:center;border:1px solid #dce5e0;border-radius:10px;background:#f5fbf8;padding:8px}.ai-setup-check>i{grid-row:1/3;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#20b978;color:#fff;font-size:9px;font-style:normal;font-weight:950}.ai-setup-check>span{font-size:7px;color:#6d7a74}.ai-setup-check>b{font-size:8px;color:#147850}.ai-setup-check[data-ready="false"]{border-color:#edd9a9;background:#fffbf1}.ai-setup-check[data-ready="false"]>i{background:#e5a52a}.ai-setup-check[data-ready="false"]>b{color:#95600e}.ai-config-strip{display:grid;grid-template-columns:repeat(6,1fr);margin-top:8px;overflow:hidden;border:1px solid #e3e7ec;border-radius:10px;background:#f7f8fa}.ai-config-strip>div{min-width:0;padding:8px 10px;border-right:1px solid #e3e7ec}.ai-config-strip>div:last-child{border:0}.ai-config-strip small{display:block;color:#87919f;font-size:6px}.ai-config-strip b{display:block;margin-top:3px;overflow:hidden;color:#273246;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.ai-setup-note{margin:8px 0 0!important;padding:8px 10px;border-radius:8px;font-size:7px!important;line-height:1.6}.ai-setup-note.ready{background:#effaf5;color:#147650}.ai-setup-note.warning{background:#fff8e8;color:#8f5d10}
.ai-job-panel,.ai-evidence-panel,.ai-review-panel,.ai-preview-panel{margin-top:12px}.ai-job-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.ai-job-heading h3{font-size:14px;margin:3px 0 2px}.ai-job-heading p{font-size:7px;color:#8a94a2;margin:0}.ai-job-status{white-space:nowrap;border-radius:999px;background:#eef1f5;color:#566170;font-size:7px;font-weight:950;padding:6px 9px}.ai-job-status[data-status="ready_for_review"]{background:#e8f8f0;color:#147950}.ai-job-status[data-status="published"]{background:#162237;color:#fff}.ai-job-status[data-status="failed"]{background:#fff0f1;color:#b13e49}.ai-progress{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:16px 0 12px}.ai-progress>i{height:7px;background:#eef1f5;border-radius:99px;overflow:hidden}.ai-progress>i span{display:block;height:100%;background:linear-gradient(90deg,#6d4cff,#20bde9);border-radius:99px;transition:width .3s}.ai-progress>b{font-size:8px}.ai-stage-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 0 12px}.ai-stage-row div{text-align:center;color:#a1a8b2;font-size:6px;font-weight:850}.ai-stage-row i{display:grid;place-items:center;width:17px;height:17px;margin:0 auto 4px;border-radius:50%;border:2px solid #dfe4ea;background:#fff}.ai-stage-row div[data-state="done"]{color:#596676}.ai-stage-row div[data-state="done"] i{background:#6954de;border-color:#6954de}.ai-stage-row div[data-state="done"] i:after{content:"✓";color:#fff;font-size:8px}.ai-stage-row div[data-state="current"]{color:#5f49d7}.ai-stage-row div[data-state="current"] i{border-color:#6954de;box-shadow:0 0 0 4px rgba(105,84,222,.10)}.ai-stage-row div[data-state="current"] i:after{content:"";width:5px;height:5px;border-radius:50%;background:#6954de}.ai-stage-row div[data-state="error"]{color:#b53e49}.ai-stage-row div[data-state="error"] i{border-color:#d64f5c}.ai-stage-row div[data-state="error"] i:after{content:"!";font-size:9px;font-style:normal}.ai-live-activity{font-size:7px;color:#768291;line-height:1.6}.ai-alert{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border-radius:9px;padding:9px 11px;margin:10px 0;font-size:7px}.ai-alert b{font-size:8px}.ai-alert span{flex:1}.ai-alert a{font-weight:900;text-decoration:underline}.ai-alert.error{background:#fff1f2;border:1px solid #efcdd0;color:#a23944}.ai-alert.success{background:#ecfaf4;border:1px solid #c0e8d6;color:#13754f}
.ai-budget-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 12px}.ai-budget-row>div{padding:9px 10px;border:1px solid #e2e7ee;border-radius:9px;background:#f8fafc}.ai-budget-row small{display:block;color:#7d8897;font-size:8px}.ai-budget-row b{display:block;margin-top:3px;color:#263247;font-size:12px}
.ai-source-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ai-source-list>a{display:block;border:1px solid #e7eaf0;border-radius:9px;padding:9px;color:#273145;overflow:hidden}.ai-source-list>a:hover{border-color:#8473e7}.ai-source-list b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-source-list small{display:block;font-size:6px;color:#8c96a3;margin-top:4px}.ai-score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0 11px}.ai-score-grid div{background:#f6f7fa;border-radius:9px;padding:8px;text-align:center}.ai-score-grid span{display:block;font-size:6px;color:#7d8794}.ai-score-grid b{display:block;font-size:16px;margin-top:2px}.ai-check-list{display:grid;gap:7px}.ai-check-list article{border:1px solid #e6e9ee;border-left:4px solid #9aa4b2;border-radius:9px;padding:9px}.ai-check-list article[data-severity="warning"]{border-left-color:#e0a430;background:#fffbf2}.ai-check-list article[data-severity="error"],.ai-check-list article[data-severity="blocking"]{border-left-color:#d94e5b;background:#fff6f7}.ai-check-list article>div{display:flex;justify-content:space-between;gap:6px}.ai-check-list article span,.ai-check-list article em{font-size:6px;text-transform:uppercase;color:#7c8795;font-style:normal}.ai-check-list article>b{display:block;font-size:8px;margin:5px 0;line-height:1.55}.ai-check-list article p{font-size:7px;color:#667281;margin:3px 0;line-height:1.6}.ai-check-list article a{font-size:7px;font-weight:900;color:#5f49d7}.ai-preview-panel iframe{width:100%;height:720px;border:1px solid #dfe4ea;border-radius:12px;background:#fff}.ai-publish-confirm{border:1px solid #c6e9d9;background:#f0fbf6;border-radius:12px;padding:12px;margin-top:12px}.ai-publish-confirm label{display:flex;align-items:flex-start;gap:8px;font-size:8px;font-weight:850;line-height:1.6}.ai-publish-confirm input{margin-top:2px}.ai-publish-confirm button{display:block;margin-top:10px}.ai-publish-confirm small{display:block;font-size:6px;color:#6e7c76;margin-top:6px}
@media(max-width:1050px){.ai-admin-grid{grid-template-columns:1fr}.ai-history-panel{position:static;max-height:none}.ai-job-history{display:grid;grid-template-columns:1fr 1fr}.ai-setup-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.ai-admin-header{display:block}.ai-system-status{display:inline-block;margin-top:10px}.ai-mode-picker{grid-template-columns:1fr}.ai-mode-card{padding:12px}.ai-mode-card b{font-size:13px}.ai-mode-card small,.ai-mode-card em,.ai-mode-summary{font-size:10px}.ai-form-grid{grid-template-columns:1fr}.ai-form-grid label.full{grid-column:auto}.ai-stage-row{grid-template-columns:repeat(4,1fr);row-gap:9px}.ai-source-list{grid-template-columns:1fr}.ai-score-grid{grid-template-columns:repeat(3,1fr)}.ai-preview-panel iframe{height:600px}.ai-setup-grid{grid-template-columns:1fr 1fr}.ai-config-strip{grid-template-columns:1fr 1fr}.ai-config-strip>div{border-bottom:1px solid #e3e7ec}}

/* AI-produced public article blocks (content is server-rendered from structured JSON) */
.ai-article-content{font-size:10px;line-height:1.9;color:#dfe7f1}.ai-article-content>p:first-child{font-size:11px;color:#f4f7fb}.ai-article-content section{margin:28px 0}.ai-article-content h2{font-size:18px;line-height:1.45;margin:0 0 12px;padding-left:12px;border-left:4px solid #765cff}.ai-article-content p{color:#b5c1d0}.ai-article-content li{margin:6px 0;color:#cbd5e1}.ai-article-content ul{padding-left:20px}.ai-article-takeaways{margin:22px 0;padding:16px 18px;border:1px solid rgba(118,92,255,.35);border-radius:14px;background:rgba(118,92,255,.09)}.ai-article-takeaways h2{border:0;padding:0;font-size:13px}.ai-article-figure{margin:16px 0}.ai-article-figure img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:14px}.ai-article-figure figcaption{font-size:7px;color:#7f8ea2;margin-top:5px}.ai-article-sources{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:13px 0;padding:9px 10px;border-radius:9px;background:#0b1725;font-size:7px}.ai-article-sources a{color:#88b8ff}.ai-article-faq details{margin:7px 0;border:1px solid var(--line);border-radius:10px;padding:10px}.ai-article-faq summary{font-size:9px;font-weight:900;cursor:pointer}.ai-article-disclaimer{margin-top:24px;padding-top:12px;border-top:1px solid var(--line);font-size:7px!important;color:#8795a7!important}
.ai-article-references{margin:22px 0 0;padding:10px 12px;border-radius:9px;background:#0b1725}
.ai-article-references h2{margin:0 0 5px;padding:0;border-left:0;font-size:11px}
.ai-article-references>p{margin:0 0 5px;font-size:7px;color:#8795a7}
.ai-article-references ol{margin:0;padding-left:18px}
.ai-article-references li{margin:4px 0;font-size:7px}
.ai-article-references a{color:#88b8ff}
.ai-article-references small{display:block;color:#7f8ea2}

/* Long-form editorial article page */
.article-view-page .article-page-hero{padding:44px 0 38px;background:radial-gradient(circle at 82% 0,rgba(118,92,255,.18),transparent 36%),#091523;border-bottom:1px solid var(--line)}
.article-view-page .article-page-label{display:inline-block;margin-top:18px;color:#f0bf45;font-size:10px;font-weight:950;letter-spacing:.13em}
.article-view-page .article-page-hero h1{max-width:940px;margin:12px 0 14px;font-size:42px;line-height:1.42;letter-spacing:-.02em}
.article-view-page .article-page-hero p{max-width:860px;margin:0;color:#b8c5d5;font-size:15px;line-height:1.9}
.article-view-page .article-page-section{padding:32px 0 54px}
.article-view-page .content-layout{grid-template-columns:minmax(0,820px) 280px;align-items:start;justify-content:center;gap:24px}
.article-view-page .article-reader{margin:0;padding:38px 48px 52px;border:0;border-radius:18px;background:#fff;color:#1d2939;box-shadow:0 22px 70px rgba(0,0,0,.22)}
.article-reader-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 15px;margin-bottom:22px;color:#667085;font-size:12px;line-height:1.5}
.article-reader-meta span{padding:5px 9px;border-radius:999px;background:#eeeaff;color:#5b45cf;font-size:10px;font-weight:950;letter-spacing:.05em}
.article-reader-meta b{color:#344054}.article-reader-meta em{font-style:normal}
.article-reader-hero{display:block;width:100%;aspect-ratio:3/2;margin:0 0 34px;border-radius:15px;object-fit:cover}
.article-reader-footer{margin-top:46px;padding-top:24px;border-top:1px solid #e4e7ec}
.article-reader-footer p{margin:0 0 16px;color:#667085;font-size:14px;line-height:1.8}
.article-side-box{padding:20px;background:#0e1a29}.article-side-box h3{font-size:14px}.article-side-box p{margin:8px 0 12px;color:#9eacbe;font-size:12px;line-height:1.8}
.article-view-page .ai-article-content{color:#253247;font-size:16px;line-height:2}
.article-view-page .ai-article-content>p:first-child{color:#1f2d40;font-size:17px;font-weight:650}
.article-view-page .ai-article-content p{margin:0 0 20px;color:#36445a;font-size:16px;line-height:2}
.article-view-page .ai-article-content section{margin:58px 0 0}
.article-view-page .ai-article-content h2{scroll-margin-top:90px;margin:0 0 22px;padding:14px 18px;border-left:6px solid #6d4cff;border-radius:0 9px 9px 0;background:#f4f2ff;color:#172033;font-size:27px;line-height:1.5;letter-spacing:-.01em}
.article-view-page .ai-article-content h3{scroll-margin-top:90px;margin:38px 0 16px;padding:0 0 9px;border-bottom:2px solid #e1e6ee;color:#1e2b3e;font-size:21px;line-height:1.55}
.article-view-page .ai-article-content h4{margin:0 0 6px;color:#1d2939;font-size:17px}
.article-view-page .ai-article-section-lead{color:#24344b!important;font-size:17px!important;font-weight:700}
.article-view-page .ai-article-content ul,.article-view-page .ai-article-content ol{padding-left:25px}
.article-view-page .ai-article-content li{margin:8px 0;color:#344054;font-size:16px;line-height:1.85}
.article-view-page .ai-article-takeaways{margin:30px 0;padding:22px 25px;border:1px solid #d8d1ff;border-radius:14px;background:#f6f4ff}
.article-view-page .ai-article-takeaways h2{margin:0 0 12px;padding:0;border:0;background:none;font-size:20px}
.article-view-page .ai-article-toc{margin:32px 0;padding:24px 27px;border:1px solid #dfe4ec;border-radius:14px;background:#fbfcfe}
.article-view-page .ai-article-toc>strong{display:block;margin-bottom:10px;color:#172033;font-size:20px}
.article-view-page .ai-article-toc ol{margin:6px 0}.article-view-page .ai-article-toc ol ol{margin:3px 0 7px}
.article-view-page .ai-article-toc li{margin:5px 0;font-size:14px;line-height:1.65}
.article-view-page .ai-article-toc a{color:#4058a5;text-decoration:underline;text-decoration-color:#c3cbed;text-underline-offset:3px}
.article-view-page .ai-article-figure{margin:28px 0}.article-view-page .ai-article-figure img{max-height:none;border-radius:14px}.article-view-page .ai-article-figure figcaption{margin-top:8px;color:#667085;font-size:12px}
.article-view-page .ai-article-table-wrap{width:100%;margin:28px 0;overflow-x:auto;border:1px solid #dfe4ec;border-radius:12px}
.article-view-page .ai-article-table{min-width:620px;background:#fff;color:#27364a}
.article-view-page .ai-article-table caption{padding:12px 14px;background:#eef1f6;color:#1d2939;font-size:14px;font-weight:900;text-align:left}
.article-view-page .ai-article-table th,.article-view-page .ai-article-table td{padding:13px 14px;border-right:1px solid #e1e6ed;border-bottom:1px solid #e1e6ed;color:#344054;font-size:14px;line-height:1.7;vertical-align:top}
.article-view-page .ai-article-table tr:last-child th,.article-view-page .ai-article-table tr:last-child td{border-bottom:0}
.article-view-page .ai-article-table thead th{background:#17283f;color:#fff;font-size:13px}.article-view-page .ai-article-table tbody th{background:#f5f7fa;color:#253247;font-weight:850}
.article-view-page .ai-article-steps{list-style:none;margin:28px 0;padding:0}
.article-view-page .ai-article-steps li{display:grid;grid-template-columns:78px 1fr;gap:16px;margin:0;padding:19px 0;border-bottom:1px solid #e3e7ed}
.article-view-page .ai-article-steps li>span{display:grid;place-items:center;align-self:start;height:32px;border-radius:999px;background:#6d4cff;color:#fff;font-size:11px;font-weight:950}
.article-view-page .ai-article-steps li p{margin:0 0 4px;font-size:15px}.article-view-page .ai-article-steps small{color:#667085;font-size:12px}
.article-view-page .ai-article-callout{margin:28px 0;padding:20px 22px;border-left:5px solid #6d4cff;border-radius:10px;background:#f5f3ff}
.article-view-page .ai-article-callout[data-type="warning"]{border-left-color:#f97316;background:#fff5ed}.article-view-page .ai-article-callout[data-type="tip"]{border-left-color:#17a9cc;background:#ecfbff}
.article-view-page .ai-article-callout strong{display:block;margin-bottom:5px;color:#1d2939;font-size:16px}.article-view-page .ai-article-callout p{margin:0;font-size:15px}
.article-view-page .ai-article-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:30px 0;padding:23px 25px;border-radius:14px;background:linear-gradient(135deg,#10233b,#2b4163);color:#fff}
.article-view-page .ai-article-cta strong{font-size:18px}.article-view-page .ai-article-cta p{margin:5px 0;color:#e5ebf3;font-size:14px;line-height:1.7}.article-view-page .ai-article-cta small{display:block;color:#bfcada;font-size:11px}
.article-view-page .ai-article-cta a{flex:0 0 auto;padding:12px 17px;border-radius:9px;background:#fff;color:#18253a;font-size:13px;font-weight:950}
.article-view-page .ai-article-sources{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:24px 0 0;padding:13px 15px;border-radius:9px;background:#f3f5f8;color:#596579;font-size:12px}
.article-view-page .ai-article-sources a{color:#3656a4;text-decoration:underline}.article-view-page .ai-article-faq details{margin:0;padding:16px 4px;border:0;border-bottom:1px solid #e1e6ed;border-radius:0}.article-view-page .ai-article-faq summary{color:#1d2939;font-size:16px;font-weight:900;cursor:pointer}.article-view-page .ai-article-faq details p{margin:10px 0 0;font-size:15px}
.article-view-page .ai-article-disclaimer{margin-top:38px!important;padding-top:18px;border-top:1px solid #dfe4ec;color:#667085!important;font-size:12px!important;line-height:1.8!important}
/* 本文から剥がした公式リンクを、記事末尾に1か所だけまとめる枠 */
.article-view-page .ai-article-references{margin:34px 0 0;padding:18px 20px;border-radius:10px;background:#f3f5f8}
.article-view-page .ai-article-references h2{margin:0 0 8px;padding:0;border-left:0;font-size:19px}
.article-view-page .ai-article-references>p{margin:0 0 10px;color:#596579;font-size:13px}
.article-view-page .ai-article-references ol{margin:0;padding-left:20px}
.article-view-page .ai-article-references li{margin:7px 0;font-size:14px}
.article-view-page .ai-article-references a{color:#3656a4;text-decoration:underline}
.article-view-page .ai-article-references small{display:block;color:#7c8798;font-size:12px}
@media(max-width:930px){.article-view-page .content-layout{grid-template-columns:1fr}.article-view-page .article-side-box{position:static}}
@media(max-width:620px){.article-view-page .article-page-hero{padding:32px 0 28px}.article-view-page .article-page-hero h1{font-size:30px}.article-view-page .article-page-hero p{font-size:14px}.article-view-page .article-page-section{padding-top:18px}.article-view-page .article-reader{padding:24px 18px 38px;border-radius:13px}.article-view-page .ai-article-content{font-size:15px}.article-view-page .ai-article-content p,.article-view-page .ai-article-content li{font-size:15px}.article-view-page .ai-article-content h2{font-size:22px;margin-bottom:18px}.article-view-page .ai-article-content h3{font-size:19px}.article-view-page .ai-article-cta{display:block}.article-view-page .ai-article-cta a{display:block;margin-top:15px;text-align:center}.article-view-page .ai-article-steps li{grid-template-columns:68px 1fr;gap:12px}}

/* ===== 2026-09 管理画面 v9：スマホで読める字・公開サイトとの対応を明示 ===== */
.admin-shell{font-size:14px}
.admin-main{padding:20px 18px 60px}
.admin-top h1{font-size:22px}
.admin-top p{font-size:11px;color:#6d7784}
.admin-metric small{font-size:11px;letter-spacing:0;color:#667085}
.admin-metric b{font-size:26px}
.admin-panel h3{font-size:16px}
.admin-panel>p{font-size:11px;line-height:1.75;color:#6d7784}
.admin-side a{font-size:12px}
.admin-side a.has-unsaved::after{content:"未保存";display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#f97316;color:#fff;font-size:10px;font-weight:900;vertical-align:1px}
.sf-rowhead .sf-over{margin-left:8px;color:#c2410c;font-size:11px;font-style:normal;font-weight:800}
.admin-hint{margin:0 0 10px;font-size:11px;line-height:1.7;color:#6d7784}
.admin-hint b{color:#2b3444}

.admin-service{border:1px solid #e0e5ec;border-radius:14px;padding:0;margin:12px 0;overflow:hidden;background:#fff}
.admin-service-head{display:flex;align-items:center;gap:11px;padding:12px 13px;background:#f8fafc;border-bottom:1px solid #eaeef3}
.admin-rank{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,#1d2a3d,#111a28);color:#ffe9a8;font-size:16px;font-weight:950;line-height:1.05;text-align:center}
.admin-rank small{display:block;font-size:8px;color:#c3cbd8;font-weight:800}
.admin-service-head>img{width:74px;height:46px;object-fit:cover;border-radius:9px;border:1px solid #e2e7ee}
.admin-service-id{flex:1;min-width:0}
.admin-service-id b{display:block;font-size:14px;line-height:1.4}
.admin-service-id small{display:block;margin-top:3px;font-size:10px;color:#78838f}
.admin-service-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.admin-service-tools .tiny,.admin-service-tools a.tiny{font-size:10px;padding:7px 9px;border-radius:8px;color:#2b3444}
.admin-service-tools .tiny.danger{border-color:#f0cdd2;background:#fff6f7;color:#a83c47}
/* 取り返しのつかない操作は畳んでおき、開いたときに赤で分かるようにする。 */
.admin-fold-danger>summary{color:#a83c47}
.admin-fold-danger .admin-fold-body{border-radius:10px;background:#fff6f7;border:1px solid #f0cdd2}
.admin-save.danger{background:#a83c47;border-color:#a83c47;color:#fff}
.admin-panel-warning{border-color:#f0d9b0;background:#fffaf1}
.admin-warning-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:7px}
.admin-warning-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:9px 11px;border:1px solid #f0d9b0;border-radius:9px;background:#fff}
.admin-warning-list b{font-size:11px;color:#8a5a12}
.admin-warning-list small{font-size:10px;color:#6b7280}
/* 掲載サイト（マスタ）。1行＝1社。「どこに出ているか」を行の中で見せる。 */
/* PR・アフィリエイトの注記。記事とトップの上の方に出す（ステマ規制） */
.ad-disclosure{margin:0 0 12px;padding:7px 11px;border:1px solid rgba(240,191,69,.3);border-radius:9px;background:rgba(240,191,69,.07);color:#a5b0c0;font-size:9px;line-height:1.6}
.article-view-page .ad-disclosure,.article-page-section .ad-disclosure{color:#6b7280;border-color:#e5d3a6;background:#fdf9ef}
.admin-master-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.admin-master-row{border:1px solid #e5e8ed;border-radius:11px;padding:11px 12px;background:#fff;display:grid;gap:9px}
.admin-master-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px}
.admin-master-name b{font-size:13px}
.admin-master-name small{font-size:10px;color:#8b95a1}
.admin-master-where{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.admin-master-where li{border:1px solid #e5e8ed;border-radius:8px;padding:7px 8px;background:#f8fafc}
.admin-master-where li.on{border-color:#bfe6d3;background:#f2fbf7}
.admin-master-where li.off{border-color:#f0d9b0;background:#fffaf1}
.admin-master-where b{display:block;font-size:10px;color:#3b4552}
.admin-master-where small{display:block;font-size:10px;color:#6b7280;margin-top:2px}
.admin-master-tools{display:flex;flex-wrap:wrap;gap:6px}
.admin-register-fold{margin-top:12px}
@media(max-width:700px){.admin-master-where{grid-template-columns:1fr 1fr}}
.status-pill{font-size:10px;padding:5px 9px}

.admin-fold{border-top:1px solid #eef1f5}
.admin-fold>summary{cursor:pointer;list-style:none;padding:11px 13px;font-size:12px;font-weight:900;color:#2c3543;background:#fff;display:flex;align-items:center;gap:8px}
.admin-fold>summary::-webkit-details-marker{display:none}
.admin-fold>summary:before{content:"▸";color:#94a1b2;font-size:11px;transition:transform .15s}
.admin-fold[open]>summary:before{transform:rotate(90deg)}
.admin-fold>summary em{font-style:normal;font-weight:700;font-size:10px;color:#8b95a2}
.admin-fold-body{padding:4px 13px 14px}

.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.field-grid .full{grid-column:1/-1}
.field{display:block}
.field>span{display:block;margin-bottom:4px;font-size:11px;font-weight:900;color:#3b4552}
.field>small{display:block;margin-top:4px;font-size:10px;color:#8b95a2;line-height:1.6}
.field input,.field textarea,.field select{width:100%;border:1px solid #dde3ea;border-radius:9px;padding:10px;font-size:13px;background:#fff;color:#17202d}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#6d84ff;box-shadow:0 0 0 3px rgba(109,132,255,.12)}
.field textarea{min-height:78px;resize:vertical;line-height:1.7}
.field-check{display:flex;align-items:center;gap:9px;background:#f6f8fb;border:1px solid #e6ebf1;border-radius:10px;padding:11px}
.field-check input{width:20px;height:20px;flex:0 0 auto}
.field-check span{font-size:12px;font-weight:900;color:#2f3948}
.field-check small{display:block;font-weight:600;font-size:10px;color:#8b95a2;margin-top:2px}
.where-tag{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#eef2ff;color:#4457c4;font-size:9px;font-weight:900;vertical-align:1px}

.score-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.score-field>span{display:block;margin-bottom:4px;font-size:11px;font-weight:900;color:#3b4552}
.score-field input{width:100%;border:1px solid #dde3ea;border-radius:9px;padding:10px;font-size:15px;font-weight:900;text-align:center}
.score-total{margin-top:11px;padding:10px 12px;border-radius:10px;background:#f6f8fb;border:1px solid #e6ebf1;font-size:11px;color:#4a5563}
.score-total b{font-size:14px;color:#17202d}

.admin-save{background:#111827;color:#fff;border:0;border-radius:10px;padding:13px 16px;font-size:13px;font-weight:900;margin-top:12px;width:100%;cursor:pointer}
.admin-save:hover{background:#1f2937}
.admin-save.secondary{background:#fff;color:#1f2937;border:1px solid #d7dee7}
.admin-actions-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.admin-actions-row .admin-save{margin-top:12px}

.settings-preview{margin-top:12px;border:1px dashed #ccd4de;border-radius:12px;padding:12px;background:#fbfcfe}
.settings-preview small{display:block;font-size:10px;color:#8b95a2;font-weight:900;margin-bottom:6px}
.settings-preview p{margin:0;font-size:12px;color:#28313d;line-height:1.7}

/* サイト設定の入力フォーム。書式テキストの textarea は .sf-raw の折りたたみの中に残してある */
.sf-subhead{margin:0 0 8px;font-size:12px;font-weight:900;color:#2b3444}
.setting-form{display:grid;gap:10px}
.sf-row,.sf-group{border:1px solid #e3e8ef;border-radius:12px;padding:11px;background:#fbfcfe}
.sf-group{background:#f7f9fc}
.sf-rowhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.sf-rowhead b{font-size:11px;font-weight:900;color:#5b6675}
.sf-ops{display:flex;gap:4px;flex:0 0 auto}
.sf-ops .tiny{border:1px solid #dfe4ea;background:#fff;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:900;color:#3b4552;cursor:pointer}
.sf-ops .tiny[disabled]{opacity:.35;cursor:default}
.sf-del{border-color:#e7c9ce!important;color:#a83c47!important}
.sf-cells{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.sf-cell{display:block;min-width:0}
.sf-cell.full{grid-column:1/-1}
.sf-label{display:block;margin-bottom:3px;font-size:10px;font-weight:900;color:#6d7784}
.sf-cell input,.sf-cell textarea,.sf-title{width:100%;border:1px solid #dde3ea;border-radius:9px;padding:8px 9px;font-size:12px;background:#fff;color:#17202d}
.sf-cell textarea{min-height:60px;resize:vertical;line-height:1.7}
.sf-cell input:focus,.sf-cell textarea:focus,.sf-title:focus{outline:none;border-color:#6d84ff;box-shadow:0 0 0 3px rgba(109,132,255,.12)}
.sf-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.sf-tag{display:inline-flex;align-items:center;gap:5px;border:1px solid #dde3ea;border-radius:999px;padding:5px 10px;background:#fff;font-size:11px;font-weight:800;color:#3b4552;cursor:pointer}
.sf-tag input{width:14px;height:14px;margin:0;flex:0 0 auto}
.sf-tag:has(input:checked){border-color:#6d84ff;background:#eef2ff;color:#3446b8}
.sf-none{font-size:10px;color:#a0a9b5}
/* 選択肢（タグ・決済手段など）のチェック箱。.field / .sf-cell の input 指定（幅100%・余白）を打ち消す */
.field .sf-tag input,.sf-cell .sf-tag input{width:14px;height:14px;padding:0;border:0;border-radius:0;box-shadow:none}
.field>.field-label{display:block;margin-bottom:4px;font-size:11px;font-weight:900;color:#3b4552}
.choice-add{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.choice-add input[type="text"]{flex:1 1 220px;min-width:0;width:auto}
.choice-add .tiny{flex:0 0 auto;white-space:nowrap}
.sf-tag-note{display:block;margin-top:4px;font-size:10px;color:#8b95a2;line-height:1.6}
.choice-manager-block{border:1px solid #e6ebf1;border-radius:12px;padding:12px 14px;background:#fff;margin-top:12px}
.choice-manager-block h4{margin:0 0 2px;font-size:13px}
.choice-manager-block h4 small{font-weight:700;color:#8b95a2;margin-left:4px}
.choice-chips{list-style:none;margin:8px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.choice-chips li{display:inline-flex;align-items:center;gap:5px;border:1px solid #dde3ea;border-radius:999px;padding:4px 6px 4px 10px;font-size:11px;font-weight:800;color:#3b4552;background:#fff}
.choice-chips li.in-use{border-color:#c8d2ff;background:#f4f6ff}
.choice-chips li.empty{padding:4px 10px;color:#a0a9b5;font-weight:700}
.choice-chips li small{font-size:9px;color:#6d84ff;font-weight:900}
.choice-chips li button{border:0;background:#eef1f5;border-radius:999px;width:20px;height:20px;line-height:20px;padding:0;font-size:12px;color:#a83c47;cursor:pointer}
.choice-chips li button:focus-visible{outline:2px solid #6d84ff}
.sf-item{border:1px solid #e6ebf1;border-radius:10px;padding:9px;background:#fff;margin-top:8px;display:grid;gap:7px}
.sf-item>.sf-del{justify-self:end;border:1px solid #e7c9ce;background:#fff;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:900;color:#a83c47;cursor:pointer}
.sf-add{margin-top:9px;width:100%;border:1px dashed #c3cddb;background:#fff;border-radius:10px;padding:10px;font-size:12px;font-weight:900;color:#3b4552;cursor:pointer}
.sf-add:hover{border-color:#6d84ff;color:#3446b8}
.sf-add-item{padding:8px;font-size:11px}
.sf-raw{margin-top:10px;border:1px solid #e6ebf1;border-radius:10px;background:#fff}
.sf-raw>summary{padding:9px 11px;font-size:11px;font-weight:900;color:#6d7784;cursor:pointer;list-style:none}
.sf-raw>summary::-webkit-details-marker{display:none}
.sf-raw>summary:before{content:"▸ ";color:#a0a9b5}
.sf-raw[open]>summary:before{content:"▾ "}
.sf-raw>*:not(summary){margin:0 11px 11px}
.sf-raw-hint{font-size:10px!important;line-height:1.7}

@media(max-width:760px){
 .admin-main{padding:16px 12px 70px}
 .admin-top{display:block}
 .admin-top .btn{display:inline-block;margin-top:10px}
 .admin-metrics{grid-template-columns:1fr 1fr}
 .field-grid{grid-template-columns:1fr}
 .field-grid .full{grid-column:1}
 .score-editor{grid-template-columns:1fr 1fr}
 .admin-service-head{flex-wrap:wrap}
 .admin-service-head>img{order:3}
 .admin-service-tools{width:100%;justify-content:flex-start}
 .admin-actions-row{grid-template-columns:1fr}
 .sf-cells{grid-template-columns:1fr}
 .sf-cell.full{grid-column:1}
 .sf-rowhead{flex-wrap:wrap}
}
.admin-login-card p{font-size:12px}
.admin-login-card input{font-size:14px;padding:12px}
.admin-login-actions button{padding:12px;font-size:13px}
#adminMessage{font-size:12px}
.analytics-bar span,.analytics-bar b{font-size:10px}
.admin-panel #eventLog>div{font-size:11px!important}

/* ===== 2026-09 PR表記 / サービス詳細ページのDB連動パーツ ===== */
.pr-flag{display:inline-block;margin-left:6px;padding:3px 8px;border-radius:999px;background:linear-gradient(120deg,#f6d071,#d69f1d);color:#241703;font-size:8px;font-weight:950;letter-spacing:.06em;vertical-align:2px}
.comparison-vectors .pr-flag{margin-left:0}
.svc-badges{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:9px}
.svc-rank{border:1px solid rgba(240,194,77,.45);border-radius:999px;padding:5px 11px;color:#f6dc9b;font-size:9px;font-weight:900;letter-spacing:.04em;background:rgba(240,194,77,.1)}
.svc-badges .pr-flag{margin-left:0}
.svc-badges [hidden]{display:none!important}
.service-summary .tag-row{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.score-note{font-size:8px;color:#8998aa;font-weight:700}
.svc-campaign{position:relative;z-index:2;margin:0 0 12px;border-left:3px solid #f0c24d;border-radius:0 8px 8px 0;background:rgba(240,194,77,.08);padding:9px 11px;color:#f1e6c9;font-size:10px;line-height:1.7}
.svc-updated{position:relative;z-index:2;margin:10px 0 0;color:#8496ab;font-size:9px}
.svc-hidden-note{position:relative;z-index:2;margin:8px 0 0;color:#e0a3a3;font-size:9px}
.service-page .payment-list span{display:inline-block}

/* ===== 2026-09 人気記事・ジャンル導線・サイト一覧・記事一覧 ===== */
.popular-block{margin-top:26px}
.popular-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.popular-row .popular-item{position:relative;display:block;border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;background:linear-gradient(160deg,rgba(21,34,56,.92),rgba(11,23,40,.96));transition:transform .2s,border-color .2s}
.popular-row .popular-item:hover{transform:translateY(-3px);border-color:rgba(240,194,77,.45)}
.popular-row .popular-item img{display:block;width:100%;height:96px;object-fit:cover}
.popular-row .popular-item>div{padding:9px 10px 11px}
.popular-row .popular-item small{display:block;color:#8fa2ba;font-size:8px;font-weight:900;letter-spacing:.04em;margin-bottom:4px}
.popular-row .popular-item b{display:block;color:#eef3f9;font-size:10px;line-height:1.55}
.popular-no{position:absolute;top:8px;left:8px;z-index:2;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:8px;background:linear-gradient(145deg,#f6d071,#d69f1d);color:#241703;font-size:11px;font-weight:950}
.popular-row .popular-item:nth-child(n+4) .popular-no{background:rgba(12,23,39,.9);color:#dbe5f1;border:1px solid rgba(255,255,255,.25)}

.genre-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.genre-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:#c8d4e3;padding:7px 12px;font-size:10px;font-weight:900;cursor:pointer}
.genre-chip span{border-radius:999px;background:rgba(255,255,255,.1);padding:1px 6px;font-size:9px;color:#9fb0c5}
.genre-chip:hover{border-color:rgba(240,194,77,.5);color:#ffe17d}
.genre-chip.active{background:linear-gradient(120deg,#f6d071,#d69f1d);border-color:transparent;color:#241703}
.genre-chip.active span{background:rgba(0,0,0,.16);color:#241703}

.article-index-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.article-index-search{display:flex;align-items:center;gap:10px}
.article-index-search .search-input{min-width:220px}
.article-index-count{color:#93a2b7;font-size:10px;font-weight:900;white-space:nowrap}
.article-index-list{display:grid;gap:10px}
.article-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:12px;transition:transform .2s,border-color .2s}
.article-row:hover{transform:translateY(-2px);border-color:rgba(240,194,77,.42)}
.article-row img{width:100%;height:112px;object-fit:cover;border-radius:11px}
.article-row small{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:3px 8px;color:#9fb0c5;font-size:8px;font-weight:900;margin-bottom:7px}
.article-row b{display:block;color:#f2f6fb;font-size:14px;line-height:1.5;margin-bottom:5px}
.article-row p{margin:0 0 6px;color:#9cabbe;font-size:10px;line-height:1.75}
.article-row time{color:#7d8ea3;font-size:9px}

.invite-code{display:inline-flex;align-items:center;gap:7px;border:1px dashed rgba(240,194,77,.55);border-radius:9px;background:rgba(240,194,77,.08);color:#f6dc9b;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.06em;cursor:pointer}
.invite-code span{border-radius:6px;background:rgba(240,194,77,.2);padding:2px 6px;font-size:8px;letter-spacing:0}
.invite-code:hover{border-style:solid;color:#ffe9b0}
.invite-code.copied{border-color:#59d5a6;color:#8ff0c8}
.invite-none{color:#7d8ea3;font-size:9px}
/* 招待URLだけのサイト（9/16）：コードの代わりに招待リンクのボタン */
.invite-link{display:inline-flex;align-items:center;border:1px solid rgba(240,194,77,.55);border-radius:9px;background:rgba(240,194,77,.14);color:#f6dc9b;padding:6px 10px;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}
.invite-link:hover,.invite-link:focus-visible{background:rgba(240,194,77,.26);color:#ffe9b0;outline:none}

@media(max-width:930px){
 .popular-row{grid-template-columns:repeat(3,minmax(0,1fr))}
 .article-row{grid-template-columns:140px minmax(0,1fr)}
 .article-row img{height:86px}
}
@media(max-width:620px){
 .popular-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
 .popular-row::-webkit-scrollbar{display:none}
 .popular-row .popular-item{flex:0 0 62vw;scroll-snap-align:center}
 .popular-row .popular-item img{height:120px}
 .article-index-tools{display:block}
 .article-index-search{margin-top:10px}
 .article-index-search .search-input{flex:1;min-width:0}
 .article-row{grid-template-columns:1fr;gap:10px}
 .article-row img{height:150px}
}

/* ===== 2026-09 管理画面：ツールバー・期間グラフ・並び順 ===== */
.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:10px 0 12px}
.admin-toolbar input{flex:1;min-width:180px;border:1px solid #dde3ea;border-radius:9px;padding:10px;font-size:13px}
.admin-chip-row{display:flex;flex-wrap:wrap;gap:6px}
.admin-chip{border:1px solid #dfe4ea;border-radius:999px;background:#fff;color:#3b4552;padding:7px 11px;font-size:11px;font-weight:900;cursor:pointer}
.admin-chip i{font-style:normal;color:#8b95a2;font-size:10px}
.admin-chip:hover{border-color:#b9c3d0}
.admin-chip.active{background:#111827;border-color:#111827;color:#fff}
.admin-chip.active i{color:#c7d0dc}
.admin-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.admin-panel-heading>div{flex:1;min-width:0}.admin-panel-heading h3{margin-bottom:5px}.admin-panel-heading .admin-hint{margin:0}
.admin-panel-heading>.admin-save{flex:0 0 auto;width:auto;margin:0;padding:11px 16px}
.cms-article-card{padding:0;overflow:hidden;border-color:#dfe5ed;border-radius:14px;background:#fff}
.cms-article-head{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:14px;padding:14px;background:#f8fafc;border-bottom:1px solid #e6ebf1}
.cms-article-head>img{width:112px;height:72px;border:1px solid #e1e6ed;border-radius:10px;object-fit:cover;background:#e9edf3}
.cms-article-summary{min-width:0}.cms-article-title-row{display:flex;align-items:flex-start;gap:9px}.cms-article-title-row>b{color:#172033;font-size:14px;line-height:1.55}
.cms-article-summary>small{display:block;margin-top:3px;overflow:hidden;color:#7b8796;font-size:11px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}
.cms-article-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cms-article-meta span{padding:4px 7px;border:1px solid #dfe5ed;border-radius:999px;background:#fff;color:#596579;font-size:10px;font-weight:800}
.cms-article-quick-actions{display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end;gap:6px;max-width:360px}
.cms-article-quick-actions .tiny{padding:8px 10px;border-radius:8px;color:#344054;font-size:10px;font-weight:900;text-decoration:none}
.cms-article-quick-actions .tiny.primary,.cms-upload-row .tiny.primary{border-color:#172033;background:#172033;color:#fff}.cms-article-quick-actions .tiny.danger{border-color:#f0cbd0;background:#fff5f6;color:#a13a46}
.cms-image-editor{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.cms-image-editor>img{width:220px;aspect-ratio:3/2;border:1px solid #e1e6ed;border-radius:12px;object-fit:cover;background:#eef1f5}
.cms-upload-row{display:flex;align-items:center;gap:8px}.cms-upload-row input[type=file]{flex:1;min-width:0;padding:9px;border:1px dashed #cbd4df;border-radius:9px;background:#fff}.cms-upload-row .tiny{flex:0 0 auto;padding:10px 12px}
.cms-structured-notice{padding:14px;border:1px solid #d9e1ec;border-radius:11px;background:#f7f9fc}.cms-structured-notice b{font-size:13px}.cms-structured-notice p{margin:5px 0 0;color:#667085;font-size:11px;line-height:1.7}.cms-structured-notice .admin-save{width:auto;margin-top:10px;padding:10px 13px}
.cms-article-card .field textarea[id^="ab_"]{min-height:260px;font-size:14px;line-height:1.9}
.cms-article-savebar{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:12px 14px;border-top:1px solid #e8ecf2;background:#fbfcfe}.cms-article-savebar p{flex:1;margin:0;color:#667085;font-size:10px;line-height:1.6}.cms-article-savebar .admin-save{width:auto;min-width:190px;margin:0;padding:11px 15px}
.trend-bars{display:flex;align-items:flex-end;gap:5px;height:180px;margin-top:14px;padding-bottom:26px;overflow-x:auto}
.trend-bar{flex:1 0 34px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.trend-bar i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#7d92ff,#4459d6)}
.trend-bar b{position:absolute;top:-2px;left:0;right:0;text-align:center;font-size:10px;color:#4a5563}
.trend-bar span{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:9px;color:#8b95a2;white-space:nowrap}
.order-list{margin:8px 0 12px;padding:0;list-style:none;display:grid;gap:7px}
/* 画像の登録（管理画面 → 広告管理 → 画像の登録） */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:8px}
.media-card{border:1px solid #e5e8ed;border-radius:10px;padding:8px;background:#fff}
.media-card img{width:100%;height:86px;object-fit:cover;border-radius:7px;background:#f2f4f7}
.media-card .field{margin-top:6px}
.media-card .admin-actions-row{flex-wrap:wrap;gap:4px;margin-top:6px}
/* 画像を「置き場所ごと」に出す（2026-09-13）。1枠＝1か所で、そこに上げてそこで使う */
.media-place{border:1px solid #e3e8ef;border-radius:12px;padding:13px;background:#fbfcfe;margin-top:12px}
.media-place:first-child{margin-top:0}
.media-place-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.media-place-head b{display:block;font-size:13px;font-weight:900;color:#1f2937}
.media-place-head small{display:block;margin-top:2px;font-size:10px;font-weight:700;color:#8b95a2}
.media-place-note{margin:8px 0 10px!important;font-size:10px!important;line-height:1.7}
.media-empty{margin:8px 0 0!important;font-size:10px!important;color:#a0a9b5}
.media-card{position:relative}
.media-card.is-off{opacity:.62}
.media-flag{position:absolute;top:12px;left:12px;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:900;color:#fff}
.media-flag.on{background:#16764f}
.media-flag.off{background:#7b8593}
.media-card-ops{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.media-order{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:800;color:#3b4552}.media-order span{margin-right:auto}
.media-alt-hero>span{color:#101824}.media-alt-hero.is-empty input{border-color:#f97316;background:#fff7ed}.media-alt-hero small{display:block;margin-top:3px;color:#c2410c;font-size:10px;font-weight:800}
.media-card-ops .tiny{border:1px solid #dfe4ea;background:#fff;border-radius:7px;padding:5px 7px;font-size:10px;font-weight:900;color:#3b4552;cursor:pointer}
.media-card-ops .tiny.danger{border-color:#e7c9ce;color:#a83c47}
/* サイト設定の画像欄（上げた画像から選ぶ） */
.sf-image{display:flex;gap:10px;align-items:flex-start}
.sf-thumb{flex:0 0 84px;height:60px;border:1px solid #dde3ea;border-radius:9px;background:#f2f4f7;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sf-thumb img{width:100%;height:100%;object-fit:cover}
.sf-thumb em{font-size:9px;color:#a0a9b5;font-style:normal;font-weight:800}
.sf-pane-nav{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:10px 0;background:#fff;border-bottom:1px solid #e4e9f0}
.sf-pane-nav button{border:1px solid #d5dce6;border-radius:999px;padding:8px 14px;background:#f6f8fb;color:#344154;font-size:12px;font-weight:800;cursor:pointer}
.sf-pane-nav button.on{background:#17202d;border-color:#17202d;color:#fff}
.sf-pane[hidden]{display:none}
.sf-cell.sf-hidden{display:none!important}
.sf-image-controls{flex:1 1 auto;min-width:0;display:grid;gap:5px}
.sf-image-controls select{width:100%;border:1px solid #dde3ea;border-radius:9px;padding:8px 9px;font-size:12px;background:#fff;color:#17202d}
.sf-image-controls select[disabled]{background:#f4f6f9;color:#98a1ae}
.sf-image-controls small{font-size:9px;color:#8b95a2;line-height:1.6}
.sf-upload{position:relative;display:flex;align-items:center;justify-content:center;border:1.5px dashed #9fb3c8;border-radius:9px;padding:9px;background:#f7fafc;color:#17202d;font-size:12px;font-weight:800;cursor:pointer}
.sf-upload:hover{border-color:#17202d;background:#eef3f8}
.sf-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.sf-upload.is-busy{opacity:.55;pointer-events:none}
.sf-upload.is-busy span::after{content:"（アップロード中…）"}
.sf-url summary{font-size:10px;color:#8b95a2;cursor:pointer}
.sf-url input{margin-top:5px;width:100%}
.order-list li{display:flex;align-items:center;gap:9px;border:1px solid #e5e8ed;border-radius:10px;background:#fff;padding:9px 11px}
.order-list li>span{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#111827;color:#fff;font-size:12px;font-weight:950}
.order-list li>b{flex:1;min-width:0;font-size:12px;line-height:1.5}
.order-list li>small{flex:0 0 auto;color:#8b95a2;font-size:10px}
.order-list li>small.order-warn{color:#c2410c;font-weight:800}
.order-list li>div{flex:0 0 auto;display:flex;gap:5px}
.order-list .order-empty{display:block;color:#8b95a2;font-size:11px}
.order-list button[disabled]{opacity:.35}
@media(max-width:760px){
 .admin-panel-heading{display:block}.admin-panel-heading>.admin-save{width:100%;margin-top:10px}
 .admin-toolbar{display:block}
 .admin-toolbar input{width:100%;margin-bottom:8px}
 .admin-toolbar .admin-save{width:100%;margin-top:8px}
 .admin-chip-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
 .admin-chip{white-space:nowrap}
 .cms-article-head{grid-template-columns:82px minmax(0,1fr)}.cms-article-head>img{width:82px;height:58px}.cms-article-quick-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}.cms-article-quick-actions .tiny{flex:1 1 auto;text-align:center}
 .cms-image-editor{grid-template-columns:1fr}.cms-image-editor>img{width:100%;max-height:240px}.cms-upload-row{align-items:stretch;flex-direction:column}.cms-upload-row .tiny{width:100%}
 .cms-article-savebar{display:block}.cms-article-savebar .admin-save{width:100%;margin-top:8px}
 .order-list li{flex-wrap:wrap}
 .order-list li>b{flex:1 0 100%;order:2}
 .order-list li>div{margin-left:auto}
}

/* ===== 2026-09 記事テンプレート・手動画像・詳細編集 ===== */
.ai-article-invite{display:flex;align-items:center;gap:18px;padding:18px 22px;margin:24px 0;border:1px solid #cbd5ff;border-radius:12px;background:#f7f8ff}
.ai-article-invite div{flex:0 0 auto}.ai-article-invite small{display:block;color:#6554c0;font-size:10px;font-weight:900;letter-spacing:.08em}.ai-article-invite strong{font-size:23px;letter-spacing:.06em}.ai-article-invite p{margin:0;color:#596579}
.ai-article-invite .invite-code{display:inline-flex;align-items:baseline;gap:8px;margin-top:3px;border:1px dashed #8f7de8;border-radius:9px;background:#fff;padding:6px 12px;color:#3b2f8f;font-size:21px;font-weight:950;letter-spacing:.06em;cursor:pointer}
.ai-article-invite .invite-code span{border-radius:999px;background:#e7e2ff;color:#4b3cb0;font-size:10px;font-weight:900;letter-spacing:0;padding:2px 8px}
.ai-article-invite .invite-code:hover,.ai-article-invite .invite-code:focus-visible{border-style:solid;outline:none;box-shadow:0 0 0 3px rgba(105,84,222,.15)}
.ai-article-invite .invite-code.copied{border-color:#1f9d6c;color:#137a51}
@media(max-width:640px){.ai-article-invite{flex-direction:column;align-items:flex-start;gap:8px}}
.ai-outline-input{min-height:300px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.7}
/* 9/15 先方シート：固定する目次を↑↓で並べ替え・その場でテンプレ保存／カテゴリ・記事タグを選ぶ形に */
.ai-form-grid .full{grid-column:1/-1}
.ai-form-choice>span,.ai-outline-title,.ai-cta-title{display:block;margin:0 0 4px;font-size:11px;color:#5f6c7b;font-weight:900}
.ai-form-grid .sf-tag input{width:14px;height:14px;padding:0;border:0;box-shadow:none}
.ai-form-grid .choice-add input[type="text"]{width:auto}
.ai-outline-editor{display:grid;gap:8px;margin-top:8px}
.ai-outline-h2{border:1px solid #e1e6ed;border-radius:10px;background:#fff;padding:8px}
.ai-outline-row{display:flex;align-items:center;gap:6px}
.ai-outline-row input[type="text"]{flex:1 1 auto;min-width:0;width:auto}
.ai-outline-no{flex:0 0 26px;height:26px;border-radius:999px;background:#ede9fe;color:#6547d8;display:grid;place-items:center;font-size:11px}
.ai-outline-h3{margin:6px 0 0 32px}
.ai-outline-h3>i{flex:0 0 auto;font-style:normal;font-size:9px;font-weight:900;color:#8791a0}
.ai-outline-ops{display:flex;gap:4px;flex:0 0 auto}
.ai-outline-ops .tiny{padding:5px 8px;font-size:12px;line-height:1;color:#253043}
.ai-outline-ops .tiny:disabled{opacity:.35;cursor:not-allowed}
.ai-form-grid .ai-field-note,.ai-outline-block .ai-field-note{display:block;margin:4px 0 0;font-size:10px;line-height:1.6;color:#8791a0;font-weight:500}
.ai-outline-block .ai-field-note b{color:#3b4552}
.ai-outline-block .ai-field-note code{font-size:10px;background:#eef1f6;border-radius:4px;padding:0 4px}
.ai-form-grid .ai-outline-editor input[type="text"],.ai-form-grid .ai-outline-save input{font-size:12px;padding:8px 9px}
.ai-outline-add-h3,.ai-outline-add-h2{margin:6px 0 0 32px;border:1px dashed #cfd6e2;background:#f8fafc;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:900;color:#5f6c7b;cursor:pointer}
.ai-outline-add-h2{margin-left:0}
.ai-outline-add-h2:disabled{opacity:.5;cursor:not-allowed}
.ai-outline-foot{display:flex;align-items:center;gap:10px}
.ai-outline-foot small{font-size:10px;color:#8791a0}
.ai-outline-save{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px;border-radius:10px;background:#f4f7fa}
.ai-outline-save input{flex:1 1 220px;min-width:0;width:auto}
.ai-outline-save .admin-save{width:auto;margin:0}
.ai-outline-save small{flex:1 0 100%}
.ai-outline-raw{margin-top:8px}
.ai-outline-raw>summary{cursor:pointer;font-size:11px;font-weight:900;color:#5f6c7b}
@media(max-width:700px){.ai-outline-row{flex-wrap:wrap}.ai-outline-ops{margin-left:auto}.ai-outline-h3,.ai-outline-add-h3{margin-left:12px}}
.ai-manual-media-panel,.ai-template-panel{margin-top:14px}.ai-template-panel>summary{cursor:pointer;font-weight:900;color:#172033}.ai-template-tools{padding-top:16px}.ai-template-tools>label{display:block;margin-bottom:12px}.ai-template-tools>label span{display:block;margin-bottom:5px;font-size:11px;font-weight:900;color:#596579}.ai-template-tools input{width:100%}
.ai-upload-row{display:flex;align-items:center;gap:10px;margin-top:12px}.ai-upload-row input[type=file]{flex:1;min-width:0;padding:9px;border:1px dashed #cfd6e2;border-radius:9px;background:#fff}.ai-upload-row .btn{flex:0 0 auto}
.ai-manual-image-list,.article-editor-assets{display:grid;gap:10px;margin-top:14px}.ai-manual-image-list article,.article-editor-asset{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #e2e7ef;border-radius:11px;background:#f8fafc}.ai-manual-image-list img,.article-editor-asset img{width:110px;height:72px;object-fit:cover;border-radius:8px}.ai-manual-image-list article>div,.article-editor-asset>div{display:grid;grid-template-columns:150px 150px minmax(220px,1fr);gap:8px}.ai-manual-image-list label,.article-editor-asset label{font-size:10px;font-weight:900;color:#596579}.ai-manual-image-list input,.ai-manual-image-list select,.article-editor-asset input,.article-editor-asset select{display:block;width:100%;margin-top:3px;padding:8px;border:1px solid #dce2eb;border-radius:7px;background:#fff;color:#172033}.ai-preview-actions{display:flex;align-items:center;gap:10px;margin:10px 0 14px}.ai-preview-actions .btn{width:auto}
body.modal-open{overflow:hidden}.article-editor-modal[hidden]{display:none}.article-editor-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}.article-editor-backdrop{position:absolute;inset:0;background:rgba(7,15,29,.76);backdrop-filter:blur(3px)}.article-editor-dialog{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1240px,calc(100vw - 36px));height:min(92vh,980px);overflow:hidden;border-radius:16px;background:#f4f6fa;box-shadow:0 30px 90px rgba(0,0,0,.34)}.article-editor-dialog>header,.article-editor-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#fff;border-bottom:1px solid #e1e6ee}.article-editor-dialog>header h2{margin:2px 0 0;font-size:21px}.article-editor-dialog>footer{justify-content:flex-end;border-top:1px solid #e1e6ee;border-bottom:0}.article-editor-dialog>footer .btn{width:auto;min-width:150px}.article-editor-dialog>#articleRichEditorBody{overflow:auto;padding:18px 20px 40px}.article-editor-notice{padding:12px 15px;border-radius:10px;background:#eaf7ff;color:#234765;font-size:12px;font-weight:700}/* 記事編集は白い画面なのに、管理画面全体の白文字を受け継いで「推奨サイズ…」などが読めなかった（D-4・9/14） */
.article-editor-dialog{color:#17202d}
.article-editor-group>.ai-field-note{margin:10px 16px 0;color:#2a3441;font-size:12px;line-height:1.7}
.article-editor-group,.article-editor-section{margin-top:14px;border:1px solid #dfe5ee;border-radius:12px;background:#fff;overflow:hidden}.article-editor-group>summary,.article-editor-section>summary{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;font-weight:900}.article-editor-section>summary span{padding:4px 8px;border-radius:999px;background:#ede9fe;color:#6547d8;font-size:10px}.article-editor-group>.article-editor-grid{padding:0 16px 16px}.article-editor-section-body{padding:0 16px 16px}.article-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.article-editor-field{display:block}.article-editor-field.full{grid-column:1/-1}.article-editor-field>span{display:block;margin-bottom:5px;color:#526070;font-size:10px;font-weight:900}.article-editor-field input,.article-editor-field textarea,.article-editor-field select{width:100%;padding:10px 11px;border:1px solid #dbe1ea;border-radius:8px;background:#fff;color:#172033;font:inherit}.article-editor-field textarea{min-height:92px;resize:vertical;line-height:1.55}.article-editor-card-head,.article-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.article-editor-card-head>div{display:flex;gap:5px}.article-editor-heading{margin-top:22px}.article-editor-heading h3{margin:2px 0 0}.article-editor-heading .admin-save{width:auto}.article-editor-h3-list{display:grid;gap:9px;margin:14px 0}.article-editor-h3{padding:12px;border:1px dashed #ccd5e2;border-radius:10px;background:#f9fafc}.article-editor-h3 .article-editor-card-head{margin-top:0}
@media(max-width:900px){.ai-manual-image-list article,.article-editor-asset{grid-template-columns:86px 1fr}.ai-manual-image-list img,.article-editor-asset img{width:86px;height:64px}.ai-manual-image-list article>div,.article-editor-asset>div{grid-template-columns:1fr}.ai-manual-image-list article>button,.article-editor-asset>button{grid-column:2}.article-editor-grid{grid-template-columns:1fr}.article-editor-field.full{grid-column:auto}.article-editor-modal{padding:6px}.article-editor-dialog{width:calc(100vw - 12px);height:calc(100vh - 12px)}}


/* 招待コード一覧（サービス比較カードと同じ見た目にそろえる） */
.invite-board{margin-top:6px}
.invite-board-head{margin-bottom:12px}
.invite-board-head h2{margin:0;font-size:22px}
.invite-board-head p{margin:6px 0 0;color:#93a3b8;font-size:13px;line-height:1.8}
.invite-board-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.invite-board-empty{color:#93a3b8;font-size:13px}
.invite-card .invite-fact-code{border-color:rgba(216,161,51,.45);background:linear-gradient(145deg,#fffaf0,#fff4dd)}
.invite-card .invite-fact-code .invite-code{display:inline-flex;align-items:baseline;gap:8px;margin-top:3px;border:1px dashed #d8a133;border-radius:9px;background:#fff;padding:6px 11px;color:#8a5f10;font-size:16px;font-weight:950;letter-spacing:.08em;cursor:pointer}
.invite-card .invite-fact-code .invite-code span{border-radius:999px;background:#f0e2c2;color:#7a5710;font-size:10px;font-weight:900;letter-spacing:0;padding:2px 7px}
.invite-card .invite-fact-code .invite-code.copied{border-style:solid;background:#fdf3dd}
.invite-card .invite-fact-none{color:#93a3b8}
.invite-card .invite-fact-link{display:block;margin-top:3px;color:#8a5f10;font-size:13px}
@media(max-width:760px){.invite-board-list{grid-template-columns:1fr}}
/* みんなの招待コード掲示板（/board/・9/16） */
.code-board{border:1px solid #e3e8ef;border-radius:16px;background:#fff;padding:20px;color:#17202d}
.code-board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.code-board-head h2{margin:0;font-size:22px}
.code-board-head p{margin:6px 0 0;max-width:62ch;color:#5f6c7b;font-size:13px;line-height:1.8}
.code-board-filter span,.code-board-fields span{display:block;margin-bottom:4px;font-size:11px;font-weight:900;color:#5f6c7b}
.code-board select,.code-board input{width:100%;min-width:0;border:1px solid #dbe1ea;border-radius:9px;background:#fff;color:#17202d;padding:9px 10px;font:inherit;font-size:14px}
.code-board select:focus,.code-board input:focus{outline:none;border-color:#d8a133;box-shadow:0 0 0 3px rgba(216,161,51,.18)}
/* 9/17 シート22行：最新20件を横4×縦5で（スクロール枠はやめた）。狭い幅は3・2・1列 */
.code-board-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media(max-width:1000px){.code-board-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.code-board-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.code-board-list{grid-template-columns:1fr}}
.code-board-item{min-width:0;border:1px solid #efe3c8;border-radius:12px;background:#fffbf2;padding:12px;display:grid;gap:8px;align-content:start}
.code-board-top{display:flex;justify-content:space-between;gap:4px 8px;align-items:baseline;flex-wrap:wrap}
.code-board-top b{font-size:14px}
.code-board-top small{font-size:11px;color:#8b95a2;white-space:nowrap}
.code-board-item .invite-code{justify-self:start;max-width:100%;flex-wrap:wrap;overflow-wrap:anywhere;word-break:break-all;display:inline-flex;align-items:baseline;gap:4px 8px;border:1px dashed #d8a133;border-radius:9px;background:#fff;padding:6px 11px;color:#8a5f10;font-size:16px;font-weight:950;letter-spacing:.06em;cursor:pointer}
.code-board-item .invite-code span{border-radius:999px;background:#f0e2c2;color:#7a5710;font-size:10px;font-weight:900;letter-spacing:0;padding:2px 7px}
.code-board-item .invite-code.copied{border-style:solid;background:#fdf3dd}
.code-board-item p{margin:0;font-size:13px;line-height:1.7;color:#3b4552;overflow-wrap:anywhere}
.code-board-empty{grid-column:1/-1;color:#8b95a2;font-size:13px;padding:8px 0}
.code-board-form{margin-top:16px;border-top:1px dashed #e3e8ef;padding-top:14px}
.code-board-form h3{margin:0 0 10px;font-size:16px}
.code-board-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.code-board-fields .wide{grid-column:1/-1}
.code-board-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.code-board-submit button{border:0;border-radius:10px;background:#17202d;color:#fff;font-weight:900;padding:11px 22px;cursor:pointer}
.code-board-submit button:disabled{opacity:.5;cursor:wait}
.code-board-submit button:focus-visible{outline:3px solid #d8a133;outline-offset:2px}
.code-board-submit small{font-size:12px;color:#5f6c7b}
@media(max-width:760px){.code-board{padding:14px}.code-board-fields{grid-template-columns:1fr}.code-board-filter{width:100%}}

/* 記事本文に差し込むアフィリボタン（[[cta:サービスID]] の描画先） */
.ai-article-cta-slot{margin:22px 0}
.article-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(216,161,51,.45);border-radius:14px;background:linear-gradient(145deg,#fffaf0,#fff3d8);padding:16px 18px}
.article-cta-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.article-cta-body b{color:#20170a;font-size:16px}
.article-cta-body small{color:#6f5a2c;font-size:12px;line-height:1.7}
.article-cta-body .invite-code{align-self:flex-start;display:inline-flex;align-items:baseline;gap:8px;margin-top:3px;border:1px dashed #d8a133;border-radius:9px;background:#fff;padding:6px 11px;color:#8a5f10;font-size:15px;font-weight:950;letter-spacing:.08em;cursor:pointer}
.article-cta-body .invite-code span{border-radius:999px;background:#f0e2c2;color:#7a5710;font-size:10px;font-weight:900;letter-spacing:0;padding:2px 7px}
.article-cta-go{flex:0 0 auto;border:0;border-radius:10px;background:linear-gradient(135deg,#f5cf6a,#d8a133);color:#20170a;font-size:14px;font-weight:950;padding:12px 20px;cursor:pointer}
@media(max-width:640px){.article-cta{flex-direction:column;align-items:stretch}.article-cta-go{width:100%}}

/* 詳細編集：アフィリボタン挿入UI */
.cta-insert{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;border:1px dashed rgba(216,161,51,.6);border-radius:10px;background:#fffaf0;padding:9px 11px;margin-top:-2px}
.cta-insert label{display:flex;align-items:center;gap:9px;margin:0}
.cta-insert label>span{color:#7a5710;font-size:11px;font-weight:900;white-space:nowrap}
.cta-insert select{flex:1;min-width:0;border:1px solid #e0cd9c;border-radius:8px;background:#fff;padding:7px 9px;font:inherit;font-size:12px;color:#3b2f14}
.cta-insert small{color:#8b7440;font-size:10px;line-height:1.6}
#aiCtaServices{width:100%;border:1px solid #dfe5ec;border-radius:9px;background:#fff;padding:7px;font:inherit;font-size:12px}
/* 9/15 先方シート：大きい画像は 1600×420（約3.8:1）で作る。どの幅でもその比率の枠にして切らない
   （前は高さ310px固定＝スマホでほぼ正方形になり左右が大きく切れていた）。PCの幅いっぱいで約300px＝トップPR枠の310pxとほぼ同じ高さ。 */
.category-hero-image{display:block;width:100%;height:auto;aspect-ratio:1600/420;max-height:310px;object-fit:cover;border-radius:20px;border:1px solid var(--line);margin-bottom:16px}
.ad-preview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.ad-preview-pair .ad-preview-block{margin:0;padding:0;border:0}
@media (max-width:700px){.ad-preview-pair{grid-template-columns:1fr}.ad-preview-pair .ad-preview-block+.ad-preview-block{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}}
/* 掲載サイトのカード画像：6色の絵を選ぶ／ファイルを上げる を横に並べる（9/15） */
.svc-image-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.svc-image-row select{flex:1 1 180px}.svc-image-row .sf-upload{flex:1 1 200px}
#articleStatusTabs{margin-bottom:6px}
/* 管理画面：招待コード掲示板の投稿 */
.board-admin-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.board-admin-list li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid #e6ebf1;border-radius:10px;background:#fff;padding:9px 11px;color:#17202d}
.board-admin-list li.is-hidden{opacity:.6;background:#f6f7f9}
.board-admin-list code{font-weight:900;letter-spacing:.04em}
.board-admin-list small{color:#8b95a2;font-size:10px}
.board-admin-list p{margin:3px 0 0;font-size:12px}
.board-admin-tools{display:flex;gap:5px;align-items:center;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}

/* メニューの「掲示板」は公開スイッチがONのときだけ出す（.nav a の display 指定より強く隠す） */
.nav a[hidden],.bottom-nav a[hidden]{display:none!important}

.board-switch{margin:4px 0 10px;padding:10px 12px;border:1px solid #e6ebf1;border-radius:10px;background:#f8fafc;color:#17202d}
/* 記事の種類（9/17 シート29行）・AI画像のチェック（25行） */
.ai-kind-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.ai-kind-picker .ai-kind-title{grid-column:1/-1;font-size:11px;font-weight:900;color:#596579}
.ai-kind-picker label{display:block;position:relative;border:1px solid #d9dfe8;border-radius:10px;padding:10px 12px 10px 34px;background:#fff;cursor:pointer}
.ai-kind-picker label:has(input:checked){border-color:#6954de;background:#f4f1ff}
.ai-kind-picker input{position:absolute;left:12px;top:13px}
.ai-kind-picker b{display:block;font-size:13px;color:#172033}
.ai-kind-picker small{display:block;margin-top:2px;font-size:11px;color:#6b7686;line-height:1.5}
.ai-kind-note{margin:0 0 12px;padding:10px 12px;border-radius:9px;background:#fff8e6;color:#6b4b00;font-size:12px;line-height:1.7}
.ai-compare-box{margin:0 0 14px;padding:12px;border:1px dashed #cfd6e2;border-radius:10px;background:#fafbfd}
.ai-compare-box>span{display:block;margin-bottom:8px;font-size:11px;font-weight:900;color:#596579}
.ai-compare-list{display:flex;flex-wrap:wrap;gap:6px}
.ai-compare-list label{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9dfe8;border-radius:999px;padding:5px 11px;background:#fff;font-size:12px;cursor:pointer}
.ai-compare-list label.on{border-color:#6954de;background:#f4f1ff;font-weight:900}
.ai-compare-list input{margin:0}
.ai-compare-list em{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:4px;border-radius:50%;background:#6954de;color:#fff;font-size:10px;font-style:normal}
.ai-mode-card:has(input:disabled){opacity:.45;cursor:not-allowed}
.ai-image-gen-toggle{display:block;margin:10px 0 4px;padding:10px 12px;border:1px solid #e3e7ee;border-radius:9px;background:#fafbfd;font-size:12px;cursor:pointer}
.ai-image-gen-toggle small{display:block;margin-top:4px;color:#6b7686;line-height:1.6}
.ai-image-gen-toggle:has(input:disabled){opacity:.6;cursor:not-allowed}
.invite-card .invite-fact-empty{display:block;min-height:1em}
@media(max-width:700px){.ai-kind-picker{grid-template-columns:1fr}}
/* 掲示板の右上の吹き出し（9/17 電話） */
.board-hero .container{position:relative}
.page-hero .board-bubble{position:absolute;right:16px;top:8px;display:inline-flex;align-items:center;gap:7px;margin:0;padding:9px 14px;border-radius:14px;background:#f0c24d;color:#1a1300;font-size:13px;font-weight:900;line-height:1.3;box-shadow:0 8px 22px rgba(0,0,0,.28);animation:boardBubbleIn .5s ease-out both}
.page-hero .board-bubble::after{content:"";position:absolute;left:22px;bottom:-7px;border:7px solid transparent;border-top-color:#f0c24d;border-bottom:0}
.page-hero .board-bubble svg{flex:0 0 auto}
@keyframes boardBubbleIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:700px){.page-hero .board-bubble{position:static;margin:0 0 12px;font-size:12px}.page-hero .board-bubble::after{display:none}}
@media(prefers-reduced-motion:reduce){.board-bubble{animation:none}}
/* 画像サイズの早見表（管理画面・9/17 電話） */
.media-size-table{margin:0 0 14px;padding:12px 14px;border:1px solid #e3e7ee;border-radius:10px;background:#fafbfd}
.media-size-table summary{cursor:pointer;font-weight:900;color:#172033}
.media-size-table table{width:100%;margin-top:10px;border-collapse:collapse;font-size:12px}
.media-size-table th,.media-size-table td{padding:7px 8px;border-bottom:1px solid #e8ecf2;text-align:left;vertical-align:top}
.media-size-table th{font-size:11px;color:#596579}
.media-size-table small{display:block;margin-top:8px;color:#6b7686}
@media(max-width:700px){.media-size-table td:nth-child(3),.media-size-table th:nth-child(3){display:none}}
/* ランキングの1位〜5位プルダウン（9/17 電話） */
.rank-slots li.rank-slot{flex-wrap:wrap}
.rank-slots li.rank-slot>span{width:40px}
.rank-slots li.rank-slot select{flex:1 1 220px;min-width:0;padding:8px 10px;border:1px solid #cfd6e2;border-radius:8px;background:#fff;font-weight:800}
.rank-slots li.rank-slot>div{display:flex;gap:5px;margin-left:auto}
.rank-slots li.rank-slot .order-warn{flex-basis:100%}
/* タイアップ記事のPR（9/17 電話） */
.article-card{position:relative}
.article-card .article-pr{position:absolute;z-index:3;left:8px;top:8px;padding:3px 8px;border-radius:5px;background:#f0bf45;color:#1a1409;font-size:11px;font-weight:950;line-height:1.2;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.article-reader-meta .article-pr-badge{background:#f0bf45!important;color:#1a1409!important;font-weight:950}
.order-list li .tieup-check{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:11px;font-weight:800;color:#6b4b00;white-space:nowrap}
.order-list li .pr-chip{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;background:#f0bf45;color:#1a1409;font-size:10px;font-style:normal;font-weight:950}
[onclick^="outbound("][hidden]{display:none!important}
/* ヘッダーの「掲示板」に「招待コード」の吹き出し（9/17 takeさん） */
.nav a .nav-bubble{position:absolute;left:50%;top:3px;transform:translateX(-50%);padding:2px 7px;border-radius:999px;background:#f0c24d;color:#1a1300;font-size:9px;font-weight:950;line-height:1.4;letter-spacing:0;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.3);pointer-events:none;animation:navBubblePop 2.4s ease-in-out infinite}
.nav a .nav-bubble::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);border:4px solid transparent;border-top-color:#f0c24d;border-bottom:0}
@keyframes navBubblePop{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-2px)}}
@media(prefers-reduced-motion:reduce){.nav a .nav-bubble{animation:none}}
.site-header.nav-open .nav a .nav-bubble{position:static;display:inline-block;margin-left:8px;transform:none;animation:none;vertical-align:middle}
.site-header.nav-open .nav a .nav-bubble::after{display:none}

/* カテゴリページの大きい画像を登録したときは切らない（9/17 シート31行） */
.category-hero-image.is-exact{aspect-ratio:auto;max-height:none;object-fit:initial}
/* ===== 記事内の招待コード・アフィリの豪華枠（9/17 電話「気づかない」） ===== */
.article-cta.article-cta-premium{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px 18px;margin:6px 0;padding:22px 22px 18px;border:2px solid transparent;border-radius:18px;background:linear-gradient(150deg,#fffdf6,#fff1cc) padding-box,linear-gradient(135deg,#f7dc8a,#c98a1c 45%,#f7dc8a) border-box;box-shadow:0 14px 34px rgba(160,110,20,.22),inset 0 1px 0 #fff}
.article-cta-premium .article-cta-ribbon{position:absolute;top:-12px;left:18px;padding:4px 12px;border-radius:999px;background:linear-gradient(135deg,#1b2a44,#0d1628);color:#f7d77e;font-size:11px;font-weight:950;letter-spacing:.04em;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.article-cta-premium .article-cta-pr{position:absolute;top:8px;right:10px;padding:1px 6px;border-radius:4px;background:rgba(32,23,10,.08);color:#7a5a1c;font-size:10px;font-weight:900}
.article-cta-premium .article-cta-main{display:flex;align-items:center;gap:14px;min-width:0}
.article-cta-premium .article-cta-thumb{flex:0 0 96px;width:96px;height:64px;object-fit:cover;border-radius:10px;border:1px solid rgba(201,138,28,.35);background:#10233b}
.article-cta-premium .article-cta-body b{display:block;color:#1c1406;font-size:19px;line-height:1.3}
.article-cta-premium .article-cta-bonus{margin:6px 0 0;color:#5a3f08;font-size:14px;font-weight:900;line-height:1.5}
.article-cta-premium .article-cta-bonus em{display:inline-block;margin-right:7px;padding:1px 8px;border-radius:5px;background:#d8322f;color:#fff;font-size:11px;font-style:normal;vertical-align:1px}
.article-cta-premium .article-cta-code{grid-column:1/2;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.article-cta-premium .article-cta-code small{color:#7a5a1c;font-size:11px;font-weight:900}
.article-cta-premium .article-cta-code .invite-code{display:inline-flex;align-items:baseline;gap:8px;font-size:20px;font-weight:950;letter-spacing:.08em;padding:7px 14px;border:2px dashed #c98a1c;border-radius:10px;background:#fff;color:#6b4708;cursor:pointer}
.article-cta-premium .article-cta-code .invite-code span{border-radius:999px;background:#f0e2c2;color:#7a5710;font-size:10px;font-weight:900;letter-spacing:0;padding:2px 8px}
.article-cta-premium .article-cta-go{grid-column:2/3;grid-row:1/span 2;align-self:center;min-width:210px;padding:17px 26px;border-radius:12px;background:linear-gradient(135deg,#ffe08a,#f0b429 55%,#d8911a);color:#1c1406;font-size:17px;font-weight:950;box-shadow:0 8px 20px rgba(216,145,26,.45),inset 0 1px 0 rgba(255,255,255,.6);animation:ctaPulse 2.6s ease-in-out infinite}
.article-cta-premium .article-cta-go:hover{filter:brightness(1.05);transform:translateY(-1px)}
@keyframes ctaPulse{0%,100%{box-shadow:0 8px 20px rgba(216,145,26,.45),0 0 0 0 rgba(240,180,41,.45)}50%{box-shadow:0 8px 20px rgba(216,145,26,.45),0 0 0 10px rgba(240,180,41,0)}}
@media(prefers-reduced-motion:reduce){.article-cta-premium .article-cta-go{animation:none}}
@media(max-width:640px){
 .article-cta.article-cta-premium{grid-template-columns:1fr;padding:22px 16px 16px}
 .article-cta-premium .article-cta-go{grid-column:1;grid-row:auto;width:100%;min-width:0}
 .article-cta-premium .article-cta-code{grid-column:1}
 .article-cta-premium .article-cta-thumb{flex-basis:76px;width:76px;height:52px}
}
/* 記事の招待コードの枠（作成画面の「招待コード」欄）も同じ金の豪華枠に */
.article-view-page .ai-article-invite,.ai-article-invite{position:relative;padding:22px 22px 18px;border:2px solid transparent;border-radius:18px;background:linear-gradient(150deg,#fffdf6,#fff1cc) padding-box,linear-gradient(135deg,#f7dc8a,#c98a1c 45%,#f7dc8a) border-box;box-shadow:0 14px 34px rgba(160,110,20,.2)}
.ai-article-invite small{color:#7a5a1c}
.ai-article-invite .invite-code{border:2px dashed #c98a1c;color:#6b4708;font-size:23px}
.ai-article-invite .invite-code span{background:#f0e2c2;color:#7a5710}
.ai-article-invite p{color:#6f5a2c}
/* 記事の最後の「公式サイトで確認する」も金のボタンに */
.article-view-page .ai-article-cta{border:2px solid rgba(240,191,69,.55);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.article-view-page .ai-article-cta a{padding:15px 24px;border-radius:12px;background:linear-gradient(135deg,#ffe08a,#f0b429 55%,#d8911a);color:#1c1406;font-size:15px;box-shadow:0 8px 20px rgba(216,145,26,.4)}

/* 比較カードの見出し編集（管理画面・9/18） */
.cmpfact-row{padding:10px 0;border-bottom:1px dashed #e3e7ee}
.cmpfact-pair{display:flex;gap:6px}.cmpfact-pair input{flex:1;min-width:0}
/* 比較カードのサイト名が「ペンギンガ...」と切れる（9/18 takeさんのスクショ）→ 名前を優先して折り返す */
.comparison-card-head{flex-wrap:wrap}
.comparison-service{flex:1 1 160px}
.comparison-service b{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;overflow-wrap:anywhere}
.comparison-vectors{flex:0 1 auto}

/* カードに出る内容をまとめて編集（管理画面・9/18） */
.card-content-wrap{overflow-x:auto;border:1px solid #e3e7ee;border-radius:10px;background:#fff}
.card-content-table{width:100%;min-width:900px;border-collapse:collapse;font-size:12px}
.card-content-table th,.card-content-table td{padding:7px 8px;border-bottom:1px solid #eef1f5;text-align:left;vertical-align:middle}
.card-content-table thead th{position:sticky;top:0;background:#f7f9fc;font-size:11px;color:#3b4552;z-index:1}
.card-content-table thead th small{display:block;margin-top:2px;color:#8b95a2;font-size:10px;font-weight:700}
.card-content-table tbody th{white-space:nowrap;font-size:12px;color:#172033}
.card-content-table tbody th .cc-off{display:block;color:#b23b3b;font-size:10px;font-weight:800}
.card-content-table input{width:100%;min-width:130px;padding:6px 8px;border:1px solid #d9dfe8;border-radius:7px;font-size:12px}
.card-content-table input:focus{outline:none;border-color:#6954de;box-shadow:0 0 0 3px rgba(105,84,222,.12)}

/* ===== 9/18 電話：比較・サイト一覧・招待コードのカードの画像が小さい =====
   枠（カード）の大きさは変えずに、画像だけ大きくする。「サービス」の小さい文字は出さない。
   画像の枠はカード画像の推奨サイズ（1200×800＝3:2）と同じ比率＝推奨サイズで上げれば切れない。
   ★9/19 先方LINE「サイト名は画像枠の中に上から表示できないか（ヒーローの文字のように）」。
     9/18版は名前を画像の横に置いていて、画面幅 860〜960px あたりで名前の幅が20px台まで潰れ、1文字ずつ縦に並んでいた。
     → サイト名は画像の上端に重ねる（黒のグラデーションの上に白文字）。名前と画像で幅を取り合わないので潰れない。 */
.comparison-card-head{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start}
.comparison-service{position:relative;display:block;width:180px;aspect-ratio:3/2;overflow:hidden;border:1px solid #dde4ec;border-radius:14px;background:#10233b;color:#fff}
.comparison-service .comparison-thumb{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;object-fit:cover}
.comparison-service .comparison-name{position:absolute;top:0;left:0;right:0;z-index:1;display:block;padding:8px 10px 20px;background:linear-gradient(180deg,rgba(5,12,24,.9),rgba(5,12,24,.6) 55%,rgba(5,12,24,0));color:#fff;font-size:15px;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;text-shadow:0 1px 3px rgba(0,0,0,.65)}
.comparison-card-head .comparison-vectors{justify-content:flex-start;align-content:flex-start}
.comparison-actions .comparison-article{border-color:#9fb4cf;color:#17457a}
@media(max-width:760px){
  .comparison-card-head{grid-template-columns:156px minmax(0,1fr)}
  .comparison-service{width:156px}
  .comparison-service .comparison-name{font-size:14px}
}
/* サイト一覧の表：画像とサイト名を大きく・「公式へ」の横に「記事はこちら」 */
.table-service{display:flex;align-items:center;gap:12px;min-width:180px;color:inherit}
.table-service img{flex:0 0 auto;width:72px;height:48px;border:1px solid #d9e0e8;border-radius:12px;object-fit:cover;background:#10233b}
.table-service b{font-size:13px;line-height:1.35}
.table-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.table-article{display:inline-grid;place-items:center;padding:6px 9px;border:1px solid #ccd6e2;border-radius:8px;background:#fff;color:#17457a;font-size:9px;font-weight:950;white-space:nowrap}
/* サイト紹介ページ上部：紹介記事のボタンを公式サイトのボタンと並べる（9/18 先方「上部に紹介記事も載せる」） */
.service-summary .svc-actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.service-summary .svc-article-link{border:1px solid rgba(240,194,77,.55);background:rgba(240,194,77,.1);color:#f7e2a4}
.service-summary .svc-article-link[hidden]{display:none}
/* 差し替える画像が決まるまで隠す（app.js revealAwaitedImage）。JSが動かなくても4秒後には出す。 */
img[data-await-src]{visibility:hidden;animation:awaitImageFallback 0s linear 4s forwards}
@keyframes awaitImageFallback{to{visibility:visible}}

/* ===== 9/18 先方LINE6「記事のアイキャッチが見切れる。サイズでしっかり反映するように」 =====
   記事の画像を出す枠をすべて推奨サイズ（1200×800）と同じ 3:2 にそろえる。
   ★以前は枠ごとに高さを固定（135px・105px・112px など）していて、3:2 の画像の上下が切れていた。 */
.article-card img,.home-page .article-card img,.home-page .article-grid .article-card img,.article-row img,.popular-row .popular-item img{height:auto!important;aspect-ratio:3/2;object-fit:cover}
.popular-item img{width:60px!important;height:40px!important;aspect-ratio:3/2}
.article-reader-hero{aspect-ratio:3/2;height:auto;object-fit:cover}
.ai-article-figure img{max-height:none;height:auto;object-fit:contain}
.popular-row .popular-item img{width:100%!important;height:auto!important}
/* 管理画面「カードに出る内容をまとめて編集」（9/18 先方LINE7）：サイト名が濃紺の背景に埋もれていた＋サイトが増えると縦に長くなる */
.card-content-tools{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.card-content-tools input{flex:0 1 260px;padding:7px 10px;border:1px solid #d9dfe8;border-radius:8px;font-size:12px}
.card-content-tools small{color:#6b7684;font-size:11px;font-weight:800}
.card-content-wrap{max-height:min(560px,64vh);overflow:auto}
.card-content-table tbody th{position:sticky;left:0;z-index:1;min-width:150px;background:#fff!important;color:#172033!important;font-weight:900;box-shadow:1px 0 0 #eef1f5}
.card-content-table thead th{background:#f1f4f9!important;color:#3b4552!important;z-index:2}
.card-content-table thead th:first-child{left:0;z-index:3}
.card-content-table tbody tr:nth-child(even) td,.card-content-table tbody tr:nth-child(even) th{background:#f8fafc!important}
.card-content-table tbody tr[hidden]{display:none}
/* AI記事作成：AIで作る記事内画像の枚数（9/19 先方LINE10） */
.ai-image-count{display:inline-flex;align-items:center;gap:8px;margin:4px 0 8px;font-size:12px;font-weight:900;color:#3b4552}
.ai-image-count select{padding:5px 8px;border:1px solid #d9dfe8;border-radius:7px;font-size:12px}
.ai-image-count:has(select:disabled){opacity:.55}
/* スマホ右下のポップ＝掲示板（9/19 先方LINE12・PCのヘッダーの「掲示板＋招待コードの吹き出し」と同じ見せ方・全ページ） */
.mobile-sticky-cta[hidden]{display:none!important}
.mobile-sticky-cta.is-board{padding:12px 17px 11px;border:1px solid rgba(240,194,77,.55);background:rgba(6,14,24,.94);color:#fff;font-size:13px;font-weight:950;letter-spacing:.04em;line-height:1;box-shadow:0 10px 26px rgba(0,0,0,.38),0 0 0 3px rgba(240,194,77,.12)}
.mobile-sticky-cta.is-board .float-bubble{position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);padding:3px 8px;border-radius:999px;background:#f0c24d;color:#1a1300;font-size:10px;font-weight:950;line-height:1.4;letter-spacing:0;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.3);pointer-events:none;animation:navBubblePop 2.4s ease-in-out infinite}
.mobile-sticky-cta.is-board .float-bubble::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);border:4px solid transparent;border-top-color:#f0c24d;border-bottom:0}
@media(prefers-reduced-motion:reduce){.mobile-sticky-cta.is-board .float-bubble{animation:none}}
/* ===== 9/19 先方LINE「めちゃくちゃいい感じなので、色だけ変えて。センスに任せます」 =====
   比較・サイト一覧（招待コード）のカードを、白カードからサイト全体と同じ濃紺＋金に。形・配置は変えない。 */
.comparison-card{border:1px solid rgba(240,194,77,.22);background:linear-gradient(160deg,#15263e 0%,#0e1b2e 58%,#0a1424 100%);color:#eef3f9;box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .2s,transform .2s}
.comparison-card:hover{border-color:rgba(240,194,77,.5);transform:translateY(-2px)}
.comparison-card-head{border-bottom-color:rgba(255,255,255,.08)}
.comparison-service{border-color:rgba(240,194,77,.3);box-shadow:0 6px 16px rgba(0,0,0,.35)}
.comparison-vectors span{border-color:rgba(240,194,77,.38);background:rgba(240,194,77,.1);color:#f5d57e}
.comparison-facts>div{border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.045)}
.comparison-facts small{color:#8d9fb6}
.comparison-facts b{color:#f3f6fa}
.comparison-actions a{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:#e8eef6}
.comparison-actions a:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.09)}
.comparison-actions .comparison-article{border-color:rgba(240,194,77,.55);background:rgba(240,194,77,.08);color:#f5d57e}
.comparison-actions button{box-shadow:0 6px 16px rgba(240,180,41,.25)}
.invite-card .invite-fact-code{border-color:rgba(240,194,77,.4);background:linear-gradient(145deg,rgba(240,194,77,.14),rgba(240,194,77,.05))}
.invite-card .invite-fact-code .invite-code{border-color:#d8a133;background:#0a1424;color:#ffd66b}
.invite-card .invite-fact-code .invite-code span{background:rgba(240,194,77,.2);color:#ffe3a0}
.invite-card .invite-fact-code .invite-code.copied{background:#1a2a17;border-color:#7fcf8a;color:#b9f0c1}
.invite-card .invite-fact-none{color:#7f90a6}
.invite-card .invite-fact-link{color:#f5d57e}
/* 比較・一覧・カテゴリの読み物（9/19 先方LINE SEO③ 薄いコンテンツ対策） */
.seo-guide-section{padding-top:8px}
.seo-guide{max-width:880px;margin:0 auto;padding:26px 28px;border:1px solid var(--line);border-radius:18px;background:#0e1a29;color:#c3cedb}
.seo-guide h2{margin:30px 0 12px;padding-left:12px;border-left:4px solid #f0c24d;color:#fff;font-size:21px;line-height:1.45}
.seo-guide h2:first-child{margin-top:0}
.seo-guide h3{margin:22px 0 8px;color:#f5d57e;font-size:16px;line-height:1.5}
.seo-guide p,.seo-guide li{font-size:14.5px;line-height:1.95;color:#c3cedb}
.seo-guide p{margin:0 0 12px}
.seo-guide ul,.seo-guide ol{margin:0 0 14px;padding-left:1.4em}
.seo-guide li{margin:4px 0}
.seo-guide b{color:#fff}
.seo-guide a{color:#f5d57e;text-decoration:underline;text-underline-offset:3px}
.seo-faq details{margin:8px 0;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03)}
.seo-faq summary{cursor:pointer;padding:13px 16px;color:#fff;font-size:14.5px;font-weight:900;list-style:none}
.seo-faq summary::-webkit-details-marker{display:none}
.seo-faq summary::before{content:"Q";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border-radius:50%;background:#f0c24d;color:#1a1300;font-size:12px}
.seo-faq details[open] summary{border-bottom:1px solid rgba(255,255,255,.06)}
.seo-faq details p{margin:0;padding:12px 16px 14px}
@media(max-width:720px){.seo-guide{padding:20px 16px;border-radius:14px}.seo-guide h2{font-size:18px}.seo-guide p,.seo-guide li{font-size:14px}}
/* AI記事作成：執筆メモの使い方（9/19 先方「自分の考えた内容をぶち込みたい」） */
.ai-memo-help{display:block;margin-top:6px;padding:8px 10px;border-radius:8px;background:#f4f7fb;color:#4a5566;font-size:11.5px;font-weight:700;line-height:1.7}
