/*
 * 見た目。3案のトークンを DESIGN-*.md から転記して使う（mock-doctrine.md §6）。
 *
 * 転記元: docs/mockups/2026-09-25-shodou-storefront/DESIGN-yohaku.md・DESIGN-sumi.md・DESIGN-kozo.md（colors・typography・rounded・spacing・components）
 * 転記日: 2026-09-25
 *
 * モックの枠（日本語の帯・一覧・操作）は --mock-* で持ち、案のトークンに混ぜない（D-4）。
 * 書体は Web フォントを読み込まない。DESIGN の候補の書体名を先頭に書き、無ければ OS の書体で表示する。
 * 和紙の質感は SVG のノイズの見本（本番は画像のタイル）。
 */

/* ============ モックの枠 ============ */
:root {
  --mock-bg: #202327;
  --mock-fg: #f2f3f5;
  --mock-soft: #aab0b9;
  --mock-side: #2a2e34;
  --mock-line: #3a3f46;
  --mock-on: #2f6fd0;
  --mock-panel: #ffffff;
  --mock-panel-fg: #1d2127;
  --mock-panel-soft: #59606b;
  --mock-panel-line: #d9dde3;
  --mock-danger: #b73333;
  --mock-stage: #e4e6e9;
  --mock-note: #fff6d6;
  --mock-note-fg: #3f3400;
  --mock-font: system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", Meiryo, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--mock-stage); font-family: var(--mock-font); color: var(--mock-panel-fg); }
body.has-overlay { overflow: hidden; }
body.is-embed { background: transparent; }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
/* hidden 属性は、部品の display の指定より必ず優先する（開閉する欄が閉じているのに見える不具合を防ぐ） */
[hidden] { display: none !important; }

.mockbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px;
  padding: 8px 16px; background: var(--mock-bg); color: var(--mock-fg); font-size: 14px;
}
.mockbar__left, .mockbar__right, .mockbar__patterns { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mockbar__title { font-weight: 700; }
.mockbar__badge { padding: 1px 8px; border-radius: 999px; background: #4b3f86; color: #efeaff; font-size: 12px; }
.mockbar__pattern, .mockbar__open {
  min-height: 40px; padding: 4px 12px; border-radius: 6px; border: 1px solid var(--mock-line);
  background: transparent; color: var(--mock-fg); font: inherit; cursor: pointer;
}
.mockbar__pattern.is-on { background: var(--mock-fg); color: var(--mock-bg); border-color: var(--mock-fg); font-weight: 700; }
.mockbar__open { background: var(--mock-on); border-color: var(--mock-on); font-weight: 700; }
.mockbar__link { color: #cfe0ff; min-height: 40px; display: inline-flex; align-items: center; padding: 0 6px; }
.mockbar :focus-visible, .mockside :focus-visible, .mockpanel :focus-visible { outline: 2px solid #8bb8ff; outline-offset: 2px; }

.mocklayout { display: grid; grid-template-columns: minmax(0, 1fr); }
.mockside { display: none; }
@media (min-width: 1180px) {
  .mocklayout { grid-template-columns: 220px minmax(0, 1fr); }
  .mockside {
    display: block; position: sticky; top: 0; align-self: start; height: 100vh; overflow-y: auto;
    padding: 12px 8px 24px; background: var(--mock-side); color: #d9dde3; font-size: 14px;
  }
}
.mockside__group, .mockscreens__group { margin: 14px 10px 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; opacity: 0.75; }
.mockside__list, .mockscreens__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.mockside__link { display: flex; align-items: center; min-height: 40px; padding: 4px 10px; border-radius: 6px; color: inherit; text-decoration: none; }
.mockside__link:hover { background: rgba(255, 255, 255, 0.08); }
.mockside__link.is-current { background: var(--mock-on); color: #fff; }
.mockside__note { margin: 16px 10px 0; font-size: 12px; line-height: 1.6; opacity: 0.75; }

.mockstage { min-width: 0; }
.mocknote { margin: 0; padding: 8px 16px; font-size: 13px; line-height: 1.6; background: var(--mock-note); color: var(--mock-note-fg); border-bottom: 1px solid #e6d9a4; }
.mocknote strong { margin-right: 6px; }
.mockstage.is-phone { padding: 0 0 48px; }
.mockstage.is-phone .mockdevice {
  width: 390px; max-width: calc(100% - 16px); margin: 20px auto 0; border: 10px solid #17191c; border-radius: 30px;
  overflow: clip; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

.mockscrim { position: fixed; inset: 0; z-index: 79; background: rgba(20, 23, 28, 0.45); }
.mockpanel {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 80; width: min(420px, 100%); overflow-y: auto;
  padding: 16px; background: var(--mock-panel); color: var(--mock-panel-fg); font-size: 14px; line-height: 1.6;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.22);
}
.mockpanel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.mockfield { border-top: 1px solid var(--mock-panel-line); margin-top: 14px; padding-top: 12px; }
.mockfield__label { margin: 0 0 8px; font-size: 14px; font-weight: 700; }
.mockfield__label + .mockstack, .mockfield__label + .mockgrid { margin-bottom: 10px; }
.mockstack { display: grid; gap: 6px; }
.mockgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.mocksmall { font-size: 12px; color: var(--mock-panel-soft); }
.mockopt, .mockswitch {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 8px 10px; text-align: left;
  border: 1px solid #c7ccd4; border-radius: 8px; background: #fff; color: inherit; font: inherit; cursor: pointer;
}
.mockswitch { margin-bottom: 6px; }
.mockopt.is-on { border-color: var(--mock-on); background: #eef4ff; }
.mockopt__mark { width: 16px; height: 16px; flex: none; border-radius: 50%; border: 2px solid #9aa3ae; }
.mockopt.is-on .mockopt__mark { border: 5px solid var(--mock-on); }
.mockswitch__box { position: relative; width: 36px; height: 20px; flex: none; border-radius: 999px; background: #b9c0c9; }
.mockswitch__box::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform 0.12s; }
.mockswitch.is-on .mockswitch__box { background: var(--mock-on); }
.mockswitch.is-on .mockswitch__box::after { transform: translateX(16px); }
.mockbtn { min-height: 40px; padding: 4px 14px; border-radius: 8px; border: 1px solid #c7ccd4; background: #fff; color: inherit; font: inherit; cursor: pointer; }
.mockbtn--danger { background: var(--mock-danger); border-color: var(--mock-danger); color: #fff; font-weight: 700; }
.mockscreens__link { display: flex; min-height: 40px; align-items: center; padding: 4px 10px; border-radius: 6px; color: #1f4f9a; }
.mockscreens__link.is-current { background: #eef4ff; font-weight: 700; }

.toasts { position: fixed; left: 50%; bottom: 20px; z-index: 90; transform: translateX(-50%); display: grid; gap: 8px; width: max-content; max-width: calc(100vw - 32px); }
.toast { padding: 10px 16px; border-radius: 8px; background: #1f2328; color: #f4f5f7; font: 14px/1.5 var(--mock-font); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); }
.toast--success { background: #1e6b45; }
.toast--error { background: #a83232; }

/* ============ 3案のトークン ============ */
.site-root {
  --texture: none;
  --radius: 2px; --radius-card: 2px;
  --fs-button: 13px; --ls-button: 0.14em; --tt-button: none; --fv-button: normal;
  --tt-h2: none; --ls-h2: 0; --fw-h1: 400; --fv-label: normal; --tt-label: none;
  --surface-solid: var(--surface);
  --switch-on: var(--text);
  --dialog-bg: var(--surface-solid);
  min-height: 100%;
  background-color: var(--bg); background-image: var(--texture);
  color: var(--text); font-family: var(--font-body); font-size: var(--fs-body); line-height: var(--lh-body);
}

/* 案A「余白」 */
.site-root[data-pattern="yohaku"] {
  --bg: #F7F5F0; --bg-alt: #EDE8DF; --surface: #FCFBF8; --text: #1F1D1A; --text-soft: #6B665E; --line: #D8D2C7; --input-border: #8F897E;
  --primary: #1F1D1A; --primary-fg: #F7F5F0; --secondary: #1F1D1A; --link: #1F1D1A; --eyebrow: #6B665E;
  --accent: #A8262B; --accent-fg: #FFFFFF; --accent-text: #A8262B; --focus: #A8262B;
  --success: #3F6B4E; --warning: #8A5A12; --danger: #A1242A; --info: #3D5A73;
  --font-display: "Cormorant Garamond", "EB Garamond", Garamond, "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --font-body: "EB Garamond", Garamond, "Palatino Linotype", Palatino, Georgia, serif;
  --font-label: var(--font-body); --font-heading-md: var(--font-display);
  --font-kanji: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  --fs-display: 56px; --lh-display: 64px; --ls-display: 0.005em; --fw-display: 400; --tt-display: none;
  --fs-h1: 44px; --fs-h2: 36px; --lh-h2: 44px; --fw-h2: 400; --fs-h3: 24px; --fw-h3: 500;
  --fs-body: 18px; --lh-body: 1.72; --fs-small: 15px; --fs-label: 12px; --ls-label: 0.18em; --fw-label: 500;
  --container: 1120px; --text-max: 640px; --gutter: 24px; --section: 144px; --gap: 40px;
  --shadow-art: 0 18px 40px rgba(31, 29, 26, 0.1); --shadow-card: none; --shadow-dialog: 0 24px 60px rgba(31, 29, 26, 0.18);
  --texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3Cfilter id='c0' x='0' y='0' width='1' height='1' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006' numOctaves='4' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.5 0 0 0 0 0.42 .1 0 0 0 -0.04'/%3E%3C/filter%3E%3Cg id='F' fill='none' stroke-linecap='round'%3E%3Cg stroke='%238a8070'%3E%3Cpath d='M214.9 222.6C204.4 232.2 205.8 246 202.2 258.5' stroke-width='.53' opacity='.06'/%3E%3Cpath d='M255.2 189.1C258.7 207.7 252.8 226.8 258.8 245.7' stroke-width='.77' opacity='.05'/%3E%3Cpath d='M75 116C76.7 124.4 85 130.5 83.2 140.4' stroke-width='.74' opacity='.06'/%3E%3Cpath d='M175.7 354.6C164.7 368 146.5 371.3 134.2 383.7' stroke-width='.6' opacity='.04'/%3E%3Cpath d='M311.2 410.6C312.8 416.2 318.7 418.7 321.1 423.9' stroke-width='.72' opacity='.06'/%3E%3Cpath d='M355.1 60.2C340.4 71.2 328.8 88.2 306.3 85.1' stroke-width='.53' opacity='.07'/%3E%3Cpath d='M208.8 221C213.1 231.6 228.1 232.7 230.4 245.4' stroke-width='.76' opacity='.04'/%3E%3Cpath d='M186.7 266.6C177.4 267.6 168.1 269.6 158.3 268' stroke-width='.52' opacity='.07'/%3E%3Cpath d='M176.2 319C185.3 326.9 185.1 341.7 197.2 348' stroke-width='.56' opacity='.04'/%3E%3Cpath d='M264.7 261.9C273 263.7 278 273.5 288.1 271.7' stroke-width='.84' opacity='.07'/%3E%3Cpath d='M172.6 385.9C172.7 395.8 167.2 404.1 164.8 413.6' stroke-width='.5' opacity='.08'/%3E%3Cpath d='M126.7 171.4C130.6 175 135.7 175.5 140.5 177.1' stroke-width='.71' opacity='.04'/%3E%3Cpath d='M235.1 261.3C213.4 266 192.8 273.6 172.8 284.9' stroke-width='.73' opacity='.06'/%3E%3Cpath d='M39.7 273.7C22.7 290.8 30 320.4 7.9 335.7' stroke-width='.56' opacity='.07'/%3E%3Cpath d='M408.3 144.3C399.2 143 391.3 146.3 383.2 150.2' stroke-width='.53' opacity='.05'/%3E%3Cpath d='M278.9 206.8C274.5 211.8 275.6 219.1 271.4 224.4' stroke-width='.54' opacity='.06'/%3E%3Cpath d='M160 76C137.8 80.9 133.1 112.5 106.1 111.1' stroke-width='.67' opacity='.07'/%3E%3Cpath d='M239.1 294.1C237.3 298.4 235.5 302.6 233.6 307' stroke-width='.57' opacity='.07'/%3E%3Cpath d='M26.8 35.6C13.7 31.7 .6 29.2 -12.8 35.9' stroke-width='.87' opacity='.08'/%3E%3Cpath d='M21.3 70.7C19.7 79.5 15.6 87.4 13.3 96.2' stroke-width='.52' opacity='.04'/%3E%3Cpath d='M194.3 113.6C200.3 128.2 206.1 142.9 206.5 159.6' stroke-width='.74' opacity='.05'/%3E%3Cpath d='M409.6 124.7C408.9 131.5 413.7 137.3 413 144.3' stroke-width='.72' opacity='.07'/%3E%3Cpath d='M1.2 54.9C21.9 55.2 28.4 80.4 48.9 82.1' stroke-width='.58' opacity='.07'/%3E%3Cpath d='M346.7 310.4C344.3 315.8 337.3 314.4 333.9 318.9' stroke-width='.59' opacity='.04'/%3E%3Cpath d='M143.9 40.8C129.6 41.4 117.9 49.1 105.3 55.6' stroke-width='.8' opacity='.07'/%3E%3Cpath d='M161.2 320.8C167.9 322.3 169.6 329.7 175.1 332.9' stroke-width='.5' opacity='.06'/%3E%3Cpath d='M405.7 363.6C417.6 384 402.4 402.6 402 422.8' stroke-width='.81' opacity='.05'/%3E%3Cpath d='M412.8 58.3C400.8 56.1 391 59.1 384.2 70.1' stroke-width='.66' opacity='.06'/%3E%3Cpath d='M183 41.5C188.9 41.7 189.5 49.9 195.7 50' stroke-width='.72' opacity='.06'/%3E%3Cpath d='M97.3 392.4C116.7 390.6 136.1 389.4 151.7 405.9' stroke-width='.68' opacity='.06'/%3E%3Cpath d='M58.9 156.3C76.3 166.6 96.2 171.4 114.8 180.8' stroke-width='.9' opacity='.05'/%3E%3Cpath d='M239 228.3C241.2 241.2 256.2 241.8 261.5 252.1' stroke-width='.69' opacity='.06'/%3E%3Cpath d='M53.5 99.5C54.3 105 48.2 107.4 47.8 112.5' stroke-width='.56' opacity='.05'/%3E%3Cpath d='M181.4 328.8C174.1 340 175.6 354.1 169.2 366' stroke-width='.8' opacity='.08'/%3E%3Cpath d='M138.2 298.4C143.3 300 148.1 302.6 153.8 302.7' stroke-width='.54' opacity='.08'/%3E%3Cpath d='M383 56.1C374 56.3 366.4 60.7 358.3 64.4' stroke-width='.81' opacity='.08'/%3E%3Cpath d='M186.3 94.4C190.5 110 211.7 114.8 211.3 133.9' stroke-width='.79' opacity='.04'/%3E%3Cpath d='M179.8 317.7C176.8 340.6 201.3 357.2 194.1 381.7' stroke-width='.54' opacity='.05'/%3E%3Cpath d='M7 396.1C19.9 403 29.2 413.3 36.6 426.1' stroke-width='.79' opacity='.07'/%3E%3Cpath d='M256.3 409.1C252.1 426.4 253.4 444.6 247.5 462.2' stroke-width='.61' opacity='.08'/%3E%3Cpath d='M41.9 229.3C43.9 243.6 53.8 256.4 49.9 272.2' stroke-width='.77' opacity='.05'/%3E%3Cpath d='M126 41.3C119.6 49.4 109 46.5 100.8 50.6' stroke-width='.68' opacity='.05'/%3E%3Cpath d='M26.8 24.9C36.1 43.4 28.7 67.9 47.8 83.7' stroke-width='.64' opacity='.05'/%3E%3Cpath d='M255.8 2.9C255.7 15.8 261.8 26 270.1 35.6' stroke-width='.75' opacity='.08'/%3E%3Cpath d='M262.8 69C268.6 68.3 272.3 74.6 278.3 73.4' stroke-width='.56' opacity='.05'/%3E%3Cpath d='M27.6 351.3C25 355.3 23.6 360.4 17.7 361.4' stroke-width='.59' opacity='.07'/%3E%3Cpath d='M198.2 2.1C203 1.9 207.5 3.4 212.3 4.1' stroke-width='.51' opacity='.07'/%3E%3Cpath d='M382.9 102.9C387.7 106.3 390.9 110.4 390.1 116.9' stroke-width='.67' opacity='.07'/%3E%3Cpath d='M324.5 166C316.6 173 305.4 173.1 296.8 179.3' stroke-width='.76' opacity='.07'/%3E%3Cpath d='M165.4 295.3C167.4 304.1 161.1 313.9 168.5 322.3' stroke-width='.62' opacity='.07'/%3E%3Cpath d='M27.5 266.2C42 266.1 49.8 282.3 65 282' stroke-width='.79' opacity='.05'/%3E%3Cpath d='M403.8 173.4C410.6 177 406 186.1 411.9 190.2' stroke-width='.55' opacity='.06'/%3E%3Cpath d='M359.8 370.7C379.4 377.3 395.3 390.8 414.8 398.9' stroke-width='.64' opacity='.05'/%3E%3Cpath d='M40.2 12C44.6 14.5 46.2 19.7 50.2 22.8' stroke-width='.69' opacity='.05'/%3E%3Cpath d='M219.3 262.6C210.7 284.2 190 293 172.8 306.5' stroke-width='.55' opacity='.07'/%3E%3Cpath d='M131.8 66.3C132 73.9 124.5 77.8 123 84.8' stroke-width='.58' opacity='.05'/%3E%3Cpath d='M98 5.1C103 5.2 107.2 8 112 9.2' stroke-width='.63' opacity='.08'/%3E%3Cpath d='M302.4 300.1C312.6 310.2 313.5 327.8 329.3 334.1' stroke-width='.66' opacity='.07'/%3E%3Cpath d='M73 101.6C67 107.6 58.2 100.7 51.8 106.2' stroke-width='.85' opacity='.05'/%3E%3Cpath d='M.3 62.4C-.8 67.2 -.9 71.9 .8 76.8' stroke-width='.77' opacity='.06'/%3E%3Cpath d='M88.3 391.4C75.4 400.9 61 397.9 46.4 395.9' stroke-width='.62' opacity='.06'/%3E%3Cpath d='M339 399C346 399.1 351.9 406.1 359.8 402.7' stroke-width='.74' opacity='.06'/%3E%3Cpath d='M61.9 269C54.7 276.6 58.6 286.7 56.2 295.7' stroke-width='.88' opacity='.05'/%3E%3Cpath d='M100.4 253.3C95.9 259.9 91.4 266.5 82 267.1' stroke-width='.64' opacity='.07'/%3E%3Cpath d='M375.1 121C378.3 130.1 380 139.4 380.6 149.3' stroke-width='.79' opacity='.04'/%3E%3Cpath d='M136.7 96.5C131.8 101.4 125.6 97.5 120 99' stroke-width='.59' opacity='.04'/%3E%3Cpath d='M346.8 291C366.9 287.8 380.6 296.8 390.5 314' stroke-width='.57' opacity='.04'/%3E%3Cpath d='M3.9 392.3C-13.1 395.8 -28.1 403.8 -43 413.3' stroke-width='.81' opacity='.05'/%3E%3Cpath d='M21 162.6C27.8 164.2 34.8 165.5 40.7 170.3' stroke-width='.55' opacity='.07'/%3E%3Cpath d='M200.8 368.7C197.2 372.8 192.8 376.2 190.3 381.4' stroke-width='.51' opacity='.06'/%3E%3C/g%3E%3Cg stroke='%23ffffff'%3E%3Cpath d='M295.2 346.3C303.3 362.2 315.7 376.3 315.4 396.1' stroke-width='1.14' opacity='.45'/%3E%3Cpath d='M85.6 32.1C96.4 41.9 95.4 58.8 107.5 68.3' stroke-width='1.38' opacity='.33'/%3E%3Cpath d='M154.4 51.4C151 64.6 145.8 76.4 132.3 83' stroke-width='.81' opacity='.36'/%3E%3Cpath d='M83.1 252.6C81.1 280.3 115.9 292.1 112.6 321.1' stroke-width='1.01' opacity='.33'/%3E%3Cpath d='M116.2 64.5C108.6 68.5 104.9 78.3 94.6 78.7' stroke-width='1.11' opacity='.37'/%3E%3Cpath d='M307.2 204.8C323.8 231.4 300.9 260.3 312.2 288.1' stroke-width='1.05' opacity='.4'/%3E%3Cpath d='M253.4 313.3C267.2 333.1 258.2 352.3 251.7 372.1' stroke-width='1.06' opacity='.38'/%3E%3Cpath d='M160.8 277.7C147.6 293.4 165.3 316.6 147.5 331.7' stroke-width='1.25' opacity='.41'/%3E%3Cpath d='M232.1 244.3C238.4 248.9 247.3 249.5 251.9 257.2' stroke-width='1.06' opacity='.33'/%3E%3Cpath d='M85.4 40.2C92.4 61.6 98.9 83.2 120.1 96.6' stroke-width='.87' opacity='.28'/%3E%3Cpath d='M13.7 244.2C-4 256.2 -23.7 255 -44.1 252.7' stroke-width='1.08' opacity='.27'/%3E%3Cpath d='M201.5 384.6C209.6 397.1 198.8 409.8 201.7 422.8' stroke-width='1.08' opacity='.45'/%3E%3Cpath d='M146.9 69.7C133.4 79.2 118.7 83.2 101.9 80.1' stroke-width='.99' opacity='.36'/%3E%3Cpath d='M323.9 411.1C333.8 425.3 349.2 432 364.2 440' stroke-width='1.37' opacity='.35'/%3E%3Cpath d='M357.4 146.7C384.1 158.2 416.6 142 441.9 164.4' stroke-width='.86' opacity='.28'/%3E%3Cpath d='M132.9 287.8C125.7 297 118.3 306.1 114 317.5' stroke-width='1.21' opacity='.33'/%3E%3Cpath d='M34.8 336.8C43.8 353.2 58.5 359 76.8 359' stroke-width='1.4' opacity='.34'/%3E%3Cpath d='M144 392.3C120.9 399.4 122.5 429.9 100.2 438.5' stroke-width='.96' opacity='.38'/%3E%3Cpath d='M115.4 194.6C99.3 202.8 105.3 224.5 91 234.4' stroke-width='.8' opacity='.38'/%3E%3Cpath d='M284.1 271.6C276.6 277.2 267 267.8 259.5 275.1' stroke-width='1.18' opacity='.3'/%3E%3Cpath d='M123.3 303.7C113.9 331 98.7 354.4 76.4 374.1' stroke-width='.85' opacity='.26'/%3E%3Cpath d='M245.5 60.8C226.2 67.1 217.9 87 200.9 97.1' stroke-width='.89' opacity='.39'/%3E%3Cpath d='M418 314.2C428.2 318.6 431.8 328.2 436.4 337.4' stroke-width='1.23' opacity='.25'/%3E%3Cpath d='M220 49.7C196.7 69.7 189.9 93.9 201.2 123.4' stroke-width='.98' opacity='.42'/%3E%3Cpath d='M211.2 195.8C203.5 195.9 197.3 200 190.7 203.8' stroke-width='1.31' opacity='.31'/%3E%3Cpath d='M74 29.7C53.7 36.6 57.7 60.5 43.9 72.6' stroke-width='.87' opacity='.34'/%3E%3Cpath d='M378.6 237.9C366.5 260.5 374.6 291.8 348.1 309' stroke-width='1.12' opacity='.28'/%3E%3Cpath d='M90.6 212.2C91 226.9 88.3 240.1 73.7 248.2' stroke-width='.99' opacity='.28'/%3E%3Cpath d='M255.1 326.8C251.7 333.2 255.8 341.6 249.3 347.3' stroke-width='.94' opacity='.3'/%3E%3Cpath d='M191.4 68.7C222 61.8 249.7 66.5 273.5 89.5' stroke-width='1.34' opacity='.28'/%3E%3Cpath d='M44.5 417.4C48.7 426.3 56.9 430.2 65.7 433.5' stroke-width='1.2' opacity='.41'/%3E%3Cpath d='M318.3 410.6C311.8 416.6 305.2 422.3 296.7 425.8' stroke-width='1.31' opacity='.29'/%3E%3Cpath d='M8.6 299.2C15.7 307.9 10.3 317.6 10.8 327.1' stroke-width='1.19' opacity='.27'/%3E%3Cpath d='M373.3 183.1C384.3 179.9 391.9 193.4 403.3 189.1' stroke-width='.89' opacity='.37'/%3E%3Cpath d='M188.3 341.1C179.9 339.8 178.4 351.9 169.7 350.6' stroke-width='1.05' opacity='.44'/%3E%3Cpath d='M97.1 .2C84 6.4 70.7 12.1 58.2 20.3' stroke-width='1.21' opacity='.32'/%3E%3Cpath d='M226.4 338.2C212.4 332.3 198.5 329 184.7 339.5' stroke-width='.88' opacity='.29'/%3E%3Cpath d='M295.8 12.7C279.1 17.4 265.8 28 252.2 38.8' stroke-width='1.06' opacity='.42'/%3E%3Cpath d='M390.3 202.6C384.5 208 377.8 208.2 370.4 205.9' stroke-width='1.03' opacity='.4'/%3E%3Cpath d='M111.6 100.8C90.7 109.9 92.9 133.6 81.2 149.2' stroke-width='1.31' opacity='.25'/%3E%3C/g%3E%3C/g%3E%3C/defs%3E%3Crect width='420' height='420' filter='url(%23c0)'/%3E%3Cuse href='%23F' x='-420' y='-420'/%3E%3Cuse href='%23F' x='-420' y='0'/%3E%3Cuse href='%23F' x='-420' y='420'/%3E%3Cuse href='%23F' x='0' y='-420'/%3E%3Cuse href='%23F' x='0' y='0'/%3E%3Cuse href='%23F' x='0' y='420'/%3E%3Cuse href='%23F' x='420' y='-420'/%3E%3Cuse href='%23F' x='420' y='0'/%3E%3Cuse href='%23F' x='420' y='420'/%3E%3C/svg%3E");
}

/* 案B「墨」 */
.site-root[data-pattern="sumi"] {
  --bg: #141312; --bg-alt: #1D1B19; --surface: #1D1B19; --surface-solid: #F5F1E8; --text: #ECE6DA; --text-soft: #A7A196;
  --line: rgba(194, 162, 102, 0.42); --input-border: #80776A;
  --primary: #ECE6DA; --primary-fg: #141312; --secondary: #C2A266; --link: #C2A266; --eyebrow: #C2A266;
  --accent: #B8352A; --accent-fg: #FFFFFF; --accent-text: #E0685A; --focus: #E3C98F;
  --success: #8DB597; --warning: #D9B26A; --danger: #E0685A; --info: #C2A266; --switch-on: #C2A266;
  --font-display: Cinzel, "Trajan Pro", "Palatino Linotype", Palatino, Georgia, serif;
  --font-body: Jost, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-label: var(--font-body); --font-heading-md: var(--font-body);
  --font-kanji: "Shippori Mincho B1", "Shippori Mincho", "Noto Serif JP", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  --fs-display: 48px; --lh-display: 58px; --ls-display: 0.12em; --fw-display: 400; --tt-display: uppercase;
  --fs-h1: 34px; --fs-h2: 28px; --lh-h2: 38px; --fw-h2: 400; --tt-h2: uppercase; --ls-h2: 0.1em; --fs-h3: 20px; --fw-h3: 500;
  --fs-body: 16px; --lh-body: 1.8; --fs-small: 14px; --fs-label: 11px; --ls-label: 0.24em; --tt-label: uppercase; --fw-label: 500;
  --fs-button: 12px; --ls-button: 0.2em; --tt-button: uppercase;
  --radius: 0px; --radius-card: 0px;
  --container: 1280px; --text-max: 600px; --gutter: 32px; --section: 160px; --gap: 24px;
  --shadow-art: 0 30px 80px rgba(0, 0, 0, 0.55); --shadow-card: 0 30px 80px rgba(0, 0, 0, 0.55); --shadow-dialog: 0 30px 80px rgba(0, 0, 0, 0.55);
  --dialog-bg: #ECE6DA;
  --paper-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3Cfilter id='c0' x='0' y='0' width='1' height='1' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.008' numOctaves='4' seed='6' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.45 0 0 0 0 0.37 .15 0 0 0 -0.07'/%3E%3C/filter%3E%3Cg id='F' fill='none' stroke-linecap='round'%3E%3Cg stroke='%237d7262'%3E%3Cpath d='M181.6 187.8C187.7 194.8 189 205.7 199.3 209.6' stroke-width='.94' opacity='.08'/%3E%3Cpath d='M186 326.1C192.2 332 201.2 333.9 207.4 340.5' stroke-width='.55' opacity='.11'/%3E%3Cpath d='M86.7 232.8C82.6 235.4 79.5 239.6 74.3 240.5' stroke-width='.77' opacity='.09'/%3E%3Cpath d='M41.1 280.9C19.3 289.9 1.8 304.8 -15.8 321' stroke-width='.59' opacity='.08'/%3E%3Cpath d='M160.3 130.8C157.7 140.8 145.9 146.6 147.6 158.9' stroke-width='.79' opacity='.11'/%3E%3Cpath d='M132.1 363.2C111.9 363.9 96.6 383.6 74.2 377.8' stroke-width='.74' opacity='.06'/%3E%3Cpath d='M42.6 304.2C55.2 320.3 63.5 338 62.2 359.7' stroke-width='.83' opacity='.11'/%3E%3Cpath d='M14.8 10.4C20.4 13.7 25.8 17.4 32.8 17.6' stroke-width='.64' opacity='.12'/%3E%3Cpath d='M90 378.5C83.2 381.9 76.4 385 68.7 380.4' stroke-width='.54' opacity='.11'/%3E%3Cpath d='M345 303.2C350.4 310 349.8 318.6 351.7 326.7' stroke-width='.89' opacity='.07'/%3E%3Cpath d='M159.2 68C163.8 78.6 154.9 86.7 153.9 96.5' stroke-width='.95' opacity='.08'/%3E%3Cpath d='M174.4 307.9C175.9 314.3 177.8 320.3 183.7 324.4' stroke-width='.79' opacity='.12'/%3E%3Cpath d='M193.9 20.7C190.3 23.9 191.6 30.3 186.3 32.5' stroke-width='.85' opacity='.1'/%3E%3Cpath d='M111.9 214.6C105.6 216.8 100.4 221.2 94.1 223.9' stroke-width='.73' opacity='.1'/%3E%3Cpath d='M382.4 6.9C373.1 11.7 367.9 20.2 362.2 28.7' stroke-width='.9' opacity='.09'/%3E%3Cpath d='M275.4 349.9C280.4 371 293.9 391.3 281.7 414.7' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M274.8 30C263.2 32.8 264.1 46.7 255.1 52.2' stroke-width='.8' opacity='.09'/%3E%3Cpath d='M45.4 139.4C44.7 146 46.8 153.1 41.1 158.8' stroke-width='.59' opacity='.11'/%3E%3Cpath d='M410.8 259.1C400.5 261.9 391.5 268.7 380 269.1' stroke-width='.7' opacity='.07'/%3E%3Cpath d='M122.9 280.5C133.8 294.4 117.7 309.9 125.6 324.3' stroke-width='.85' opacity='.09'/%3E%3Cpath d='M349.4 252.6C339 271 322.2 282.2 303.8 292.5' stroke-width='.77' opacity='.11'/%3E%3Cpath d='M370.4 90.5C361.7 106.5 356.1 123.3 356.6 142.3' stroke-width='.65' opacity='.1'/%3E%3Cpath d='M323.1 82.8C308.3 101.3 298 121.7 297.6 146.7' stroke-width='.75' opacity='.12'/%3E%3Cpath d='M238.7 48.2C230.3 71 197.1 67.9 190.9 94' stroke-width='.57' opacity='.1'/%3E%3Cpath d='M238.2 353.4C242.9 368.3 225.5 378.5 229.3 393.7' stroke-width='.67' opacity='.09'/%3E%3Cpath d='M380.4 338.5C377.4 348.5 373.5 358.3 373.3 369.3' stroke-width='.57' opacity='.09'/%3E%3Cpath d='M327 336.2C314.6 351.3 316.1 374.4 297.7 386.7' stroke-width='.73' opacity='.07'/%3E%3Cpath d='M182 171.2C194.6 187.3 210.9 199.3 227.9 211.4' stroke-width='.62' opacity='.07'/%3E%3Cpath d='M380.8 260C376.1 281.8 373.2 304 364 325.3' stroke-width='.66' opacity='.07'/%3E%3Cpath d='M364.9 269C369.5 274 367.8 279.7 366.9 285.5' stroke-width='.51' opacity='.06'/%3E%3Cpath d='M176.1 81.8C177.6 90.8 181.3 99.8 175.3 108.8' stroke-width='.56' opacity='.07'/%3E%3Cpath d='M27.2 414C25.6 430.3 14.7 444.8 17.8 462.5' stroke-width='.8' opacity='.09'/%3E%3Cpath d='M121.1 50.1C104.8 65.5 83.5 57.9 64.2 62.3' stroke-width='.69' opacity='.09'/%3E%3Cpath d='M295.3 290.1C291.2 296.7 297.2 304.8 292.2 311.5' stroke-width='.8' opacity='.11'/%3E%3Cpath d='M165.1 346C143 341.2 121.6 362.7 98.6 348' stroke-width='.84' opacity='.08'/%3E%3Cpath d='M313.2 257.4C303.7 263.7 302.6 275.5 295.7 283.8' stroke-width='.7' opacity='.08'/%3E%3Cpath d='M1.1 51.7C14.2 46.4 24.4 60.8 37.7 57.1' stroke-width='.78' opacity='.09'/%3E%3Cpath d='M323.6 64C322.3 70.7 317.2 75.3 314.2 81.2' stroke-width='.58' opacity='.12'/%3E%3Cpath d='M255.1 206C258 211.9 262.3 217.5 259.4 224.9' stroke-width='.55' opacity='.09'/%3E%3Cpath d='M232.1 306.9C239.4 309.7 247.4 311.1 252.5 318.2' stroke-width='.92' opacity='.09'/%3E%3Cpath d='M220.9 179.8C228.5 192.3 237.2 203.9 250.9 211.2' stroke-width='.77' opacity='.07'/%3E%3Cpath d='M78.7 363.6C101.3 363.7 118.1 373.3 128.7 394.2' stroke-width='.68' opacity='.11'/%3E%3Cpath d='M260 95.9C254.4 100.7 249.1 105.9 241 106.6' stroke-width='.66' opacity='.09'/%3E%3Cpath d='M226.8 31.6C243.7 50.2 273.7 47.5 289.2 70' stroke-width='.67' opacity='.07'/%3E%3Cpath d='M30.4 110.6C7.6 104.7 -10.8 113.1 -27.6 128.5' stroke-width='.52' opacity='.06'/%3E%3Cpath d='M163.9 318C152.2 332.7 131.4 324.5 118 336.3' stroke-width='.53' opacity='.07'/%3E%3Cpath d='M239.2 249.4C253.5 274.1 273.5 289.4 303.9 289' stroke-width='.65' opacity='.08'/%3E%3Cpath d='M408.9 320.2C414.8 323.5 418.7 330 426.3 331.2' stroke-width='.74' opacity='.09'/%3E%3Cpath d='M224.6 199.4C230.4 208.8 239.9 214.2 248.5 221' stroke-width='.8' opacity='.06'/%3E%3Cpath d='M389.4 164.1C378.7 162.8 372.7 171.6 364.4 176.1' stroke-width='.55' opacity='.1'/%3E%3Cpath d='M47.6 417.3C55.9 418.9 64.3 419.1 73 419.1' stroke-width='.79' opacity='.08'/%3E%3Cpath d='M331.3 157C325.3 159 318.8 159.2 312.9 162.2' stroke-width='.9' opacity='.12'/%3E%3Cpath d='M74.8 226.1C58.1 239.3 38.9 249.5 26 268.1' stroke-width='.71' opacity='.07'/%3E%3Cpath d='M109.8 297.1C107.6 302.4 106.5 308.2 102.2 312.6' stroke-width='.61' opacity='.09'/%3E%3Cpath d='M12.8 71.7C16 84.2 10.7 94.4 3.7 104.4' stroke-width='.78' opacity='.1'/%3E%3Cpath d='M385.2 323.5C388.2 331.2 392.3 338 400.8 341.3' stroke-width='.86' opacity='.11'/%3E%3Cpath d='M74.5 35.1C78.5 44.2 87.4 48.5 93.9 55.5' stroke-width='.66' opacity='.08'/%3E%3Cpath d='M335 51.2C315.4 53.8 295.5 54.7 277.1 65' stroke-width='.97' opacity='.07'/%3E%3Cpath d='M318.8 53.3C307.8 64.6 291.4 69.7 282.3 84.1' stroke-width='.92' opacity='.11'/%3E%3Cpath d='M31.7 148.3C51.2 156.5 70.6 164.7 84.4 182.7' stroke-width='.82' opacity='.07'/%3E%3Cpath d='M169.5 42.6C184.4 60.9 193.7 81.1 191.2 106.1' stroke-width='.75' opacity='.1'/%3E%3Cpath d='M305.7 403.2C294.9 419.8 291.9 439.4 284.4 457.8' stroke-width='.58' opacity='.08'/%3E%3Cpath d='M94.7 91C101 101.7 110.6 110.6 111.3 124.5' stroke-width='.99' opacity='.08'/%3E%3Cpath d='M34.5 36.1C54.8 46.7 77.6 53.9 90.1 76.5' stroke-width='.69' opacity='.12'/%3E%3Cpath d='M260.1 355.1C263.1 362 265 369.2 267.1 376.7' stroke-width='.56' opacity='.08'/%3E%3Cpath d='M36.9 224.6C18.6 218.1 6.7 233.7 -9 237.8' stroke-width='.56' opacity='.1'/%3E%3Cpath d='M155 60.6C153.5 73.7 151.1 86.5 144.4 98.5' stroke-width='.73' opacity='.07'/%3E%3Cpath d='M46 240.7C24.4 247.5 15 268.3 -1.4 281.9' stroke-width='.87' opacity='.08'/%3E%3Cpath d='M413.9 4C426.6 9 434.5 20.8 446.9 27' stroke-width='.69' opacity='.1'/%3E%3Cpath d='M327 289.9C329.6 298.4 318.6 304.8 323.3 313.9' stroke-width='.86' opacity='.1'/%3E%3C/g%3E%3Cg stroke='%23fbf8f1'%3E%3Cpath d='M146.6 95.8C139.5 100.2 144.5 109.7 138.5 114.8' stroke-width='1.24' opacity='.39'/%3E%3Cpath d='M39.5 244.8C26.2 251.4 20.2 266.9 5.6 272.5' stroke-width='1.08' opacity='.57'/%3E%3Cpath d='M26.7 255.3C17.2 263.5 8.9 272.7 6.6 286.1' stroke-width='.98' opacity='.57'/%3E%3Cpath d='M354.7 .7C345.8 34.8 304.9 28.7 287.8 53.9' stroke-width='1.01' opacity='.55'/%3E%3Cpath d='M387.8 31.4C370 52.8 370 84.3 346.8 103.6' stroke-width='1.26' opacity='.57'/%3E%3Cpath d='M325.4 330.2C323.7 354.5 328.4 377.9 336.7 401.4' stroke-width='1.22' opacity='.58'/%3E%3Cpath d='M116.3 336.1C116.1 345.5 115.6 355 116.1 364.8' stroke-width='1.32' opacity='.51'/%3E%3Cpath d='M382.1 34.9C393 34.3 402.4 43.8 414.2 39.8' stroke-width='1.11' opacity='.46'/%3E%3Cpath d='M247.4 62.1C251.9 69.4 261.1 67.9 267.1 72.9' stroke-width='.93' opacity='.39'/%3E%3Cpath d='M135.2 317.3C130.8 328.3 121.5 335.8 115.3 345.9' stroke-width='.87' opacity='.43'/%3E%3Cpath d='M10.2 79.4C4.2 89.7 3.7 101.4 1.1 112.9' stroke-width='.81' opacity='.5'/%3E%3Cpath d='M160.1 57.3C143.4 67.7 121.4 65.4 105.8 79.8' stroke-width='1.28' opacity='.39'/%3E%3Cpath d='M208.2 249.1C205.9 257.5 213 262.6 215.2 269.6' stroke-width='1.11' opacity='.59'/%3E%3Cpath d='M243.7 129.2C217.6 143.8 213.1 169.1 210.3 196.2' stroke-width='1.48' opacity='.48'/%3E%3Cpath d='M223.3 1.8C215.7 10.6 206 17.3 199.7 27.7' stroke-width='1.1' opacity='.36'/%3E%3Cpath d='M139.6 358.6C148.7 362.6 156.6 368.5 164.3 375.2' stroke-width='1.3' opacity='.37'/%3E%3Cpath d='M265 43.9C254.4 50.5 241.9 50.1 230 52.8' stroke-width='1.17' opacity='.48'/%3E%3Cpath d='M169.8 252.8C189.8 273.8 187.4 304.2 201.6 328.4' stroke-width='1.35' opacity='.51'/%3E%3Cpath d='M88.5 296.9C88 328.8 104.5 355.5 115.8 384.7' stroke-width='1.02' opacity='.41'/%3E%3Cpath d='M125.2 74.1C114.1 82.5 99.1 85.4 91.2 98.9' stroke-width='1.44' opacity='.58'/%3E%3Cpath d='M98.7 64.8C93.8 98.6 132.9 113.7 133.4 146.2' stroke-width='1.04' opacity='.47'/%3E%3Cpath d='M377.5 305.7C398.2 309.3 420.5 306.9 439.2 321' stroke-width='1.33' opacity='.54'/%3E%3Cpath d='M247.9 115.5C251.1 122.5 260.6 121.5 264.3 128.2' stroke-width='1.45' opacity='.47'/%3E%3Cpath d='M81 120.1C88.8 118.8 92 127.7 99.2 128.3' stroke-width='1.5' opacity='.57'/%3E%3Cpath d='M412.5 42.7C414.5 59 434.1 59.3 439.6 72.9' stroke-width='.88' opacity='.45'/%3E%3Cpath d='M157.4 403.6C128.5 418.6 108.5 440.9 100 473.7' stroke-width='1.5' opacity='.46'/%3E%3Cpath d='M298.7 11.8C306.5 12.1 308.9 20.8 315.7 22.9' stroke-width='1.28' opacity='.39'/%3E%3Cpath d='M162.4 360.8C140.3 371 136 391.7 131.6 413.1' stroke-width='.89' opacity='.55'/%3E%3Cpath d='M202.2 170.1C187 168.8 184.9 188.9 170.4 189.5' stroke-width='1.12' opacity='.55'/%3E%3Cpath d='M140.9 372.8C133.3 404.1 151.4 431.5 154.3 462.1' stroke-width='1.32' opacity='.54'/%3E%3Cpath d='M103.9 263.9C129.1 255.4 154.3 249.7 179.9 265' stroke-width='1.22' opacity='.57'/%3E%3Cpath d='M381.4 230.4C392.1 252.3 415.4 265.9 422.2 291.3' stroke-width='1.37' opacity='.52'/%3E%3Cpath d='M218.7 13.2C199.1 17.9 192.8 35.8 181.9 49.9' stroke-width='1.16' opacity='.58'/%3E%3Cpath d='M131.1 415.9C122.6 430.3 102.3 426.9 93 441' stroke-width='1.11' opacity='.41'/%3E%3Cpath d='M92.9 92.4C85 87.2 77.3 96.9 69.2 92.6' stroke-width='.86' opacity='.54'/%3E%3Cpath d='M230.9 76.1C228.8 95.4 216.4 109.9 207.6 126.7' stroke-width='1.33' opacity='.6'/%3E%3Cpath d='M378.8 100.3C371.9 120.6 374 142.6 366 163.3' stroke-width='1.23' opacity='.4'/%3E%3Cpath d='M83.9 223.1C79.7 237.2 90.2 247.2 94 259.4' stroke-width='1.36' opacity='.39'/%3E%3Cpath d='M228.8 24.9C234.7 28.4 240.5 32.2 248.1 30.3' stroke-width='1.34' opacity='.52'/%3E%3Cpath d='M149.4 411C132.1 435.6 97.8 417.5 78.6 439.2' stroke-width='.97' opacity='.42'/%3E%3Cpath d='M414.2 326.8C424.6 331.5 434.3 338.3 447 337.4' stroke-width='.95' opacity='.44'/%3E%3Cpath d='M200.5 205.6C205.7 219.1 210.5 232.7 212.1 247.6' stroke-width='1.44' opacity='.42'/%3E%3Cpath d='M68.4 265.8C70.5 274.6 73.7 282.6 82.8 287' stroke-width='1.06' opacity='.58'/%3E%3Cpath d='M179.9 249.4C202.3 251.7 208.2 278.3 229.7 283.1' stroke-width='.94' opacity='.57'/%3E%3Cpath d='M278.1 61.7C273 67.6 269.5 74.2 270.1 82.6' stroke-width='1.43' opacity='.4'/%3E%3C/g%3E%3C/g%3E%3C/defs%3E%3Crect width='420' height='420' filter='url(%23c0)'/%3E%3Cuse href='%23F' x='-420' y='-420'/%3E%3Cuse href='%23F' x='-420' y='0'/%3E%3Cuse href='%23F' x='-420' y='420'/%3E%3Cuse href='%23F' x='0' y='-420'/%3E%3Cuse href='%23F' x='0' y='0'/%3E%3Cuse href='%23F' x='0' y='420'/%3E%3Cuse href='%23F' x='420' y='-420'/%3E%3Cuse href='%23F' x='420' y='0'/%3E%3Cuse href='%23F' x='420' y='420'/%3E%3C/svg%3E");
  --texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='f' x='0' y='0' width='1' height='1'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' seed='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.93 0 0 0 0 0.9 0 0 0 0 0.84 0 0 0 1.6 -0.62'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23f)' opacity='0.06'/%3E%3C/svg%3E");
}
/* 案B の和紙のパネル（作品・入力・長い文を載せる明るい面） */
.site-root[data-pattern="sumi"] :is(.paper, .h-work, .op-prop, .s-dialog, .s-sheet, .iv-msg--bot .iv-msg__text) {
  --text: #1B1917; --text-soft: #5E574D; --line: #CFC6B6; --input-border: #80776A; --surface: #F5F1E8; --surface-solid: #F5F1E8; --bg-alt: #E3DCCD;
  --primary: #1B1917; --primary-fg: #ECE6DA; --secondary: #1B1917; --link: #1B1917; --focus: #1B1917; --eyebrow: #6B5528;
  --accent-text: #B8352A; --danger: #A1242A; --success: #43693F; --info: #3D5A73; --warning: #8A5A12; --switch-on: #1B1917;
  background-color: #ECE6DA; background-image: var(--paper-texture); color: #1B1917;
}

/* 案C「楮紙」 */
.site-root[data-pattern="kozo"] {
  --bg: #F1E9D8; --bg-alt: #E7DCC6; --surface: #F8F3E8; --text: #2B2622; --text-soft: #665C50; --line: #CDBE9F; --input-border: #8C7E66;
  --primary: #A8392C; --primary-fg: #FFF8EE; --secondary: #264B6E; --secondary-fg: #F8F3E8; --link: #264B6E; --eyebrow: #264B6E;
  --accent: #A8392C; --accent-fg: #FFF8EE; --accent-text: #A8392C; --focus: #264B6E;
  --success: #43693F; --warning: #8A5A12; --danger: #9E2F25; --info: #264B6E; --switch-on: #264B6E;
  --font-display: Lora, "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --font-body: var(--font-display); --font-label: var(--font-display); --font-heading-md: var(--font-display);
  --font-kanji: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  --fs-display: 48px; --lh-display: 58px; --ls-display: 0; --fw-display: 600; --tt-display: none;
  --fs-h1: 36px; --fs-h2: 32px; --lh-h2: 42px; --fw-h2: 600; --fs-h3: 22px; --fw-h3: 600;
  --fs-body: 17px; --lh-body: 1.82; --fs-small: 15px; --fs-label: 13px; --ls-label: 0.06em; --fv-label: small-caps; --fw-label: 600;
  --fs-button: 15px; --ls-button: 0.05em; --fv-button: small-caps;
  --radius: 4px; --radius-card: 6px;
  --container: 1160px; --text-max: 660px; --gutter: 24px; --section: 120px; --gap: 28px;
  --shadow-art: 0 16px 30px rgba(43, 38, 34, 0.18); --shadow-card: 0 1px 0 rgba(43, 38, 34, 0.06), 0 10px 24px rgba(43, 38, 34, 0.1);
  --shadow-dialog: 0 24px 60px rgba(43, 38, 34, 0.24);
  --texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='480' viewBox='0 0 480 480'%3E%3Cdefs%3E%3Cfilter id='c0' x='0' y='0' width='1' height='1' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.007' numOctaves='4' seed='12' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.52 0 0 0 0 0.43 0 0 0 0 0.31 .22 0 0 0 -0.1'/%3E%3C/filter%3E%3Cfilter id='c1' x='0' y='0' width='1' height='1' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.42 0 0 0 0 0.3 .09 0 0 0 -0.04'/%3E%3C/filter%3E%3Cg id='F' fill='none' stroke-linecap='round'%3E%3Cg stroke='%237a6446'%3E%3Cpath d='M322.7 401.3C316.3 409.5 309.8 417.5 300.6 423.3' stroke-width='.66' opacity='.17'/%3E%3Cpath d='M390 318.5C407.6 354.5 436.6 383.3 454.5 420.5' stroke-width='1.18' opacity='.08'/%3E%3Cpath d='M342.7 365C323.7 364.3 309.7 373.1 298.6 388.4' stroke-width='1.22' opacity='.16'/%3E%3Cpath d='M459.4 314.4C459.8 325.7 455.5 334.9 446.7 342.4' stroke-width='1.16' opacity='.1'/%3E%3Cpath d='M133.2 323.4C81.9 362.5 54.5 413.7 53.6 480.3' stroke-width='1.31' opacity='.11'/%3E%3Cpath d='M184.1 179.5C237.5 155.3 277.4 193 323.3 209.8' stroke-width='.64' opacity='.12'/%3E%3Cpath d='M425.8 467.6C402 506.7 389.9 552 360.8 589.9' stroke-width='.72' opacity='.18'/%3E%3Cpath d='M348 462.1C330.6 464.7 322.5 481.4 307.5 488.6' stroke-width='1.3' opacity='.16'/%3E%3Cpath d='M442.1 226.6C480.5 263.5 462.3 325 501.4 363.2' stroke-width='.9' opacity='.16'/%3E%3Cpath d='M52.4 444.8C92.7 469.6 120.3 517.6 178 513.7' stroke-width='.99' opacity='.12'/%3E%3Cpath d='M231.1 159.1C261.4 169.1 290.2 183.1 321.1 194.4' stroke-width='1' opacity='.13'/%3E%3Cpath d='M87.5 257.2C65.6 268.1 38.1 265.6 19.2 285.5' stroke-width='1.07' opacity='.08'/%3E%3Cpath d='M157 86.8C141.8 105.7 120.3 102.3 99.3 102.9' stroke-width='1.09' opacity='.12'/%3E%3Cpath d='M195.2 51.7C232.4 59.6 268.5 72.8 307.6 77.6' stroke-width='.96' opacity='.11'/%3E%3Cpath d='M452.3 295.6C441.7 315.7 450.6 334 457.7 353' stroke-width='.61' opacity='.14'/%3E%3Cpath d='M99 402C105.4 440.4 114.3 478.8 101.6 518.8' stroke-width='.75' opacity='.13'/%3E%3Cpath d='M27.3 9.7C22.9 44.9 -21.7 57.1 -22 95.8' stroke-width='1.22' opacity='.12'/%3E%3Cpath d='M6.8 11.8C16 24.4 33.5 29.1 39.6 45.5' stroke-width='1.32' opacity='.18'/%3E%3Cpath d='M198.1 165.2C230.9 221.6 198.6 281.2 206.8 340.6' stroke-width='.91' opacity='.14'/%3E%3Cpath d='M351.1 359.5C357.1 368.6 368.1 374.3 369.3 387' stroke-width='.99' opacity='.16'/%3E%3Cpath d='M313.4 471.6C355.6 471.5 397 473.6 428.6 509.5' stroke-width='.63' opacity='.09'/%3E%3Cpath d='M386.5 79C365.7 95.9 366.6 122.6 356.7 145.2' stroke-width='.85' opacity='.11'/%3E%3Cpath d='M99 155.3C116.7 178.3 142 197.2 140.1 231.8' stroke-width='.69' opacity='.12'/%3E%3Cpath d='M320.6 131C317 171.1 333.8 213.4 307.3 252.1' stroke-width='1.2' opacity='.1'/%3E%3Cpath d='M348.3 116C360.2 128 366.9 144.1 380 155.8' stroke-width='.74' opacity='.16'/%3E%3Cpath d='M171.9 8.3C154.9 16 137.4 17.2 118.9 12.9' stroke-width='1.15' opacity='.14'/%3E%3Cpath d='M301.5 103.1C279.3 128.7 246.3 129.6 216.5 140.2' stroke-width='.76' opacity='.1'/%3E%3Cpath d='M474 173C487.1 170.2 493.6 182.3 504 186.5' stroke-width='1.03' opacity='.15'/%3E%3Cpath d='M453.6 439.4C453.7 476.1 472.9 504.5 494.9 532.7' stroke-width='1.21' opacity='.13'/%3E%3Cpath d='M18.5 5.9C21.4 58.3 -11.8 86.7 -52.2 111.8' stroke-width='.68' opacity='.18'/%3E%3Cpath d='M269 447.7C255.9 463.5 236.1 455 219.8 461' stroke-width='.67' opacity='.11'/%3E%3Cpath d='M187 309C196.5 316.3 206.9 314.8 217.8 312.6' stroke-width='.75' opacity='.09'/%3E%3Cpath d='M416.3 251.1C402.2 253.6 388.5 259.7 373.2 257.1' stroke-width='.87' opacity='.09'/%3E%3Cpath d='M336.4 154.2C334.4 223.5 235.7 221.8 234.2 293.6' stroke-width='.63' opacity='.1'/%3E%3Cpath d='M323.5 159.9C321.3 205.9 383.2 217.2 380.5 264.9' stroke-width='1.31' opacity='.07'/%3E%3Cpath d='M330.7 229.4C323 237.5 311.2 240.7 305 251' stroke-width='1.28' opacity='.13'/%3E%3Cpath d='M181.2 7.4C231.5 29.7 269.7 70.5 319.1 97.2' stroke-width='1.18' opacity='.11'/%3E%3Cpath d='M159.1 135.5C191.6 143.7 190 187.6 223 196.4' stroke-width='.73' opacity='.11'/%3E%3Cpath d='M238.2 453.1C247.5 458.4 254.8 465.3 256.7 476.8' stroke-width='1.24' opacity='.09'/%3E%3Cpath d='M68.7 401.3C63.3 421.3 63.2 441.5 66.7 462.5' stroke-width='.81' opacity='.12'/%3E%3Cpath d='M229.7 369.1C213.6 386.4 189.7 396.4 181 421.5' stroke-width='1.01' opacity='.11'/%3E%3Cpath d='M291.6 158.5C330.4 152.1 368.4 148.9 401.3 179.2' stroke-width='1.21' opacity='.15'/%3E%3Cpath d='M433.9 147.1C453 144.7 461.1 168.2 480.4 166.7' stroke-width='.71' opacity='.1'/%3E%3Cpath d='M433.6 367.5C459.3 380.5 487.8 385.5 515 396.6' stroke-width='1.32' opacity='.15'/%3E%3Cpath d='M180.7 428.7C198.2 463.4 213.5 499.7 248.7 523.1' stroke-width='1.23' opacity='.09'/%3E%3Cpath d='M368.7 120.1C365.2 133.8 377.6 147.4 368.8 161.6' stroke-width='.96' opacity='.13'/%3E%3Cpath d='M329.3 136.5C310.6 150.1 285.6 149.9 267.1 165.5' stroke-width='.84' opacity='.09'/%3E%3Cpath d='M64 24.7C55.6 33.2 49.3 45.1 34.3 44.5' stroke-width='1.29' opacity='.1'/%3E%3Cpath d='M145.7 372.3C149.7 388 148 405.5 159.8 419.4' stroke-width='.6' opacity='.08'/%3E%3Cpath d='M365.3 317.5C361.2 331.2 349.2 342 350.2 358' stroke-width='.69' opacity='.13'/%3E%3Cpath d='M443.3 293.3C442 307.9 455.4 313.6 461.6 324.1' stroke-width='1.01' opacity='.18'/%3E%3Cpath d='M186.5 290.8C172.4 295.3 157.2 284.5 143 293.8' stroke-width='1.33' opacity='.1'/%3E%3Cpath d='M52.2 379.9C57.3 437.4 77.8 489.8 105.1 541.8' stroke-width='.94' opacity='.08'/%3E%3Cpath d='M73.4 210.9C81.8 223.5 82.2 237.4 80 252.2' stroke-width='1.18' opacity='.11'/%3E%3Cpath d='M24.8 114C45.5 157.4 78.4 194.8 88.5 245' stroke-width='.65' opacity='.13'/%3E%3Cpath d='M364.1 255.1C418.7 283 406.3 343.6 429.2 388.7' stroke-width='1.08' opacity='.17'/%3E%3Cpath d='M127.3 114.9C146.8 139.7 178.6 152.1 194.5 181.8' stroke-width='1.23' opacity='.14'/%3E%3Cpath d='M468.3 37.1C443.7 36.9 436.4 70.6 409.4 67.3' stroke-width='1.13' opacity='.17'/%3E%3Cpath d='M100.9 36.9C139.1 65.8 172.1 100.8 210.4 131.8' stroke-width='.96' opacity='.17'/%3E%3Cpath d='M80.4 378.6C73.5 404.4 100.8 419.1 101.6 443.1' stroke-width='.66' opacity='.1'/%3E%3Cpath d='M256.7 204.7C307.3 218 341.1 254.4 376.1 291.5' stroke-width='1.34' opacity='.11'/%3E%3Cpath d='M333.9 253.4C346.1 273.8 329.8 291.8 329.1 311.7' stroke-width='.69' opacity='.13'/%3E%3Cpath d='M146.5 320C147.8 334 152 348.5 140.8 361.3' stroke-width='.9' opacity='.17'/%3E%3Cpath d='M460.3 206.9C423.3 205.1 405.7 250.1 366.5 245.8' stroke-width='1.08' opacity='.18'/%3E%3Cpath d='M345.9 10.5C338.1 17.1 327.9 21.4 325.2 33.1' stroke-width='1.03' opacity='.16'/%3E%3Cpath d='M360.4 419.7C390.2 462.1 442.6 490.2 444.6 552.1' stroke-width='.61' opacity='.09'/%3E%3Cpath d='M362.9 237.2C331.3 228.9 300 224.9 269.2 243.2' stroke-width='1.26' opacity='.13'/%3E%3Cpath d='M115.3 323.2C151.4 343.3 144.2 389.9 172.3 416.1' stroke-width='.83' opacity='.08'/%3E%3Cpath d='M301 211.2C279.1 213.2 265.9 228.5 251.7 243.3' stroke-width='.98' opacity='.15'/%3E%3Cpath d='M421 166.4C408.2 176.6 394.3 162 380.9 168.1' stroke-width='.72' opacity='.16'/%3E%3Cpath d='M58.4 57.5C45.4 64.8 28.1 66.3 22.1 84' stroke-width='1.03' opacity='.08'/%3E%3Cpath d='M317 283.6C298.4 282.5 279.8 280 260.8 284.2' stroke-width='.92' opacity='.18'/%3E%3Cpath d='M181.6 478.3C165.1 478.6 157.2 491.2 147.5 502.1' stroke-width='.82' opacity='.1'/%3E%3Cpath d='M438.4 165.4C480.1 164.2 521.2 168.5 562.8 179.1' stroke-width='.76' opacity='.07'/%3E%3Cpath d='M340.5 363.2C360.8 394.3 390.4 419.1 403.2 456.6' stroke-width='.85' opacity='.12'/%3E%3Cpath d='M129.2 422.8C119.5 431.5 119.4 447.6 105.7 453.7' stroke-width='.65' opacity='.18'/%3E%3Cpath d='M343.6 198.6C346.7 209.2 352.4 217.5 363.5 221.7' stroke-width='1.29' opacity='.1'/%3E%3Cpath d='M188 168.4C226.8 210 271.8 220.7 325.4 195.8' stroke-width='.97' opacity='.1'/%3E%3Cpath d='M433.4 310.2C425 324.9 405.1 325.4 396.1 340.2' stroke-width='.98' opacity='.12'/%3E%3Cpath d='M18.7 276.6C11.1 321 4.6 365.3 22.3 410.3' stroke-width='.99' opacity='.13'/%3E%3Cpath d='M456.4 261.3C479.1 261.8 481.2 293.1 504.6 293.6' stroke-width='.8' opacity='.14'/%3E%3Cpath d='M417.3 130.8C460.8 138.7 499.1 172.3 548.7 157.8' stroke-width='1.16' opacity='.08'/%3E%3Cpath d='M442.2 21C406.5 15.9 372.6 21 339.5 37.9' stroke-width='1.29' opacity='.17'/%3E%3Cpath d='M121.4 315.3C123.8 327 130.6 338.3 123.3 350.8' stroke-width='1.02' opacity='.09'/%3E%3Cpath d='M41.9 233.2C6.6 243.7 -32.5 236.8 -66.8 256.9' stroke-width='1.24' opacity='.12'/%3E%3Cpath d='M165.6 325.8C139.7 325.5 113.6 324.4 90.7 341.6' stroke-width='1.01' opacity='.09'/%3E%3Cpath d='M324.1 204C343 207.7 361.3 219.6 382 208.6' stroke-width='.88' opacity='.1'/%3E%3Cpath d='M344.8 263.7C319.9 273.1 311.8 293.9 308.1 318.3' stroke-width='1.38' opacity='.17'/%3E%3Cpath d='M285.5 394.5C326.2 411.5 368.9 425.8 386.9 473.9' stroke-width='.66' opacity='.13'/%3E%3Cpath d='M188.2 264.3C130 293.1 70.2 266.8 9.5 269.5' stroke-width='.94' opacity='.15'/%3E%3Cpath d='M273.5 145.4C288.9 160.4 306.1 173.7 319 192.1' stroke-width='1.06' opacity='.12'/%3E%3Cpath d='M372.2 351.6C348.9 397.7 387.3 456.9 340.8 499.7' stroke-width='1.39' opacity='.17'/%3E%3Cpath d='M178.4 328.3C197.4 341.8 222 349.2 230 375.7' stroke-width='.91' opacity='.1'/%3E%3Cpath d='M461.7 246.3C425.7 254.1 401.4 277.3 381.2 307.6' stroke-width='1.37' opacity='.12'/%3E%3Cpath d='M279.7 446.7C290.1 471.8 267.2 490 265.9 513.3' stroke-width='1.03' opacity='.08'/%3E%3C/g%3E%3Cg stroke='%23fffaf0'%3E%3Cpath d='M477.5 262.3C477.3 281.4 469.2 298.2 462 315.9' stroke-width='1.47' opacity='.48'/%3E%3Cpath d='M103.2 297.8C81.2 317.1 61.1 338.6 35.6 355.1' stroke-width='1.26' opacity='.57'/%3E%3Cpath d='M105.5 190.8C100.3 209.5 74 210.9 71.2 232.4' stroke-width='1.7' opacity='.49'/%3E%3Cpath d='M150 136.4C193.9 171.5 231.7 212.3 265.4 259.2' stroke-width='1.7' opacity='.54'/%3E%3Cpath d='M200.5 465.6C156 523.2 81.2 472.9 30.1 513.4' stroke-width='1.28' opacity='.33'/%3E%3Cpath d='M449.1 139.7C446.5 155.9 453.2 172.4 447.1 188.9' stroke-width='2.17' opacity='.5'/%3E%3Cpath d='M343.7 414.9C306.4 409.9 274.9 421.6 247.6 448.5' stroke-width='1.83' opacity='.49'/%3E%3Cpath d='M171.4 365.3C193.5 384.5 222.8 387.4 248.9 399.6' stroke-width='1.64' opacity='.36'/%3E%3Cpath d='M130.9 167.1C120.1 179.9 111.1 193.4 115.7 211.9' stroke-width='1.77' opacity='.39'/%3E%3Cpath d='M458.8 266.1C401.3 261.9 347.4 301.3 286.8 280.3' stroke-width='1.9' opacity='.47'/%3E%3Cpath d='M211.3 155.8C267.3 150.3 301.5 186.1 337.3 222' stroke-width='1.92' opacity='.54'/%3E%3Cpath d='M93.9 215.1C67.4 216.5 65.4 248.5 43 256.1' stroke-width='1.94' opacity='.39'/%3E%3Cpath d='M339 425.9C396.3 426.2 395.7 507.9 454.7 508.4' stroke-width='1.56' opacity='.47'/%3E%3Cpath d='M145.3 169.1C88.8 166.1 52.6 222.5 -5.3 220.7' stroke-width='1.46' opacity='.47'/%3E%3Cpath d='M479.2 235.5C492.9 262.5 490.5 296.4 515.2 319.7' stroke-width='1.61' opacity='.54'/%3E%3Cpath d='M161.9 12.6C182 62.1 166.9 111.3 161 162.1' stroke-width='1.52' opacity='.51'/%3E%3Cpath d='M96.3 320.6C99.5 380.5 34.6 411.5 32.2 470.8' stroke-width='1.45' opacity='.55'/%3E%3Cpath d='M255.5 230.9C288.5 265.6 326.2 297.7 324.6 353.5' stroke-width='1.14' opacity='.45'/%3E%3Cpath d='M100.3 293.1C170.2 317.1 228 360.1 284.1 409.9' stroke-width='1.89' opacity='.43'/%3E%3Cpath d='M385.4 65.9C372.3 84.5 344 91.2 342.6 120' stroke-width='1.64' opacity='.47'/%3E%3Cpath d='M64.7 124.3C80.6 153.7 90.5 184.4 84.1 219.4' stroke-width='2.18' opacity='.57'/%3E%3Cpath d='M44.2 190.8C11.9 202.5 -15.7 229.8 -55.3 221.7' stroke-width='1.47' opacity='.46'/%3E%3Cpath d='M136.7 88C85.1 97.5 30.2 96.8 -13.6 136.1' stroke-width='2.14' opacity='.32'/%3E%3Cpath d='M102.9 284C111 317.6 67.5 332.4 73.2 366.1' stroke-width='1.28' opacity='.33'/%3E%3Cpath d='M150.4 473.1C157.6 527.2 129.9 566.6 95.5 604.7' stroke-width='1.35' opacity='.52'/%3E%3Cpath d='M89.5 318.8C112.7 360 108.7 405.4 110.3 451.3' stroke-width='1.5' opacity='.34'/%3E%3Cpath d='M170.9 312.6C198.5 316.6 217.2 335.4 238.1 352.3' stroke-width='1.75' opacity='.6'/%3E%3Cpath d='M373.6 74.1C360 85.6 345.4 96.3 343.5 116.7' stroke-width='1.19' opacity='.51'/%3E%3Cpath d='M309 324.8C295.9 337.6 290.6 358 270.1 364.2' stroke-width='2.13' opacity='.5'/%3E%3Cpath d='M123.8 118.7C191.5 84.6 257.2 111.4 325.5 124.9' stroke-width='1.68' opacity='.55'/%3E%3Cpath d='M113.2 189C121 205.7 116.4 222.6 114.1 240' stroke-width='1.87' opacity='.55'/%3E%3Cpath d='M92.6 50.2C37.8 51.5 27.6 113.8 -17.6 130.6' stroke-width='2.02' opacity='.39'/%3E%3Cpath d='M158.5 437.5C166.2 452.6 164.2 470.6 172.8 486' stroke-width='1.8' opacity='.59'/%3E%3Cpath d='M346.9 123.1C322.8 146.5 283.5 151.9 269.2 188.5' stroke-width='1.58' opacity='.47'/%3E%3Cpath d='M76.1 393.3C52.4 392 29.5 406.2 4.7 396.9' stroke-width='1.22' opacity='.35'/%3E%3Cpath d='M373.5 216.8C380.2 250.2 400.9 270.1 433.9 279.3' stroke-width='1.37' opacity='.59'/%3E%3Cpath d='M300.1 85.9C307.8 102.3 325.8 103.8 339.2 112.7' stroke-width='1.49' opacity='.41'/%3E%3Cpath d='M23.1 122.6C29.9 159.1 67.9 164.5 88.6 188.5' stroke-width='1.17' opacity='.4'/%3E%3Cpath d='M343.1 338.6C303.8 349.9 287.2 380.8 275.5 417.3' stroke-width='1.24' opacity='.49'/%3E%3Cpath d='M343 121.6C377.1 127.9 401.2 148.9 422.3 175.9' stroke-width='1.76' opacity='.33'/%3E%3Cpath d='M436.9 407.5C402.9 389.6 374.4 433.4 339.5 416.1' stroke-width='1.24' opacity='.32'/%3E%3Cpath d='M27.9 126.2C42 170.2 53.8 214.2 18.8 256.1' stroke-width='1.96' opacity='.4'/%3E%3Cpath d='M315.6 65C356.5 130.5 422.7 137.6 492.2 141.7' stroke-width='1.28' opacity='.31'/%3E%3Cpath d='M356.6 8.8C423.1 48.9 494.2 60.3 572 43.9' stroke-width='1.84' opacity='.44'/%3E%3Cpath d='M106 208.7C97.3 221.7 81.1 218.1 69.4 225.5' stroke-width='1.53' opacity='.52'/%3E%3Cpath d='M207.8 416.9C184.8 439.2 175.4 470.1 157 496.3' stroke-width='1.41' opacity='.35'/%3E%3Cpath d='M189.8 359C219.6 372.9 254.9 355.2 284.5 375.7' stroke-width='2.06' opacity='.31'/%3E%3Cpath d='M350.1 411.2C277.7 459.4 330.4 557.5 269.7 612.7' stroke-width='2.08' opacity='.37'/%3E%3Cpath d='M263.1 403.9C258.5 418 238.9 417.3 234.8 432.5' stroke-width='1.19' opacity='.39'/%3E%3Cpath d='M471.8 400.3C492 409.2 510.9 422.1 535 422.1' stroke-width='1.13' opacity='.37'/%3E%3Cpath d='M406.1 129.8C390.4 134.7 381.1 150.7 363.8 153.9' stroke-width='1.13' opacity='.51'/%3E%3Cpath d='M283.7 25.3C281.7 77.8 321.6 115.2 334.1 164.1' stroke-width='1.87' opacity='.48'/%3E%3Cpath d='M310.7 404.1C292.6 428.9 273.4 453.1 263.8 484' stroke-width='1.68' opacity='.34'/%3E%3Cpath d='M191.3 46.7C233.3 60.9 253.2 108 298.8 119.1' stroke-width='1.14' opacity='.45'/%3E%3Cpath d='M290.8 439.8C282.5 453.9 277 468.4 286.8 484.6' stroke-width='1.14' opacity='.51'/%3E%3Cpath d='M465.2 27.7C440.6 48.9 419.3 71.8 423.6 108.8' stroke-width='2.11' opacity='.57'/%3E%3Cpath d='M13.4 3.1C48.9 77.7 141 46.2 191 97.8' stroke-width='1.16' opacity='.37'/%3E%3Cpath d='M254.1 214.4C262.8 229.5 262.8 246.9 266.6 263.8' stroke-width='1.72' opacity='.53'/%3E%3Cpath d='M327.9 195.4C317.2 229.5 282.9 232.8 257.6 249.2' stroke-width='1.5' opacity='.4'/%3E%3Cpath d='M320.1 356.7C250.6 338.6 181.1 325.1 110.1 359.4' stroke-width='1.93' opacity='.44'/%3E%3Cpath d='M162.4 126.9C163.2 188.8 240.1 199.6 250 257.2' stroke-width='1.94' opacity='.43'/%3E%3Cpath d='M14.5 374.5C35.7 427.5 112.6 424.6 126.9 486.7' stroke-width='2.06' opacity='.33'/%3E%3Cpath d='M421.6 404.7C412.5 441 387.4 460.2 351.9 469.7' stroke-width='1.18' opacity='.4'/%3E%3Cpath d='M366.5 362.1C426.8 393 496.1 379.1 560.2 401.1' stroke-width='2.07' opacity='.41'/%3E%3Cpath d='M46.7 238.8C60.2 258 81.7 253.1 100.9 256.7' stroke-width='1.77' opacity='.6'/%3E%3Cpath d='M113.2 353.8C112.7 367.1 109 380.8 117.1 393.7' stroke-width='1.01' opacity='.52'/%3E%3Cpath d='M71.8 361.2C100.1 413.8 98.9 481.2 153 522.9' stroke-width='2.08' opacity='.39'/%3E%3Cpath d='M411.8 446.1C430.6 456.3 452.5 436 471.3 452.1' stroke-width='1.86' opacity='.48'/%3E%3Cpath d='M218.2 156C221.6 191.4 265.2 190.5 276.3 220.2' stroke-width='1.57' opacity='.37'/%3E%3Cpath d='M209.9 280.7C205.3 310.4 225.1 331.4 236.9 356.1' stroke-width='2.03' opacity='.39'/%3E%3C/g%3E%3C/g%3E%3C/defs%3E%3Crect width='480' height='480' filter='url(%23c0)'/%3E%3Crect width='480' height='480' filter='url(%23c1)'/%3E%3Cuse href='%23F' x='-480' y='-480'/%3E%3Cuse href='%23F' x='-480' y='0'/%3E%3Cuse href='%23F' x='-480' y='480'/%3E%3Cuse href='%23F' x='0' y='-480'/%3E%3Cuse href='%23F' x='0' y='0'/%3E%3Cuse href='%23F' x='0' y='480'/%3E%3Cuse href='%23F' x='480' y='-480'/%3E%3Cuse href='%23F' x='480' y='0'/%3E%3Cuse href='%23F' x='480' y='480'/%3E%3C/svg%3E");
}

/* ============ 販売サイトの土台 ============ */
.site { container: site / inline-size; display: flex; flex-direction: column; min-height: 100vh; }
.s-main { flex: 1; display: block; }
.s-main:focus { outline: none; }
.site-root :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
/* スクリプトで移すだけのフォーカス先（main・見出し・節）には枠を出さない */
.site-root [tabindex="-1"]:focus-visible { outline: none; }
.site-root a { color: var(--link); }
.s-container { width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }
.s-narrow { max-width: calc(var(--text-max) + 200px + var(--gutter) * 2); }
.s-section { position: relative; padding: calc(var(--section) / 2) 0; }
.s-section--tight { padding: 48px 0 calc(var(--section) / 2); }
.s-section--band { background-color: var(--bg-alt); }
.s-section:focus { outline: none; }
.s-block-section { position: relative; }

.s-display { margin: 0 0 20px; font-family: var(--font-display); font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: var(--ls-display); font-weight: var(--fw-display); text-transform: var(--tt-display); }
.s-h1 { margin: 0 0 12px; font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1.2; font-weight: var(--fw-h2); letter-spacing: var(--ls-h2); text-transform: var(--tt-h2); }
.s-h2, .s-head h2 { margin: 0 0 12px; font-family: var(--font-display); font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight: var(--fw-h2); letter-spacing: var(--ls-h2); text-transform: var(--tt-h2); }
.s-h3 { margin: 28px 0 8px; font-family: var(--font-heading-md); font-size: var(--fs-h3); line-height: 1.35; font-weight: var(--fw-h3); letter-spacing: 0; text-transform: none; }
.s-eyebrow { margin: 0 0 12px; font-family: var(--font-label); font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: var(--tt-label); font-variant: var(--fv-label); font-weight: var(--fw-label); color: var(--eyebrow); }
.s-lead { max-width: var(--text-max); margin: 0 0 24px; font-size: calc(var(--fs-body) * 1.06); color: var(--text-soft); }
.s-text { max-width: var(--text-max); }
.s-small { font-size: var(--fs-small); }
.s-soft { color: var(--text-soft); }
.s-block { display: block; }
.s-kanji { font-family: var(--font-kanji); font-size: 1.15em; }
.s-num { font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.s-list { padding-left: 1.2em; }
.s-list li { margin: 6px 0; }
.s-gap { margin-top: 32px; }
.s-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.s-sr-input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.s-link { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
/* 段落にリンクだけを置くとき（文中ではない）は、押し場所を 44px にする */
.s-link--block { display: inline-flex; align-items: center; min-height: 44px; }
.s-link-btn { padding: 0; border: 0; background: none; color: var(--link); font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.s-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 20px 0 0; }

.s-head { display: flex; align-items: flex-start; gap: 24px; margin-bottom: 32px; }
.s-head__text { min-width: 0; }
.s-vlabel { display: none; }

/* ボタン */
.s-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 28px;
  border: 1px solid transparent; border-radius: var(--radius); background: none; color: inherit; cursor: pointer; text-decoration: none; text-align: center;
  font-family: var(--font-label); font-size: var(--fs-button); letter-spacing: var(--ls-button); text-transform: var(--tt-button); font-variant: var(--fv-button); font-weight: 600; line-height: 1.25;
}
.site-root .s-btn--primary { background: var(--primary); border-color: var(--primary); color: var(--primary-fg); }
.site-root .s-btn--primary:hover { filter: brightness(1.12); }
.site-root .s-btn--secondary { background: transparent; border-color: var(--secondary); color: var(--secondary); }
.site-root .s-btn--secondary:hover { background: color-mix(in srgb, var(--secondary) 8%, transparent); }
.site-root .s-btn--link { min-height: 44px; padding: 0 4px; border: 0; color: var(--link); font-family: var(--font-body); font-size: var(--fs-small); font-weight: 400; letter-spacing: 0; text-transform: none; font-variant: normal; text-decoration: underline; text-underline-offset: 3px; }
.s-btn--sm { min-height: 44px; padding: 0 16px; }
.s-btn--block { width: 100%; }

/* 札・帯 */
.s-pill { display: inline-flex; align-items: center; gap: 8px; padding: 3px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: var(--fs-small); line-height: 1.4; color: var(--text); }
.s-pill__dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--accent); }
.s-pill--info { color: var(--info); border-color: currentColor; }
.s-pill--success { color: var(--success); border-color: currentColor; font-weight: 600; }
.s-pill--muted { color: var(--text-soft); }
.s-pill--turn { color: var(--warning); border-color: currentColor; font-weight: 600; }
.s-notice { display: grid; gap: 12px; margin: 16px 0; padding: 16px 18px; background-color: var(--bg-alt); border-left: 3px solid var(--text-soft); }
.s-notice p { margin: 0; }
.s-notice--info { border-left-color: var(--info); }
.s-notice--danger { border-left-color: var(--danger); }
.s-inapp { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 12px var(--gutter); background-color: var(--bg-alt); border-bottom: 1px solid var(--line); font-size: var(--fs-small); }
.s-inapp p { margin: 0; max-width: 760px; }
.s-inapp__actions { display: flex; gap: 8px; }

/* 入力 */
.s-field { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.s-label { font-size: var(--fs-small); font-weight: 600; color: var(--text); padding: 0; }
.s-hint { margin: 0; font-size: 14px; color: var(--text-soft); }
.s-error { display: flex; align-items: baseline; gap: 6px; margin: 4px 0 0; font-size: 14px; font-weight: 600; color: var(--danger); }
.s-error > span[aria-hidden] { display: inline-grid; place-items: center; width: 18px; height: 18px; flex: none; border-radius: 50%; background: var(--danger); color: #fff; font-size: 12px; line-height: 1; }
.s-input {
  width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--input-border); border-radius: var(--radius);
  background: var(--surface-solid); color: var(--text); font: 16px/1.5 var(--font-body);
}
.s-textarea { min-height: 120px; resize: vertical; line-height: 1.6; }
.has-error .s-input, .s-input[aria-invalid="true"] { border: 2px solid var(--danger); }
.s-combo { position: relative; }
.s-combo__list {
  position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; right: 0; max-height: 300px; overflow-y: auto; margin: 0; padding: 4px; list-style: none;
  background: var(--surface-solid); border: 1px solid var(--input-border); border-radius: var(--radius); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16); color: var(--text);
}
.s-combo__opt { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 12px; border-radius: var(--radius); cursor: pointer; }
.s-combo__opt.is-active, .s-combo__opt:hover { background: var(--bg-alt); }
.s-combo__lead { min-width: 2.4em; font-family: var(--font-kanji); font-size: 22px; line-height: 1.2; }
.s-combo__sub { color: var(--text-soft); }
.s-combo__empty { padding: 12px; color: var(--text-soft); }
.s-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.s-chip { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--input-border); border-radius: 999px; background: var(--surface-solid); cursor: pointer; font-size: var(--fs-small); }
.s-chip.is-on { background: var(--text); border-color: var(--text); color: var(--surface-solid); }
.s-chip:has(input:focus-visible), .o-card:has(input:focus-visible), .o-radio:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
.s-switch { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 4px; border: 0; background: none; color: var(--text); font: inherit; cursor: pointer; flex: none; }
.s-switch__track { position: relative; width: 48px; height: 28px; border-radius: 999px; background: var(--input-border); transition: background 0.15s; }
.s-switch__thumb { position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform 0.15s; }
.s-switch.is-on .s-switch__track { background: var(--switch-on); }
.s-switch.is-on .s-switch__thumb { transform: translateX(20px); }
.s-switch__text { min-width: 2em; font-size: var(--fs-small); font-weight: 600; }

/* 表・よくある質問・骨組み・動画 */
.s-table { width: 100%; border-collapse: collapse; }
.s-table th, .s-table td { padding: 14px 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; font-weight: 400; }
.s-table thead th { font-size: var(--fs-small); color: var(--text-soft); }
.s-table tbody th { font-family: var(--font-display); font-size: calc(var(--fs-body) * 1.1); }
.s-table .s-num { text-align: right; }
.s-faq { border-top: 1px solid var(--line); }
.s-faq__item { border-bottom: 1px solid var(--line); }
.s-faq__item summary { position: relative; display: flex; align-items: center; min-height: 56px; padding: 12px 40px 12px 0; cursor: pointer; list-style: none; font-weight: 500; }
.s-faq__item summary::-webkit-details-marker { display: none; }
.s-faq__item summary::after { content: "+"; position: absolute; right: 8px; font-size: 22px; line-height: 1; color: var(--text-soft); }
.s-faq__item[open] summary::after { content: "−"; }
.s-faq__item p { margin: 0 0 18px; color: var(--text-soft); max-width: var(--text-max); }
.s-skeleton { display: grid; gap: 14px; padding: 24px 0; }
.s-skeleton__row { display: block; height: 18px; border-radius: 2px; background: linear-gradient(90deg, var(--bg-alt), var(--line), var(--bg-alt)); background-size: 200% 100%; animation: s-shimmer 1.4s ease-in-out infinite; }
@keyframes s-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .s-skeleton__row { animation: none; } }
.s-video {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; max-width: 640px; aspect-ratio: 16 / 9; margin: 24px 0 0;
  border: 0; border-radius: var(--radius-card); background: radial-gradient(ellipse at 50% 40%, #3a342d, #151311 72%); color: #ECE6DA; font: inherit; cursor: pointer;
}
.s-video__play { position: relative; width: 64px; height: 64px; border: 1px solid rgba(236, 230, 218, 0.75); border-radius: 50%; }
.s-video__play::after { content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent #ECE6DA; }
.s-video__caption { font-size: var(--fs-small); }

.seal { display: inline-grid; place-items: center; width: 26px; height: 26px; flex: none; border-radius: 2px; background: var(--accent); color: var(--accent-fg); font-family: var(--font-kanji); font-size: 15px; font-weight: 700; line-height: 1; }
.seal--brand { width: 24px; height: 24px; font-size: 14px; }
.seal--large { width: 88px; height: 88px; font-size: 52px; }
.seal--small { width: 40px; height: 40px; font-size: 22px; }

/* 上部・下部 */
.s-header { border-bottom: 1px solid var(--line); }
.s-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 72px; }
.s-brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; color: var(--text); font-family: var(--font-display); font-size: 22px; letter-spacing: 0.24em; text-decoration: none; }
.site-root .s-brand { color: var(--text); }
.s-nav { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.site-root .s-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; color: var(--text); text-decoration: none; font-family: var(--font-label); font-size: var(--fs-small); letter-spacing: 0.06em; }
.site-root .s-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.s-footer { margin-top: auto; padding: 56px 0 40px; background-color: var(--bg-alt); border-top: 1px solid var(--line); }
.s-footer__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 24px 48px; }
.s-footer__links { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 0; padding: 0; list-style: none; }
.site-root .s-footer__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--text); font-size: var(--fs-small); }
.s-footer__inner > .s-small { grid-column: 1 / -1; margin: 0; }

/* ============ 重なり（確かめるダイアログ・拡大・シート） ============ */
.s-scrim { position: fixed; inset: 0; z-index: 60; background: rgba(20, 18, 16, 0.45); }
.site-root[data-pattern="sumi"] .s-scrim { background: rgba(10, 9, 8, 0.7); }
.s-scrim--dark { background: rgba(12, 11, 10, 0.86); }
.s-dialog {
  position: fixed; z-index: 61; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(500px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto;
  padding: 28px; border-radius: var(--radius-card); background-color: var(--dialog-bg); color: var(--text); box-shadow: var(--shadow-dialog); font-size: var(--fs-body);
}
.s-dialog__title { margin: 0 0 12px; font-family: var(--font-display); font-size: calc(var(--fs-h3) + 2px); font-weight: var(--fw-h3); line-height: 1.3; letter-spacing: var(--ls-h2); text-transform: var(--tt-h2); }
.s-dialog__body p { margin: 0 0 12px; }
.s-dialog__art { width: 120px; margin: 0 auto 12px; }
.s-dialog__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-top: 20px; }
.s-lightbox { position: fixed; z-index: 61; inset: 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; pointer-events: none; }
.s-lightbox > * { pointer-events: auto; }
.s-lightbox__art { height: min(70vh, 860px); aspect-ratio: 3 / 4; max-width: calc(100vw - 32px); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); }
.s-lightbox__art .art { width: 100%; height: 100%; }
.s-lightbox__caption { margin: 0; color: #ECE6DA; font-size: 16px; text-align: center; }
.s-lightbox__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; color: #ECE6DA; }
.s-lightbox__actions .s-btn--secondary { border-color: #ECE6DA; color: #ECE6DA; }
.s-lightbox__actions .s-btn--primary { background: #ECE6DA; border-color: #ECE6DA; color: #141312; }
.s-sheet { position: fixed; z-index: 61; top: 0; right: 0; bottom: 0; width: min(580px, 100vw); overflow-y: auto; padding: 24px 28px 40px; background-color: var(--dialog-bg); color: var(--text); box-shadow: var(--shadow-dialog); }
.s-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.s-sheet__head h2 { margin: 0; font-family: var(--font-display); font-size: var(--fs-h3); font-weight: var(--fw-h3); }
@media (max-width: 600px) {
  .s-dialog__actions { flex-direction: column-reverse; }
  .s-dialog__actions .s-btn { width: 100%; }
  .s-sheet { top: auto; left: 0; width: 100%; max-height: 86dvh; border-radius: 14px 14px 0 0; }
}

/* ============ 作品の見本・額装・掛軸 ============ */
.art { display: block; width: 100%; height: auto; background: #F3EDE1; }
.art--wall { box-shadow: var(--shadow-art); }
.stroke { display: block; width: 100%; height: 100%; }
.framed { display: block; width: 100%; max-width: 132px; margin: 4px auto 10px; }
.framed .art { width: 100%; }
.framed--none { box-shadow: 0 6px 14px rgba(0, 0, 0, 0.14); }
.framed--wood { padding: 9px; background: linear-gradient(135deg, #dcc5a0, #c6a574 48%, #b08a5a); box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18); }
.framed--wood .framed__mat { padding: 7px; background: #F6F1E6; }
.framed--lacquer { padding: 9px; background: linear-gradient(135deg, #2a2624, #0d0c0b 55%, #1c1917); box-shadow: 0 8px 18px rgba(0, 0, 0, 0.3); }
.framed--lacquer .framed__mat { padding: 7px; background: #F6F1E6; box-shadow: 0 0 0 1.5px #b8964f; }
.scroll { position: relative; width: min(100%, 330px); margin: 0 auto; filter: drop-shadow(0 16px 22px rgba(43, 38, 34, 0.22)); }
.scroll__cord { display: block; width: 46%; height: 26px; margin: 0 auto -1px; border: 2px solid #6E5436; border-bottom: 0; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.scroll__rod { display: block; height: 12px; margin: 0 -12px; border-radius: 6px; background: linear-gradient(#8f7047, #6E5436 45%, #4a3822); }
.scroll__rod--bottom { height: 18px; border-radius: 9px; margin: 0 -18px; }
.scroll__mount { padding: 26px 20px 40px; background: #3B4F63 linear-gradient(90deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.06)); }
.scroll__mount .art { box-shadow: 0 0 0 6px #d9c9a3; }

/* ============ 販売ページ ============ */
.h-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); align-items: center; gap: 64px; padding-top: 88px; padding-bottom: 72px; }
.h-hero__art { margin: 0; }
.h-hero__art .art--wall { width: min(100%, 420px); margin-left: auto; }
.h-hero__caption { display: flex; align-items: flex-start; justify-content: flex-end; gap: 12px; margin-top: 16px; color: var(--text-soft); font-size: var(--fs-small); }
.h-hero__kanji { writing-mode: vertical-rl; font-family: var(--font-kanji); font-size: 22px; line-height: 1; color: var(--text); }
.h-price { display: grid; gap: 2px; margin: 0 0 8px; }
.h-price__from { font-family: var(--font-display); font-size: calc(var(--fs-h3) + 4px); }
.h-price__note { font-size: var(--fs-small); color: var(--text-soft); }
.h-cap { margin: 20px 0 0; }
.h-cap--error { display: grid; justify-items: start; gap: 8px; }
.h-cap--error p { margin: 0; color: var(--text-soft); font-size: var(--fs-small); }
.h-cap__skeleton { display: inline-block; width: 16em; height: 1.2em; vertical-align: middle; }
.h-works { display: grid; gap: var(--gap); margin: 0; padding: 0; list-style: none; }
.h-work { min-width: 0; }
.h-work__art { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.h-work__meta p { margin: 0; }
.h-work__word { font-family: var(--font-display); font-size: var(--fs-h3); }
.h-work__meaning { color: var(--text-soft); }
.h-works__note { margin-top: 24px; }
.h-steps { display: grid; gap: 28px; margin: 0; padding: 0; list-style: none; }
.h-step { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: start; }
.h-step p { margin: 0; color: var(--text-soft); }
.h-step__num { font-family: var(--font-kanji); font-size: 28px; line-height: 1.2; color: var(--text); }
.h-step__title { margin: 0 0 4px; font-family: var(--font-heading-md); font-size: var(--fs-h3); font-weight: var(--fw-h3); }
.h-handmade { margin-top: 48px; }
.h-handmade p { max-width: var(--text-max); }
.h-prices { max-width: 760px; }
.h-extras { display: grid; margin: 16px 0; padding: 0; list-style: none; }
.h-extras li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.h-artist { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; }
.h-artist__photo { display: grid; place-items: center; align-content: center; gap: 12px; aspect-ratio: 4 / 5; background-color: var(--bg-alt); border: 1px solid var(--line); color: var(--text-soft); }
.h-biz { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }
.h-biz .s-head { margin-bottom: 0; }

/* 案A: 余白で区切り、どうしても区切るときは中央に墨の点 */
[data-pattern="yohaku"] .s-section--band { background-color: transparent; }
[data-pattern="yohaku"] .s-main > .s-section + .s-section::before { content: ""; position: absolute; top: -3px; left: 50%; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: var(--text); }
[data-pattern="yohaku"] .h-works { gap: 120px; }
[data-pattern="yohaku"] .h-work { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
[data-pattern="yohaku"] .h-work__art { width: min(100%, 380px); justify-self: center; box-shadow: var(--shadow-art); }
[data-pattern="yohaku"] .h-work:nth-child(even) .h-work__art { order: 2; }
[data-pattern="yohaku"] .h-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px; }
[data-pattern="yohaku"] .h-step { grid-template-columns: 1fr; gap: 10px; padding-top: 16px; border-top: 1px solid var(--text); }
[data-pattern="yohaku"] .seal { border-radius: 2px; }

/* 案B: 最初の画面は全面・筆の一画・金の細い線 */
[data-pattern="sumi"] .s-header { border-bottom-color: var(--line); }
[data-pattern="sumi"] .s-brand { letter-spacing: 0.3em; }
[data-pattern="sumi"] .s-section--band { background-color: var(--bg-alt); }
[data-pattern="sumi"] .h-hero {
  position: relative; display: grid; place-items: center; min-height: min(86vh, 760px); overflow: hidden; text-align: center;
  background: radial-gradient(ellipse 62% 56% at 50% 50%, #3d372f 0%, #26221e 44%, #141312 78%);
}
[data-pattern="sumi"] .h-hero__stroke { position: absolute; top: 34%; left: -3%; right: -3%; height: 40%; transform: translateY(-50%); pointer-events: none; }
[data-pattern="sumi"] .h-hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; padding: 96px var(--gutter); }
[data-pattern="sumi"] .h-hero .s-display { text-shadow: 0 2px 18px rgba(0, 0, 0, 0.6); }
[data-pattern="sumi"] .h-hero .s-lead { text-shadow: 0 1px 10px rgba(0, 0, 0, 0.8); color: #D6CFC2; }
[data-pattern="sumi"] .h-hero .s-actions { justify-content: center; }
[data-pattern="sumi"] .h-facts { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 32px; margin: 8px 0 28px; padding: 14px 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(20, 19, 18, 0.55); }
[data-pattern="sumi"] .h-facts .h-price, [data-pattern="sumi"] .h-facts .h-cap { margin: 0; }
[data-pattern="sumi"] .s-pill { border-radius: 0; border-color: var(--secondary); color: var(--secondary); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; }
[data-pattern="sumi"] .s-pill__dot { background: var(--accent-text); }
[data-pattern="sumi"] :is(.paper, .op-prop, .s-dialog) .s-pill { border-color: var(--text); color: var(--text); }
[data-pattern="sumi"] :is(.paper, .op-prop) .s-pill__dot { background: var(--accent); }
[data-pattern="sumi"] .h-works { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 48px; }
[data-pattern="sumi"] .h-work { padding: 28px; box-shadow: var(--shadow-card); }
[data-pattern="sumi"] .h-work:nth-child(even) { transform: translateY(96px); }
[data-pattern="sumi"] .h-works + .h-works__note { margin-top: 120px; }
[data-pattern="sumi"] .h-work__meta { padding-top: 16px; }
[data-pattern="sumi"] .h-step__num { font-size: 48px; color: var(--secondary); }
[data-pattern="sumi"] .h-step { grid-template-columns: 88px minmax(0, 1fr); padding: 20px 0; border-bottom: 1px solid var(--line); }
[data-pattern="sumi"] .seal { border-radius: 0; }
[data-pattern="sumi"] .s-notice { border-left: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background-color: var(--bg-alt); }
[data-pattern="sumi"] .paper .s-notice, [data-pattern="sumi"] .s-dialog .s-notice { background-color: #E3DCCD; }
[data-pattern="sumi"] .s-inapp { border-top: 1px solid var(--line); }
[data-pattern="sumi"] .s-footer { background-color: #0f0e0d; }
[data-pattern="sumi"] .s-table tbody th, [data-pattern="sumi"] .h-work__word, [data-pattern="sumi"] .h-price__from { letter-spacing: 0.08em; }
[data-pattern="sumi"] .paper { padding: 32px; box-shadow: var(--shadow-card); }

/* 案C: 楮紙・掛軸・朱の印・縦書きの小見出し */
[data-pattern="kozo"] .s-header { border-bottom: 0; background-color: var(--bg); }
[data-pattern="kozo"] .h-hero { background-color: var(--bg-alt); padding-bottom: 16px; }
[data-pattern="kozo"] .h-hero__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
[data-pattern="kozo"] .h-hero__caption { justify-content: center; }
[data-pattern="kozo"] .s-vlabel { display: block; flex: none; writing-mode: vertical-rl; margin-top: 4px; font-family: var(--font-kanji); font-size: 18px; letter-spacing: 0.32em; line-height: 1; color: var(--primary); }
[data-pattern="kozo"] .s-pill { border: 0; background: var(--secondary); color: var(--secondary-fg); }
[data-pattern="kozo"] .s-pill--turn, [data-pattern="kozo"] .s-pill--accent { background: var(--primary); color: var(--primary-fg); }
[data-pattern="kozo"] .s-pill--success { background: var(--success); color: #F8F3E8; }
[data-pattern="kozo"] .s-pill--muted { background: #D9CEB8; color: var(--text); }
[data-pattern="kozo"] .s-pill__dot { background: var(--primary-fg); }
[data-pattern="kozo"] .s-notice { border-left: 4px solid var(--secondary); border-radius: var(--radius); }
[data-pattern="kozo"] .s-notice--danger { border-left-color: var(--danger); }
[data-pattern="kozo"] .h-works { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
[data-pattern="kozo"] .h-work { padding: 16px; border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-card); }
[data-pattern="kozo"] .h-work__meta { padding-top: 12px; }
[data-pattern="kozo"] .h-steps { position: relative; }
[data-pattern="kozo"] .h-steps::before { content: ""; position: absolute; top: 22px; bottom: 22px; left: 21px; width: 3px; border-radius: 3px; background: linear-gradient(#2B2622, rgba(43, 38, 34, 0.35)); }
[data-pattern="kozo"] .h-step__num { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 3px; background: var(--primary); color: var(--primary-fg); font-size: 22px; }
[data-pattern="kozo"] .seal { background: var(--primary); color: var(--primary-fg); border-radius: 3px; }
[data-pattern="kozo"] .s-chip.is-on { background: var(--secondary); border-color: var(--secondary); color: var(--secondary-fg); }
[data-pattern="kozo"] .paper { padding: 28px; border-radius: var(--radius-card); background-color: var(--surface); box-shadow: var(--shadow-card); }
[data-pattern="kozo"] .s-footer { background-color: var(--bg-alt); border-top: 0; padding-top: 72px; }
