@charset "UTF-8";
/* =========================================================
   Dimor コラム 共通スタイル
   本体サイト(index.html)のデザイントークンに準拠
========================================================= */
:root{
  --ink:#2c2620;
  --ink-soft:#5c5246;
  --paper:#f4ede1;
  --paper-deep:#ebe0cf;
  --ochre:#c08440;
  --ochre-deep:#a96b2c;
  --yomogi:#5f6b45;
  --yomogi-deep:#454e31;
  --glow:#e7a861;
  --line:#d8cab2;
  --max:760px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Zen Kaku Gothic New",system-ui,sans-serif;
  font-weight:300;
  color:var(--ink);
  background:var(--paper);
  line-height:1.95;
  letter-spacing:.03em;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ochre-deep)}

/* ---------- ヘッダー ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 20px;
  background:rgba(244,237,225,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand-logo{width:42px;height:42px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.brand span{font-family:"Cormorant Garamond",serif;font-size:1.5rem;letter-spacing:.06em;line-height:1.2}
.brand small{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:.58rem;letter-spacing:.22em;color:var(--ochre-deep);font-weight:400}
.nav-back{font-size:.8rem;letter-spacing:.1em;text-decoration:none;color:var(--ink-soft);white-space:nowrap}
.nav-back:hover{color:var(--ochre-deep)}

/* ---------- 記事本体 ---------- */
.article{max-width:var(--max);margin:0 auto;padding:54px 22px 20px}
.crumb{font-size:.74rem;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:26px}
.crumb a{color:var(--ink-soft);text-decoration:none}
.crumb a:hover{color:var(--ochre-deep)}
.eyebrow{
  font-family:"Cormorant Garamond",serif;font-style:italic;
  font-size:.95rem;letter-spacing:.14em;color:var(--ochre);display:block;margin-bottom:.5rem;
}
.article h1{
  font-family:"Shippori Mincho",serif;
  font-size:clamp(1.6rem,4.6vw,2.3rem);
  font-weight:600;line-height:1.6;letter-spacing:.03em;
  margin-bottom:1.1rem;
}
.meta{font-size:.76rem;letter-spacing:.08em;color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:34px}
.lead{
  background:var(--paper-deep);border-radius:10px;padding:22px 24px;margin-bottom:40px;
  font-size:.95rem;color:var(--ink-soft);
}

/* 目次 */
.toc{border:1px solid var(--line);border-radius:10px;padding:24px 26px;margin-bottom:44px;background:#fbf6ec}
.toc .t{font-family:"Shippori Mincho",serif;font-size:1rem;font-weight:600;margin-bottom:.8rem;letter-spacing:.06em}
.toc ol{margin:0;padding-left:1.3em}
.toc li{margin:.42rem 0;font-size:.88rem}
.toc a{color:var(--ink-soft);text-decoration:none}
.toc a:hover{color:var(--ochre-deep);text-decoration:underline}

.article h2{
  font-family:"Shippori Mincho",serif;
  font-size:clamp(1.25rem,3.2vw,1.55rem);
  font-weight:600;line-height:1.6;letter-spacing:.04em;
  margin:56px 0 20px;padding-left:16px;
  border-left:4px solid var(--ochre);
  scroll-margin-top:80px;
}
.article h3{
  font-family:"Shippori Mincho",serif;
  font-size:1.08rem;font-weight:600;letter-spacing:.04em;
  margin:34px 0 12px;color:var(--yomogi-deep);
}
.article p{margin-bottom:1.5rem;font-size:.95rem}
.article ul,.article ol{margin:0 0 1.6rem 1.4em}
.article li{margin-bottom:.6rem;font-size:.94rem}
.article strong{font-weight:500;color:var(--ochre-deep)}

/* 表 */
.tbl-wrap{overflow-x:auto;margin-bottom:1.8rem;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:460px;font-size:.87rem;background:#fbf6ec}
th,td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
th{background:var(--paper-deep);font-weight:500;letter-spacing:.04em;white-space:nowrap}

/* 補足ボックス */
.note{
  border:1px solid var(--line);border-left:4px solid var(--yomogi);
  border-radius:8px;background:#fbf6ec;padding:20px 22px;margin-bottom:1.8rem;
  font-size:.88rem;color:var(--ink-soft);
}
.note .nt{font-weight:500;color:var(--yomogi-deep);display:block;margin-bottom:.4rem;letter-spacing:.06em}

/* 免責 */
.disclaimer{
  margin-top:52px;padding:20px 22px;border-radius:8px;
  background:var(--paper-deep);font-size:.78rem;color:var(--ink-soft);line-height:1.9;
}

/* ---------- CTA ---------- */
.cta{
  margin:60px auto 0;max-width:var(--max);
  background:var(--ink);color:var(--paper);
  border-radius:14px;padding:44px 30px;text-align:center;
}
.cta .ttl{font-family:"Shippori Mincho",serif;font-size:1.3rem;font-weight:500;letter-spacing:.05em;line-height:1.7;margin-bottom:.8rem;color:var(--paper)}
.cta p{font-size:.87rem;color:#cdbfa8;margin-bottom:1.8rem;line-height:1.9}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{
  display:inline-block;padding:15px 34px;border-radius:44px;
  font-size:.88rem;letter-spacing:.12em;text-decoration:none;transition:.3s;cursor:pointer;
}
.btn-primary{background:var(--glow);color:var(--ink);font-weight:500}
.btn-primary:hover{background:#f0b877}
.btn-line{background:#06c755;color:#fff;font-weight:500}
.btn-line:hover{opacity:.85}
.salon-info{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);font-size:.8rem;color:#a99d89;line-height:2}

/* ---------- 関連記事 ---------- */
.related{max-width:var(--max);margin:56px auto 0;padding:0 22px}
.related .rt{font-family:"Shippori Mincho",serif;font-size:1.15rem;font-weight:600;letter-spacing:.05em;margin-bottom:1.2rem}
.related ul{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.related li{margin:0;background:var(--paper)}
.related a{display:block;padding:16px 18px;text-decoration:none;color:var(--ink);font-size:.9rem;transition:background .25s}
.related a:hover{background:#fbf6ec;color:var(--ochre-deep)}

/* ---------- フッター ---------- */
.foot{margin-top:70px;background:var(--ink);color:#a99d89;text-align:center;padding:46px 22px}
.foot .fb{font-family:"Cormorant Garamond",serif;font-size:2rem;color:var(--paper);letter-spacing:.08em;margin-bottom:.3rem}
.foot .fs{font-size:.74rem;letter-spacing:.18em;color:var(--ochre);margin-bottom:1.6rem}
.foot-links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:1.6rem}
.foot-links a{color:#cdbfa8;text-decoration:none;font-size:.82rem;letter-spacing:.05em}
.foot-links a:hover{color:var(--glow)}
.foot .cp{font-size:.72rem;letter-spacing:.06em;opacity:.7}

/* ---------- 一覧ページ ---------- */
.list-head{max-width:var(--max);margin:0 auto;padding:56px 22px 10px;text-align:center}
.list-head h1{font-family:"Shippori Mincho",serif;font-size:clamp(1.7rem,4.4vw,2.2rem);font-weight:600;letter-spacing:.05em;margin-bottom:.8rem}
.list-head p{font-size:.9rem;color:var(--ink-soft)}
.cat{max-width:var(--max);margin:0 auto;padding:36px 22px 0}
.cat h2{
  font-family:"Shippori Mincho",serif;font-size:1.15rem;font-weight:600;
  letter-spacing:.06em;margin-bottom:1rem;padding-left:14px;border-left:4px solid var(--ochre);
}
.cat ul{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cat li{margin:0;background:var(--paper)}
.cat a{display:block;padding:15px 18px;text-decoration:none;color:var(--ink);font-size:.89rem;transition:background .25s}
.cat a:hover{background:#fbf6ec;color:var(--ochre-deep)}

@media(max-width:480px){
  .article{padding:38px 18px 16px}
  .cta{border-radius:0;padding:38px 20px}
  .cta-btns{flex-direction:column}
  .btn{width:100%}
  .article h2{margin-top:44px}
}

/* ---------- パンくずリスト ---------- */
.breadcrumb{
  max-width:var(--max);margin:0 auto;padding:18px 22px 0;
  font-size:.74rem;letter-spacing:.05em;color:var(--ink-soft);line-height:1.9;
}
.breadcrumb a{color:var(--ink-soft);text-decoration:none}
.breadcrumb a:hover{color:var(--ochre-deep);text-decoration:underline}
.breadcrumb span{color:var(--ink)}

/* ---------- CTA：電話ボタン ---------- */
.btn-tel{background:#fbf6ec;color:var(--ink);font-weight:500;border:1px solid var(--glow)}
.btn-tel:hover{background:#fff}

/* ---------- スマホ下部の固定バー ---------- */
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;
  background:rgba(244,237,225,.96);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(44,38,32,.12);
  transform:translateY(115%);transition:transform .42s cubic-bezier(.2,.7,.2,1);
}
.mobile-bar.show{transform:translateY(0)}
.mobile-bar a{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;padding:12px 4px;font-size:.68rem;letter-spacing:.04em;color:var(--ink);text-decoration:none;
  border-right:1px solid var(--line);line-height:1.2;min-height:60px;text-align:center;font-weight:500;
}
.mobile-bar a:last-child{border-right:none}
.mobile-bar svg{width:22px;height:22px;flex:none}
.mobile-bar .mb-contact{background:var(--paper-deep)}
.mobile-bar .mb-line{background:#06c755;color:#fff;border-right-color:rgba(255,255,255,.3)}
.mobile-bar .mb-book{background:var(--ink);color:var(--paper)}
@media(max-width:860px){
  .mobile-bar{display:flex}
  .foot{padding-bottom:96px}
}
@media(max-width:360px){
  .mobile-bar a{font-size:.6rem;padding:11px 2px}
  .mobile-bar svg{width:19px;height:19px}
}
