:root{--ink:#402D29;--paper:#FBF4EC;--accent:#A04718;--surface:#FFFCF8}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.85;overflow-wrap:anywhere}img{display:block;max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.container{width:min(1220px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;left:12px;top:-100px;z-index:99;background:white;padding:10px}.skip-link:focus{top:8px}.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;color:var(--ink);min-width:210px}.brand small{display:block;font:700 .68rem/1.4 monospace;letter-spacing:.13em}.brand strong{display:block;font-size:1.02rem;line-height:1.5}.nav-list{display:flex;gap:10px 20px;list-style:none;padding:0;margin:0;flex-wrap:wrap;justify-content:flex-end}.nav-list a,.mobile-nav a{color:var(--ink);text-decoration:none;font-size:.88rem}.mobile-menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--ink);background:transparent}.mobile-menu-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:5px auto}.mobile-nav{padding:12px 28px 22px;background:var(--paper);border-bottom:1px solid var(--ink)}.mobile-nav a{display:block;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.hero{position:relative;min-height:430px;display:grid;align-items:end;overflow:hidden;background:var(--ink);color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,22,.82),rgba(10,20,22,.12))}.hero-copy{position:relative;z-index:1;width:min(1220px,calc(100% - 64px));margin:0 auto;padding:76px 0 62px}.eyebrow{font:700 .75rem/1.5 monospace;letter-spacing:.15em;text-transform:uppercase}.hero h1{max-width:920px;font-size:clamp(2rem,5vw,4rem);line-height:1.35;margin:.3em 0}.hero p{max-width:760px}.image-note{position:absolute;right:18px;bottom:8px;z-index:2;color:white;font-size:.67rem}.overview{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;padding-block:76px;border-bottom:1px solid var(--ink)}.section-label{font:700 .75rem monospace;letter-spacing:.12em;color:var(--accent)}h2{line-height:1.5}.latest-commentary{padding:36px;background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);margin-block:52px}.framework{padding:38px 0;background:color-mix(in srgb,var(--accent) 9%,var(--paper))}.framework ol{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;padding:0}.framework li{padding:20px;border-top:2px solid var(--accent);background:var(--surface)}.report-section{padding-block:64px}.category-heading{margin:54px 0 24px;border-bottom:2px solid var(--accent);padding-bottom:10px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.report-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);min-width:0}.report-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.report-card-body{padding:20px}.report-card h3{font-size:1.08rem;line-height:1.6}.report-card p{font-size:.9rem}.report-kicker{font:700 .7rem monospace;letter-spacing:.08em;color:var(--accent)}.editorial{display:grid;grid-template-columns:.7fr 1.3fr;gap:36px;padding-block:55px;border-top:1px solid var(--ink)}.breadcrumb{padding-block:20px;font-size:.83rem;display:flex;gap:10px}.article-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(250px,.8fr);gap:44px;padding-block:42px 76px;align-items:start}.article-body{min-width:0;font-size:1.02rem}.article-body section{margin:0 0 58px;scroll-margin-top:110px}.article-body h2{font-size:1.55rem;border-bottom:1px solid var(--accent);padding-bottom:12px;margin-top:0}.article-body p{line-height:2;margin:1.25em 0}.article-intro{font-size:1.12rem;background:var(--surface);padding:24px;border-left:4px solid var(--accent);margin-bottom:38px}.article-meta{font-size:.8rem;color:#545454}.sidebar{position:sticky;top:120px;max-height:calc(100vh - 130px);overflow:auto}.sidebar-panel{background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);padding:18px 20px;margin-bottom:16px}.sidebar h2{font-size:1rem;margin-top:0}.sidebar ol,.sidebar ul{padding-left:1.25em}.sidebar li{margin:.7em 0;font-size:.85rem}.sidebar-note{font-size:.78rem}.table-scroll{max-width:100%;overflow:auto;border:1px solid color-mix(in srgb,var(--ink) 28%,transparent)}table{width:100%;border-collapse:collapse;min-width:580px;font-size:.9rem}caption{text-align:left;padding:10px;background:var(--surface);font-size:.8rem}th,td{padding:12px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);text-align:left;vertical-align:top}th{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.process-flow{list-style:none;counter-reset:step;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.process-flow li{counter-increment:step;background:var(--surface);padding:16px;border-left:3px solid var(--accent)}.process-flow li:before{content:counter(step,decimal-leading-zero);font:700 .75rem monospace;color:var(--accent);margin-right:12px}.case-study{padding:22px;background:color-mix(in srgb,var(--accent) 8%,var(--paper));border:1px solid var(--accent)}.calc-figure{margin:24px 0;padding:18px;background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 24%,transparent)}.calc-figure ul{list-style:none;padding:0}.calc-figure li{display:grid;grid-template-columns:minmax(145px,1fr) minmax(80px,2fr) auto;align-items:center;gap:12px;margin:10px 0;font-variant-numeric:tabular-nums}.bar-track{height:14px;background:color-mix(in srgb,var(--accent) 15%,var(--paper));display:block}.bar-track>span{display:block;height:100%;background:var(--accent)}details{padding:12px;border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}summary{cursor:pointer;font-weight:700}.sources li{margin:12px 0}.sources small{display:block;color:#555}.partner-content,.blog-content{padding-block:55px;max-width:900px}.partner-terms{padding:20px;background:var(--surface);border-left:4px solid var(--accent)}.footer{background:var(--ink);color:#fff;padding:42px 0}.footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 20px}.copyright{font-size:.78rem}.blog-empty{padding:24px;background:var(--surface);border:1px solid var(--ink)}.report-link{display:inline-block;margin-top:12px;font-weight:700}
@media(max-width:900px){.container{width:calc(100% - 40px)}.hero-copy{width:calc(100% - 40px)}.desktop-nav{display:none}.mobile-menu-toggle{display:block}.header-inner{min-height:76px}.overview,.editorial{grid-template-columns:1fr;gap:15px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:minmax(0,1fr);gap:24px}.sidebar{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr}.framework ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.hero{min-height:390px}.hero-copy{width:calc(100% - 32px);padding-block:50px}.hero h1{font-size:2rem}.overview{padding-block:44px}.report-grid{grid-template-columns:1fr}.framework ol{grid-template-columns:1fr}.article-layout{padding-block:24px 50px}.article-body{font-size:.96rem}.article-body h2{font-size:1.3rem}.article-intro{padding:17px}.sidebar{display:block}.process-flow{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.latest-commentary{padding:22px;margin-block:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.theme-confectionery .framework{background:var(--ink);color:var(--paper)}.theme-confectionery .framework li{border-top:4px solid var(--accent);margin-right:7px}.theme-confectionery .report-card{border-radius:6px;overflow:hidden}.theme-confectionery .case-study{border-radius:14px}.theme-confectionery .report-card img{aspect-ratio:3/2}


/* 2026-10-05 consumer industry review fixes. */
.decision-panel{margin:42px auto;padding:clamp(22px,4vw,48px);max-width:1220px;border-block:1px solid color-mix(in srgb,var(--ink) 25%,transparent);background:var(--surface);color:var(--ink)}
.decision-panel h2{margin:.25em 0 .5em;color:var(--ink)}
.decision-panel p,.decision-panel small{color:var(--ink)}
.approved-banners{display:grid;gap:12px;margin-block:32px}
.approved-banner{padding:12px;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);background:var(--surface)}
.ad-disclosure{display:inline-block;font-size:.72rem;font-weight:700;margin-inline-end:.4em}
.bar-track{position:relative;isolation:isolate;overflow:hidden}
.bar-track .bar-zero{position:absolute;top:-2px;bottom:-2px;width:2px;background:#252525;z-index:2}
.bar-track .bar-value{position:absolute;top:0;bottom:0;height:100%;background:var(--accent);z-index:1}
.bar-track .bar-value.is-negative{background:#a12424}
.calc-figure li{grid-template-columns:minmax(125px,1fr) minmax(80px,2fr) minmax(140px,auto)}
.chart-data-table{margin-top:10px}

.theme-confectionery .framework{background:var(--paper);color:var(--ink)}
.theme-confectionery .framework .section-label,.theme-confectionery .framework h2{color:var(--ink)}
.theme-confectionery .framework li{color:var(--ink);background:var(--surface);margin-right:7px;border-top:4px solid var(--accent)}
.theme-confectionery .confectionery-batch{background:var(--paper);border-inline-start:6px solid var(--accent)}
.theme-confectionery .batch-steps{list-style:none;counter-reset:batch;display:grid;gap:0;margin:26px 0;padding:0;max-width:780px}
.theme-confectionery .batch-steps li{counter-increment:batch;display:grid;grid-template-columns:48px 150px 1fr;align-items:center;gap:12px;padding:16px;border-bottom:1px solid color-mix(in srgb,var(--ink) 26%,transparent);color:var(--ink);background:var(--surface)}
.theme-confectionery .batch-steps li>span{font:700 .78rem monospace;color:var(--accent)}
.theme-confectionery .batch-steps small{font-size:.9rem;color:var(--ink)}
.theme-confectionery .batch-note{font-weight:700;border-inline-start:4px solid var(--accent);padding:12px 16px}

@media(max-width:600px){
 .decision-panel{margin:24px auto;padding:20px}
 .theme-household .household-operations{display:block}
 .theme-household .decision-columns,.theme-eyewear .route-grid,.theme-instrument .entry-grid{grid-template-columns:1fr}
 .theme-instrument .entry-grid article{border-inline:0;border-bottom:1px solid var(--ink)}
 .theme-flower .flower-mix-grid{grid-template-columns:1fr;grid-template-areas:"season" "commercial" "subscription"}
 .theme-flower .report-grid{grid-template-columns:1fr}
 .theme-flower .report-card:first-child{grid-row:auto}
 .theme-flower .report-card:first-child img{aspect-ratio:16/10;height:auto;max-height:340px}
 .theme-confectionery .batch-steps li{grid-template-columns:36px minmax(90px,1fr);gap:8px}
 .theme-confectionery .batch-steps small{grid-column:2}
 .calc-figure li{grid-template-columns:minmax(95px,.9fr) minmax(62px,1fr);gap:8px}
 .calc-figure li strong{grid-column:1/-1;font-size:.82rem}
}
@media(min-width:601px) and (max-width:900px){.theme-flower .report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-flower .report-card:first-child img{aspect-ratio:4/5;height:auto}}

/* LATEST-COMMENTARY:START */
.latest-commentary {
  padding: 3rem 0;
}
/* .container を持たないサイトでも端に張り付かないための保険。
   :where() は詳細度0なので、サイト側の .container 定義が常に優先される。 */
:where(.latest-commentary .container) {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1rem;
}
.latest-commentary h2 {
  margin-bottom: 1.25rem;
}
.latest-commentary-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.latest-commentary-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5e5e5;
}
.latest-commentary-list time {
  flex: 0 0 auto;
  color: #666;
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
}
.latest-commentary-list a {
  flex: 1 1 16rem;
  min-width: 0;
  color: var(--ink, #222);
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.latest-commentary-list a:hover {
  color: var(--accent, #0b5);
  text-decoration: underline;
}
.latest-commentary-more {
  margin-top: 1.25rem;
}
.latest-commentary-more a {
  color: var(--accent, #0b5);
  text-decoration: none;
  font-weight: 600;
}
.latest-commentary-more a:hover {
  text-decoration: underline;
}
@media (max-width: 600px) {
  .latest-commentary-list li {
    flex-direction: column;
    gap: 0.2rem;
  }
  /* 縦積み時に flex-basis(16rem) が高さに効かないよう auto に戻す */
  .latest-commentary-list a,
  .latest-commentary-list time {
    flex: 0 0 auto;
  }
}
/* LATEST-COMMENTARY:END */

/* 広告枠（BANNER:amazon テキスト広告・BANNER:sitenavi/main バナー） */
.amazon-banner{font-size:.8rem;line-height:1.7;padding:14px 16px;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);background:var(--surface);margin:0 0 16px}.amazon-banner a{color:var(--ink);text-decoration:none}.amazon-banner a:hover{text-decoration:underline}.article-body>div[style],.sidebar>div[style]{max-width:100%!important}.sidebar img,.article-body img{max-width:100%;height:auto}
