/* @font-face 群は assets/css/fonts.css（Google Fonts サブセット自己ホスト版）に移設 */
*{box-sizing:border-box}
/* 装飾ブロブ等の横はみ出しでモバイルが左右にスライドするのを根絶（縦スクロール・sticky は維持） */
html{overflow-x:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);
  line-height:1.75;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;overflow-x:hidden}
.kdw-wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
h1,h2,h3,.kdw-h{font-family:var(--font-head);font-weight:800;line-height:1.25;text-wrap:balance}
.kdw-num{font-variant-numeric:tabular-nums}
.kdw-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;color:#b9a800;text-transform:uppercase}
/* buttons */
.kdw-btn{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-head);font-weight:800;
  font-size:1rem;padding:.7em 1.4em;border-radius:var(--r-pill);border:var(--bd);cursor:pointer;text-decoration:none}
.kdw-btn--primary{background:var(--ink);color:#fff}
.kdw-btn--accent{background:var(--accent);color:var(--accent-ink)}
.kdw-btn:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}
/* card / chip / badge */
.kdw-card{border:var(--bd);border-radius:var(--r-card);background:var(--paper);overflow:hidden}
.kdw-chip{display:inline-block;border:var(--bd);border-radius:var(--r-pill);padding:.1em .7em;font-size:.72rem;font-weight:800}
.kdw-chip--accent{background:var(--accent)}
.kdw-badge{width:64px;height:64px;border-radius:50%;background:#fff;border:var(--bd);
  display:flex;align-items:center;justify-content:center;text-align:center;font-size:.6rem;font-weight:800;transform:rotate(8deg)}
/* motifs */
.kdw-dots{background-image:radial-gradient(var(--ink) 1.4px,transparent 1.4px);background-size:8px 8px}
.kdw-dash{border:none;border-top:2px dashed var(--ink);opacity:.5}
.kdw-bubble{display:inline-block;background:var(--accent);border:var(--bd);border-radius:var(--r-pill);
  padding:.1em .8em;font-size:.72rem;font-weight:800}
/* icon */
.kdw-ico{display:inline-block;vertical-align:middle}
.kdw-ico svg{stroke:var(--ink);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
/* header */
.kdw-header{background:var(--paper);border-bottom:var(--bd)}
.kdw-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.kdw-logo{font-family:var(--font-head);font-weight:800;font-size:1.1rem;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center}
.kdw-logo__img,.kdw-logo .custom-logo{display:block;height:34px;width:auto}
.kdw-nav{flex:1}
.kdw-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0}
.kdw-nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:.92rem}
.kdw-nav a:hover{color:var(--muted)}
.kdw-header__cta{display:flex;align-items:center;gap:14px;flex:none}
.kdw-cart{position:relative;display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}
.kdw-cart__n{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;padding:0 4px;
  border-radius:999px;background:var(--ink);color:#fff;font-size:.65rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;line-height:1}
/* hamburger toggle (モバイルのみ表示) */
.kdw-navtoggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;
  border:var(--bd);border-radius:12px;background:var(--paper);cursor:pointer;padding:0;flex:none}
.kdw-navtoggle__bars,.kdw-navtoggle__bars::before,.kdw-navtoggle__bars::after{
  display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.kdw-navtoggle__bars{position:relative}
.kdw-navtoggle__bars::before,.kdw-navtoggle__bars::after{content:"";position:absolute;left:0}
.kdw-navtoggle__bars::before{top:-6px}
.kdw-navtoggle__bars::after{top:6px}
body.kdw-nav-open .kdw-navtoggle__bars{background:transparent}
body.kdw-nav-open .kdw-navtoggle__bars::before{transform:translateY(6px) rotate(45deg)}
body.kdw-nav-open .kdw-navtoggle__bars::after{transform:translateY(-6px) rotate(-45deg)}
/* header responsive: メニューをハンバーガー化 */
@media (max-width:900px){
  .kdw-navtoggle{display:inline-flex}
  .kdw-header__inner{position:relative;flex-wrap:nowrap}
  .kdw-nav{position:absolute;top:100%;left:0;right:0;z-index:60;display:none;
    background:var(--paper);border-top:1px solid var(--line-soft);border-bottom:var(--bd);
    box-shadow:0 10px 24px rgba(0,0,0,.10)}
  body.kdw-nav-open .kdw-nav{display:block}
  .kdw-nav ul{flex-direction:column;flex-wrap:nowrap;gap:0;padding:6px 20px 12px}
  .kdw-nav li{border-top:1px solid var(--line-soft)}
  .kdw-nav li:first-child{border-top:0}
  .kdw-nav a{display:block;padding:13px 2px;font-size:1rem}
  /* 窮屈解消: ハンバーガー表示時は「商品一覧」ボタンを隠す（導線はメニュー内に確保） */
  .kdw-header__cta .kdw-btn--accent{display:none}
  .kdw-header__inner{gap:10px}
}
@media (max-width:420px){
  .kdw-header__cta .kdw-btn--accent{padding:.55em .95em;font-size:.9rem}
  .kdw-logo__img,.kdw-logo .custom-logo{height:28px}
}
/* footer */
.kdw-footer{background:var(--accent)}
.kdw-footer .kdw-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding:16px 20px}
.kdw-footer__brand{font-weight:800;font-size:.9rem}
.kdw-footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0}
.kdw-footer a{color:var(--ink);text-decoration:none;font-weight:700;font-size:.82rem}
.kdw-footer a:hover{text-decoration:underline}
/* section header */
.kdw-sechead{margin:0 0 20px}
.kdw-sechead .kdw-bubble{display:block;width:fit-content;margin:0 0 8px}
.kdw-sechead .kdw-eyebrow{margin:0 0 4px}
.kdw-sechead .kdw-h{margin:0}
/* utility */
.kdw-center{text-align:center;margin-top:20px}

/* ===== front page ===== */
/* hero */
.kdw-hero{position:relative;background:transparent;overflow:visible;isolation:isolate;margin-bottom:6px}
/* 斜めの黄色帯（不規則）— イラストが帯の外へはみ出せるよう背景は擬似要素に分離 */
.kdw-hero::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:var(--accent);
  clip-path:polygon(0 0,100% 0,100% 76%,0 96%);z-index:0}
.kdw-hero__inner{position:relative;z-index:1;padding:32px 20px 44px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.kdw-hero__text{flex:1 1 300px;min-width:0}
.kdw-hero__art{flex:1.25 1 420px;min-width:0;position:relative;z-index:2;padding-top:8px}
/* イラストは横軸に収めず、微回転＋下へはみ出して動きを出す */
/* 大きく＋足まで見せる（次セクションに覆われない範囲で軽くはみ出し） */
.kdw-hero__art img{display:block;width:116%;max-width:none;height:auto;transform:rotate(-2.5deg);
  margin:0 -8% -8px;filter:drop-shadow(0 12px 0 rgba(17,17,17,.06))}
@media(max-width:760px){.kdw-hero__art{flex-basis:100%;max-width:520px;margin:0 auto}
  .kdw-hero__art img{width:106%;margin:0 -3% -6px}
  .kdw-hero::before{clip-path:polygon(0 0,100% 0,100% 90%,0 98%)}}
/* 装飾はイラスト側基準に配置＝見出しテキストに被らない */
.kdw-hero__badge{position:absolute;top:-10px;right:-6px;z-index:3}
.kdw-hero__dots{position:absolute;top:0;left:-4px;width:84px;height:52px;opacity:.5;z-index:2}
.kdw-hero__brand{font-family:var(--font-head);font-weight:800;font-size:.9rem;margin:0 0 10px}
.kdw-hero__q{font-size:clamp(1.6rem,6vw,2.4rem);line-height:1.22;margin:0 0 10px;max-width:20ch}
.kdw-hero__s{font-weight:800;font-size:.9rem;margin:0 0 20px;color:var(--ink)}

/* 3 steps */
.kdw-steps{padding:36px 20px}
.kdw-steps__grid{display:flex;gap:12px}
.kdw-step{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.kdw-step .kdw-ico{display:flex;align-items:center;justify-content:center;width:100%;height:64px;
  border:var(--bd);border-radius:var(--r-card);background:var(--paper-soft)}
.kdw-step span:last-child{font-size:.82rem;font-weight:800}

/* lineup grid / product card */
.kdw-lineup{padding:36px 20px}
.kdw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.kdw-pcard{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.kdw-pcard__ph{display:flex;align-items:center;justify-content:center;height:110px;
  background:var(--surface-soft);border-bottom:var(--bd);overflow:hidden}
.kdw-pcard__ph img{width:100%;height:100%;object-fit:cover}
.kdw-pcard__b{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}
.kdw-pcard__t{font-size:.85rem;font-weight:800}
.kdw-pcard__p{font-size:.9rem;font-weight:900}

/* ===== shop archive ===== */
.kdw-shop{padding:36px 20px}
.kdw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.kdw-tab{border:var(--bd);border-radius:var(--r-pill);padding:.2em .8em;font-weight:800;font-size:.8rem;text-decoration:none;color:var(--ink)}
.kdw-tab.is-on{background:var(--accent)}

/* studio CTA */
.kdw-studio{background:var(--ink);color:var(--paper);border-radius:var(--r-card);padding:18px;display:flex;gap:14px}
.kdw-studio__ill{flex:none;width:56px;height:56px;border:2px solid var(--accent);border-radius:var(--r-card);
  display:flex;align-items:center;justify-content:center}
.kdw-studio__ill .kdw-ico svg{stroke:var(--accent)}
.kdw-studio__body h4{color:var(--paper);margin:0 0 4px}
.kdw-studio__body p{margin:0 0 12px;font-size:.85rem;color:var(--paper);opacity:.72}
.kdw-studio--inline{padding:12px;align-items:center}

/* why */
.kdw-why{padding:36px 20px}
.kdw-why__art{max-width:640px;margin:0 auto 20px;position:relative;isolation:isolate}
/* 有機的な黄色ブロブを背後に（coop風の動き） */
.kdw-why__art::before{content:"";position:absolute;inset:-8% -6% -4% -6%;background:var(--accent-soft);
  border-radius:46% 54% 52% 48%/56% 46% 54% 44%;transform:rotate(-4deg);z-index:0}
.kdw-why__art img{display:block;width:100%;height:auto;position:relative;z-index:1;transform:rotate(1.5deg)}
.kdw-studio-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.kdw-studio-row__art{flex:1.15 1 340px;min-width:0}
.kdw-studio-row__art img{display:block;width:100%;height:auto;transform:rotate(-2deg)}
.kdw-studio-row__cta{flex:1 1 340px;min-width:0}
/* 実績スタッツ: 黒2pxフチ角丸カード＋数字下に黄色アクセント（サイトのテイストに統一） */
.kdw-why__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center}
.kdw-why__grid>div{display:flex;flex-direction:column;align-items:center;gap:6px;
  border:var(--bd);border-radius:var(--r-card);background:var(--paper);padding:16px 8px}
.kdw-why__n{font-family:var(--font-head);font-size:clamp(1.4rem,4.5vw,2rem);font-weight:900;
  line-height:1;color:var(--ink);position:relative;padding-bottom:9px}
.kdw-why__n small{font-size:.55em;font-weight:800;margin-left:1px}
.kdw-why__n::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:22px;height:3px;background:var(--accent);border-radius:2px}
.kdw-why__grid>div>span:last-child{font-size:.78rem;font-weight:800;color:var(--muted)}
@media (max-width:600px){.kdw-why__grid{grid-template-columns:repeat(2,1fr);gap:10px}}

/* ===== page / prose（固定ページ・記事の本文共通スタイル） ===== */
.kdw-page{padding:32px 20px 56px}
.kdw-page__title{font-size:clamp(1.5rem,4.5vw,2rem);margin:0 0 20px;text-wrap:balance}
.kdw-prose{max-width:760px;margin:0 auto}
.kdw-prose>*+*{margin-top:1.1em}
.kdw-prose h2{font-family:var(--font-head);font-weight:800;font-size:1.4rem;margin:1.8em 0 .6em;padding-bottom:.3em;border-bottom:2px solid var(--accent)}
.kdw-prose h3{font-family:var(--font-head);font-weight:800;font-size:1.15rem;margin:1.6em 0 .5em}
.kdw-prose p{line-height:1.9}
.kdw-prose a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--accent)}
.kdw-prose ul,.kdw-prose ol{padding-left:1.4em;line-height:1.9}
.kdw-prose li{margin:.3em 0}
.kdw-prose img{max-width:100%;height:auto;border-radius:var(--r-card)}
.kdw-prose blockquote{border-left:4px solid var(--accent);margin:1.2em 0;padding:.4em 0 .4em 1em;color:var(--muted)}
.kdw-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.kdw-prose th,.kdw-prose td{border:1px solid var(--line-soft);padding:9px 12px;text-align:left;vertical-align:middle}
.kdw-prose th{font-weight:800}
.kdw-prose thead th{background:var(--ink);color:var(--paper);border-color:var(--ink);white-space:nowrap}
.kdw-prose tbody tr:nth-child(even){background:var(--paper-soft)}
.kdw-prose tbody td:first-child{font-weight:700}
.kdw-prose hr{border:none;border-top:2px dashed var(--line-soft);margin:1.8em 0}
/* 記事本文：末尾CTAカード（内部リンク導線） */
.kdw-prose .kdw-artcta{background:var(--accent-soft);border:var(--bd);border-radius:var(--r-card);
  padding:24px 22px;margin-top:2.2em;text-align:center}
.kdw-prose .kdw-artcta__t{font-family:var(--font-head);font-weight:800;font-size:1.15rem;margin:0 0 .4em;padding:0;border:none}
.kdw-prose .kdw-artcta p{margin:.4em 0;line-height:1.8}
.kdw-prose .kdw-artcta .kdw-btn{margin-top:.7em}
/* CTAボタン：.kdw-prose a の色/下線指定を打ち消し視認性を確保（黒背景に白文字） */
.kdw-prose a.kdw-btn{color:#fff;text-decoration:none;font-family:var(--font-head)}
.kdw-prose a.kdw-btn:hover{color:#fff;text-decoration:none;filter:brightness(1.12)}
.kdw-prose a.kdw-btn--accent,.kdw-prose a.kdw-btn--accent:hover{color:var(--accent-ink)}
/* 旧「新ゴ」強制CSS(.hentry/strong等)を打ち消し、記事本文をテーマ書体に統一 */
article.kdw-prose,.kdw-prose p,.kdw-prose li,.kdw-prose td,.kdw-prose th,
.kdw-prose strong,.kdw-prose b,.kdw-prose a{font-family:var(--font-body)}
.kdw-prose h1,.kdw-prose h2,.kdw-prose h3,.kdw-prose h4,.kdw-prose .kdw-artcta__t{font-family:var(--font-head)}
.kdw-postnav{max-width:760px;margin:40px auto 0;display:flex;justify-content:space-between;gap:16px;font-weight:700;font-size:.9rem}
.kdw-postnav a{color:var(--ink);text-decoration:none}
.kdw-postnav a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.kdw-postnav{display:flex;justify-content:space-between;gap:16px;max-width:760px;margin:32px auto 0;font-weight:800;font-size:.85rem}
.kdw-postnav a{color:var(--ink);text-decoration:none}
/* ブログ一覧・検索結果カード */
.kdw-blogtabs{justify-content:center;margin:0 0 18px}
.kdw-blogtabs__n{font-size:.72em;opacity:.55;margin-left:.35em}
.kdw-postcard__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kdw-postlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:8px}
.kdw-postcard{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);overflow:hidden}
.kdw-postcard__ph{display:block;border-bottom:var(--bd)}
.kdw-postcard__ph img{display:block;width:100%;height:160px;object-fit:cover}
.kdw-postcard__b{display:flex;flex-direction:column;gap:6px;padding:14px}
.kdw-postcard__t{font-family:var(--font-head);font-weight:800;font-size:1rem;line-height:1.4}
.kdw-postcard__ex{font-size:.82rem;color:var(--muted);line-height:1.7}
/* はじめての方へ */
.kdw-firsttime__note{max-width:760px;margin:18px auto 0;font-size:.85rem;color:var(--muted);line-height:1.8;text-align:center}
.kdw-firsttime__cta{text-align:center}
.kdw-firsttime__cta h2{margin:0 0 16px}
.kdw-firsttime__ctarow{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.kdw-faq{max-width:760px;margin:8px auto 0;display:flex;flex-direction:column;gap:12px;position:relative;z-index:2}
.kdw-faq details{border:var(--bd);border-radius:var(--r-card);background:var(--paper);overflow:hidden}
.kdw-faq summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:10px}
.kdw-faq summary::-webkit-details-marker{display:none}
.kdw-faq summary::after{content:"＋";font-weight:900;font-size:1.1rem}
.kdw-faq details[open] summary{background:var(--accent);border-bottom:var(--bd)}
.kdw-faq details[open] summary::after{content:"−"}
.kdw-faq__a{padding:14px 16px;line-height:1.85}

/* ===== 動的バンド・ブロブ・番号・飛び出し（coop風ゆらぎ＋Core Planning風斜め帯） ===== */
/* 全幅バンド：内側は kdw-band__in で中央寄せ */
.kdw-band{position:relative;margin:0;padding:48px 0}
.kdw-band__in{max-width:var(--wrap);margin:0 auto;padding:0 20px;position:relative;z-index:2}
.kdw-band--soft{background:var(--accent-soft)}
.kdw-band--accent{background:var(--accent)}
.kdw-band--ink{background:var(--ink);color:var(--paper)}
/* 斜め帯：背景を擬似要素に分離＝内容(イラスト)が帯の外へ飛び出せる */
.kdw-band--diag,.kdw-band--diag-rev{background:transparent;overflow:visible}
.kdw-band--diag::after,.kdw-band--diag-rev::after{content:"";position:absolute;inset:0;z-index:0}
.kdw-band--diag::after{clip-path:polygon(0 24px,100% 0,100% 100%,0 calc(100% - 24px))}
.kdw-band--diag-rev::after{clip-path:polygon(0 0,100% 24px,100% calc(100% - 24px),0 100%)}
.kdw-band--soft.kdw-band--diag,.kdw-band--soft.kdw-band--diag-rev{background:transparent}
.kdw-band--soft.kdw-band--diag::after,.kdw-band--soft.kdw-band--diag-rev::after{background:var(--accent-soft)}
.kdw-band--accent.kdw-band--diag::after,.kdw-band--accent.kdw-band--diag-rev::after{background:var(--accent)}
/* 曲線帯（coop風のゆるやかな上端カーブ） */
.kdw-band--wave{border-radius:0 0 0 0}
.kdw-band--wave::before{content:"";position:absolute;top:-1px;left:-2%;right:-2%;height:46px;background:inherit;
  border-radius:0 0 55% 45%/0 0 100% 100%;z-index:0}
.kdw-band--wave-b::after{content:"";position:absolute;bottom:-1px;left:-2%;right:-2%;height:46px;background:inherit;
  border-radius:45% 55% 0 0/100% 100% 0 0;z-index:0}
/* 有機ブロブ（装飾・ランダム感のため個別に angle/size 指定） */
.kdw-blob{position:absolute;background:var(--accent-soft);z-index:0;pointer-events:none}
.kdw-blob--y{background:var(--accent)}
.kdw-blob--1{width:190px;height:160px;border-radius:46% 54% 62% 38%/52% 44% 56% 48%;transform:rotate(-9deg)}
.kdw-blob--2{width:130px;height:130px;border-radius:60% 40% 43% 57%/57% 52% 48% 43%;transform:rotate(12deg)}
.kdw-blob--3{width:150px;height:120px;border-radius:52% 48% 38% 62%/60% 40% 60% 40%;transform:rotate(6deg)}
/* ===== HERO：漂う「おすすめ商品」水玉（少しアメーバ状／半透過90%） ===== */
@keyframes kdw-blobmorph{
  0%,100%{border-radius:47% 53% 55% 45%/52% 46% 54% 48%}
  25%{border-radius:54% 46% 47% 53%/48% 55% 45% 52%}
  50%{border-radius:46% 54% 52% 48%/55% 47% 53% 45%}
  75%{border-radius:52% 48% 46% 54%/47% 53% 48% 52%}
}
.kdw-herobubble{
  position:absolute;top:0;left:0;z-index:55;/* body直下・文書座標。モバイルナビ(60)より下＝メニューは水玉を覆う */
  width:clamp(168px,26vw,264px);aspect-ratio:1;
  display:grid;place-items:center;text-align:center;text-decoration:none;color:var(--ink);
  background:rgba(255,255,255,.9); /* 90%不透明＝下のデザインがうっすら透ける */
  border:var(--bd);
  border-radius:47% 53% 55% 45%/52% 46% 54% 48%;
  animation:kdw-blobmorph 14s ease-in-out infinite;
  box-shadow:0 10px 0 -2px rgba(17,17,17,.12),0 18px 40px rgba(17,17,17,.14);
  opacity:0;will-change:transform;transition:opacity .4s ease,box-shadow .18s ease}
/* JS無効/失敗時の縮退：no-jsが残っていれば水玉を画面右下に固定表示（見えなくなるのを防ぐ） */
html.no-js .kdw-herobubble{position:fixed;opacity:1;left:auto;top:auto;right:16px;bottom:16px;z-index:55}
.kdw-herobubble::after{content:"";position:absolute;inset:9px;border-radius:inherit;
  border:2px dashed var(--accent);opacity:.9;animation:kdw-blobmorph 14s ease-in-out infinite;pointer-events:none}
.kdw-herobubble:hover,.kdw-herobubble:focus-visible{outline:none;
  box-shadow:0 10px 0 -2px var(--accent),0 22px 50px rgba(17,17,17,.22)}
.kdw-herobubble__in{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 16%}
.kdw-herobubble__tag{font-family:var(--font-head);font-weight:800;font-size:11px;letter-spacing:.06em;
  background:var(--accent);border:1.5px solid var(--ink);border-radius:var(--r-pill);padding:3px 11px}
.kdw-herobubble__photo{width:52%;max-width:130px;aspect-ratio:4/3;overflow:hidden;background:var(--paper);
  border:2px solid var(--ink);border-radius:12px;box-shadow:0 5px 10px rgba(17,17,17,.18)}
.kdw-herobubble__photo img{display:block;width:100%;height:100%;object-fit:cover}
.kdw-herobubble__name{font-family:var(--font-head);font-weight:800;font-size:clamp(13px,1.5vw,16px);line-height:1.25}
.kdw-herobubble__price{font-family:var(--font-head);font-weight:800;font-size:clamp(12px,1.4vw,15px)}
@media(prefers-reduced-motion:reduce){.kdw-herobubble,.kdw-herobubble::after{animation:none}}
@media(max-width:760px){.kdw-herobubble{width:clamp(150px,42vw,208px)}}

/* 番号付きセクション（Core Planning風の輪郭数字） */
.kdw-secnum{display:inline-block;font-family:var(--font-head);font-weight:900;font-size:3.4rem;line-height:.9;
  color:var(--accent);-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;margin:0 0 2px -2px;transform:rotate(-4deg)}
/* 飛び出すイラスト（枠・帯の外へ／微回転で動き） */
.kdw-pop{position:relative}
.kdw-pop img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 0 rgba(17,17,17,.05))}
.kdw-pop--l img{transform:rotate(-3deg)}
.kdw-pop--r img{transform:rotate(3deg)}
.kdw-pop--over img{margin-top:-13%;margin-bottom:-4%}
@media(prefers-reduced-motion:reduce){.kdw-hero__art img,.kdw-pop img,.kdw-why__art img,.kdw-studio-row__art img{transform:none}}
/* フッター：イエロー地の有機的な上端カーブ（同色で盛り上げ） */
.kdw-footer{position:relative}
.kdw-footer::before{content:"";position:absolute;top:-20px;left:-2%;right:-2%;height:40px;background:var(--accent);
  border-radius:50% 50% 0 0/100% 100% 0 0;z-index:0}

/* ===== single product (PDP) ===== */
/* 契約: 見積フォーム/納期カレンダー/加工セレクタの内部見た目はプラグイン側CSSが所有。
   ここでは外枠（2カラム→SP1カラム）のみを整える。プラグインが出す要素のID/クラスは触らない。 */
.kdw-pdp{padding:24px 20px 56px}
.kdw-crumb{font-size:.78rem;color:var(--muted);margin:0 0 18px}
.kdw-crumb a{color:var(--muted);text-decoration:none}
.kdw-crumb a:hover{text-decoration:underline}
/* 上部2カラム: 画像(固定/やや狭) + 設定・見積もり(広) */
.kdw-pdp__top{display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);gap:34px;align-items:start}
.kdw-pdp__gallery{min-width:0;position:sticky;top:78px}
.kdw-pdp__gallery img{width:100%;height:auto;border-radius:var(--r-card);border:var(--bd);display:block}
/* WCギャラリーのサムネ列(flexslider生成のol)。未指定だと番号付きリストで
   メイン画像が全幅で二重表示になる(特にSPで致命的)。小さなサムネ帯に整える。 */
.kdw-pdp__gallery .flex-control-thumbs{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0}
.kdw-pdp__gallery .flex-control-thumbs li{width:64px;margin:0;flex:0 0 auto}
.kdw-pdp__gallery .flex-control-thumbs img{border-radius:6px;cursor:pointer;opacity:.65;border-width:1px}
.kdw-pdp__gallery .flex-control-thumbs img.flex-active,
.kdw-pdp__gallery .flex-control-thumbs img:hover{opacity:1}
.kdw-pdp__gallery .flex-control-thumbs li:only-child{display:none}
.kdw-pdp__summary{min-width:0;display:flex;flex-direction:column;gap:12px}
.kdw-pdp__eyebrow{margin:0}
.kdw-pdp__title{margin:0;font-size:clamp(1.5rem,4vw,2.1rem)}
.kdw-pdp__pricerow{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2em .6em;margin-top:2px}
.kdw-pdp__price{font-size:clamp(1.7rem,5vw,2.3rem);font-weight:900;line-height:1}
.kdw-pdp__pricenote{font-size:.8rem;font-weight:700;color:var(--muted)}
.kdw-pdp__chips{display:flex;flex-wrap:wrap;gap:6px}
.kdw-pdp__lead{font-size:.86rem;line-height:1.8;color:var(--muted);margin:4px 0 0;
  padding:12px 14px;background:var(--accent-soft);border-radius:var(--r-card)}
/* 下部: 付随情報を一本の縦フローに束ね、余白と区切りで読ませる（導線: 選ぶ→安心材料→関連→CTA） */
.kdw-pdp__details{max-width:900px;margin:44px auto 0}
.kdw-pdp__details > *{margin-top:0 !important;margin-bottom:0 !important}
.kdw-pdp__details > * + *{margin-top:30px !important;padding-top:30px;border-top:1px solid var(--line-soft)}
.kdw-pdp__studio{max-width:900px;margin:30px auto 0}

@media (max-width:860px){
  .kdw-pdp__top{grid-template-columns:1fr;gap:22px}
  .kdw-pdp__gallery{position:static}
  .kdw-pdp__gallery img{max-width:440px}
}

/* ===== cart ===== */
/* 契約: 見積明細(wc_get_formatted_cart_item_data の .variation dl/dt/dd)と
   数量ロック表示(.shinsei-cart-qty-locked、mu-plugin所有)の内部見た目には触れない。
   ここではカートのレイアウト外枠（行=カード化・合計・ステップ）のみを整える。 */
/* カートページ本体。ヘッダーのカートアイコン(a.kdw-cart)と同名クラスのため div 限定で指定。
   WooCommerce既定の float(.cart_totals/.cross-sells)を打ち消し、明示的な2カラムグリッドに。 */
div.kdw-cart{padding:24px 20px 48px;max-width:var(--wrap);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);
  grid-template-areas:"steps steps" "form totals" "continue totals";gap:8px 32px;align-items:start}
div.kdw-cart > .kdw-cart-steps{grid-area:steps}
div.kdw-cart > .woocommerce-cart-form{grid-area:form;float:none;width:auto}
div.kdw-cart > .kdw-cart-continue{grid-area:continue}
div.kdw-cart > .kdw-cart-collaterals{grid-area:totals;margin-top:0;position:sticky;top:78px}
div.kdw-cart .cart_totals,div.kdw-cart .cross-sells{float:none !important;width:auto !important}
@media (max-width:860px){
  div.kdw-cart{grid-template-columns:1fr;grid-template-areas:"steps" "form" "totals" "continue"}
  div.kdw-cart > .kdw-cart-collaterals{position:static}
}

/* progress step chips */
.kdw-cart-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 20px}
.kdw-step-chip{border:var(--bd);border-radius:var(--r-pill);padding:.2em .85em;font-size:.75rem;font-weight:800;color:var(--muted);background:var(--paper)}
.kdw-step-chip.is-current{background:var(--accent);color:var(--ink)}
.kdw-step-chip__sep{color:var(--muted);font-weight:800}

/* cart table -> card rows */
.kdw-cart-table{width:100%;border-collapse:separate;border-spacing:0;margin:0}
.kdw-cart-table thead,.kdw-cart-table tbody,.kdw-cart-table tr,.kdw-cart-table th,.kdw-cart-table td{display:block}
.kdw-cart-table thead th{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kdw-cart-table tbody tr.kdw-cart-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 14px;
  position:relative;border:var(--bd);border-radius:var(--r-card);padding:14px;margin:0 0 12px;background:var(--paper)}
.kdw-cart-table tbody tr.kdw-cart-item td{padding:0;border:0}
.kdw-cart-table tbody tr.kdw-cart-item td::before{content:none}
.kdw-cart-table td.product-remove{order:1;position:absolute;top:10px;right:10px}
.kdw-cart-table td.product-remove a.remove{display:flex;align-items:center;justify-content:center;width:26px;height:26px;
  border:var(--bd);border-radius:50%;color:var(--ink);text-decoration:none;font-size:.95rem;line-height:1;background:var(--paper)}
.kdw-cart-table td.product-remove a.remove:hover{background:var(--accent-soft)}
.kdw-cart-table td.product-thumbnail{order:2;flex:0 0 64px}
.kdw-cart-table td.product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:var(--bd);display:block}
.kdw-cart-table td.product-name{order:3;flex:1 1 200px;min-width:160px;font-weight:800;font-size:.92rem;padding-right:32px}
.kdw-cart-table td.product-name a{color:var(--ink);text-decoration:none}
.kdw-cart-table td.product-price{order:4;flex:0 0 auto;font-size:.78rem;color:var(--muted)}
.kdw-cart-table td.product-quantity{order:5;flex:1 1 100%}
.kdw-cart-table td.product-subtotal{order:6;margin-left:auto;font-weight:900;font-size:1.05rem;white-space:nowrap}

/* actions row (coupon / update cart) */
.kdw-cart-table tbody tr.kdw-cart-actions-row{border:none;padding:0;margin:16px 0 0}
.kdw-cart-table tbody tr.kdw-cart-actions-row td.actions{padding:0}
.kdw-cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}
.kdw-coupon{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kdw-coupon input[type="text"]{border:var(--bd);border-radius:var(--r-pill);padding:.55em 1em;font-size:.85rem;font-family:var(--font-body)}
.kdw-cart-actions .kdw-btn{background:var(--paper);color:var(--ink);font-size:.85rem;padding:.55em 1.1em}
.kdw-cart-actions .kdw-btn:hover{background:var(--surface-soft)}

.kdw-cart-continue{margin:16px 0 0;font-size:.85rem}
.kdw-cart-continue a{color:var(--ink);text-decoration:underline;font-weight:700}

/* collaterals: totals card + proceed to checkout */
.kdw-cart-collaterals{margin-top:28px}
.kdw-cart-collaterals .cart_totals{border:var(--bd);border-radius:var(--r-card);padding:16px;background:var(--surface-soft)}
.kdw-cart-collaterals .cart_totals h2{margin:0 0 10px;font-size:1rem}
.kdw-cart-collaterals .cart_totals table{width:100%;border-collapse:collapse}
.kdw-cart-collaterals .cart_totals tr{border-top:1px dashed var(--line-soft)}
.kdw-cart-collaterals .cart_totals tr:first-child{border-top:0}
.kdw-cart-collaterals .cart_totals th,
.kdw-cart-collaterals .cart_totals td{padding:8px 0;text-align:left;font-weight:700;font-size:.88rem;
  white-space:normal;overflow-wrap:anywhere}
.kdw-cart-collaterals .cart_totals td{text-align:right}
.kdw-cart-collaterals .cart_totals tr.order-total th,
.kdw-cart-collaterals .cart_totals tr.order-total td{font-size:1.1rem;font-weight:900;border-top:var(--bd);padding-top:12px}
.kdw-cart-collaterals .wc-proceed-to-checkout{margin-top:16px}
.kdw-cart-collaterals .wc-proceed-to-checkout a.checkout-button{
  display:flex;align-items:center;justify-content:center;gap:.4em;width:100%;
  font-family:var(--font-head);font-weight:800;font-size:1rem;padding:.8em 1.4em;
  border-radius:var(--r-pill);border:var(--bd);background:var(--ink);color:#fff;
  text-decoration:none;text-align:center}
.kdw-cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover{opacity:.88}

@media (max-width:600px){
  .kdw-cart-table td.product-subtotal{margin-left:0;width:100%;text-align:right}
}

/* empty cart state */
.kdw-empty{max-width:440px;margin:0 auto;padding:56px 20px 8px;text-align:center;
  display:flex;flex-direction:column;align-items:center}
.kdw-empty__ill{display:flex;margin:0 0 12px}
.kdw-empty .kdw-h{margin:0 0 4px}
.kdw-empty p{margin:0 0 20px;color:var(--muted);font-size:.92rem}

/* empty-cart recommendations */
.kdw-reco{padding:32px 20px 56px}
.kdw-reco .kdw-eyebrow{display:block;text-align:center;margin:0 0 14px}

/* ===== my account / login・register ===== */
/* 契約: form-login.php の <form>・nonce・各アクションフックは温存。ここでは外枠の見た目のみ。 */
.kdw-account{padding:12px 0 56px}
.kdw-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
@media (max-width:820px){.kdw-account-grid{grid-template-columns:1fr}}
.kdw-account-card{border:var(--bd);border-radius:var(--r-card);background:var(--paper);padding:24px}
.kdw-account>.kdw-account-card{max-width:420px;margin:0 auto}
.kdw-account-card--accent{background:var(--paper)}
.kdw-account-icon{display:flex;align-items:center;justify-content:center;margin:0 0 8px}
.kdw-account-title{text-align:center;margin:0 0 20px}
.kdw-account-col--register .kdw-account-title{margin:0 0 18px}
.kdw-field-row{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.kdw-field-row label{font-size:.78rem;font-weight:800;color:var(--muted)}
.kdw-field-row .required{color:var(--error)}
.kdw-field{width:100%;border:var(--bd);border-radius:10px;padding:.65em .9em;
  font-size:.92rem;font-family:var(--font-body);background:var(--paper);color:var(--ink)}
.kdw-field:focus-visible{outline:3px solid #3b82f6;outline-offset:1px}
.kdw-account-remember-row{display:flex;align-items:center;font-size:.85rem;font-weight:700;margin:0 0 6px}
.kdw-remember{display:flex;align-items:center;gap:.4em;cursor:pointer}
.kdw-account-submit-row{margin:14px 0 4px}
.kdw-account-submit{width:100%;justify-content:center}
.kdw-account-lost{text-align:center;font-size:.82rem;margin:12px 0 0}
.kdw-account-lost a{color:var(--muted);text-decoration:underline}
.kdw-account-note{font-size:.82rem;color:var(--muted);margin:0 0 14px}
.kdw-account-or{display:flex;align-items:center;gap:8px;color:var(--muted);
  font-size:.72rem;font-weight:800;letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}
.kdw-account-or::before,.kdw-account-or::after{content:"";flex:1;border-top:2px dashed var(--line-soft)}
.kdw-account-benefit{background:var(--accent);border:var(--bd);border-radius:var(--r-card);
  padding:14px 16px;margin-top:18px;font-size:.85rem}
.kdw-account-benefit strong{display:block;margin:0 0 6px;font-size:.9rem}
.kdw-account-benefit ul{margin:0;padding-left:18px}
.kdw-account-benefit li{margin:3px 0}

/* ===== WooCommerce 共通(checkout / account / notices) =====
   契約: レイアウトはWC既定テンプレを尊重。ここでは配色・枠・ボタン・入力の見た目のみ新コンセプトへ。 */
/* フォーム入力(住所/支払い等) */
.woocommerce form .form-row > label{font-size:.8rem;font-weight:800;color:var(--muted);margin-bottom:4px}
.woocommerce .input-text,.woocommerce select,.woocommerce textarea{
  border:var(--bd);border-radius:10px;padding:.6em .85em;font-family:var(--font-body);
  font-size:.92rem;background:var(--paper);color:var(--ink);min-height:44px;box-sizing:border-box}
.woocommerce .input-text:focus-visible,.woocommerce select:focus-visible,.woocommerce textarea:focus-visible{
  outline:3px solid #3b82f6;outline-offset:1px}
/* ボタン: 主要(alt/place_order)=黒ピル、副次=白地黒フチピル */
.woocommerce #place_order,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--ink);color:#fff;border:var(--bd);border-radius:var(--r-pill);
  font-family:var(--font-head);font-weight:800;padding:.8em 1.6em}
.woocommerce #place_order:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{opacity:.88}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--paper);color:var(--ink);border:var(--bd);border-radius:var(--r-pill);
  font-family:var(--font-head);font-weight:800}
/* 注文内容テーブル(checkout review / account orders)。
   カート(.kdw-cart-table)は行=カード式で自前の枠を持つため二重線回避で除外。 */
.woocommerce table.shop_table:not(.kdw-cart-table){border:var(--bd);border-radius:var(--r-card);border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table:not(.kdw-cart-table) th,.woocommerce table.shop_table:not(.kdw-cart-table) td{border-color:var(--line-soft)}
.woocommerce table.shop_table tfoot th,.woocommerce table.shop_table .order-total .amount{font-weight:900}
/* 支払い方法ボックス */
.woocommerce-checkout #payment{background:var(--surface-soft);border:var(--bd);border-radius:var(--r-card)}
/* 通知(成功/情報/エラー) */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  border:var(--bd);border-radius:var(--r-card);border-left-width:6px;background:var(--paper)}
.woocommerce-message{border-left-color:var(--success)}
.woocommerce-info{border-left-color:var(--ink)}
.woocommerce-error{border-left-color:var(--error)}
/* マイアカウント: ナビをピル化 + コンテンツを枠付きカードに */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 20px;padding:0;
  display:flex;flex-wrap:wrap;gap:8px}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:inline-block;border:var(--bd);border-radius:var(--r-pill);
  padding:.35em 1em;font-weight:800;font-size:.85rem;color:var(--ink);text-decoration:none;background:var(--paper)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--accent)}
.woocommerce-account .woocommerce-MyAccount-content{border:var(--bd);border-radius:var(--r-card);padding:20px 22px;background:var(--paper)}

/* ===== テンプレートダウンロード（/download/） ===== */
.kdw-dl-hero{padding:40px 0 32px;text-align:center}
.kdw-dl-hero__title{margin:.2em 0 .5em;font-size:clamp(1.6rem,5vw,2.2rem)}
.kdw-dl-hero__lead{max-width:640px;margin:0 auto;font-size:.92rem;line-height:1.8}
.kdw-dl-legend{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:center;
  margin:0 0 32px;padding:12px 18px;border:var(--bd);border-radius:var(--r-card);background:var(--paper-soft)}
.kdw-dl-legend__item{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);font-weight:700}
.kdw-dl-cat{margin:0 0 40px}
.kdw-dl-cat__head{display:flex;align-items:center;gap:10px;margin:0 0 16px}
.kdw-dl-cat__num{font-size:1.6rem;margin:0}
.kdw-dl-cat__title{margin:0}
.kdw-dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.kdw-dl-card{padding:16px 18px}
.kdw-dl-card__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;
  margin:0 0 10px;padding-bottom:10px;border-bottom:1px dashed var(--line-soft)}
.kdw-dl-card__name{margin:0;font-size:.98rem}
.kdw-dl-card__link{font-size:.68rem;text-decoration:none;color:var(--ink);white-space:nowrap}
.kdw-dl-sizes{display:flex;flex-direction:column;gap:10px}
.kdw-dl-size-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.kdw-dl-size__label{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0}
.kdw-dl-size__name{font-weight:800;font-size:.88rem}
.kdw-dl-size__dim{font-size:.76rem;color:var(--muted)}
.kdw-dl-size__btns{display:flex;gap:6px;flex-wrap:wrap;flex:none}
.kdw-dl-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.6em;
  border:var(--bd);border-radius:var(--r-pill);padding:.25em .8em;font-weight:800;font-size:.72rem;
  text-decoration:none;line-height:1.5}
.kdw-dl-btn--ai{background:var(--ink);color:#fff}
.kdw-dl-btn--ai:hover{opacity:.85}
.kdw-dl-btn--canva{background:var(--paper);color:var(--ink)}
.kdw-dl-btn--canva:hover{background:var(--accent-soft)}
.kdw-dl-note{margin:8px 0 28px;padding:18px 20px;border:var(--bd);border-radius:var(--r-card);background:var(--accent-soft)}
.kdw-dl-note__title{display:block;margin:0 0 8px;font-size:.9rem;font-weight:800}
.kdw-dl-note ul{margin:0;padding-left:1.2em;font-size:.82rem;line-height:1.85}
.kdw-dl-note a{color:var(--ink)}
@media(max-width:600px){
  .kdw-dl-grid{grid-template-columns:1fr}
  .kdw-dl-size-row{flex-direction:column;align-items:flex-start}
}

/* ==== 用途から探す (page-goods.php) ==== */
.kdw-goods-hero{overflow:hidden}
.kdw-goods-hero__in{display:flex;align-items:center;gap:24px}
.kdw-goods-hero__text{flex:1;min-width:0}
.kdw-goods-hero__art{flex:0 0 clamp(180px,26vw,300px);align-self:flex-end;margin-bottom:-48px;position:relative;z-index:3}
.kdw-goods-hero__art img{display:block;width:118%;max-width:none;height:auto;margin-left:-9%;
  filter:drop-shadow(0 10px 0 rgba(17,17,17,.05))}
@media(max-width:760px){
  .kdw-goods-hero__art{display:none}
}
.kdw-goods-hero__title{font-size:clamp(1.9rem,5vw,2.8rem);margin:.1em 0 .3em}
.kdw-goods-hero__lead{max-width:44em;font-size:1rem;line-height:1.85}
.kdw-goods-hero__lead strong{font-weight:800}
.kdw-goods-popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}
.kdw-goods-popular__label{font-family:var(--font-head);font-weight:800;font-size:.85rem;margin-right:2px}
.kdw-goods-popular__pill{display:inline-flex;align-items:center;background:var(--paper);border:var(--bd);
  border-radius:var(--r-pill);padding:.35em 1em;font-size:.82rem;font-weight:700;color:var(--ink);
  text-decoration:none;transition:transform .15s,background .15s}
.kdw-goods-popular__pill:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.kdw-goods-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  background:var(--accent-soft);border:var(--bd);border-radius:var(--r-card);padding:16px 20px;margin-bottom:40px}
.kdw-goods-banner p{margin:0;font-size:.92rem;line-height:1.7;flex:1;min-width:14em}
.kdw-goods-cat{margin-bottom:46px}
.kdw-goods-cat:last-of-type{margin-bottom:0}
.kdw-goods-cat__head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.kdw-goods-cat__ico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  background:var(--accent);border:var(--bd);border-radius:50%;flex:none}
.kdw-goods-cat__meta{display:flex;flex-direction:column;gap:2px}
.kdw-goods-cat__title{font-size:1.3rem;margin:0}
.kdw-goods-cat__sub{font-size:.8rem;color:var(--muted)}
.kdw-goods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.kdw-goods-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 20px 22px;
  text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.kdw-goods-card:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--accent)}
.kdw-goods-card__qty{background:var(--accent);align-self:flex-start}
.kdw-goods-card__name{display:inline-flex;align-items:center;gap:.3em;font-family:var(--font-head);
  font-weight:800;font-size:1.05rem;line-height:1.3}
.kdw-goods-card__name svg{transition:transform .15s}
.kdw-goods-card:hover .kdw-goods-card__name svg{transform:translateX(4px)}
.kdw-goods-card__desc{font-size:.82rem;line-height:1.7;color:var(--muted)}
.kdw-goods-cta{text-align:center}
.kdw-goods-cta p{max-width:40em;margin:.6em auto 1.4em;line-height:1.8}
@media(max-width:600px){
  .kdw-goods-grid{grid-template-columns:1fr}
  .kdw-goods-cat__head{gap:10px}
}

/* ==== chip / button variants (guide/contact) ==== */
.kdw-chip--muted{background:var(--surface-soft);border-color:var(--line-soft);color:var(--muted)}
.kdw-chip--warn{background:#FEF3C7;border-color:var(--warning);color:var(--warning)}
.kdw-chip--ok{background:#DCFCE7;border-color:var(--success);color:var(--success)}
.kdw-chip--ng{background:#FEE2E2;border-color:var(--error);color:var(--error)}
.kdw-btn--sm{padding:.42em .95em;font-size:.8rem}

/* ==== note / callout ==== */
.kdw-note{display:block;border:var(--bd);border-radius:var(--r-card);padding:12px 16px;margin:14px 0 0;font-size:.86rem;line-height:1.75}
.kdw-note__t{display:block;font-family:var(--font-head);font-weight:800;margin-bottom:2px}
.kdw-note--tip{background:var(--accent-soft)}
.kdw-note--info{background:var(--surface-soft)}
.kdw-note--warn{background:#FEF6E7;border-color:var(--warning)}
.kdw-note--warn .kdw-note__t{color:var(--warning)}

/* ==== table ==== */
.kdw-table-wrap{overflow-x:auto;border:var(--bd);border-radius:var(--r-card)}
.kdw-table{width:100%;border-collapse:collapse;font-size:.9rem}
.kdw-table th{background:var(--ink);color:var(--paper);font-family:var(--font-head);font-weight:800;padding:11px 13px;text-align:left;white-space:nowrap}
.kdw-table td{padding:11px 13px;border-top:1px solid var(--line-soft);vertical-align:top}
.kdw-table tbody tr:nth-child(even) td{background:var(--paper-soft)}

/* ==== 入稿ガイド (page-guide.php) ==== */
.kdw-guide-hero__title{font-size:clamp(1.6rem,4.5vw,2.4rem);margin:.1em 0 .3em}
.kdw-guide-hero__lead{font-size:1rem;opacity:.85}
.kdw-guide-toc{border:var(--bd);border-radius:var(--r-card);background:var(--paper-soft);padding:18px 22px;margin-bottom:40px}
.kdw-guide-toc__title{display:block;font-family:var(--font-head);font-weight:800;margin-bottom:8px}
.kdw-guide-toc ol{margin:0;padding-left:1.4em}
.kdw-guide-toc li{margin:5px 0}
.kdw-guide-toc a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.kdw-guide-sec{margin-bottom:46px;scroll-margin-top:90px}
.kdw-guide-sec:last-of-type{margin-bottom:0}
.kdw-guide-sec__head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.kdw-guide-sec__head h2{font-size:1.35rem;margin:0}
.kdw-guide-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.kdw-guide-card{padding:18px 20px}
.kdw-guide-card__head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.kdw-guide-card__n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;
  background:var(--accent);border:var(--bd);border-radius:50%;font-family:var(--font-head);font-weight:800;font-size:.85rem}
.kdw-guide-card__t{font-size:1.02rem;margin:0}
.kdw-guide-card__b{font-size:.88rem;line-height:1.8}
.kdw-guide-card__b strong{font-weight:800}
.kdw-guide-steps{list-style:none;margin:0;padding:0}
.kdw-guide-step{display:flex;gap:16px;padding-bottom:22px;position:relative}
.kdw-guide-step:not(:last-child)::before{content:"";position:absolute;left:17px;top:38px;bottom:2px;width:2px;background:var(--line-soft)}
.kdw-guide-step__n{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;z-index:1;
  background:var(--accent);border:var(--bd);border-radius:50%;font-family:var(--font-head);font-weight:900;font-size:1rem}
.kdw-guide-step__body{flex:1;min-width:0;padding-top:3px}
.kdw-guide-step__t{font-size:1.05rem;margin:0 0 .3em}
.kdw-guide-step__body p{font-size:.9rem;line-height:1.8;margin:0}
.kdw-guide-cta__row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}

/* ==== お問い合わせ (page-contact.php, CF7を新デザインへ) ==== */
.kdw-contact-hero{overflow:hidden}
.kdw-contact-hero__title{font-size:clamp(1.7rem,4.5vw,2.5rem);margin:.1em 0 .3em}
.kdw-contact-hero__lead{font-size:1rem;opacity:.85}
.kdw-contact-grid{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
.kdw-contact-intro{font-size:.95rem;line-height:1.85;margin:0 0 22px}
.kdw-contact-side{display:flex;flex-direction:column;gap:16px}
.kdw-contact-card{padding:20px}
.kdw-contact-card__ico{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;
  background:var(--accent);border:var(--bd);border-radius:50%;margin-bottom:10px}
.kdw-contact-card__t{display:block;font-family:var(--font-head);font-size:1rem;margin-bottom:6px}
.kdw-contact-card__b{font-size:.84rem;line-height:1.7;color:var(--muted);margin:0 0 12px}
.kdw-contact-note{font-size:.78rem;color:var(--muted);line-height:1.7;margin:0}
/* CF7 出力を新トークンへ */
.kdw-contact .wpcf7-form p{margin:0 0 14px}
.kdw-contact .wpcf7-form label{display:block;font-family:var(--font-head);font-weight:700;font-size:.85rem;margin-bottom:.3em}
.kdw-contact .wpcf7-form input[type=text],
.kdw-contact .wpcf7-form input[type=email],
.kdw-contact .wpcf7-form input[type=tel],
.kdw-contact .wpcf7-form input[type=url],
.kdw-contact .wpcf7-form select,
.kdw-contact .wpcf7-form textarea{width:100%;padding:.7em .9em;font-size:.92rem;font-family:var(--font-body);
  color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:10px;outline:none;-webkit-appearance:none;appearance:none}
.kdw-contact .wpcf7-form textarea{min-height:150px;resize:vertical}
.kdw-contact .wpcf7-form input:focus,
.kdw-contact .wpcf7-form select:focus,
.kdw-contact .wpcf7-form textarea:focus{box-shadow:0 0 0 3px var(--accent)}
.kdw-contact .wpcf7-form .wpcf7-submit{display:inline-flex;align-items:center;gap:.4em;background:var(--ink);color:#fff;
  font-family:var(--font-head);font-weight:800;border:var(--bd);border-radius:var(--r-pill);padding:.72em 2em;font-size:.95rem;
  cursor:pointer;transition:transform .15s,box-shadow .15s;width:auto}
.kdw-contact .wpcf7-form .wpcf7-submit:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--accent)}
.kdw-contact .wpcf7-not-valid-tip{color:var(--error);font-size:.78rem;margin-top:.3em}
.kdw-contact .wpcf7-response-output{border-width:2px!important;border-radius:10px!important;margin:1em 0 0!important;font-size:.86rem}
@media(max-width:820px){
  .kdw-contact-grid{grid-template-columns:1fr}
  .kdw-contact-side{order:-1}
}

/* ==== 汎用: 見出し付き定義テーブル(会社概要/特商法) ==== */
.kdw-deftable-wrap{overflow-x:auto;border:var(--bd);border-radius:var(--r-card)}
.kdw-deftable{width:100%;border-collapse:collapse;font-size:.9rem}
.kdw-deftable th{background:var(--accent-soft);font-family:var(--font-head);font-weight:800;text-align:left;
  padding:13px 16px;width:30%;min-width:9em;vertical-align:top;border-bottom:1px solid var(--line-soft)}
.kdw-deftable td{padding:13px 16px;vertical-align:top;border-bottom:1px solid var(--line-soft);line-height:1.7}
.kdw-deftable tr:last-child th,.kdw-deftable tr:last-child td{border-bottom:0}
.kdw-deftable a{color:var(--ink);text-underline-offset:2px}
@media(max-width:640px){
  .kdw-deftable,.kdw-deftable tbody,.kdw-deftable tr,.kdw-deftable th,.kdw-deftable td{display:block;width:auto}
  .kdw-deftable th{border-bottom:0;padding-bottom:2px}
  .kdw-deftable td{padding-top:2px}
  .kdw-deftable tr{border-bottom:1px solid var(--line-soft);padding:6px 0}
  .kdw-deftable tr:last-child{border-bottom:0}
}

/* ==== ポリシーボックス(返金・返品) ==== */
.kdw-pbox{border:var(--bd);border-radius:var(--r-card);padding:16px 18px;margin:0 0 16px}
.kdw-pbox__t{display:flex;align-items:center;gap:.5em;font-family:var(--font-head);font-weight:800;font-size:1rem;margin:0 0 .4em}
.kdw-pbox p{margin:0 0 .5em;line-height:1.8;font-size:.9rem}
.kdw-pbox ul{margin:.3em 0 0;padding-left:1.3em}
.kdw-pbox li{margin:.25em 0;line-height:1.7;font-size:.88rem}
.kdw-pbox--ok{background:#F2FBF5;border-color:var(--success)}
.kdw-pbox--ok .kdw-pbox__t{color:var(--success)}
.kdw-pbox--ng{background:#FEF4F4;border-color:var(--error)}
.kdw-pbox--ng .kdw-pbox__t{color:var(--error)}
.kdw-pbox--summary{background:var(--accent-soft)}
.kdw-pbox__tag{font-size:.68rem;font-weight:800;padding:.15em .6em;border-radius:var(--r-pill);border:1.5px solid currentColor;flex:none}

/* ==== FAQ カテゴリ(page-faq.php) ==== */
.kdw-faqcat{margin-bottom:34px}
.kdw-faqcat:last-of-type{margin-bottom:0}
.kdw-faqcat__head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.kdw-faqcat__n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;
  background:var(--accent);border:var(--bd);border-radius:50%;font-family:var(--font-head);font-weight:900}
.kdw-faqcat__label{font-family:var(--font-head);font-weight:800;font-size:1.15rem}
.kdw-faq__a strong{font-weight:800}

/* ==== 納期カレンダー(page-delivery-calendar.php) — エンジンは温存、枠のみ ==== */
.kdw-cal-note{margin:0 0 22px;font-size:.9rem;line-height:1.8}
.kdw-cal-frame{border:var(--bd);border-radius:var(--r-card);padding:8px;background:var(--paper);overflow-x:auto}

/* ==== 会社案内(page-company.php) ==== */
.kdw-company-greet{margin-top:36px}
.kdw-company-greet h2{font-size:1.3rem;margin:0 0 .5em}
.kdw-company-greet p{line-height:1.9;margin:0 0 1em}

/* ==== 情報カード（配送/支払い方法） ==== */
.kdw-methods{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.kdw-method{padding:20px}
.kdw-method__ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;
  background:var(--accent);border:var(--bd);border-radius:50%;margin-bottom:12px}
.kdw-method__t{font-family:var(--font-head);font-weight:800;font-size:1.05rem;margin:0 0 .4em}
.kdw-method__b{font-size:.9rem;line-height:1.8;margin:0}
.kdw-method__note{display:block;font-size:.8rem;color:var(--muted);margin-top:.5em}
.kdw-method ul{margin:.6em 0 0;padding-left:1.2em}
.kdw-method li{font-size:.85rem;line-height:1.7;margin:.2em 0}
.kdw-method__tag{display:inline-block;font-size:.68rem;font-weight:800;padding:.1em .6em;border-radius:var(--r-pill);
  border:1.5px solid var(--ink);margin-left:.4em}
/* 納期カレンダーへの誘導カード */
.kdw-ctacard{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;background:var(--accent-soft);
  border:var(--bd);border-radius:var(--r-card);padding:20px 22px;margin:0 0 20px}
.kdw-ctacard__ico{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;
  background:var(--paper);border:var(--bd);border-radius:50%}
.kdw-ctacard__body{flex:1;min-width:14em}
.kdw-ctacard__t{font-family:var(--font-head);font-weight:800;font-size:1.05rem;margin:0 0 .2em}
.kdw-ctacard__b{font-size:.86rem;line-height:1.7;margin:0;color:var(--muted)}

/* ==== デザインスタジオ (page-design-studio.php) ==== */
.kdw-studio-hero{overflow:hidden}
.kdw-studio-hero__title{font-size:clamp(1.7rem,4.5vw,2.5rem);margin:.1em 0 .3em}
.kdw-studio-hero__lead{max-width:46em;font-size:1rem;line-height:1.85;opacity:.9}
/* 取り込んだギャラリーの内側余白を調整（バンド内で二重パディングを避ける） */
.kdw-studio-page #snsi-tpl{max-width:none}

/* 用途ページ: おすすめ部数(経済ロット)の注記 */
.kdw-goods-lotnote{margin:-24px 0 34px;font-size:.8rem;line-height:1.75;color:var(--muted)}
.kdw-goods-lotnote strong{color:var(--ink);font-weight:800}

/* ==== デザインスタジオ ギャラリー (page-design-studio.php) ==== */
.kdw-studio-steps .kdw-step small{font-size:.72rem;color:var(--muted);line-height:1.6;font-weight:600}
.kdw-studio-steps .kdw-step{gap:6px}
.kdw-studio-cta__row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
/* タブ */
.kdw-tpl-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 26px}
.kdw-tpl-tab{font-family:var(--font-head);font-weight:800;font-size:.82rem;padding:.4em 1em;
  background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--r-pill);cursor:pointer;
  transition:background .15s,transform .15s}
.kdw-tpl-tab:hover{background:var(--accent-soft);transform:translateY(-1px)}
.kdw-tpl-tab.is-on{background:var(--accent)}
/* セクション */
.kdw-tpl-sec{margin-bottom:38px}
.kdw-tpl-sec.is-hidden{display:none}
.kdw-tpl-sec__head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.kdw-tpl-sec__ico{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;
  background:var(--accent);border:var(--bd);border-radius:50%}
.kdw-tpl-sec__title{font-size:1.2rem;margin:0}
.kdw-tpl-sec__count{font-size:.78rem;font-weight:800;color:var(--muted)}
.kdw-tpl-sec__desc{font-size:.84rem;color:var(--muted);line-height:1.7;margin:0 0 16px 48px}
/* グリッド */
.kdw-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px}
.kdw-tpl-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);
  border:var(--bd);border-radius:var(--r-card);overflow:hidden;background:var(--paper);transition:transform .15s,box-shadow .15s}
.kdw-tpl-card:hover{transform:translateY(-4px);box-shadow:5px 5px 0 var(--accent)}
.kdw-tpl-card__img{display:block;background:var(--surface-soft);border-bottom:var(--bd);aspect-ratio:91/55;overflow:hidden}
.kdw-tpl-card__img img{width:100%;height:100%;object-fit:contain;display:block}
.kdw-tpl-card__meta{display:flex;align-items:center;gap:6px;padding:8px 10px}
.kdw-tpl-card__num{font-family:var(--font-head);font-weight:800;font-size:.8rem}
.kdw-tpl-card__ura{font-size:.62rem;font-weight:800;padding:.05em .5em;border-radius:var(--r-pill);
  background:var(--accent);border:1.2px solid var(--ink)}
.kdw-tpl-card__cv{margin-left:auto;font-size:.68rem;font-weight:800;color:var(--ink);
  background:var(--accent-soft);border:1.2px solid var(--ink);border-radius:var(--r-pill);padding:.12em .6em}
@media(max-width:600px){
  .kdw-tpl-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
  .kdw-tpl-sec__desc{margin-left:0}
}

/* お知らせティッカー（TOP・HEROと01の間の中央・横長ボックス） */
.kdw-newsband{margin:6px 0 2px}
.kdw-news{--line:44px;display:flex;align-items:center;gap:14px;max-width:760px;margin:0 auto;
  background:var(--paper);border:var(--bd);border-radius:var(--r-pill);
  box-shadow:0 8px 22px rgba(17,17,17,.10);padding:8px 16px 8px 10px;
  text-decoration:none;color:var(--ink);transition:box-shadow .18s,transform .18s}
.kdw-news:hover{box-shadow:0 12px 28px rgba(17,17,17,.16);transform:translateY(-2px)}
.kdw-news:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.kdw-news__label{flex:none;display:inline-flex;align-items:center;gap:6px;
  background:var(--accent);color:var(--accent-ink);border:var(--bd);border-radius:var(--r-pill);
  padding:4px 12px 4px 10px;font-family:var(--font-head);font-weight:800;font-size:.82rem;white-space:nowrap}
.kdw-news__label .kdw-ico svg{stroke:var(--ink);fill:none;stroke-width:1.9}
.kdw-news__view{flex:1 1 auto;min-width:0;height:var(--line);overflow:hidden;position:relative}
.kdw-news__track{list-style:none;margin:0;padding:0}
.kdw-news__item{height:var(--line);display:flex;align-items:center;gap:10px;min-width:0}
.kdw-news__date{flex:none;font-variant-numeric:tabular-nums;font-weight:700;font-size:.8rem;color:var(--muted);letter-spacing:.02em}
.kdw-news__cat{flex:none;background:var(--accent-soft);color:var(--ink);border:1.4px solid var(--ink);
  border-radius:var(--r-pill);font-size:.68rem;font-weight:800;padding:1px 9px;line-height:1.6;white-space:nowrap}
.kdw-news__ttl{flex:1 1 auto;min-width:0;font-weight:700;font-size:.9rem;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdw-news:hover .kdw-news__ttl{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.kdw-news__more{flex:none;display:inline-flex;align-items:center;gap:3px;font-weight:800;font-size:.78rem;color:var(--muted);white-space:nowrap}
.kdw-news__more .kdw-ico svg{stroke:currentColor;fill:none;stroke-width:2}
@media(max-width:600px){
  .kdw-news{--line:40px;gap:10px;padding:7px 12px 7px 8px}
  .kdw-news__label span:last-child{display:none}
  .kdw-news__label{padding:6px 8px}
  .kdw-news__date{font-size:.72rem}
  .kdw-news__more span,.kdw-news__more{font-size:0}
  .kdw-news__ttl{font-size:.82rem}
}

/* デザインスタジオ 02 モードトグル（このサイトで作る=DS / Canva） */
.kdw-modetoggle{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:0 0 24px}
.kdw-modebtn{display:flex;flex-direction:column;align-items:center;gap:3px;border:var(--bd);
  border-radius:var(--r-card);background:var(--paper);color:var(--ink);font-family:var(--font-head,inherit);
  font-weight:800;font-size:1.05rem;padding:.7em 1.8em;cursor:pointer;line-height:1.25;transition:transform .12s ease}
.kdw-modebtn small{font-weight:600;font-size:.72rem;opacity:.65}
.kdw-modebtn.is-on{background:var(--accent);color:var(--accent-ink)}
.kdw-modebtn:hover{transform:translateY(-2px)}
.kdw-mode[hidden]{display:none}

/* デザインスタジオ つくり方チューザー（Canva / このサイトで作る=DS） */
.kdw-chooser{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.kdw-chooser__card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  border:var(--bd);border-radius:var(--r-card);background:var(--paper);padding:22px 22px 18px;
  text-decoration:none;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease}
.kdw-chooser__card:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--ink)}
.kdw-chooser__card--rec{background:var(--accent-soft);border-color:var(--ink)}
.kdw-chooser__badge{position:absolute;top:-12px;right:16px;background:var(--accent);color:var(--accent-ink);
  border:var(--bd);border-radius:var(--r-pill);padding:.15em .8em;font-size:.72rem;font-weight:800}
.kdw-chooser__ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;
  border:var(--bd);border-radius:var(--r-card);background:var(--paper)}
.kdw-chooser__t{font-family:var(--font-head,inherit);font-size:1.25rem;font-weight:800}
.kdw-chooser__d{font-size:.9rem;line-height:1.6;opacity:.9}
.kdw-chooser__d small{opacity:.7;font-size:.8rem}
.kdw-chooser__go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.9rem}
@media (max-width:640px){ .kdw-chooser{grid-template-columns:1fr} }
