/* ============================================================
   刷々舎 ／ 案件の部品（site.css のあとに読む）
   クラスは ss- で始める（雛形の短い名前と衝突させない）
   見出しの形式は1つ：縦の柱（No.＋節名）＋明朝の見出し（句点あり）＋リード
   あしらいはトンボだけ。動きの主語は「刷り上がる」
   ============================================================ */

body{font-family:var(--ja)}
.ss-num{font-family:var(--en);font-weight:500;letter-spacing:.08em;font-variant-numeric:lining-nums tabular-nums}

/* ---------- ヘッダー（地色の帯・ロゴ左・本文のナビ・相談） ---------- */
.hd{height:76px;background:var(--bg);color:var(--ink);justify-content:flex-start;gap:40px;
    padding:0 calc(var(--pad) + 190px) 0 var(--pad);border-bottom:1px solid var(--line);pointer-events:auto}
.hd__logo{text-align:left;display:flex;align-items:baseline;gap:14px;padding:0;min-height:44px;align-items:center}
.hd__logo b{font-family:var(--mincho);font-weight:400;font-size:22px;letter-spacing:.16em}
.hd__logo small{font-family:var(--en);font-size:13px;letter-spacing:.24em;margin:0;opacity:1;color:var(--sub)}
.ss-hnav{display:flex;gap:4px 28px;margin-left:auto;font-size:14px;color:var(--sub)}
.ss-hnav a{display:inline-flex;align-items:center;min-height:44px;background:linear-gradient(var(--accent),var(--accent)) left calc(100% - 8px)/0 1px no-repeat;transition:background-size .35s var(--ease),color .35s var(--ease)}
@media (hover:hover){.ss-hnav a:hover{color:var(--accent);background-size:100% 1px}}
html.hd-solid .hd{box-shadow:none}
.hd__cta{top:16px;right:calc(var(--pad) + 60px);font-weight:700;letter-spacing:.12em}
@media (hover:hover){.hd__cta:hover{background:#3a3c42}}
.menu{top:16px;z-index:72}
.menu i,body.p .menu i,html.hd-solid .menu i{background:var(--ink);opacity:.8}
@media (max-width:1100px){.ss-hnav{display:none}}
@media (max-width:820px){
  .hd{height:60px;padding-right:var(--pad)}
  .hd__logo b{font-size:20px}
  .hd__cta{top:8px}
  .menu{top:8px}
}

/* ---------- 見出しの形式（刷No.形式） ---------- */
.ss-sec{padding:var(--sec) 0 0}
.ss-sec>.ct{display:grid;grid-template-columns:72px minmax(0,1fr);gap:0 56px;align-items:start}
.ss-pillar{position:sticky;top:112px;writing-mode:vertical-rl;display:flex;gap:14px;
           border-left:1px solid var(--ink);border-right:1px solid var(--ink);padding:16px 8px;
           font-family:var(--mincho);font-weight:400;font-size:14px;letter-spacing:.24em;height:max-content;justify-self:start}
.ss-pillar b{font-family:var(--en);font-weight:500;color:var(--accent);letter-spacing:.16em}
.ss-h2{font-family:var(--mincho);font-weight:400;font-size:44px;line-height:1.36;letter-spacing:.02em;margin:0}
.ss-lead{font-size:20px;line-height:1.85;color:var(--sub);max-width:var(--measure);margin-top:20px}
.ss-body{min-width:0}
.ss-body>*+.ss-block{margin-top:56px}
@media (max-width:820px){
  .ss-sec>.ct{grid-template-columns:minmax(0,1fr)}
  .ss-pillar{position:static;writing-mode:horizontal-tb;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
             padding:6px 0;font-size:13px;margin-bottom:22px;width:100%}
  .ss-h2{font-size:28px}
  .ss-lead{font-size:17px;margin-top:14px}
  .ss-body>*+.ss-block{margin-top:36px}
}

/* ---------- トンボ（写真の角だけ） ---------- */
.ss-tombo{position:relative;padding:12px;background-clip:content-box}   /* 写真のまわりに12pxの台紙。トンボはその中に描く（箱からはみ出さない） */
.ss-tombo::before,.ss-tombo::after{content:"";position:absolute;width:20px;height:20px;border:solid var(--ink);z-index:2;pointer-events:none}
.ss-tombo::before{top:0;left:0;border-width:0 1px 1px 0}
.ss-tombo::after{bottom:0;right:0;border-width:1px 0 0 1px}
.ss-fig{margin:0}
.ss-fig img{width:100%;height:100%;object-fit:cover}
.ss-cap{font-size:14px;color:var(--sub);margin-top:12px;line-height:1.7}
.ss-cap .ss-num{color:var(--accent)}

/* ---------- FV：1冊の表紙（左）＋面付けの刷り出し（右）＋墨の刷No.帯 ----------
   v3 で承認（R3×S2）。写真の上の文字は地色の浅黄で置く（新しい色を足さない）。
   刷り出しの紙とカラーバーの色だけは、FV の中の部分使い（資料 v3 の描画どおり） */
.ss-fv{padding-top:76px;--paper:#f3f1ea}
.ss-strip{grid-column:1/-1;height:34px;background:var(--ink);color:var(--bg);overflow:hidden;display:flex;align-items:center;font-size:13px;white-space:nowrap}
.ss-strip__run{display:flex;gap:56px;padding-left:var(--pad);animation:ss-run 48s linear infinite}
.ss-strip__run{width:max-content}.ss-strip__run>span{display:inline-block;white-space:nowrap;flex:none}
.ss-strip wbr{display:none}
.ss-strip__run b{font-weight:500;font-size:14px;color:var(--bg);margin-right:12px}
@keyframes ss-run{to{transform:translateX(-50%)}}
.ss-fv__in{display:grid;grid-template-columns:58% minmax(0,1fr);grid-template-rows:34px minmax(0,1fr);height:clamp(654px,calc(100svh - 76px),1000px);border-bottom:2px solid var(--ink)}
.ss-fv__cover{position:relative;overflow:hidden;background:var(--ink);color:var(--paper)}   /* 写真の上の文字は刷り出しと同じ紙の白（明るい2本目の動画でも読めるよう、測って決めた） */
.ss-fv__cover>img,.ss-fv__cover>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* KV：2本を静かに重ねて切り替える（T3・1.2秒）。再生中はゆっくり寄る（1.00→1.08）。
   動画が再生できたときだけ写真の上に出す。無い・止まる環境では写真のまま */
.ss-kv{opacity:0;transform:scale(1);transform-origin:50% 58%;transition:opacity 1.2s ease}
.ss-kv.is-on{opacity:1}
.ss-kv.is-front{z-index:1}   /* 次の1本が前に出て、上から刷り上がる（覆いが外れる）ように重なる */
.ss-mast,.ss-fv__cl{z-index:3}
.ss-fv__cover::after{z-index:2}
.ss-fv__cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,29,34,.72) 0%,rgba(27,29,34,.2) 30%,rgba(27,29,34,0) 42%,rgba(27,29,34,.35) 60%,rgba(27,29,34,.88) 100%)}
@media (max-width:820px){.ss-fv__cover::after{background:linear-gradient(180deg,rgba(27,29,34,.75) 0%,rgba(27,29,34,.15) 26%,rgba(27,29,34,0) 38%,rgba(27,29,34,.5) 58%,rgba(27,29,34,.9) 100%)}}
.ss-mast{position:absolute;z-index:3;left:44px;right:44px;top:28px;display:flex;justify-content:space-between;align-items:center}
.ss-mast__name{font-family:var(--mincho);font-weight:400;font-size:150px;line-height:1;letter-spacing:.06em}
.ss-mast__iss{font-size:17px;letter-spacing:.14em;text-align:right;line-height:1.7}
.ss-mast__no{display:inline-block;transition:opacity .3s ease}.ss-mast__no.is-swap{opacity:0}
.ss-mast__iss span:not(.ss-mast__no){display:block;font-family:var(--mincho);font-weight:400;font-size:14px;letter-spacing:.16em;margin-top:4px}
.ss-fv__cl{position:absolute;z-index:3;left:44px;right:44px;bottom:36px}
.ss-fv h1{font-family:var(--mincho);font-weight:400;font-size:56px;line-height:1.3;letter-spacing:.02em;margin:0 0 14px}
.ss-fv__facts{display:flex;flex-wrap:wrap;gap:6px 28px;font-size:14px}
.ss-fv__facts b{font-size:20px;margin-right:6px;font-weight:500}
.ss-fv__facts>span{white-space:nowrap}
.ss-fv__side{padding:32px var(--pad) 32px 40px;display:flex;flex-direction:column;gap:22px;min-width:0}
.ss-sheet{flex:1;min-height:0;position:relative;background:var(--paper);padding:40px 36px 50px;box-shadow:0 0 0 1px rgba(27,29,34,.18)}
.ss-sheet__lab{position:absolute;top:12px;left:36px;right:36px;display:flex;justify-content:space-between;font-size:13px;letter-spacing:.1em;color:var(--sub)}
.ss-gang{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:24px 20px;height:100%}
.ss-cell{position:relative;display:block;min-height:0}
.ss-cell__im{display:block;width:100%;height:100%;overflow:hidden}
.ss-cell__im img{width:100%;height:100%;object-fit:cover;transform:scale(1.35)}
.ss-cell::before,.ss-cell::after{content:"";position:absolute;width:10px;height:10px;border:solid var(--ink);z-index:2}
.ss-cell::before{top:-7px;left:-7px;border-width:0 1px 1px 0}.ss-cell::after{bottom:-7px;right:-7px;border-width:1px 0 0 1px}
.ss-cell b{position:absolute;left:0;bottom:-19px;font-size:13px;color:var(--accent);letter-spacing:.06em;line-height:1}
.ss-cell.is-now{box-shadow:0 0 0 2px var(--accent)}
.ss-cell{transition:box-shadow .4s ease}
.ss-cell--next{border:1px dashed var(--line);display:grid;place-items:center;text-align:center;font-family:var(--mincho);font-weight:400;font-size:14px;line-height:1.6;color:var(--ink)}
@media (hover:hover){.ss-cell--next:hover{border-color:var(--accent);color:var(--accent)}.ss-cell__im img{transition:transform .5s var(--ease)}.ss-cell:hover .ss-cell__im img{transform:scale(1.45)}}
.ss-reg{position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;border:1px solid var(--ink);border-radius:var(--r-f)}
.ss-reg::before,.ss-reg::after{content:"";position:absolute;background:var(--ink)}
.ss-reg::before{left:10px;top:-6px;bottom:-6px;width:1px}.ss-reg::after{top:10px;left:-6px;right:-6px;height:1px}
.ss-reg--l{left:8px}.ss-reg--r{right:8px}
.ss-cbar{position:absolute;left:36px;right:36px;bottom:14px;height:12px;display:flex;gap:2px}
.ss-cbar i{flex:1}
.ss-cbar i:nth-child(1){background:#00a0c6}.ss-cbar i:nth-child(2){background:#e4007f}.ss-cbar i:nth-child(3){background:#f6d200}.ss-cbar i:nth-child(4){background:var(--ink)}

.ss-fv__idx{border-top:2px solid var(--ink)}
.ss-fv__idx a{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:10px 2px;border-bottom:1px solid var(--line);font-size:14px;min-height:44px}
.ss-fv__idx b{color:var(--accent);font-weight:500}.ss-fv__idx span{color:var(--sub);font-size:13px}
@media (hover:hover){.ss-fv__idx a:hover{color:var(--accent)}}
@media (max-width:1280px){.ss-mast__name{font-size:120px}.ss-fv__idx a{grid-template-columns:88px minmax(0,1fr)}.ss-fv__idx span{display:none}}
@media (max-width:1000px){.ss-fv__in{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}.ss-fv__cover{height:620px}.ss-fv__side{padding:24px var(--pad)}.ss-sheet{height:auto}.ss-gang{grid-template-rows:none}.ss-cell{aspect-ratio:1}}
@media (max-width:820px){
  .ss-fv{padding-top:60px}
  .ss-strip{height:30px;font-size:12px}
  .ss-fv__cover{height:560px}
  .ss-mast{left:20px;right:20px;top:18px}.ss-mast__name{font-size:72px}.ss-mast__iss{font-size:13px;padding-top:4px}.ss-mast__iss span{display:none}
  .ss-fv__cl{left:20px;right:20px;bottom:20px}
  .ss-fv h1{font-size:34px;margin-bottom:10px}
  .ss-fv__facts{font-size:13px;display:grid;gap:2px}.ss-fv__facts b{font-size:17px}
  .ss-fv__side{padding:18px 20px 22px;gap:0}
  .ss-sheet{padding:40px 18px 34px}
  .ss-sheet__lab{left:16px;right:16px;top:8px;font-size:13px}.ss-sheet__lab span:last-child{display:none}
  .ss-gang{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px}
  .ss-cell:nth-child(n+8):not(.ss-cell--next){display:none}
  .ss-cell b{display:none}
  .ss-cell--next{font-size:13px;line-height:1.4}
  .ss-reg{width:16px;height:16px;margin-top:-8px}.ss-reg::before{left:7px}.ss-reg::after{top:7px}.ss-reg--l{left:2px}.ss-reg--r{right:2px}
  .ss-cbar{left:16px;right:16px;bottom:10px;height:8px}
  .ss-fv__idx{display:none}
}
/* 動き：見本が1面ずつ刷り上がる → 見出しが刷り上がる（JSが is-run を付ける） */
html.js .ss-fv .ss-cell{clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease)}
html.js .ss-fv .ss-rise{clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease)}
html.js .ss-fv.is-run .ss-cell,html.js .ss-fv.is-in .ss-cell,html.js .ss-fv.is-run .ss-rise,html.js .ss-fv.is-in .ss-rise{clip-path:inset(-12px -12px -24px -12px)}
.ss-fv.is-run h1{transition-delay:.25s}
.ss-fv.is-run .ss-fv__facts{transition-delay:.45s}
.ss-fv .ss-cell{will-change:clip-path}
/* 本文の見出しは静かな版：刷り上がる（覆いが上から外れる）だけ */
/* clip-path で隠すと IntersectionObserver が「見えていない」と数えて発火しない（実測）。mask で上から外す */
html.js .ss-h2.up{opacity:1;transform:none;-webkit-mask:linear-gradient(#000,#000) top/100% 0% no-repeat;mask:linear-gradient(#000,#000) top/100% 0% no-repeat;
  transition:-webkit-mask-size .8s var(--ease),mask-size .8s var(--ease)}
html.js .ss-h2.up.is-in{-webkit-mask-size:100% 100%;mask-size:100% 100%}

/* ---------- T-05 2段組みの読み物 ---------- */
.ss-read{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start}
.ss-cols{columns:2;column-gap:40px;font-size:17px;line-height:1.95}
.ss-cols p+p{margin-top:1em}
.ss-quote{font-family:var(--mincho);font-weight:400;font-size:22px;line-height:1.7;border-top:2px solid var(--ink);padding-top:18px;margin-top:40px;max-width:24em}
.ss-read .ss-fig{aspect-ratio:4/5}
@media (max-width:1000px){.ss-read{grid-template-columns:minmax(0,1fr)}.ss-read .ss-fig{aspect-ratio:3/2}}
@media (max-width:820px){.ss-cols{columns:1;font-size:16px}.ss-quote{font-size:18px}}

/* ---------- T-04 誌面（大小） ---------- */
.ss-spread{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:start}
.ss-spread__big img{aspect-ratio:3/2}
.ss-spread__big{max-width:880px}
.ss-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.ss-item{display:block}
.ss-item .ss-fig{aspect-ratio:1/1;background:var(--face)}
.ss-item .ss-cap{margin-top:12px;font-size:14px}
.ss-item .ss-cap b{display:block;font-weight:700;color:var(--ink)}
@media (hover:hover){.ss-item:hover .ss-cap b{color:var(--accent)}.ss-item .ss-fig img{transition:transform .6s var(--ease)}.ss-item:hover .ss-fig img{transform:scale(1.03)}.ss-item .ss-fig{overflow:hidden}}
@media (max-width:1000px){.ss-spread{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.ss-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.ss-item .ss-cap{font-size:13px}}

/* ---------- 下線のリンク（副導線） ---------- */
.ss-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--accent);font-weight:700;font-size:15px;
         background:linear-gradient(var(--accent),var(--accent)) left calc(100% - 8px)/100% 1px no-repeat;transition:background-size .35s var(--ease)}
@media (hover:hover){.ss-link:hover{background-size:0 1px;background-position:right calc(100% - 8px)}}
.ss-more{margin-top:28px}

/* ---------- T-03 数字の段 ---------- */
.ss-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink)}
.ss-figs>div{padding:26px 22px 4px 0;border-right:1px solid var(--line)}
.ss-figs>div+div{padding-left:22px}
.ss-figs>div:last-child{border-right:0}
.ss-figs b{display:block;font-family:var(--en);font-weight:500;font-size:56px;line-height:1;letter-spacing:-.01em}
.ss-figs b small{font-family:var(--mincho);font-weight:400;font-size:22px;margin-left:6px;letter-spacing:.04em}
.ss-figs p{font-size:14px;color:var(--sub);margin-top:14px;line-height:1.7}
@media (max-width:1000px){.ss-figs{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-figs>div:nth-child(2){border-right:0}.ss-figs>div:nth-child(n+3){border-top:1px solid var(--line)}.ss-figs>div:nth-child(3){padding-left:0}}
@media (max-width:820px){.ss-figs b{font-size:44px}.ss-figs b small{font-size:18px}.ss-figs>div{padding:18px 12px 4px 0}.ss-figs>div+div{padding-left:12px}.ss-figs p{font-size:13px}}

/* ---------- T-08 行リスト ---------- */
.ss-rows{border-top:2px solid var(--ink)}
.ss-row{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1.2fr) 24px;gap:24px;align-items:baseline;
        padding:24px 2px;border-bottom:1px solid var(--line);min-height:44px}
.ss-row__k{font-family:var(--mincho);font-weight:400;font-size:22px}
.ss-row__t{font-size:17px}
.ss-row__d{font-size:14px;color:var(--sub)}
.ss-row__a{color:var(--accent);font-family:var(--en);font-size:20px;transition:transform .35s var(--ease)}
@media (hover:hover){a.ss-row:hover .ss-row__k{color:var(--accent)}a.ss-row:hover .ss-row__a{transform:translateX(6px)}}
.ss-rows--news .ss-row{grid-template-columns:130px 110px minmax(0,1fr) 24px}
.ss-rows--news .ss-row__k{font-family:var(--en);font-weight:500;font-size:17px;color:var(--sub)}
.ss-tag{font-size:13px;border:1px solid var(--line);padding:2px 10px;justify-self:start;color:var(--sub)}
@media (max-width:820px){
  .ss-row,.ss-rows--news .ss-row{grid-template-columns:minmax(0,1fr) 20px;gap:4px 12px;padding:18px 2px}
  .ss-row>*:not(.ss-row__a){grid-column:1}.ss-row__a{grid-column:2;grid-row:1}
  .ss-row__k{font-size:18px}.ss-row__t{font-size:16px}.ss-row__d{font-size:13px}
}

/* ---------- T-02 罫の表（料金） ---------- */
.ss-tbl-wrap{overflow-x:auto}
.ss-tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums}
.ss-tbl caption{text-align:left;font-size:14px;color:var(--sub);padding-bottom:14px}
.ss-tbl thead th{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);font-size:14px;color:var(--sub);font-weight:400;padding:14px 12px;text-align:right;white-space:nowrap}
.ss-tbl thead th:first-child{text-align:left}
.ss-tbl tbody th{text-align:left;font-weight:400;padding:20px 12px 20px 2px;border-bottom:1px solid var(--line);vertical-align:top}
.ss-tbl tbody th b{display:block;font-family:var(--mincho);font-weight:400;font-size:22px;line-height:1.4}
.ss-tbl tbody th span{display:block;font-size:14px;color:var(--sub);margin-top:4px}
.ss-tbl td{text-align:right;padding:20px 12px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}
.ss-tbl td b{display:block;font-family:var(--en);font-weight:500;font-size:22px}
.ss-tbl td span{display:block;font-size:13px;color:var(--sub);margin-top:4px}
.ss-tbl caption .ss-tbl__h{display:flex;align-items:center;gap:10px;font-family:var(--mincho);font-weight:400;font-size:22px;color:var(--ink);margin-bottom:6px}
.ss-tbl caption .ss-tbl__h .ss-num{font-family:var(--en);font-weight:500;font-size:17px;color:var(--sub)}
.ss-tbl caption>span:last-child{display:block}
.ss-bar{display:block;height:3px;background:var(--ink);width:calc(var(--w) * 120px);margin:10px 0 0 auto}
.ss-note{font-size:14px;color:var(--sub);margin-top:18px;max-width:var(--measure);line-height:1.8}
@media (max-width:820px){
  .ss-tbl thead{display:none}
  .ss-tbl,.ss-tbl tbody,.ss-tbl tr,.ss-tbl th,.ss-tbl td{display:block}
  .ss-tbl caption{display:block;width:auto}
  .ss-tbl tr{border-top:2px solid var(--ink);padding:14px 0 6px;margin-bottom:22px}
  .ss-tbl tbody th{border:0;padding:0 0 10px}
  .ss-tbl tbody th b{font-size:18px}
  .ss-tbl td{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:8px;align-items:baseline;text-align:left;padding:10px 0;white-space:normal}
  .ss-tbl td::before{content:attr(data-n);font-size:13px;color:var(--sub)}
  .ss-tbl td b{font-size:18px;order:2;text-align:right}
  .ss-tbl td span{margin:0;order:1}
  .ss-tbl td .ss-bar{grid-column:1/-1;order:3;margin:2px 0 0;max-width:none;width:calc(var(--w) * 160px)}
}

/* ---------- T-06 手順 ---------- */
.ss-steps{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink);counter-reset:s}
.ss-steps li{display:grid;grid-template-columns:96px 260px minmax(0,1fr);gap:24px;align-items:baseline;padding:24px 2px;border-bottom:1px solid var(--line)}
.ss-steps .ss-num{color:var(--accent);font-size:20px}
.ss-steps b{font-family:var(--mincho);font-weight:400;font-size:22px}
.ss-steps p{font-size:17px;color:var(--sub);max-width:var(--measure)}
@media (max-width:820px){.ss-steps li{grid-template-columns:52px minmax(0,1fr);gap:4px 12px;padding:18px 2px}.ss-steps p{grid-column:2;font-size:16px}.ss-steps b{font-size:18px}.ss-steps .ss-num{font-size:17px}}

/* ---------- T-09 人の頁 ---------- */
.ss-people{display:grid;grid-template-columns:380px minmax(0,1fr);gap:56px;align-items:start}
.ss-people__head{aspect-ratio:4/5;background:var(--face)}
.ss-people__name{margin-top:16px;font-family:var(--mincho);font-weight:400;font-size:22px}
.ss-people__name span{display:block;font-family:var(--ja);font-weight:400;font-size:14px;color:var(--sub);margin-top:2px}
.ss-crew{border-top:2px solid var(--ink)}
.ss-crew>div{display:grid;grid-template-columns:160px 150px minmax(0,1fr);gap:20px;padding:20px 2px;border-bottom:1px solid var(--line);align-items:baseline}
.ss-crew b{font-family:var(--mincho);font-weight:400;font-size:22px}
.ss-crew span{font-size:14px;color:var(--sub)}
.ss-crew p{font-size:17px}
@media (max-width:1280px){.ss-crew>div{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.ss-crew p{grid-column:1/-1}}
@media (max-width:1000px){.ss-people{grid-template-columns:minmax(0,1fr)}.ss-people__head{max-width:340px}}
@media (max-width:820px){.ss-crew>div{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.ss-crew p{grid-column:1/-1;font-size:16px}.ss-crew b{font-size:18px}.ss-people__name{font-size:18px}}

/* ---------- T-07 地図と来店案内 ---------- */
.ss-visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.ss-map{aspect-ratio:4/3;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.ss-map{position:relative}.ss-map svg{width:100%;height:100%;display:block}
.ss-map__l{position:absolute;font-size:14px;color:var(--sub);white-space:nowrap}
.ss-dl{margin:0;border-top:2px solid var(--ink)}
.ss-dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;padding:18px 2px;border-bottom:1px solid var(--line)}
.ss-dl dt{font-size:14px;color:var(--sub)}
.ss-dl dd{margin:0;font-size:17px}
@media (max-width:1000px){.ss-visit{grid-template-columns:minmax(0,1fr);gap:36px}}
@media (max-width:820px){.ss-dl>div{grid-template-columns:88px minmax(0,1fr);gap:12px}.ss-dl dd{font-size:16px}}

/* ---------- ボタン（主ボタンは1系統） ---------- */
.ss-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:60px;padding:0 28px;
        background:var(--accent);color:var(--bg);font-weight:700;font-size:17px;letter-spacing:.08em;transition:background-color .3s var(--ease)}
.ss-btn .ss-num{font-weight:500}
@media (hover:hover){.ss-btn:hover{background:#3a3c42}}

/* ---------- T-10 奥付 ---------- */
.ss-colophon{padding:var(--sec) 0;color:#f3f1ea;--ink:#f3f1ea;--sub:#c9c6bd;--accent:#f3f1ea;--bg:#1b1d22;
  background:linear-gradient(rgba(27,29,34,.74),rgba(27,29,34,.74)),url(../img/kappan-hands.webp) center 40%/cover #1b1d22}   /* C2 写真＋墨（2026-10-15 承認）：刷る手に墨74% */
.ss-colophon .ss-btn{background:#f3f1ea;color:#1b1d22}
@media (hover:hover){.ss-colophon .ss-btn:hover{background:#d9d6cc}}
.ss-colophon .ct{max-width:900px}
.ss-colophon__in{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:56px 0 48px;text-align:center}
.ss-colophon__no{font-size:16px;color:var(--accent);letter-spacing:.16em}
.ss-colophon h2{font-family:var(--mincho);font-weight:400;font-size:56px;line-height:1.35;margin:14px 0 30px}
.ss-colophon dl{display:grid;grid-template-columns:max-content max-content;gap:6px 24px;justify-content:center;margin:0 0 36px;font-size:15px;text-align:left}
.ss-colophon dt{color:var(--sub)}.ss-colophon dd{margin:0}
.ss-colophon__btns{display:flex;justify-content:center;gap:16px 32px;flex-wrap:wrap;align-items:center}
@media (max-width:820px){.ss-colophon h2{font-size:28px}.ft__logo b{font-size:18px}.ss-row__a{font-size:17px}.ss-read .ss-fig{aspect-ratio:1/1}.ss-colophon__in{padding:40px 0 36px}.ss-colophon dl{font-size:14px;gap:4px 14px}.ss-btn{width:100%}}

/* ---------- フッター（版元の帯） ---------- */
.ft{background:var(--face);color:var(--ink);padding:72px 0 32px;border-top:1px solid var(--line)}
.ft__grid{gap:24px 40px}
.ft__nav a{font-size:15px}
.ft__logo b{font-family:var(--mincho);font-weight:400;font-size:22px;letter-spacing:.16em}
.ft__logo small{font-family:var(--en);color:var(--sub);letter-spacing:.24em}
.ft address{font-size:14px;color:var(--sub);line-height:1.9}
.ft__bottom{border-top:1px solid var(--line);margin-top:56px;padding-top:12px;font-size:13px;color:var(--sub)}
.ft__note{font-size:13px;color:var(--sub)}
@media (hover:hover){.ft__nav a:hover,.ft__bottom a:hover{color:var(--accent)}}
.gn{background:var(--bg)}
.gn__a{font-family:var(--mincho);font-weight:400}

@media (prefers-reduced-motion:reduce){
  html.js .ss-fv .ss-cell,html.js .ss-fv .ss-rise,html.js .ss-h2.up{transform:none;opacity:1;clip-path:none;-webkit-mask:none;mask:none;transition:none}
  .ss-strip__run{animation:none}
}

/* SP の文字の段（72/34/28/18/17/16）にそろえる。部品ごとの SP 指定より後に置く */
@media (max-width:820px){
  .hd__logo b{font-size:18px}
  .ft__logo b{font-size:18px}
  .ss-figs b{font-size:34px}
  .ss-tbl caption .ss-tbl__h{font-size:18px}
}

/* ---------- 下の節の磨き（工程3c・D3＋注文の流れを墨の面に で承認） ---------- */
.ss-bleed{position:relative;margin:var(--sec) 0 0;aspect-ratio:21/9;max-height:720px;width:100%;overflow:hidden;background:var(--ink)}
.ss-bleed img{width:100%;height:100%;object-fit:cover}
.ss-bleed figcaption{position:absolute;left:var(--pad);bottom:24px;color:#f3f1ea;font-size:14px;display:flex;gap:14px;align-items:baseline}
.ss-bleed figcaption b{font-family:var(--en);font-weight:500;font-size:15px;letter-spacing:.1em}
.ss-bleed::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,29,34,0) 60%,rgba(27,29,34,.6))}
.ss-bleed figcaption{z-index:2}
.ss-band{background:var(--face);padding-bottom:var(--sec);margin-top:var(--sec)}
.ss-band.ss-sec{padding-top:var(--sec)}
.ss-band+.ss-band{margin-top:0}   /* 面が続くときは間に地色の帯を出さない */
.ss-band--ink{background:#1b1d22;color:#f3f1ea;--ink:#f3f1ea;--sub:#c9c6bd;--line:#55575c}
.ss-band--ink .ss-pillar b,.ss-band--ink .ss-num{color:#f3f1ea}
.ss-band--ink .ss-link{color:#f3f1ea;background-image:linear-gradient(#f3f1ea,#f3f1ea)}
.ss-pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.ss-pgrid a{display:block}
.ss-pgrid .ss-fig{aspect-ratio:4/3;overflow:hidden;background:var(--face)}
.ss-pgrid .ss-fig img{transition:transform .6s var(--ease)}
@media (hover:hover){.ss-pgrid a:hover img{transform:scale(1.04)}.ss-pgrid a:hover h3{text-decoration:underline;text-underline-offset:.3em}}
.ss-pgrid h3{font-family:var(--mincho);font-size:22px;margin:14px 0 6px}
.ss-pgrid p{font-size:16px;color:var(--sub);line-height:1.75}
.ss-pgrid .ss-num{display:block;font-size:13px;margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.ss-hsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--ink)}
.ss-hsteps li{padding:22px 18px 6px 0;border-right:1px solid var(--line)}
.ss-hsteps li+li{padding-left:18px}.ss-hsteps li:last-child{border-right:0}
.ss-hsteps .ss-num{display:block;font-size:56px;line-height:1;margin-bottom:16px}
.ss-hsteps b{font-family:var(--mincho);font-weight:400;font-size:22px;display:block;margin-bottom:8px}
.ss-hsteps p{font-size:16px;color:var(--sub);line-height:1.75}
.ss-figs--big b{font-size:104px}
.ss-sheetbox{position:relative;background:#f3f1ea;padding:48px 44px 40px;border:1px solid var(--line)}
.ss-sheetbox::before,.ss-sheetbox::after{content:"";position:absolute;width:24px;height:24px;border:solid #1b1d22}
.ss-sheetbox::before{top:10px;left:10px;border-width:0 1px 1px 0}.ss-sheetbox::after{bottom:10px;right:10px;border-width:1px 0 0 1px}
.ss-sheetbox__lab{position:absolute;top:14px;left:44px;right:44px;display:flex;justify-content:space-between;font-family:var(--en);font-size:13px;letter-spacing:.1em;color:var(--sub)}
.ss-portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
.ss-portraits figure{margin:0}
.ss-portraits__im{aspect-ratio:1/1;background-image:url(../img/staff-sheet.webp);background-size:300% 200%}
.ss-portraits figcaption{font-size:14px;margin-top:8px;color:var(--sub)}.ss-portraits figcaption span{display:block}.ss-portraits figcaption b{font-family:var(--mincho);font-weight:400;font-size:18px;display:block}
.ss-people__head img{width:100%;height:100%;object-fit:cover}
.ss-visitph{aspect-ratio:3/2;margin-top:28px}
@media (max-width:1000px){.ss-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-hsteps{grid-template-columns:minmax(0,1fr)}.ss-hsteps li{border-right:0;border-bottom:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 12px}.ss-hsteps li+li{padding-left:0}.ss-hsteps .ss-num{font-size:34px;margin:0;grid-row:span 2}.ss-hsteps b{font-size:18px;margin:0}}
@media (max-width:820px){.ss-bleed{aspect-ratio:4/3}.ss-pgrid h3{font-size:18px}.ss-figs--big b{font-size:44px}.ss-sheetbox{padding:40px 16px 24px}.ss-sheetbox__lab{left:16px;right:16px}.ss-portraits{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-portraits figcaption b{font-size:17px}.ss-band{margin-top:var(--sec)}}

/* ---------- 下の節の動き（語彙「刷り上がる」から。工程3c・制作担当の依頼で追加）----------
   写真：トンボが先に置かれ、写真が上から刷り上がる ／ 表・行・手順：上の罫が左から引かれ、行が順に出る
   料金の帯：1枚の値段の線が引かれる ／ 数字：数え上がる（JS）／ 大判写真：ゆっくり引く（1.08→1）
   見出しは静かな版（mask で上から外れる）のまま。JS が無い・動きを減らす設定・30万では最初から見える */
html.js .ss-fig.up,html.js .ss-block.up,html.js .ss-bleed.up{opacity:1;transform:none}
html.js .ss-fig.up img{clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease) .2s}
html.js .ss-fig.up.is-in img{clip-path:inset(0 0 0 0)}
html.js .ss-tombo.up::before,html.js .ss-tombo.up::after{opacity:0;transition:opacity .4s ease}
html.js .ss-tombo.up.is-in::before,html.js .ss-tombo.up.is-in::after{opacity:1}
html.js .ss-bleed.up img{transform:scale(1.08);transition:transform 2.4s var(--ease)}
html.js .ss-bleed.up.is-in img{transform:scale(1)}
.ss-rows.up,.ss-hsteps.up,.ss-tbl-wrap.up,.ss-figs.up,.ss-dl.up,.ss-crew.up{position:relative}
html.js .ss-rows.up,html.js .ss-hsteps.up,html.js .ss-figs.up,html.js .ss-dl.up{border-top-color:transparent}
html.js .ss-rows.up::before,html.js .ss-hsteps.up::before,html.js .ss-figs.up::before,html.js .ss-dl.up::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
html.js .ss-rows.up.is-in::before,html.js .ss-hsteps.up.is-in::before,html.js .ss-figs.up.is-in::before,html.js .ss-dl.up.is-in::before{transform:scaleX(1)}
html.js .ss-rows.up>*,html.js .ss-hsteps.up>*,html.js .ss-figs.up>*,html.js .ss-dl.up>*,html.js .ss-pgrid.up>*,html.js .ss-portraits.up>*{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s var(--ease)}
html.js .ss-block.up.is-in>*{opacity:1;transform:none}
html.js .ss-block.up.is-in>*:nth-child(1){transition-delay:.35s}html.js .ss-block.up.is-in>*:nth-child(2){transition-delay:.43s}
html.js .ss-block.up.is-in>*:nth-child(3){transition-delay:.51s}html.js .ss-block.up.is-in>*:nth-child(4){transition-delay:.59s}
html.js .ss-block.up.is-in>*:nth-child(5){transition-delay:.67s}html.js .ss-block.up.is-in>*:nth-child(6){transition-delay:.75s}
html.js .ss-pgrid.up>* img{clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease)}
html.js .ss-pgrid.up.is-in>* img{clip-path:inset(0 0 0 0)}
html.js .ss-pgrid.up.is-in>*:nth-child(2) img{transition-delay:.12s}html.js .ss-pgrid.up.is-in>*:nth-child(3) img{transition-delay:.24s}html.js .ss-pgrid.up.is-in>*:nth-child(4) img{transition-delay:.36s}
html.js .ss-sheetbox.up .ss-bar{transform:scaleX(0);transform-origin:right;transition:transform .9s var(--ease) .6s}
html.js .ss-sheetbox.up.is-in .ss-bar{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){
  html.js .ss-fig.up img,html.js .ss-bleed.up img,html.js .ss-pgrid.up>* img,html.js .ss-block.up>*,html.js .ss-sheetbox.up .ss-bar{clip-path:none;transform:none;opacity:1;transition:none}
  html.js .ss-tombo.up::before,html.js .ss-tombo.up::after{opacity:1}
  html.js .ss-block.up::before{transform:scaleX(1)}
}

/* ---------- オープニング O1「断裁」（100万のみ・1訪問1回・とばす付き） ----------
   紙に誌名 → 四隅にトンボ → 中央に断裁の線 → 紙が左右に開いて FV。FV の動き（見本が刷り上がる）はそのあとに始まる */
.ss-op{display:none}
html.js:not(.op-seen) .ss-op{display:block;position:fixed;inset:0;z-index:100;pointer-events:auto}
.ss-op__half{position:absolute;top:0;bottom:0;width:50.5%;background:#f3f1ea;transition:transform 1.8s cubic-bezier(.65,0,.25,1)}   /* 開くところはゆっくり（v2：1.0→1.8秒、立ち上がりも緩やかに） */
.ss-op__half--l{left:0}.ss-op__half--r{right:0}
.ss-op__t{position:absolute;width:28px;height:28px;border:solid var(--ink);opacity:0;transition:opacity .5s ease}
.ss-op__t--1{top:9%;left:7%;border-width:0 1px 1px 0}.ss-op__t--2{top:9%;right:7%;border-width:0 0 1px 1px}
.ss-op__t--3{bottom:9%;left:7%;border-width:1px 1px 0 0}.ss-op__t--4{bottom:9%;right:7%;border-width:1px 0 0 1px}
.ss-op__name{position:absolute;inset:0;margin:0;display:grid;place-items:center;font-family:var(--mincho);font-size:clamp(40px,7vw,96px);letter-spacing:.2em;color:var(--ink);transition:opacity .5s ease}
.ss-op__cut{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform .7s cubic-bezier(.7,0,.3,1),opacity .4s ease}
.ss-op__skip{position:absolute;right:var(--pad);top:16px;min-height:44px;padding:0 14px;background:none;border:0;font:inherit;font-size:14px;color:var(--sub);cursor:pointer;text-decoration:underline;text-underline-offset:.3em}
.ss-op.s1 .ss-op__t{opacity:1}
.ss-op.s2 .ss-op__cut{transform:scaleY(1)}
.ss-op.s3 .ss-op__name,.ss-op.s3 .ss-op__cut,.ss-op.s3 .ss-op__t,.ss-op.s3 .ss-op__skip{opacity:0}
.ss-op.s3 .ss-op__half--l{transform:translateX(-101%)}.ss-op.s3 .ss-op__half--r{transform:translateX(101%)}
.ss-op.s3{pointer-events:none}
@media (prefers-reduced-motion:reduce){.ss-op{display:none!important}}

/* ---------- 本文の演出 E1「見当合わせ」（試用。main.fx-e1 を外すと元の「刷り上がる」に戻る） ----------
   節の見出しと写真が、シアン・マゼンタ・イエローの版がずれた状態で現れ、0.9秒で見当が合って墨になる */
html.js .fx-e1 .ss-h2.up{-webkit-mask:none;mask:none;color:rgba(27,29,34,0);
  text-shadow:-7px 3px 0 rgba(0,160,198,.75),6px -4px 0 rgba(228,0,127,.7),2px 6px 0 rgba(242,207,29,.85);
  transition:color .5s ease .75s,text-shadow 1.1s cubic-bezier(.45,0,.2,1) .1s}
html.js .fx-e1 .ss-h2.up.is-in{color:var(--ink);text-shadow:0 0 0 rgba(0,160,198,0),0 0 0 rgba(228,0,127,0),0 0 0 rgba(242,207,29,0)}
html.js .fx-e1 .ss-band--ink .ss-h2.up.is-in{color:#f3f1ea}
html.js .fx-e1 .ss-fig.up img{clip-path:none;opacity:.35;filter:drop-shadow(-8px 4px 0 rgba(0,160,198,.7)) drop-shadow(7px -4px 0 rgba(228,0,127,.65));
  transition:opacity .6s ease .45s,filter 1.1s cubic-bezier(.45,0,.2,1) .1s}
html.js .fx-e1 .ss-fig.up.is-in img{opacity:1;filter:drop-shadow(0 0 0 rgba(0,160,198,0)) drop-shadow(0 0 0 rgba(228,0,127,0))}
@media (prefers-reduced-motion:reduce){html.js .fx-e1 .ss-h2.up,html.js .fx-e1 .ss-fig.up img{color:inherit;text-shadow:none;filter:none;opacity:1;transition:none}}

/* ================= 下層（工程3d・活版印刷で組んだもの） ================= */
/* ページの頭：刷No.形式の柱＋h1。柱の No. は「P.01」＝刷れるものの何番目か */
.ss-ph{padding:72px 0 0}
.ss-ph>.ct{display:grid;grid-template-columns:72px minmax(0,1fr);gap:0 56px;align-items:start}
.ss-h1{font-size:56px;line-height:1.3}
.ss-ph__facts{display:flex;flex-wrap:wrap;gap:0;margin:40px 0 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.ss-ph__facts>div{padding:14px 32px 14px 0;margin-right:32px;border-right:1px solid var(--line)}
.ss-ph__facts>div:last-child{border-right:0;margin-right:0}
.ss-ph__facts dt{font-size:13px;color:var(--sub);letter-spacing:.12em}
.ss-ph__facts dd{margin:4px 0 0;font-size:17px}
.ss-ph__facts .ss-num{font-size:22px}
@media (max-width:820px){
  .ss-ph{padding:40px 0 0}.ss-ph>.ct{grid-template-columns:minmax(0,1fr)}
  .ss-h1{font-size:34px}
  .ss-ph__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}
  .ss-ph__facts>div{padding:12px 0;margin:0;border-right:0;border-bottom:1px solid var(--line)}
  .ss-ph__facts>div:nth-child(odd){padding-right:12px}
  .ss-ph__facts>div:nth-last-child(-n+2){border-bottom:0}
}
@media (min-width:600px) and (max-width:820px){.ss-h1{font-size:44px}}   /* 768 でジャンプ率 2.5 を超えるように */

/* T-04 誌面（大1・小2） */
.ss-mag{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:auto auto;gap:40px 40px;align-items:start}
.ss-mag__big{grid-row:1/3}
.ss-mag__big img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover}
.ss-mag__s1 img{aspect-ratio:1/1;width:100%;height:auto;object-fit:cover}
.ss-mag__s2 img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover}
@media (max-width:820px){.ss-mag{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 14px}.ss-mag__big{grid-row:auto;grid-column:1/-1}.ss-mag__s1 img,.ss-mag__s2 img{aspect-ratio:1/1}.ss-mag .ss-cap{font-size:13px}}

/* T-05 写真なしの読み物：本文2段＋引用を大きく */
.ss-read--wide{grid-template-columns:minmax(0,1fr) 320px}
.ss-quote--big{font-size:30px;line-height:1.6;margin-top:0}
.ss-quote--big span{display:block;font-family:inherit;font-size:14px;color:var(--sub);margin-top:16px;letter-spacing:.1em}
@media (max-width:1000px){.ss-read--wide{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.ss-quote--big{font-size:22px}}

/* T-02 仕様（料金の紙の上に） */
.ss-spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 36px;border-top:2px solid #1b1d22}
.ss-spec>div{padding:14px 16px 14px 0;border-bottom:1px solid #a9a69d}
.ss-spec dt{font-size:13px;color:#4a4a46}.ss-spec dd{margin:4px 0 0;font-size:16px;line-height:1.6}
@media (max-width:820px){.ss-spec{grid-template-columns:minmax(0,1fr)}.ss-spec>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px 0}.ss-spec dd{margin:0}}

/* T-01 表紙と面付け（最新の1点を表紙に、ほかを刷り出しの面に） */
.ss-cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.ss-cover__main{display:block}
.ss-cover__im{display:block;aspect-ratio:1/1;overflow:hidden}
.ss-cover__im img{width:100%;height:100%;object-fit:cover}
.ss-cover__t{display:block;font-family:var(--mincho);font-size:22px;line-height:1.5;margin-top:16px}
.ss-cover__t b{display:block;font-size:18px;color:var(--accent);letter-spacing:.12em;margin-bottom:4px}
.ss-cover__t small{display:block;font-family:var(--sans,inherit);font-size:14px;color:var(--sub);margin-top:4px}
.ss-cover__gang{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px;padding:12px}
.ss-cover__gang .ss-cell{aspect-ratio:auto}
.ss-cover__gang .ss-cell__im{aspect-ratio:1/1;height:auto}
.ss-cover__gang .ss-cell b{position:static;display:block;margin-top:12px}
.ss-cover__gang .ss-cell__t{display:block;font-size:15px;margin-top:6px;line-height:1.5}
.ss-cover__gang .ss-cell::after{bottom:auto;top:calc(100% - 3px)}
@media (hover:hover){.ss-cover__main .ss-cover__im img{transition:transform .5s var(--ease)}.ss-cover__main:hover .ss-cover__im img{transform:scale(1.04)}}
@media (max-width:820px){.ss-cover{grid-template-columns:minmax(0,1fr);gap:36px}.ss-cover__t{font-size:18px}.ss-cover__gang{gap:36px 16px;padding:8px}.ss-cover__gang .ss-cell__t{font-size:14px}}

/* 下層の頭 HB 裁ち落とし（工程3d v2・2026-10-15）：版の写真を全幅に、ページ名を写真の上に */
.ss-hero__ph{position:relative;height:min(68vh,620px);min-height:440px;overflow:hidden;background:#1b1d22;color:#f3f1ea}
.ss-hero__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ss-hero__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,29,34,.8),rgba(27,29,34,.25) 72%)}
.ss-hero__t{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:56px}
.ss-hero__idx{font-size:14px;letter-spacing:.16em;color:#d9d6cc}
.ss-hero__k{font-family:var(--mincho);font-weight:400;font-size:150px;line-height:1.1;letter-spacing:.06em;margin:8px 0 0}
.ss-hero__c{font-family:var(--mincho);font-size:22px;line-height:1.6;margin-top:12px}
.ss-hero__b{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:56px;align-items:end;padding-top:12px}
.ss-hero__l{font-size:17px;line-height:1.9;color:var(--sub);max-width:30em;margin-top:24px}
.ss-hero__b .ss-ph__facts{margin-top:24px}
html.js .ss-hero__ph.up img{transform:scale(1.06);transition:transform 2.4s cubic-bezier(.2,.6,.2,1)}
html.js .ss-hero__ph.up.is-in img{transform:scale(1)}
@media (max-width:1000px){.ss-hero__b{grid-template-columns:minmax(0,1fr);gap:0}}
@media (max-width:820px){.ss-hero__ph{height:440px;min-height:0}.ss-hero__t{padding-bottom:32px}.ss-hero__k{font-size:72px}.ss-hero__c{font-size:18px}.ss-hero__l{font-size:16px}}

/* T-04 大1・小1 */
.ss-mag--2{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.ss-mag--2 .ss-mag__big{grid-row:auto}
.ss-mag--2 .ss-mag__big img{aspect-ratio:4/3}
.ss-mag--2 .ss-mag__s1{align-self:end}
.ss-mag--2 .ss-mag__s1 img{aspect-ratio:3/2}
@media (max-width:820px){.ss-mag--2{grid-template-columns:minmax(0,1fr)}.ss-mag--2 .ss-mag__big{grid-column:auto}.ss-mag--2 .ss-mag__s1 img{aspect-ratio:3/2}}

/* YC 幅を変える：読み物の節は柱を横にして細い1段（雑誌のコラム）。見本は版面の右端まで */
.ss-sec--col>.ct{grid-template-columns:minmax(0,1fr);max-width:calc(760px + var(--pad)*2)}
.ss-sec--col .ss-pillar{position:static;writing-mode:horizontal-tb;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:6px 0;margin-bottom:28px;width:100%}
.ss-sec--col .ss-h2{font-size:56px}
.ss-sec--col .ss-read--wide{grid-template-columns:minmax(0,1fr)}
.ss-sec--col .ss-cols{columns:1;font-size:17px}
.ss-sec--col .ss-quote--big{font-size:44px;line-height:1.5;margin-top:56px}
.ss-cover--wide{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);margin-right:calc((1200px - 100vw)/2)}
@media (max-width:1300px){.ss-cover--wide{margin-right:0}}
@media (max-width:820px){.ss-sec--col .ss-h2{font-size:34px}.ss-sec--col .ss-cols{font-size:16px}.ss-sec--col .ss-quote--big{font-size:28px}.ss-cover--wide{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.ss-ph__facts .ss-num{font-size:17px}}

/* 奥付（写真＋墨）の前後：直前の節には下の余白を、直後の前後ページ送りには上の余白を付けない（2026-10-15 指摘） */
.ss-sec:has(+.ss-colophon){padding-bottom:var(--sec)}
.ss-colophon+.pn{margin-top:0}

/* ================= 工程4（2026-10-15）：承認済みの頭（HB）と型 T-01〜T-11 の下層用の形 ================= */
/* 頭 HB の写真なし版：写真が無いページ（料金・質問・相談・お知らせなど）。同じ構図を紙の上で。トンボで紙面の角を示す */
.ss-hero--plain .ss-hero__ph{background:transparent;color:var(--ink);height:auto;min-height:0;overflow:visible}
.ss-hero--plain .ss-hero__ph::after{display:none}
.ss-hero--plain .ss-hero__t{height:auto;padding-top:72px;padding-bottom:8px;position:relative}   /* 左右は .ct の余白のまま（padding の一括指定で消していた） */
.ss-hero--plain .ss-hero__idx{color:var(--sub)}
.ss-hero--plain .ss-hero__t::before{content:"";position:absolute;left:calc(var(--pad) - 20px);top:44px;width:20px;height:20px;border:solid var(--ink);border-width:0 1px 1px 0}
@media (max-width:820px){.ss-hero--plain .ss-hero__t{padding-top:40px;padding-bottom:4px}.ss-hero--plain .ss-hero__t::before{display:none}}
/* ページ名が長いとき（7字以上）と、見本帳の1件（題が長い） */
.ss-hero__k--m{font-size:104px}
.ss-hero__k--s{font-size:56px;line-height:1.3;letter-spacing:.04em}
@media (max-width:820px){.ss-hero__k--m{font-size:44px}.ss-hero__k--s{font-size:34px}}

/* T-06 手順（縦）：#01〜の番号と罫で区切る */
.ss-vsteps{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.ss-vsteps>li{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.2fr);gap:32px;padding:32px 2px;border-bottom:1px solid var(--line);align-items:baseline}
.ss-vsteps .ss-num{font-size:44px;line-height:1;color:var(--accent)}
.ss-vsteps b{font-family:var(--mincho);font-weight:400;font-size:22px}
.ss-vsteps p{font-size:17px;line-height:1.9;margin:0}
.ss-vsteps small{display:block;font-size:14px;color:var(--sub);margin-top:6px}
@media (max-width:820px){.ss-vsteps>li{grid-template-columns:64px minmax(0,1fr);gap:6px 14px;padding:22px 2px}.ss-vsteps p{grid-column:2;font-size:16px}.ss-vsteps .ss-num{font-size:28px}.ss-vsteps b{font-size:18px}}

/* T-11 問と答 */
.ss-qa{border-top:2px solid var(--ink)}
.ss-qa details{border-bottom:1px solid var(--line)}
.ss-qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:16px;align-items:baseline;padding:24px 2px;min-height:44px}
.ss-qa summary::-webkit-details-marker{display:none}
.ss-qa summary .ss-num{font-size:20px;color:var(--sub)}
.ss-qa summary b{font-family:var(--mincho);font-weight:400;font-size:20px;line-height:1.6}
.ss-qa summary i{font-style:normal;font-family:var(--en);font-size:20px;color:var(--accent);transition:transform .3s var(--ease)}
.ss-qa details[open] summary i{transform:rotate(45deg)}
.ss-qa__a{padding:0 2px 28px 60px;font-size:17px;line-height:1.95;max-width:calc(var(--measure) + 60px)}
.ss-qa__a p+p{margin-top:.8em}
@media (max-width:820px){.ss-qa summary{grid-template-columns:32px minmax(0,1fr) 20px;gap:10px;padding:18px 2px}.ss-qa summary b{font-size:17px}.ss-qa summary .ss-num{font-size:17px}.ss-qa__a{padding:0 2px 22px 42px;font-size:16px}}

/* 罫の表（汎用）：料金以外の T-02（納期・募集要項・受付時間・仕様）。カードにしない */
.ss-kv2{margin:0;border-top:2px solid var(--ink)}
.ss-kv2>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:18px 2px;border-bottom:1px solid var(--line)}
.ss-kv2 dt{font-size:15px;color:var(--sub)}
.ss-kv2 dd{margin:0;font-size:17px;line-height:1.85}
.ss-kv2 dd .ss-num{font-size:20px}
@media (max-width:820px){.ss-kv2>div{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:14px 2px}.ss-kv2 dt{font-size:14px}.ss-kv2 dd{font-size:16px}}

/* T-08 行リスト：写真つきの行（刷れるもの一覧） */
.ss-rows--ph .ss-row{grid-template-columns:200px minmax(0,1fr) minmax(0,1.2fr) 24px;align-items:center;padding:20px 2px}
.ss-row__im{display:block;aspect-ratio:3/2;overflow:hidden}
.ss-row__im img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
@media (hover:hover){a.ss-row:hover .ss-row__im img{transform:scale(1.04)}}
.ss-rows--ph .ss-row__k{font-size:28px}
@media (max-width:820px){.ss-rows--ph .ss-row{grid-template-columns:120px minmax(0,1fr) 20px;gap:4px 14px}.ss-rows--ph .ss-row__im{grid-column:1;grid-row:1/4}.ss-rows--ph .ss-row>*:not(.ss-row__a):not(.ss-row__im){grid-column:2}.ss-rows--ph .ss-row__a{grid-column:3}.ss-rows--ph .ss-row__k{font-size:18px}}
/* 年表の行 */
.ss-rows--year .ss-row{grid-template-columns:120px minmax(0,1fr)}
.ss-rows--year .ss-row__k{font-family:var(--en);font-weight:500;font-size:22px}
@media (max-width:820px){.ss-rows--year .ss-row{grid-template-columns:64px minmax(0,1fr)}.ss-rows--year .ss-row>*{grid-column:auto}.ss-rows--year .ss-row__k{font-size:17px}}
/* 持ち場の行（刷る人） */
.ss-rows--team .ss-row{grid-template-columns:200px 72px minmax(0,1fr)}
.ss-rows--team .ss-row__k{font-size:20px}
@media (max-width:820px){.ss-rows--team .ss-row{grid-template-columns:minmax(0,1fr) 56px}.ss-rows--team .ss-row>*{grid-column:auto}.ss-rows--team .ss-row__d{grid-column:1/-1}}

/* 対応表（刷れるもの一覧の T-02）：○ と ― だけ */
.ss-tbl--mark td{text-align:center;font-size:17px}
.ss-tbl--mark td.is-y{font-family:var(--mincho)}

/* お知らせの記事（T-05 の1段） */
.ss-article{max-width:760px}
.ss-article p{font-size:17px;line-height:2;margin:0}.ss-article p+p{margin-top:1.1em}
.ss-article__meta{display:flex;gap:16px;align-items:center;font-family:var(--en);font-size:15px;color:var(--sub);margin-top:16px}
@media (max-width:820px){.ss-article p{font-size:16px}}


.ss-portraits--6{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.ss-portraits--4{margin-top:0}
.ss-people .ss-rows--team{margin-top:40px}
.ss-cover--all{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.ss-cover--all .ss-cover__gang{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 18px}
.ss-cover--all .ss-cover__gang .ss-cell__t{font-size:14px}
@media (max-width:1000px){.ss-cover--all{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.ss-portraits--6{grid-template-columns:repeat(3,minmax(0,1fr))}.ss-cover--all .ss-cover__gang{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 工程4の検査で直したもの（2026-10-15） */
button.ss-btn{border:0;font:inherit;font-weight:700;font-size:17px;cursor:pointer}   /* button の既定の枠が純黒（C2） */
.ss-row__im{aspect-ratio:5/4}                       /* 縦の写真（design）も横の写真も 1.6倍以内で切る（H3） */
.ss-rows--ph .ss-row__d{white-space:nowrap}        /* 「¥9,900〜」が数字の途中で折れる（G1） */
.ss-mag__s1--tall img{aspect-ratio:4/5!important}  /* 縦の写真を小に置くとき */
.ss-cover--all .ss-cover__gang{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:820px){
  .ss-kv2>div{grid-template-columns:116px minmax(0,1fr)}       /* 「ショップカード」「見本帳への掲載」が語の途中で折れる（G1） */
  .ss-portraits--6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ss-cover--all .ss-cover__gang{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* 写真つきの行は5つ並ぶ（写真・名前・ひとこと・値段・矢印） */
.ss-rows--ph .ss-row{grid-template-columns:200px 240px minmax(0,1fr) max-content 24px}
@media (max-width:1000px){.ss-rows--ph .ss-row{grid-template-columns:160px minmax(0,1fr) max-content 24px}.ss-rows--ph .ss-row__t{grid-column:2}.ss-rows--ph .ss-row__k{grid-column:2}.ss-rows--ph .ss-row__im{grid-row:1/3}.ss-rows--ph .ss-row__d{grid-column:3;grid-row:1}.ss-rows--ph .ss-row__a{grid-column:4;grid-row:1}}
@media (max-width:820px){.ss-rows--ph .ss-row{grid-template-columns:110px minmax(0,1fr) 20px}.ss-rows--ph .ss-row__im{grid-row:1/4;grid-column:1}.ss-rows--ph .ss-row__k,.ss-rows--ph .ss-row__t,.ss-rows--ph .ss-row__d{grid-column:2;grid-row:auto}.ss-rows--ph .ss-row__a{grid-column:3;grid-row:1}.ss-rows--ph .ss-row__d{white-space:normal}}
/* フッターの住所：タブレット幅で1行が長く、本文より面積が大きくなる（A1・A6） */
@media (max-width:1100px){.ft address{font-size:16px;max-width:30em}}
@media (min-width:600px) and (max-width:820px){.ss-hero__k--s{font-size:44px}}

/* ================= 磨き 1周目（工程5.5・2026-10-15） ================= */
/* 3. 見出しの和文を詰める（読点・括弧のアキ） */
/* 1. 頭の小さな行は「刷れるもの」の何番目かと、見本帳の番号・記事の日付だけに減らした。区切りの ─ は奥付の1か所だけ */
.ss-hero__of{font-family:var(--en);font-size:13px;letter-spacing:.06em;opacity:.8;margin-left:2px}
.ss-hero__idx .ss-num{font-size:17px;letter-spacing:.02em}

/* ================= 磨き 2周目（2026-10-15） ================= */
/* SPのフッターを詰める：メニューは2列、住所と注記を詰め、前後のページは空の欄を出さない */
@media (max-width:820px){
  .ft{padding:40px 0 20px}
  .ft__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .ft__nav{display:contents}
  .ft__nav a{font-size:15px;min-height:44px;border-bottom:1px solid var(--line)}
  .ft__info{grid-column:1/-1;margin-top:28px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 20px;align-items:start}
  .ft__info .ft__logo{margin:0}
  .ft address{font-size:16px;line-height:1.75}
  .ft__bottom{margin-top:24px;padding-top:4px}
  .ft__note{font-size:12px;line-height:1.7;margin-top:8px}
  .pn>span:empty{display:none}
  .pn a{min-height:72px}
}

/* ヘッダー HA 柱（磨き2周目・承認）：雑誌の各頁の上の「柱」。いまのページ名を明朝で中央に、下の罫を二重に */
.hd{border-bottom:1px solid var(--ink)!important;box-shadow:none!important}
.hd::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--ink);pointer-events:none}
.ss-run{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;font-family:var(--mincho);font-size:14px;letter-spacing:.2em;color:var(--ink);white-space:nowrap;display:flex;gap:14px;align-items:baseline;font-feature-settings:"palt";pointer-events:none}
.ss-run b{font-family:var(--en);font-weight:500;letter-spacing:.08em;color:var(--sub);font-size:13px}
@media (min-width:1101px){.ss-run{left:38%}}
@media (max-width:820px){.ss-run{left:104px;transform:translateY(-50%);font-size:12px;letter-spacing:.06em;max-width:calc(100% - 104px - 170px);overflow:hidden}.ss-run b{display:none}}
html.gn-open .ss-run{opacity:0}

/* 全画面メニュー MA 目次（磨き2周目・承認）：番号・ページ名・点線・ひとこと */
.gn__in{display:grid!important;grid-template-columns:200px minmax(0,1fr) 300px!important;gap:0 64px!important;align-items:start;padding-top:96px!important}
.gn__in::before{content:"目次";grid-row:1/4;font-family:var(--mincho);font-size:44px;letter-spacing:.3em;writing-mode:vertical-rl;border-left:1px solid var(--ink);border-right:1px solid var(--ink);padding:18px 10px;justify-self:start}
.gn__col{grid-column:2;margin:0 0 16px!important}
.gn__side{grid-column:3;grid-row:1/4}
.gn__list>li{border-bottom:1px solid var(--line)}
.gn__a{display:flex!important;align-items:baseline;gap:18px;font-size:20px!important;padding:6px 0!important;min-height:44px!important;font-feature-settings:"palt"}
.gn__no{font-family:var(--en);font-weight:500;font-size:15px;color:var(--sub);width:28px;flex:none}
.gn__dot{flex:1;min-width:24px;border-bottom:1px dotted var(--line);transform:translateY(-6px)}
.gn__note{font-family:var(--sans,system-ui),sans-serif;font-size:14px;color:var(--sub);letter-spacing:.04em;white-space:nowrap}
.gn__a.is-here .gn__no,.gn__a.is-here>span{color:var(--ink)}
.gn__a.is-here>span{background:linear-gradient(var(--ink),var(--ink)) left 100%/100% 2px no-repeat}
.gn__sub{display:flex!important;flex-wrap:wrap;gap:0 22px;border:0!important;padding:0 0 4px 46px!important;margin:0!important}
.gn__b{font-size:14px!important;min-height:44px!important}
@media (max-width:1100px){.gn__in{grid-template-columns:120px minmax(0,1fr)!important;gap:0 32px!important}.gn__side{grid-column:2;grid-row:auto;margin-top:24px}}
@media (max-width:820px){
  .gn__in{grid-template-columns:minmax(0,1fr)!important;padding-top:80px!important}
  .gn__in::before{writing-mode:horizontal-tb;font-size:28px;border:0;border-bottom:2px solid var(--ink);padding:0 0 6px;grid-row:auto;justify-self:stretch}
  .gn__col,.gn__side{grid-column:1;grid-row:auto}
  .gn__a{font-size:18px!important;gap:12px}.gn__note,.gn__dot{display:none}.gn__sub{padding-left:40px!important}
}
.gn__in{padding-top:128px!important}
@media (max-width:820px){.gn__in{padding-top:88px!important}
  .ss-run{display:block;text-overflow:ellipsis}       /* 見本帳の1件など長い題は … で切る */
  .ss-run--top{display:none}                          /* トップは表紙＝柱を出さない（狭い幅では見出しが切れる） */
}
div.ss-row .ss-row__a{display:none}   /* 押せない行（下位プランの見本帳・お知らせ）に → を出さない */
