/* 事例ページ（ヘアスタイル・ビフォーアフター）の共通スタイル。トップと同じ色・文字を使う */
:root{
  --ground:#F4ECE6; --ground-2:#EFE4DD; --veil:#D9C3B8; --taupe:#9C7F73; --ink:#2E2724; --soft:#5A4A44; --cocoa:#8C7268; --line:rgba(46,39,36,.14);
  --f-en:"Jost","Futura","Century Gothic",sans-serif;
  --f-mc:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --f-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.9;letter-spacing:.03em;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.en{font-family:var(--f-en);font-weight:300;letter-spacing:.32em;text-transform:uppercase;font-size:11px;color:var(--taupe)}
.mc{font-family:var(--f-mc);font-weight:500;letter-spacing:.08em;text-wrap:balance}
section{padding-block:56px}
.h1{font-size:clamp(24px,4.6vw,34px);line-height:1.5;margin:8px 0 10px}
.h2{font-size:clamp(19px,3.4vw,24px);line-height:1.6;margin:8px 0 16px}
.lead{max-width:34em;color:var(--soft);margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding-inline:26px;font-size:13px;letter-spacing:.12em;text-decoration:none;border:1px solid var(--ink);color:var(--ink);transition:background .2s,color .2s}
.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--ground)}
.btn.solid{background:var(--ink);color:var(--ground)}
.btn.solid:hover,.btn.solid:focus-visible{background:var(--taupe);border-color:var(--taupe)}
:focus-visible{outline:2px solid var(--taupe);outline-offset:3px}
.proto{background:var(--ink);color:var(--ground);font-size:12px;text-align:center;padding:8px 16px;letter-spacing:.06em}

header{position:sticky;top:0;z-index:5;background:rgba(244,236,230,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:58px;gap:16px}
.logo{display:inline-block;line-height:0}
.logo img{height:20px;width:auto;filter:brightness(0);opacity:.86}
header nav{display:flex;gap:22px}
header nav a{font-family:var(--f-en);font-weight:300;font-size:11px;letter-spacing:.28em;text-decoration:none}
header nav a[aria-current]{border-bottom:1px solid var(--ink)}
.head-cta{font-family:var(--f-en);font-size:11px;letter-spacing:.28em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}
@media (max-width:760px){header nav{display:none}}

/* 一覧の上：ビフォーアフター／ヘアスタイルの切り替えと絞り込み */
.switch{display:flex;border:1px solid var(--ink);width:fit-content;margin-top:22px}
.switch a{padding:10px 18px;font-size:13px;letter-spacing:.1em;text-decoration:none}
.switch a[aria-current]{background:var(--ink);color:var(--ground)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px;align-items:center}
.filters .label{font-size:12px;color:var(--taupe);margin-right:4px}
.chip{appearance:none;border:1px solid var(--line);background:var(--ground);color:var(--ink);font:inherit;font-size:12.5px;padding:7px 15px;border-radius:999px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.filters select{font:inherit;font-size:12.5px;padding:7px 12px;border:1px solid var(--line);background:var(--ground);color:var(--ink);border-radius:999px}
.count{font-size:12px;color:var(--soft);margin:0 0 14px}

/* カード */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 14px}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{text-decoration:none;display:block}
.card .ph{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--veil)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img,.card:focus-visible .ph img{transform:scale(1.03)}
.card.ba .ph{aspect-ratio:3/2}
.card .stack{display:grid;grid-template-columns:1fr 1fr;gap:3px;height:100%;background:var(--ground)}
.card .stack img,.card .stack .ph-empty{height:100%}
.card .tag{position:absolute;top:8px;font-family:var(--f-en);font-size:9.5px;letter-spacing:.24em;background:rgba(244,236,230,.92);padding:2px 7px}
.card .tag.b{left:8px}.card .tag.a{left:calc(50% + 9px);background:var(--ink);color:var(--ground)}
.grid.ba{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}
@media (max-width:760px){.grid.ba{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}}
.card .t{font-family:var(--f-mc);font-weight:500;font-size:14.5px;line-height:1.6;margin:10px 0 2px}
.card .m{font-size:12px;color:var(--soft)}

/* 写真がまだないときの見本の枠 */
.ph-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#E6D5CC 0 12px,#EADBD3 12px 24px);color:var(--taupe);font-family:var(--f-en);font-size:11px;letter-spacing:.24em}

/* 詳細：写真が縦長なので、ビフォーとアフターを左右に並べる */
.case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.case.ba{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
@media (max-width:820px){.case,.case.ba{grid-template-columns:1fr;gap:26px}}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pair figure,.single{margin:0;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--veil)}
.pair img,.single img,.pair .ph-empty,.single .ph-empty{width:100%;height:100%;object-fit:cover}
.pair figcaption{position:absolute;left:10px;top:10px;font-family:var(--f-en);font-size:10px;letter-spacing:.28em;background:rgba(244,236,230,.92);padding:3px 9px}
.pair figure:last-child figcaption{background:var(--ink);color:var(--ground)}
@media (max-width:820px){.pair{margin-inline:-20px;gap:3px}}
.facts{display:grid;grid-template-columns:7.5em 1fr;margin:18px 0 26px;font-size:14px}
.facts dt,.facts dd{margin:0;padding-block:11px;border-bottom:1px solid var(--line)}
.facts dt{color:var(--taupe);font-size:12.5px}
.point{background:var(--ground-2);padding:22px 22px 20px;margin:0 0 22px}
.point h2{font-family:var(--f-mc);font-weight:500;font-size:16px;margin:0 0 6px}
.point p{margin:0;font-size:14px;color:var(--soft)}
.staff{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;padding:16px 0;border-block:1px solid var(--line);text-decoration:none;margin-bottom:22px}
.staff img{aspect-ratio:1;width:72px;object-fit:cover;object-position:50% 20%;border-radius:50%}
.staff b{display:block;font-family:var(--f-mc);font-weight:500;font-size:16px}
.staff span{font-size:12.5px;color:var(--soft)}
.ctas{display:flex;flex-wrap:wrap;gap:10px}

footer{padding-block:40px 110px;font-size:12.5px;color:var(--soft);border-top:1px solid var(--line)}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:6;display:none;grid-template-columns:1.6fr 1fr;background:var(--ink)}
.bar a{display:flex;align-items:center;justify-content:center;min-height:54px;color:var(--ground);text-decoration:none;font-size:13px;letter-spacing:.12em}
.bar a:first-child{background:var(--taupe)}
@media (max-width:820px){.bar{display:grid}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (max-width:760px){
  /* スマホでは絞り込みを横にスクロールする1行にして、写真をすぐ見せる */
  .filters{flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .chip,.filters select,.filters .label{flex:0 0 auto;white-space:nowrap}
}

.pick{display:inline-block;font-family:var(--f-body);font-size:10.5px;letter-spacing:.08em;background:var(--ink);color:var(--ground);padding:1px 7px;margin-right:6px;vertical-align:2px}
.order-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.order-row .count{margin:0}
.order{display:flex;gap:6px}
.order .chip{padding:5px 12px;font-size:12px}
