/* ============ メディアジョイ・アーカイブ ============ */
:root{
  --bg:#ffffff; --bg2:#f6f4f0; --panel:#ffffff; --ink:#1a1714; --ink-soft:#56504a; --ink-faint:#8a8178;
  --rule:#e6e0d7; --rule-soft:#f0ebe3;
  --brand:#b4442a;        /* 朱 */
  --brand-2:#d98324;      /* 琥珀 */
  --brand-3:#1f4f63;      /* 藍 */
  --link:#1f4f63;
  --shadow:0 1px 2px rgba(26,23,20,.05), 0 8px 24px -12px rgba(26,23,20,.25);
  --shadow-lg:0 2px 4px rgba(26,23,20,.06), 0 24px 48px -20px rgba(26,23,20,.4);
  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  --sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif;
  --maxw:72rem;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#13110f; --bg2:#1b1815; --panel:#1e1a17; --ink:#f0ebe3; --ink-soft:#b8aea2; --ink-faint:#8d8378;
  --rule:#312b25; --rule-soft:#241f1b;
  --brand:#e8714f; --brand-2:#eda03f; --brand-3:#6fb0cc; --link:#8cc3dd;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.7);
  --shadow-lg:0 2px 4px rgba(0,0,0,.5), 0 24px 48px -20px rgba(0,0,0,.9);
}}
:root[data-theme="dark"]{
  --bg:#13110f; --bg2:#1b1815; --panel:#1e1a17; --ink:#f0ebe3; --ink-soft:#b8aea2; --ink-faint:#8d8378;
  --rule:#312b25; --rule-soft:#241f1b;
  --brand:#e8714f; --brand-2:#eda03f; --brand-3:#6fb0cc; --link:#8cc3dd;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.7);
  --shadow-lg:0 2px 4px rgba(0,0,0,.5), 0 24px 48px -20px rgba(0,0,0,.9);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.8;font-feature-settings:"palt" 1;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--link);text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:46rem}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid var(--rule)}
.topbar .wrap{display:flex;align-items:center;gap:18px;min-height:58px}
.brand{display:flex;align-items:center;flex:0 0 auto;line-height:0}
.brand img{height:21px;width:auto;display:block;transition:opacity .2s}
.brand:hover img{opacity:.68}
:root:not([data-theme="light"]) .brand img{filter:invert(1)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .brand img{filter:none}}
:root[data-theme="dark"] .brand img{filter:invert(1)}
:root[data-theme="light"] .brand img{filter:none}
.topbar nav{display:flex;gap:16px;font-size:13px;overflow-x:auto;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%);
          mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%)}
.topbar nav::-webkit-scrollbar{display:none}
.topbar nav a{color:var(--ink-soft);white-space:nowrap;padding:4px 0;border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s}
.topbar nav a:hover{color:var(--brand);border-bottom-color:var(--brand)}
.topbar .spacer{flex:1}
button.theme{font-size:12px;color:var(--ink-soft);background:transparent;border:1px solid var(--rule);
  border-radius:999px;padding:5px 13px;cursor:pointer;white-space:nowrap;transition:.2s}
button.theme:hover{border-color:var(--brand);color:var(--brand)}
.crumb{font-size:13px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumb a{color:var(--ink-soft)}
.crumb a:hover{color:var(--brand)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(78vh,660px);display:flex;align-items:flex-end;
  overflow:hidden;background:var(--bg2)}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04)}
.hero-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(185deg,rgba(10,8,6,.42) 0%,rgba(10,8,6,.18) 30%,rgba(10,8,6,.78) 76%,rgba(10,8,6,.94) 100%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-top:7rem;padding-bottom:4.4rem;color:#fff}
.hero .wordmark{font-family:var(--serif);font-size:clamp(2.9rem,8.6vw,6.4rem);line-height:1;
  margin:0;font-weight:600;letter-spacing:.012em;color:#fff;
  text-shadow:0 3px 36px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.35)}
.hero .brandrule{width:78px;height:3px;border-radius:2px;margin:1.9rem 0 1.6rem;
  background:linear-gradient(90deg,var(--brand-2),color-mix(in srgb,var(--brand-2) 10%,transparent));
  box-shadow:0 0 20px color-mix(in srgb,var(--brand-2) 55%,transparent)}
.hero .tag{margin:0;max-width:44rem;font-size:clamp(13.5px,1.85vw,1.2rem);letter-spacing:.11em;
  line-height:2;font-weight:500;color:rgba(255,255,255,.93);
  text-shadow:0 1px 16px rgba(0,0,0,.65),0 0 2px rgba(0,0,0,.4)}
.hero .tag .sep{color:var(--brand-2);margin:0 .45em;font-weight:400}
.hero .tag .l1,.hero .tag .l2{white-space:nowrap}
.hero .figcred{position:absolute;z-index:1;right:clamp(18px,4vw,46px);bottom:1.15rem;margin:0;
  font-size:11.5px;letter-spacing:.07em;color:rgba(255,255,255,.62);
  text-shadow:0 1px 10px rgba(0,0,0,.7)}

/* ---------- sections ---------- */
section{padding:5rem 0}
section.alt{background:var(--bg2)}
.sec-head{display:flex;align-items:baseline;gap:1rem;margin:0 0 2.4rem;flex-wrap:wrap}
.sec-head h2{font-family:var(--serif);font-size:clamp(1.45rem,2.6vw,2rem);margin:0;font-weight:600;
  letter-spacing:.02em}
.sec-head .en{font-size:11px;letter-spacing:.28em;color:var(--brand);font-weight:600;text-transform:uppercase}
.sec-head p{margin:0;color:var(--ink-faint);font-size:13.5px;flex-basis:100%}

/* ---------- card grid ---------- */
.grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.grid.two{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}
.card{display:flex;flex-direction:column;background:var(--panel);border-radius:14px;overflow:hidden;
  border:1px solid var(--rule);box-shadow:var(--shadow);
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s,border-color .35s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--brand) 40%,var(--rule))}
.card .thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg2);flex:none}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.card:hover .thumb img{transform:scale(1.06)}
.card .thumb.noimg{display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 16%,var(--bg2)),var(--bg2) 70%)}
.card .thumb.noimg span{font-family:var(--serif);color:var(--brand);
  padding:0 1.2rem;text-align:center;opacity:.85;
  font-size:clamp(.95rem,2.1vw,1.28rem);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  overflow-wrap:anywhere}
.card .body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card .tag{font-size:10.5px;letter-spacing:.16em;color:var(--brand);font-weight:600}
.card h3{margin:0;font-family:var(--serif);font-size:1.1rem;line-height:1.55;font-weight:600;color:var(--ink)}
.card p{margin:0;font-size:12.5px;line-height:1.9;color:var(--ink-soft);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .more{margin-top:auto;padding-top:.5rem;font-size:11.5px;color:var(--brand);letter-spacing:.08em}

/* corner cards (bigger) */
.ccard .thumb{aspect-ratio:3/2}
.ccard h3{font-size:1.32rem}
.ccard .count{font-size:11.5px;color:var(--ink-faint);letter-spacing:.1em}

/* feature row */
.feature{display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:center}
.feature .ph{border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/10;background:var(--bg2)}
.feature .ph img{width:100%;height:100%;object-fit:cover}
.feature h3{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.5;margin:.6rem 0 .9rem}
.feature p{color:var(--ink-soft);font-size:14px;line-height:2;margin:0 0 1.3rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-size:13px;letter-spacing:.06em;
  padding:.72rem 1.5rem;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;
  transition:transform .25s,box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px -8px var(--brand);background:var(--brand-2)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule)}
.btn.ghost:hover{border-color:var(--brand);color:var(--brand);background:transparent;box-shadow:none}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .card,.card .thumb img,.btn{transition:none}
  html{scroll-behavior:auto}
}

/* ---------- corner index page ---------- */
.chero{position:relative;overflow:hidden;background:var(--bg2);min-height:clamp(260px,38vh,380px);
  display:flex;align-items:flex-end}
.chero .hero-img img{filter:saturate(.88) blur(2px);transform:scale(1.06)}
.chero .hero-img::after{background:linear-gradient(180deg,rgba(10,8,6,.5),rgba(10,8,6,.9))}
.chero .wrap{position:relative;z-index:1;width:100%;padding-top:4.5rem;padding-bottom:2.4rem;color:#fff}
.chero h1{text-shadow:0 2px 18px rgba(0,0,0,.5);font-family:var(--serif);font-size:clamp(1.8rem,4.4vw,2.9rem);margin:.5rem 0 .7rem;font-weight:600}
.chero p{margin:0;max-width:42rem;color:rgba(255,255,255,.85);font-size:14px;line-height:1.95}
.chero .kicker{font-size:11px;letter-spacing:.26em;color:var(--brand-2);font-weight:600}
.chero .num{margin-top:1.2rem;font-size:12px;color:rgba(255,255,255,.7);letter-spacing:.1em}
.toolbar{position:sticky;top:58px;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);padding:14px 0}
.toolbar .wrap{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.toolbar input{flex:1;min-width:200px;font-family:var(--sans);font-size:14px;padding:.62rem 1rem;
  border:1px solid var(--rule);border-radius:999px;background:var(--panel);color:var(--ink);transition:.2s}
.toolbar input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}
.toolbar .hit{font-size:12px;color:var(--ink-faint);white-space:nowrap}
.catbar{display:flex;gap:8px;flex-wrap:wrap}
.catbar button{font-size:12px;padding:.36rem .9rem;border-radius:999px;border:1px solid var(--rule);
  background:transparent;color:var(--ink-soft);cursor:pointer;transition:.2s}
.catbar button:hover{border-color:var(--brand);color:var(--brand)}
.catbar button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.catlabel{grid-column:1/-1;display:flex;align-items:center;gap:1rem;margin:1.6rem 0 -.4rem}
.catlabel:first-child{margin-top:0}
.catlabel span{font-size:11.5px;letter-spacing:.2em;color:var(--brand);font-weight:600;white-space:nowrap}
.catlabel i{flex:1;height:1px;background:var(--rule)}

/* ---------- article ---------- */
.ahero{position:relative;overflow:hidden;background:var(--bg2)}
.ahero .ph{position:relative;height:clamp(230px,36vh,400px)}
.ahero .ph img{width:100%;height:100%;object-fit:cover}
.ahero .ph > a{display:block;width:100%;height:100%}
.ahero .ph::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,8,6,.25),rgba(10,8,6,.1) 40%,var(--bg) 100%)}
article{padding:2.6rem 0 4.5rem}
article .wrap{max-width:46rem}
.eyebrow{font-size:11.5px;letter-spacing:.2em;color:var(--brand);margin:0 0 .9rem;font-weight:600}
h1.title{font-family:var(--serif);font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.5;margin:0 0 1.3rem;
  font-weight:600;letter-spacing:.01em}
.meta{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1.1rem 0;
  margin:0 0 2.6rem;font-size:13px;line-height:1.9;color:var(--ink-soft)}
.meta dl{margin:0;display:grid;grid-template-columns:8.8em 1fr;gap:.25rem .9rem}
.meta dt{color:var(--ink-faint)}
.meta dd{margin:0;min-width:0}
.meta dd.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
article .body{font-family:var(--serif);font-size:17px;line-height:2.0;letter-spacing:.01em}
article .body p{margin:0 0 1.3rem;text-align:justify;text-justify:inter-ideograph}
article h2{font-family:var(--serif);font-size:1.35rem;margin:3rem 0 1rem;font-weight:600}
article h3{font-family:var(--sans);font-size:.95rem;margin:3.4rem 0 1.4rem;font-weight:700;
  letter-spacing:.12em;color:var(--brand);display:flex;align-items:center;gap:.9rem}
article h3::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 45%,transparent),transparent)}
article h4{font-family:var(--sans);font-size:.84rem;margin:2.6rem 0 1rem;font-weight:700;
  color:var(--ink-faint);letter-spacing:.1em}
article h5.inlinehead{font-family:var(--serif);font-size:1.08rem;margin:2.2rem 0 .7rem;font-weight:600;color:var(--ink)}
article ul{margin:0 0 1.5rem;padding-left:1.3rem}
article li{margin:.2rem 0}
strong{font-weight:700}
hr{border:0;border-top:1px solid var(--rule);margin:2.8rem 0}
blockquote{margin:1.8rem 0;padding:1rem 1.2rem;border-left:3px solid var(--brand);
  background:var(--bg2);border-radius:0 8px 8px 0;color:var(--ink-soft);font-size:.95em}
blockquote p:last-child{margin-bottom:0}
code{font-family:ui-monospace,Menlo,monospace;font-size:.85em;background:var(--bg2);padding:.12em .4em;border-radius:4px}
pre{background:var(--bg2);padding:1rem 1.1rem;border-radius:10px;overflow-x:auto;border:1px solid var(--rule)}
pre code{background:none;padding:0}
table{border-collapse:collapse;width:100%;margin:1.7rem 0;font-family:var(--sans);font-size:13px}
th,td{border:1px solid var(--rule);padding:.55rem .8rem;text-align:left}
th{background:var(--bg2);font-weight:700}
.todo{font-family:var(--sans);font-size:12.5px;color:var(--ink-faint);border:1px dashed var(--rule);
  padding:.6rem .9rem;border-radius:8px;margin:0 0 1.3rem}
figure{margin:2.2rem 0;text-align:center}
figure img{border-radius:10px;box-shadow:var(--shadow);background:var(--bg2);transition:transform .4s,box-shadow .4s}
figure a{display:inline-block;line-height:0}
figure a:hover img{transform:scale(1.015);box-shadow:var(--shadow-lg)}
figcaption{font-family:var(--sans);font-size:12.5px;line-height:1.8;color:var(--ink-faint);
  margin-top:.7rem;text-align:left}
details{margin:2.6rem 0;font-family:var(--sans);font-size:12.5px;color:var(--ink-soft);
  background:var(--bg2);border-radius:10px;padding:.4rem 1.1rem}
details summary{cursor:pointer;color:var(--ink-faint);padding:.6rem 0}
details ul{margin:.4rem 0 1rem;word-break:break-all}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:3.6rem 0 0}
.pager a{display:block;padding:1.1rem 1.2rem;border:1px solid var(--rule);border-radius:12px;
  background:var(--panel);transition:.25s;font-family:var(--sans)}
.pager a:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow)}
.pager .lb{display:block;font-size:11px;letter-spacing:.16em;color:var(--brand);margin-bottom:.35rem}
.pager .tt{font-size:13.5px;color:var(--ink);line-height:1.6}
.pager .nx{text-align:right}
.pager .ghost{visibility:hidden}

/* ---------- footer ---------- */
footer.site{background:var(--bg2);border-top:1px solid var(--rule);padding:3.4rem 0 3rem;margin-top:0}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:34px}
footer.site h4{font-size:11px;letter-spacing:.2em;color:var(--brand);margin:0 0 1rem;font-weight:700}
footer.site ul{list-style:none;margin:0;padding:0;font-size:13px;line-height:2.1}
footer.site a{color:var(--ink-soft)}
footer.site a:hover{color:var(--brand)}
footer.site .fb{margin:0 0 1rem;line-height:0}
footer.site .fb img{height:26px;width:auto;display:block;opacity:.9}
:root:not([data-theme="light"]) footer.site .fb img{filter:invert(1)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) footer.site .fb img{filter:none}}
:root[data-theme="dark"] footer.site .fb img{filter:invert(1)}
:root[data-theme="light"] footer.site .fb img{filter:none}
footer.site .note{font-size:12px;color:var(--ink-faint);line-height:1.95;margin:0}
footer.site .copy{margin:2.6rem 0 0;padding-top:1.4rem;border-top:1px solid var(--rule);
  font-size:11.5px;color:var(--ink-faint)}

@media (max-width:900px){
  .feature{grid-template-columns:1fr;gap:20px}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  body{font-size:15px}
  .wrap{padding:0 18px}
  section{padding:3.4rem 0}
  .hero{min-height:min(72vh,560px)}
  .hero .wrap{padding-top:5rem;padding-bottom:3rem}
  .hero .brandrule{margin:1.3rem 0 1.1rem;width:60px}
  .hero .tag{letter-spacing:.05em;line-height:1.95}
  .hero .tag .l2{display:block}
  .hero .tag .sep{margin:0 0 0 .3em}
  .hero .figcred{right:auto;left:18px;bottom:1.1rem;font-size:10.5px;letter-spacing:.04em}
  .grid{gap:22px;grid-template-columns:1fr}
  .grid.two{grid-template-columns:1fr}
  article .body{font-size:16px;line-height:1.95}
  .meta dl{grid-template-columns:1fr;gap:0}
  .meta dt{margin-top:.55rem}
  .pager{grid-template-columns:1fr}
  .pager .nx{text-align:left}
  footer.site .cols{grid-template-columns:1fr}
  .toolbar{position:static}
}

/* ---------- company profile (About) ---------- */
.company{max-width:52rem;margin:0 auto;text-align:left}
.company .lead{color:var(--ink-soft);font-size:15px;line-height:2.15;margin:0 0 2.6rem;text-align:center}
.company dl{margin:0;display:grid;grid-template-columns:10.6em 1fr;gap:0;
  border-top:1px solid var(--rule);font-size:14px;line-height:1.95}
.company dt{color:var(--ink-faint);letter-spacing:.06em;padding:.85rem 0;
  border-bottom:1px solid var(--rule)}
.company dd{margin:0;padding:.85rem 0;border-bottom:1px solid var(--rule);color:var(--ink-soft)}
.company dd b{font-weight:600;color:var(--ink)}
.company dd a{color:var(--brand);font-weight:600}
.company dd .biz{display:block;margin-top:.15rem}
.company .note2{margin:1.4rem 0 0;font-size:12px;color:var(--ink-faint);line-height:1.9}
@media (max-width:620px){
  .company dl{grid-template-columns:1fr}
  .company dt{padding:.8rem 0 .1rem;border-bottom:0}
  .company dd{padding:0 0 .8rem}
}

/* ---------- online shop links ---------- */
.topbar .shop{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;
  font-size:12.5px;letter-spacing:.05em;font-weight:600;white-space:nowrap;
  padding:6px 15px 6px 7px;border-radius:999px;border:0;text-decoration:none;
  background:#141210;color:#fff;transition:background .2s,box-shadow .2s}
.topbar .shop .mj{display:inline-grid;place-items:center;flex:0 0 auto;
  width:21px;height:21px;border-radius:6px;background:#f7f5f1;color:#141210;
  font-family:Helvetica,Arial,"Helvetica Neue",sans-serif;font-weight:800;
  font-size:11.5px;letter-spacing:-.04em;line-height:1;transition:background .2s,color .2s}
.topbar .shop .ar{opacity:.55;font-size:10px;margin-left:-3px}
.topbar .shop:hover{background:#2d2824;box-shadow:0 2px 14px rgba(0,0,0,.18)}
.topbar .shop .mini{display:none}
/* dark: 反転（墨地 → 生成り地） */
:root:not([data-theme="light"]) .topbar .shop{background:#f3efe9;color:#141210}
:root:not([data-theme="light"]) .topbar .shop .mj{background:#141210;color:#f3efe9}
:root:not([data-theme="light"]) .topbar .shop:hover{background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.45)}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .topbar .shop{background:#141210;color:#fff}
  :root:not([data-theme="dark"]) .topbar .shop .mj{background:#f7f5f1;color:#141210}
  :root:not([data-theme="dark"]) .topbar .shop:hover{background:#2d2824;box-shadow:0 2px 14px rgba(0,0,0,.18)}
}
:root[data-theme="dark"] .topbar .shop{background:#f3efe9;color:#141210}
:root[data-theme="dark"] .topbar .shop .mj{background:#141210;color:#f3efe9}
:root[data-theme="dark"] .topbar .shop:hover{background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.45)}
:root[data-theme="light"] .topbar .shop{background:#141210;color:#fff}
:root[data-theme="light"] .topbar .shop .mj{background:#f7f5f1;color:#141210}
:root[data-theme="light"] .topbar .shop:hover{background:#2d2824;box-shadow:0 2px 14px rgba(0,0,0,.18)}
.shopline{margin:1rem 0 0;font-size:12.5px;color:var(--ink-faint);line-height:1.9}
.shopline a{color:var(--brand);font-weight:600}
.shopnote{border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--brand) 6%,transparent)}
.shopnote .wrap{display:flex;align-items:center;gap:1rem 1.4rem;flex-wrap:wrap;padding-top:.95rem;padding-bottom:.95rem}
.shopnote .t{font-size:13.5px;line-height:1.85;color:var(--ink-soft)}
.shopnote .t a{color:var(--brand);font-weight:600}
.shopnote .btn{margin-left:auto}
.shopcta{margin:3rem 0 0;padding:1.6rem 1.7rem;border:1px solid var(--rule);border-radius:14px;
  background:var(--bg2)}
.shopcta .h{margin:0 0 .5rem;font-weight:600;font-size:14.5px;letter-spacing:.04em}
.shopcta p{margin:0 0 .5rem;font-size:13.5px;line-height:1.95;color:var(--ink-soft)}
.shopcta p:last-child{margin:1rem 0 0}
.shopcta a:not(.btn){color:var(--brand);font-weight:600}
footer.site .note a{color:var(--brand);font-weight:600}
@media (max-width:820px){
  .topbar .shop .full{display:none}
  .topbar .shop .mini{display:inline}
}
@media (max-width:620px){
  .shopnote .btn{margin-left:0}
  .shopcta{padding:1.3rem 1.2rem}
}

/* ---------- author ---------- */
.authorbar{border-bottom:1px solid var(--rule);background:var(--bg2)}
.authorbar .wrap{display:flex;align-items:center;gap:1.1rem;padding-top:1.1rem;padding-bottom:1.1rem}
.authorbar img{width:62px;height:62px;flex:0 0 auto;border-radius:50%;object-fit:cover;
  object-position:50% 22%;border:1px solid var(--rule)}
.authorbar .an{margin:0 0 .25rem;font-weight:600;font-size:14.5px;letter-spacing:.04em}
.authorbar .ab{margin:0;font-size:12.5px;line-height:1.85;color:var(--ink-soft)}
@media (max-width:620px){
  .authorbar .wrap{align-items:flex-start;gap:.9rem}
  .authorbar img{width:52px;height:52px}
  .authorbar .ab{font-size:12px}
}

/* ---------- click to open original ---------- */
a[href*="/orig/"]{cursor:zoom-in}
article .body a[href*="/orig/"]{display:inline-block;position:relative;line-height:0}
article .body a[href*="/orig/"] img{transition:filter .18s}
article .body a[href*="/orig/"]:hover img{filter:brightness(1.06)}
article .body a[href*="/orig/"]::after{content:"原寸";position:absolute;right:8px;bottom:8px;
  font-family:var(--sans);font-size:10.5px;letter-spacing:.1em;line-height:1;padding:5px 8px;
  border-radius:999px;color:#fff;background:rgba(20,16,12,.62);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .18s;pointer-events:none}
article .body a[href*="/orig/"]:hover::after{opacity:1}

/* ---------- order button in article body ---------- */
article .body .orderbtn{margin:1.6rem 0 2rem;text-align:center}
article .body .orderbtn .btn{font-family:var(--sans)}

/* ---------- hamburger menu (narrow screens) ---------- */
.topbar .menu{display:none;flex:0 0 auto;width:38px;height:34px;padding:0;cursor:pointer;
  background:transparent;border:1px solid var(--rule);border-radius:10px;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:.2s}
.topbar .menu span{display:block;width:17px;height:1.6px;border-radius:2px;background:var(--ink-soft);
  transition:transform .22s,opacity .18s}
.topbar .menu:hover{border-color:var(--brand)}
.topbar .menu:hover span{background:var(--brand)}
.topbar .menu[aria-expanded="true"]{border-color:var(--brand)}
.topbar .menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.topbar .menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.topbar .menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

@media (max-width:1699px){
  .topbar .menu{display:flex}
  .topbar nav{position:absolute;top:100%;left:0;right:0;z-index:50;
    display:none;flex-direction:column;gap:0;overflow:visible;font-size:14.5px;
    background:var(--bg);border-bottom:1px solid var(--rule);
    -webkit-mask-image:none;mask-image:none;
    padding:.35rem 0 .7rem;box-shadow:0 22px 34px -24px rgba(0,0,0,.55)}
  .topbar nav.open{display:flex}
  .topbar nav a{padding:.9rem clamp(18px,4vw,46px);border-bottom:0;
    border-left:3px solid transparent;white-space:normal}
  .topbar nav a:hover{border-bottom-color:transparent;border-left-color:var(--brand);
    background:color-mix(in srgb,var(--brand) 6%,transparent)}
  .topbar .spacer{flex:1}
}
@media (max-width:620px){
  .topbar nav a{padding:.85rem 18px}
}

/* 1700px 以上の大画面のみ、ヘッダーを広げて9コーナーを横並び表示 */
@media (min-width:1700px){
  .topbar .wrap{max-width:1660px}
  .topbar nav{gap:15px;-webkit-mask-image:none;mask-image:none}
}

/* ---------- back to top ---------- */
.totop{position:fixed;right:clamp(14px,2.4vw,26px);bottom:clamp(14px,2.4vw,26px);z-index:60;
  width:40px;height:40px;display:grid;place-items:center;border-radius:50%;
  background:color-mix(in srgb,var(--bg) 88%,transparent);border:1px solid var(--rule);
  color:var(--ink-soft);backdrop-filter:blur(8px);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;
  box-shadow:0 6px 18px -10px rgba(0,0,0,.5)}
.totop.on{opacity:1;visibility:visible;transform:none}
.totop:hover{border-color:var(--brand);color:var(--brand)}
.totop svg{width:19px;height:19px;fill:currentColor}
@media (max-width:620px){.totop{width:36px;height:36px}.totop svg{width:17px;height:17px}}
@media print{.totop{display:none}}

/* ショップバッジのサイズ微調整 */
@media (max-width:520px){
  .topbar .shop{padding:5px 11px 5px 6px;gap:7px;font-size:12px}
  .topbar .shop .mj{width:19px;height:19px;border-radius:5px;font-size:10.5px}
  .topbar .shop .ar{display:none}
}

/* ---------- sitemap ---------- */
.smgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:2.2rem 2rem}
.smcol h2{font-size:15px;letter-spacing:.04em;margin:0 0 .4rem;display:flex;align-items:baseline;gap:.5rem}
.smcol h2 a{color:var(--ink)}
.smcol h2 a:hover{color:var(--brand)}
.smcol h2 .c{font-size:11px;color:var(--ink-faint);font-weight:400}
.smcol .d{margin:0 0 .8rem;font-size:12px;line-height:1.8;color:var(--ink-faint)}
.smcol ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.smcol li{font-size:13px;line-height:1.6;padding:.42rem 0;border-bottom:1px solid var(--rule)}
.smcol li a{color:var(--ink-soft)}
.smcol li a:hover{color:var(--brand)}
.smcol li.cl{color:var(--brand);font-size:11px;letter-spacing:.1em;font-weight:600;
  padding-top:.9rem;border-bottom:0}
.smfoot{margin-top:3.4rem;padding-top:2rem;border-top:1px solid var(--rule)}
.smfoot h2{font-size:15px;letter-spacing:.04em;margin:0 0 .9rem}
.smfoot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.8rem}
.smfoot li a{font-size:13.5px;color:var(--ink-soft)}
.smfoot li a:hover{color:var(--brand)}

/* 本文中のリンク色をサイトに合わせる */
article .body a:not(.btn){color:var(--brand);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:color-mix(in srgb,var(--brand) 38%,transparent)}
article .body a:not(.btn):hover{text-decoration-color:var(--brand)}
article .body a[href$=".pdf"]::after{content:" ↓";font-size:.86em;opacity:.75}
article .body a[target="_blank"]:not(.btn):not([href*="/orig/"])::after{content:" ↗";font-size:.86em;opacity:.75}
/* ギャラリーの写真を見やすく */
#c12 article .body p img,.galleryish img{border-radius:8px}

/* ---------- トップページ サイト内検索 ---------- */
.topsearch{border-bottom:1px solid var(--rule);background:var(--bg2)}
.topsearch .wrap{padding-top:1.9rem;padding-bottom:1.9rem}
.tsbox{position:relative;max-width:660px;margin:0 auto}
.tsbox input{width:100%;font:inherit;font-size:15.5px;line-height:1.5;
  padding:.9rem 2.9rem .9rem 3rem;border:1px solid var(--rule);border-radius:999px;
  background:var(--bg);color:var(--ink);appearance:none;-webkit-appearance:none;
  transition:border-color .2s,box-shadow .2s}
.tsbox input::placeholder{color:var(--ink-faint)}
.tsbox input:focus{outline:none;border-color:var(--ink);box-shadow:0 3px 20px rgba(0,0,0,.09)}
.tsbox input::-webkit-search-cancel-button{display:none}
.tsbox .ic{position:absolute;left:1.15rem;top:50%;transform:translateY(-50%);
  width:18px;height:18px;color:var(--ink-faint);pointer-events:none}
.tsbox .clr{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);
  width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:50%;
  background:transparent;color:var(--ink-faint);font-size:17px;line-height:1;cursor:pointer;
  transition:.2s}
.tsbox .clr:hover{background:color-mix(in srgb,var(--ink) 9%,transparent);color:var(--ink)}
.tsbox .clr[hidden],.tsres[hidden]{display:none}
.tshint{max-width:660px;margin:.8rem auto 0;text-align:center;
  font-size:12.5px;letter-spacing:.03em;color:var(--ink-faint)}
.tsres{max-width:660px;margin:1.3rem auto 0;border:1px solid var(--rule);border-radius:14px;
  background:var(--bg);overflow:hidden}
.tsres .tsr{display:block;padding:.85rem 1.15rem;border-bottom:1px solid var(--rule);
  text-decoration:none;color:inherit;transition:background .15s}
.tsres .tsr:last-of-type{border-bottom:0}
.tsres .tsr:hover{background:var(--bg2)}
.tsres .tc{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint);margin:0 0 .22rem}
.tsres .tc i{font-style:normal;letter-spacing:.06em;opacity:.8}
.tsres .tt{display:block;font-family:var(--serif);font-size:15px;line-height:1.5;
  color:var(--ink);margin:0 0 .18rem}
.tsres .ts{display:block;font-size:12.5px;line-height:1.7;color:var(--ink-soft);
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tsres mark{background:color-mix(in srgb,var(--brand) 22%,transparent);
  color:inherit;border-radius:3px;padding:0 .12em}
.tsmore{margin:0;padding:.8rem 1.15rem;border-top:1px solid var(--rule);
  font-size:12px;color:var(--ink-faint);text-align:center;background:var(--bg2)}
@media (max-width:620px){
  .topsearch .wrap{padding-top:1.4rem;padding-bottom:1.4rem}
  .tsbox input{font-size:15px;padding:.8rem 2.6rem .8rem 2.7rem}
  .tsbox .ic{left:1rem;width:16px;height:16px}
  .tsres .tt{font-size:14.5px}
}

/* ---------- 販売中の商品一覧 ---------- */
.prodgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:1.5rem 1.3rem}
.prodgrid .pgroup{grid-column:1/-1;margin:1.1rem 0 -.3rem;font-size:12px;font-weight:600;
  letter-spacing:.17em;color:var(--ink-faint);text-transform:none;
  display:flex;align-items:center;gap:.9rem}
.prodgrid .pgroup::after{content:"";flex:1;height:1px;background:var(--rule)}
.prodgrid .pgroup:first-child{margin-top:0}
.prod{display:flex;flex-direction:column;text-align:left;text-decoration:none;color:inherit;
  font:inherit;padding:0;cursor:pointer;width:100%;
  border:1px solid var(--rule);border-radius:13px;overflow:hidden;background:var(--bg);
  transition:border-color .2s,box-shadow .25s,transform .25s}
.prod:hover{border-color:color-mix(in srgb,var(--ink) 34%,transparent);
  box-shadow:0 10px 30px rgba(0,0,0,.09);transform:translateY(-2px)}
.prod .ph{display:block;aspect-ratio:4/3;background:var(--bg2);overflow:hidden;
  border-bottom:1px solid var(--rule)}
.prod .ph img{width:100%;height:100%;object-fit:contain;display:block;
  padding:.7rem;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.prod:hover .ph img{transform:scale(1.04)}
.prod .pb{display:flex;flex-direction:column;gap:.35rem;padding:.85rem .95rem 1rem;flex:1}
.prod .pt{font-family:var(--serif);font-size:14px;line-height:1.55;color:var(--ink)}
.prod .pn{margin:0;font-size:11.5px;line-height:1.75;color:var(--ink-faint);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.prod .pp{margin-top:auto;padding-top:.5rem;font-size:15px;font-weight:600;
  letter-spacing:.02em;color:var(--ink)}
.prod .pp i{font-style:normal;font-size:11.5px;font-weight:400;margin-left:.15em;color:var(--ink-soft)}
.prod .pmore{font-size:11px;letter-spacing:.09em;color:var(--brand);opacity:.9}
@media (max-width:620px){
  .prodgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.1rem .9rem}
  .prod .pt{font-size:13px}
  .prod .pn{display:none}
  .prod .pb{padding:.7rem .75rem .85rem}
}

/* ---------- 商品詳細ダイアログ ---------- */
.proddlg{padding:0;border:0;border-radius:16px;max-width:min(880px,calc(100vw - 2rem));
  width:100%;max-height:min(88vh,920px);background:var(--bg);color:var(--ink);
  box-shadow:0 30px 90px rgba(0,0,0,.35);overflow:visible}
.proddlg::backdrop{background:rgba(12,10,8,.62);backdrop-filter:blur(3px)}
.proddlg .x{position:absolute;top:-14px;right:-14px;z-index:3;width:38px;height:38px;
  display:grid;place-items:center;border-radius:50%;border:1px solid var(--rule);
  background:var(--bg);color:var(--ink-soft);font-size:21px;line-height:1;cursor:pointer;
  box-shadow:0 4px 18px rgba(0,0,0,.22);transition:.2s}
.proddlg .x:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.proddlg .in{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);
  grid-template-areas:"ph tx" "th tx";align-content:start;
  max-height:min(88vh,920px);overflow:auto;border-radius:16px}
.proddlg .dph{grid-area:ph;position:relative;aspect-ratio:1/1;background:var(--bg2);
  border-right:1px solid var(--rule)}
.proddlg .dph img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  padding:1.4rem;opacity:0;transition:opacity .25s}
.proddlg .dph img.on{opacity:1}
.proddlg .dthumbs{grid-area:th;display:flex;gap:.5rem;padding:.7rem .9rem 1rem;flex-wrap:wrap;
  border-right:1px solid var(--rule)}
.proddlg .dthumbs button{width:52px;height:52px;padding:3px;border-radius:7px;cursor:pointer;
  background:var(--bg);border:1px solid var(--rule);transition:.2s}
.proddlg .dthumbs button.on{border-color:var(--ink)}
.proddlg .dthumbs img{width:100%;height:100%;object-fit:contain}
.proddlg .dtx{grid-area:tx;padding:2rem 2.1rem 2.2rem}
.proddlg .dg{margin:0 0 .5rem;font-size:11px;letter-spacing:.16em;color:var(--ink-faint)}
.proddlg .dtx h3{margin:0 0 .8rem;font-family:var(--serif);font-weight:600;
  font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.5}
.proddlg .dp{margin:0 0 1.2rem;font-size:1.3rem;font-weight:600;letter-spacing:.02em}
.proddlg .dp i{font-style:normal;font-size:12px;font-weight:400;margin-left:.3em;color:var(--ink-soft)}
.proddlg .dd{margin:0 0 1.6rem;font-size:13.5px;line-height:2;color:var(--ink-soft)}
.proddlg .dbtn{margin:0 0 .8rem}
.proddlg .dnote{margin:0;font-size:11.5px;color:var(--ink-faint)}
@media (max-width:760px){
  .proddlg{max-height:90vh;border-radius:14px}
  .proddlg .in{grid-template-columns:1fr;grid-template-areas:"ph" "th" "tx";max-height:90vh}
  .proddlg .dph{aspect-ratio:4/3;border-right:0;border-bottom:1px solid var(--rule)}
  .proddlg .dthumbs{border-right:0}
  .proddlg .dtx{padding:1.3rem 1.3rem 1.8rem}
  .proddlg .x{top:8px;right:8px}
}
.prod .pp.ask{font-size:12.5px;font-weight:500;color:var(--ink-faint);letter-spacing:.02em}
.proddlg .dp.ask{font-size:14px;font-weight:500;color:var(--ink-faint)}

/* ---------- トップ：ヒーロー内の入口ボタン ---------- */
.hero .heroact{margin:2.4rem 0 0}
.hbtn{display:inline-flex;align-items:center;gap:.65em;
  padding:0;border:0;background:none;box-shadow:none;text-decoration:none;
  font-size:15px;letter-spacing:.14em;font-weight:500;color:#fff;
  text-shadow:0 1px 14px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.35);
  transition:opacity .2s}
.hbtn svg{width:15px;height:15px;fill:currentColor;transition:transform .25s}
.hbtn:hover{color:#fff;opacity:.72}
.hbtn:hover svg{transform:translateX(4px)}
@media (max-width:620px){
  .hero .heroact{margin-top:1.6rem}
  .hbtn{font-size:14px}
}

/* ---------- 第2階層：画像なしの見出し帯 ---------- */
.chero.chero-flat{min-height:0;background:var(--bg2);border-bottom:1px solid var(--rule);
  display:block;color:var(--ink)}
.chero.chero-flat .wrap{padding-top:clamp(3.2rem,7vw,5.2rem);padding-bottom:clamp(2.4rem,5vw,3.6rem)}
.chero.chero-flat .kicker{color:var(--brand)}
.chero.chero-flat h1{color:var(--ink);text-shadow:none}
.chero.chero-flat p{color:var(--ink-soft)}

/* ---------- トップ：モノクロームのフッター ---------- */
footer.site.mono{border-top:1px solid var(--rule);background:var(--bg);padding:0}
footer.site.mono .wrap{text-align:center;padding-top:clamp(2.6rem,5vw,3.6rem);
  padding-bottom:clamp(2.2rem,4vw,3rem)}
footer.site.mono .fb{margin:0 0 1.3rem}
footer.site.mono .fb img{height:26px;width:auto;display:inline-block;
  filter:grayscale(1) contrast(.05) brightness(.45)}
:root:not([data-theme="light"]) footer.site.mono .fb img{filter:grayscale(1) invert(1) contrast(.05) brightness(1.6)}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) footer.site.mono .fb img{filter:grayscale(1) contrast(.05) brightness(.45)}
}
:root[data-theme="dark"] footer.site.mono .fb img{filter:grayscale(1) invert(1) contrast(.05) brightness(1.6)}
:root[data-theme="light"] footer.site.mono .fb img{filter:grayscale(1) contrast(.05) brightness(.45)}
footer.site.mono .note{margin:0 auto .9rem;max-width:46rem;font-size:12.5px;line-height:2;
  color:var(--ink-faint)}
footer.site.mono .note a{color:var(--ink-soft);font-weight:500;text-decoration:none;
  border-bottom:1px solid var(--rule);padding-bottom:1px;transition:.2s}
footer.site.mono .note a:hover{color:var(--ink);border-bottom-color:var(--ink)}
footer.site.mono .copy{margin:1.6rem 0 0;font-size:11px;letter-spacing:.1em;color:var(--ink-faint)}
.chero.chero-flat h1.en-h1{font-family:var(--serif);font-weight:600;letter-spacing:.01em;
  font-size:clamp(2rem,5vw,3.2rem)}

/* ヒーローのタグラインもコンテンツへのリンクにする */
.hero .tag a.taglink{color:inherit;text-decoration:none;display:inline;
  transition:opacity .2s}
.hero .tag a.taglink:hover{opacity:.72}

/* ショップバッジ内の小さな「オンラインショップ」表記 */
.topbar .shop .tx{display:flex;flex-direction:column;align-items:center;
  line-height:1.2;gap:1px}
.topbar .shop .sub{font-size:9px;letter-spacing:.16em;font-weight:500;opacity:.6;
  line-height:1.1}
.topbar .shop{padding-top:5px;padding-bottom:5px}
@media (max-width:820px){.topbar .shop .sub{display:none}}

/* セクション内の小見出し（Contents のオリジナル商材など） */
.subhead{display:flex;align-items:center;gap:.9rem;margin:2.4rem 0 1.2rem;
  font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--ink-soft)}
.subhead:first-of-type{margin-top:.4rem}
.subhead span{font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--ink-faint);
  padding:2px 9px;border:1px solid var(--rule);border-radius:999px}
.subhead::after{content:"";flex:1;height:1px;background:var(--rule)}

/* ---------- 宅配買取ページ ---------- */
.ksteps{list-style:none;margin:0;padding:0;counter-reset:k;
  display:grid;gap:1.1rem}
@media(min-width:800px){.ksteps{grid-template-columns:1fr 1fr;gap:1.1rem 1.6rem}}
.kstep{display:flex;gap:1.1rem;background:var(--panel);border:1px solid var(--rule);
  border-radius:14px;padding:1.4rem 1.5rem;box-shadow:var(--shadow)}
.kicon{position:relative;flex:0 0 auto;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;background:var(--bg2);border:1px solid var(--rule);
  color:var(--brand-3)}
.kicon svg{width:22px;height:22px}
.kno{position:absolute;right:-6px;bottom:-6px;width:21px;height:21px;border-radius:50%;
  background:var(--brand);color:#fff;font-size:11px;font-weight:700;line-height:21px;
  text-align:center;letter-spacing:0}
.kbody{min-width:0}
.kbody h3{font-family:var(--serif);font-size:1.08rem;font-weight:600;margin:.1rem 0 .4rem;
  letter-spacing:.02em}
.kbody p{margin:0;font-size:14px;line-height:1.85;color:var(--ink-soft)}
.knote{margin:.7rem 0 0;padding:0;list-style:none}
.knote li{position:relative;padding-left:1.1em;font-size:12.5px;line-height:1.8;
  color:var(--ink-faint);margin-top:.25rem}
.knote li::before{content:"※";position:absolute;left:0;color:var(--brand-2)}

.kcontact{display:grid;gap:1.1rem}
@media(min-width:800px){.kcontact{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.6rem}}
.kcontact .kcard{background:var(--panel);border:1px solid var(--rule);border-radius:14px;
  padding:1.6rem 1.7rem;box-shadow:var(--shadow);display:flex;flex-direction:column;
  justify-content:center}
.kcard .kl{margin:0 0 .6rem;font-size:11px;letter-spacing:.24em;color:var(--brand);
  font-weight:600;text-transform:uppercase}
.ktel{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.2rem);
  letter-spacing:.04em;line-height:1.25}
.ktel a{color:var(--ink)}
.ktel a:hover{color:var(--brand)}
.kh{margin:.5rem 0 0;font-size:12.5px;color:var(--ink-faint);line-height:1.8}
.kbtns{margin:0;display:flex;flex-wrap:wrap;gap:.7rem}
.kaddr{margin:1.6rem 0 0;font-size:12.5px;line-height:1.9;color:var(--ink-faint)}

