/* ACSEINE — 承認用プロトタイプ v10 の見た目
   ------------------------------------------------------------------
   このファイルはプロトタイプ（proto/acseine-design-v10.html）の <style> から
   機械的に起こしたものです。「プロトタイプを直す → サイトに書き写す」をやめて、
   同じ規則を両方が読む形にしました。書き写すたびに見た目がずれる、という
   これまでの問題がこれで起きなくなります。作り直しは tools/mkproto.py です。

   ・プロトタイプ専用の枠（.frame / .pagehead / .memo / .idx / .site）は外しています。
   ・変数名の違い（--fd / --fb / --ink2）は tokens.css に別名を足して吸収しました。
   ・.wrap はテーマ側（--page）のほうが小さい画面に強いので、そちらを使います。
   ・.tabs は WooCommerce の ul.tabs と名前がぶつかるので .pd 配下に閉じました。
   ・受賞バッジは日本本社の原画。CSS に埋めず assets/img/awards/ に置いています。

   読み込みは最後です。同名クラス（.btn / .eyebrow / .lede / .nav / .price など）は
   ここが勝ちます。意図した動作で、プロトタイプのほうが新しい決定だからです。
   ------------------------------------------------------------------ */

.eyebrow{font-family:var(--fd);font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep);margin:0 0 8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--fd);font-weight:700;
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:14px 28px;border:0;border-radius:2px;
  background:var(--ink);color:#fff;cursor:pointer;text-decoration:none}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn--terra{background:transparent;color:var(--terra-deep);border:1.5px solid var(--terra-deep)}
.head{border-bottom:1px solid var(--line);background:#fff}
.head__bar{max-width:1220px;margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:34px;min-height:72px}
.lg{height:22px;width:auto;color:var(--grey)}
.nav{display:flex;gap:26px;list-style:none;margin:0;padding:0;flex:1;font-family:var(--fd);font-size:14px}
.nav > li > a{color:var(--ink2);text-decoration:none;padding:26px 0;display:block;border-bottom:2px solid transparent}
.nav > li.on > a,.nav > li > a:hover{color:var(--ink);border-bottom-color:var(--terra)}
.tools{display:flex;gap:12px;align-items:center;font-family:var(--fd);font-size:12px;color:var(--muted)}
.icon{width:38px;height:38px;border-radius:99px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink2)}
svg.ic{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round}
/* メガナビ */
.mega{border-top:1px solid var(--line);background:#fff;box-shadow:0 30px 40px -34px rgba(53,54,58,.4)}
.mega__in{max-width:1220px;margin:0 auto;padding:30px 40px 34px;display:grid;grid-template-columns:1.1fr .9fr;gap:44px}
.mega h4{font-family:var(--fd);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep);margin:0 0 14px}
.mega__concerns{columns:2;column-gap:34px;list-style:none;margin:0;padding:0;font-size:13.5px}
.mega__concerns a{display:block;padding:7px 0;color:var(--ink2);text-decoration:none;border-bottom:1px solid var(--tint)}
.mega__concerns a:hover{color:var(--terra-deep)}
.mega__cats{display:grid;grid-template-columns:1fr 1fr;gap:14px;list-style:none;margin:0;padding:0}
.mega__cats a{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:3px;
  padding:10px 14px 10px 10px;color:var(--ink);text-decoration:none;font-family:var(--fd);font-size:14px}
.mega__cats a:hover{border-color:var(--terra)}
.mega__cats img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:2px;flex:none}
.mega__cats small{display:block;color:var(--muted);font-size:11.5px;font-family:var(--fb)}
/* 商品写真の枠の下地は必ず白。写真自体が白背景で撮られているので、
   下地に色を敷くと写真の白と段差ができ、商品が枠に対して小さく見えます。
   枠が消えないように、下地を白にしたところは髪線を1本入れています。 */

/* SPECIAL PROMOTION は優先して見せたい分類なので、他と並べず
   メガメニューの一番上に横いっぱいの帯で置きます。2×2 のカテゴリーを崩さずに
   一番先に目に入る位置が取れます。 */
.mega__promo{display:flex;align-items:center;gap:14px;text-decoration:none;
  padding:14px 40px;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#FDF4F0,#fff 60%)}
.mega__promo:hover{background:linear-gradient(90deg,#FBEAE2,#fff 60%)}
.mega__promo img{width:64px;height:44px;object-fit:contain;background:#fff;border-radius:2px;flex:none}
.mega__promo-t{display:grid;gap:2px}
.mega__promo-t b{font-family:var(--fd);font-size:13px;letter-spacing:.14em;color:var(--terra-deep)}
.mega__promo-t small{font-size:11.5px;color:var(--muted)}
.mega__promo-go{margin-left:auto;color:var(--terra-deep);font-size:16px}
/* 肌悩みの行アイコン。元画像は 85×57 しかないので、この大きさが本来の使い方です。 */
.mega__concerns a{display:flex;align-items:center;gap:10px}
.mega__concerns img{width:40px;height:27px;object-fit:contain;background:#fff;flex:none}
/* about */
.ahero{position:relative}
.ahero img{width:100%;height:430px;object-fit:cover;display:block}
.ahero__ov{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,rgba(38,44,52,.55),rgba(38,44,52,.06) 60%)}
.ahero__ov .wrap{width:100%}
.ahero h1{font-family:var(--fd);font-weight:400;font-size:38px;color:#fff;margin:0 0 12px;letter-spacing:.04em;max-width:15em}
.ahero p{color:rgba(255,255,255,.88);max-width:34em;margin:0}
.alinks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:-38px 0 0;position:relative}
.alinks a{background:#fff;border:1px solid var(--line);border-radius:3px;padding:18px 20px;color:var(--ink);text-decoration:none}
.alinks a:hover{border-color:var(--terra)}
.alinks b{display:block;font-family:var(--fd);font-size:15px;margin-bottom:3px}
.alinks span{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:var(--fd)}
.alinks i{color:var(--terra-deep);font-style:normal;float:right}
.sec{padding:56px 0 0}
.sec h2{font-family:var(--fd);font-weight:400;font-size:26px;letter-spacing:.04em;margin:0 0 16px;text-align:center}
.sec .lead{max-width:62ch;margin:0 auto;text-align:center;color:var(--ink2)}
.twocol{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:center;background:var(--tint);border-radius:4px;padding:34px 38px;margin-top:30px}
.twocol img{width:70%;margin:0 auto;display:block}
.hist{height:360px;overflow-y:auto;border:1px solid var(--line);border-radius:4px;background:#fff;padding:8px 28px;margin-top:28px;scrollbar-width:thin}
.hist>div{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--tint)}
.hist b{font-family:var(--fd);font-weight:700;font-size:30px;color:var(--terra-deep);line-height:1}
.hist p{margin:0;color:var(--ink2);font-size:14px}
/* 商品詳細 */
.pd{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:44px 0 10px}
.crumb{font-size:12px;color:var(--muted);padding:16px 0 0}
.gal{position:relative}
.gal__main{border:1px solid var(--line);border-radius:4px;aspect-ratio:1;display:grid;place-items:center;background:#fff}
.gal__main img{max-width:78%;max-height:78%}
.thumbs{display:flex;gap:8px;margin-top:10px}
.thumbs button{width:64px;height:64px;border:1.5px solid var(--line);background:#fff;border-radius:2px;padding:4px;cursor:pointer;opacity:.75}
.thumbs button.on{border-color:var(--grey);opacity:1}
.thumbs img{width:100%;height:100%;object-fit:contain}
.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:6px 14px;
  font-family:var(--fd);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin:0 0 14px}
.badge::before{content:"";width:6px;height:6px;border-radius:99px;background:var(--terra)}
.pd h1{font-family:var(--fd);font-weight:400;font-size:32px;letter-spacing:.04em;margin:0 0 4px}
.pd__sub{color:var(--muted);font-size:14px;margin:0 0 14px}
.stock{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ok);margin-bottom:8px}
.stock::before{content:"";width:8px;height:8px;border-radius:99px;background:var(--ok)}
.price{font-family:var(--fd);font-size:30px;display:inline-flex;align-items:baseline;gap:8px;margin-right:12px}
.chip{display:inline-flex;background:var(--blush);color:#7C3A22;border-radius:99px;padding:7px 14px;
  font-family:var(--fd);font-size:12.5px;font-weight:700;vertical-align:middle}
.lede{color:var(--ink2);border-bottom:1px solid var(--line);padding:14px 0 18px;margin:0 0 18px;font-size:14.5px}
.optlbl{font-family:var(--fd);font-size:13px;color:var(--ink2);margin:0 0 8px}
.opts{display:flex;gap:10px;margin-bottom:18px}
.opts button{font-family:var(--fd);font-size:14px;padding:10px 22px;border:1.5px solid var(--line);background:#fff;
  border-radius:2px;cursor:pointer;color:var(--ink2)}
.opts button.on{border-color:var(--ink);color:var(--ink);font-weight:700}
.opts button small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.buyrow{display:flex;gap:12px;align-items:stretch;margin:0 0 16px}
.qty{display:inline-flex;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.qty button{width:40px;border:0;background:#fff;font-size:17px;color:var(--ink2);cursor:pointer}
.qty input{width:48px;border:0;text-align:center;font-family:var(--fd);font-weight:700}
.buyrow .btn{flex:1}
.acts{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-bottom:22px;
  font-family:var(--fd);font-size:13px;color:var(--ink2)}
.acts span{display:inline-flex;gap:7px;align-items:center}
.together{border:1px solid var(--line);border-radius:4px;padding:18px 20px}
.together h3{font-family:var(--fd);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep);margin:0 0 12px}
.tg{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--tint)}
.tg img{width:52px;height:52px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:2px}
.tg b{font-family:var(--fd);font-weight:700;font-size:13.5px;display:block}
.tg small{color:var(--muted)}
.tg .p{margin-left:auto;font-family:var(--fd);font-weight:700}
.tg input{width:17px;height:17px;accent-color:var(--terra-deep)}
.together .sum{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);
  padding-top:12px;margin-top:6px;font-family:var(--fd);font-size:13px}
.pd .tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:44px 0 22px}
.pd .tabs button{font-family:var(--fd);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  background:none;border:0;border-bottom:2px solid transparent;padding:12px 18px;margin-bottom:-1px;cursor:pointer}
.pd .tabs button.on{color:var(--ink);border-bottom-color:var(--ink)}
.specs{border-top:1px solid var(--line);max-width:640px;margin-top:22px}
.specs div{display:grid;grid-template-columns:150px 1fr;padding:11px 2px;border-bottom:1px solid var(--line);font-size:13.5px}
.specs dt{color:var(--muted)}
.specs dd{margin:0}
/* カート・レジ */
.cartgrid{display:grid;grid-template-columns:1.5fr .9fr;gap:44px;padding:38px 0 54px;align-items:start}
.crow{display:grid;grid-template-columns:76px 1fr auto auto auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.crow img{width:76px;height:76px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:3px}
.crow b{font-family:var(--fd);font-weight:700;font-size:14.5px;display:block}
.crow small{color:var(--muted)}
.crow .x{color:#B9BAB6;cursor:pointer;font-size:17px}
.panel{border:1px solid var(--line);border-radius:4px;padding:20px 22px;background:#fff}
.panel h3{font-family:var(--fd);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep);margin:0 0 12px}
.ptsbox{background:var(--blue-pale);border:1px solid var(--blue);border-radius:3px;padding:14px 16px;margin-bottom:16px}
.ptsbox b{font-family:var(--fd)}
.ptsbox .row{display:flex;gap:8px;margin-top:10px}
.ptsbox input{flex:1;padding:9px 11px;border:1px solid var(--line);border-radius:2px;text-align:right}
.ptsbox .use{font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:.08em;background:var(--blue-deep);color:#fff;border:0;border-radius:2px;padding:0 18px;cursor:pointer}
.trow{display:flex;justify-content:space-between;padding:9px 0;font-size:14px;border-bottom:1px solid var(--tint)}
.trow.total{border-bottom:0;padding-top:14px;font-family:var(--fd);font-size:16px}
.trow.total .p{font-size:24px;font-weight:700}
.earnnote{color:var(--terra-deep);font-size:12.5px;margin:8px 0 14px}
.pm{display:grid;gap:10px;margin:14px 0 4px}
.pm label{border:1px solid var(--line);border-radius:3px;padding:14px 16px;display:block;cursor:pointer;background:#fff}
.pm label.on{border-color:var(--ink)}
.pm b{font-family:var(--fd);font-size:14.5px}
.pm small{display:block;color:var(--muted);margin-top:2px}
.pm .rec{float:right;font-family:var(--fd);font-size:10.5px;letter-spacing:.14em;color:var(--ok);border:1px solid var(--ok);border-radius:2px;padding:2px 8px}
.pm input{accent-color:var(--ink);margin-right:9px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.fields input{padding:12px 13px;border:1px solid var(--line);border-radius:2px;font:inherit;background:#fff}
.fields input.full{grid-column:1/-1}
h2.ck{font-family:var(--fd);font-weight:400;letter-spacing:.06em;font-size:22px;margin:0 0 16px}
/* ── 商品一覧・グリッド ── */
.shopgrid{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:10px 0 50px}
.side h5{font-family:var(--fd);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep);margin:18px 0 8px}
.side ul{list-style:none;margin:0;padding:0;font-size:13.5px}
.side a{display:flex;justify-content:space-between;color:var(--ink2);text-decoration:none;padding:7px 0;border-bottom:1px solid var(--tint)}
.side a:hover,.side a.on{color:var(--terra-deep)}
.side .n{color:#B9BAB6;font-size:12px}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pc{border:1px solid var(--line);border-radius:3px;background:#fff;display:flex;flex-direction:column}
.pc__m{aspect-ratio:1;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:3px}
.pc__m img{max-width:72%;max-height:78%}
.pc__b{padding:12px 14px 14px;display:grid;gap:3px}
.pc__b small{color:var(--muted);font-size:11px}
.pc__b b{font-family:var(--fd);font-weight:700;font-size:13.5px;line-height:1.35}
.pc__p{font-family:var(--fd);font-weight:700;margin-top:2px}
.pc__e{color:var(--terra-deep);font-size:11.5px}
.pc__b .btn{margin-top:8px;padding:9px 10px;font-size:11px;background:transparent;color:var(--terra-deep);border:1.2px solid var(--terra-deep)}
.sorter{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 16px}
.sorter select{padding:8px 12px;border:1px solid var(--line);border-radius:2px;font:inherit;color:var(--ink2)}
/* シリーズ頭 */
.serhead{padding:36px 0 6px}
.serhead h1{font-family:var(--fd);font-weight:400;font-size:34px;letter-spacing:.04em;margin:0}
.serhead .en{color:var(--ink2);margin:4px 0 10px}
.serhead .desc{max-width:60ch;color:var(--ink2)}
.sercount{font-family:var(--fd);font-weight:700;font-size:17px;margin:26px 0 14px}
.whybox{background:var(--blue-pale);border:1px solid var(--blue);border-radius:4px;padding:22px 26px;margin:20px 0 6px}
.whybox h3{font-family:var(--fd);font-size:15px;margin:0 0 10px}
.whybox ol{margin:0;padding-left:0;list-style:none;display:grid;gap:8px;font-size:14px;color:var(--ink2)}
.whybox ol b{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--blue-deep);
  color:var(--blue-deep);border-radius:2px;font-family:var(--fd);font-size:12px;margin-right:9px}
.reading{margin-top:30px}
.reading a{display:flex;justify-content:space-between;padding:13px 2px;border-bottom:1px solid var(--line);
  color:var(--ink);text-decoration:none;font-family:var(--fd);font-size:14.5px}
.reading a:hover{color:var(--terra-deep)}
/* 肌悩みハブ */
.sphero{background:var(--blue-pale);border-bottom:1px solid var(--line);padding:44px 0}
.sphero h1{font-family:var(--fd);font-weight:400;font-size:32px;margin:0 0 8px}
.sphero p{color:var(--ink2);max-width:56ch;margin:0}
.sptiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:34px 0 6px}
.spt{border:1px solid var(--line);border-radius:3px;background:#fff;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.spt:hover{border-color:var(--terra)}
.spt .m{aspect-ratio:4/3;background:var(--tint);display:grid;place-items:center}
.spt .m img{max-height:76%;max-width:70%}
.spt .b{padding:10px 12px 12px}
.spt b{font-family:var(--fd);font-size:12.5px;line-height:1.35;display:block}
.spt small{color:var(--muted);font-size:11px}
/* 皮膚科医向け */
.mdhero{position:relative}
.mdhero img{width:100%;height:300px;object-fit:cover;display:block}
.mdhero .ov{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,rgba(38,44,52,.78),rgba(38,44,52,.35) 60%,rgba(38,44,52,.12))}
.mdhero h1{font-family:var(--fd);font-weight:400;font-size:32px;color:#fff;margin:0 0 8px}
.mdhero p{color:rgba(255,255,255,.88);max-width:38em;margin:0}
.mdgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding:34px 0}
.mdc{border:1px solid var(--line);border-radius:4px;padding:22px 24px;background:#fff}
.mdc h3{font-family:var(--fd);font-size:15px;margin:0 0 8px}
.mdc p{color:var(--ink2);font-size:13.5px;margin:0}
.mdc .btn{margin-top:14px;padding:10px 18px;font-size:11px}
/* ── Beauty Award ── */
.awhero{background:var(--tint);border-bottom:1px solid var(--line);padding:52px 0 40px}
.awhero__in{max-width:900px}
.awhero h1{font-family:var(--fd);font-weight:400;font-size:32px;margin:0 0 10px}
.awhero p{color:var(--ink2);max-width:60ch;margin:0}
.awstat{display:flex;gap:46px;margin:26px 0 0;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line)}
.awstat div{display:grid}
.awstat b{font-family:var(--fd);font-weight:700;font-size:40px;line-height:1;color:var(--terra-deep);
  font-variant-numeric:tabular-nums}
.awstat span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  font-family:var(--fd);margin-top:6px}
/* 名誉の棚：どの商品が何冠かを、文字を読む前に見せる */
.shelf{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:34px 0 6px;
  padding:26px 10px 20px;border:1px solid var(--line);border-radius:4px;background:#fff}
.shelf__i{display:grid;justify-items:center;gap:8px;text-decoration:none;padding:6px 2px;border-radius:3px}
.shelf__i:hover{background:var(--tint)}
.shelf__i .bdg{width:112px;margin:0}
.shelf__i span{font-family:var(--fd);font-size:11px;line-height:1.35;text-align:center;color:var(--ink2);
  max-width:15ch}
.shelf__i em{font-family:var(--fd);font-style:normal;font-weight:700;font-size:12px;color:var(--terra-deep);
  font-variant-numeric:tabular-nums}
.awmaglbl{font-family:var(--fd);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin:34px 0 10px!important}
.magstrip{display:flex;flex-wrap:wrap;gap:8px}
.magstrip span{border:1px solid var(--line);background:#fff;border-radius:2px;padding:7px 12px;
  font-family:var(--fd);font-weight:700;font-size:12.5px;letter-spacing:.06em;color:var(--ink2);
  display:inline-flex;align-items:center;gap:7px}
.magstrip b{font-size:11px;color:var(--terra-deep);font-variant-numeric:tabular-nums}
.awtabs{display:flex;border-bottom:1px solid var(--line);margin:26px 0 24px}
.awtabs button{font-family:var(--fd);font-size:13px;letter-spacing:.1em;color:var(--muted);background:none;
  border:0;border-bottom:2px solid transparent;padding:12px 22px;margin-bottom:-1px;cursor:pointer}
.awtabs button.on{color:var(--ink);border-bottom-color:var(--ink)}
.awcard{display:grid;grid-template-columns:230px 1fr;gap:30px;border:1px solid var(--line);border-radius:4px;
  padding:24px 26px;margin-bottom:18px;background:#fff;scroll-margin-top:20px}
.awcard__m{aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:3px;display:grid;place-items:center;margin-bottom:14px}
.awcard__m img{max-width:74%;max-height:78%}
.awcard h3{font-family:var(--fd);font-weight:700;font-size:16px;margin:0 0 4px}
.awcard__price{font-family:var(--fd);font-weight:700;margin:0 0 12px}
.awcard .btn{padding:10px 20px;font-size:11px}
.awcard__b{display:grid;grid-template-columns:196px 1fr;gap:26px;align-items:start}
.awcard__bd{text-align:center}
/* 受賞バッジは日本本社の原画をそのまま使います（画像）。
   ただし「冠／ベストコスメ受賞」は日本語なので、意味は必ず外にタイ語で添えます。 */
.bdg{width:150px;aspect-ratio:300/277;display:block;margin:0 auto 10px;
  background-repeat:no-repeat;background-position:center;background-size:contain}
.bdgcap{display:block;font-style:normal;font-family:var(--fd);font-weight:700;font-size:13px;
  color:var(--terra-deep);text-align:center;margin-bottom:10px;font-variant-numeric:tabular-nums}
.bdgcap span{display:block;font-weight:400;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.45;
  letter-spacing:0}
.rks{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}
.rk{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:2px;
  padding:4px 8px;font-family:var(--fd);font-size:10.5px;color:var(--ink2)}
.rk b{color:var(--ink);font-variant-numeric:tabular-nums}
.rk--1{border-color:var(--terra-deep);color:var(--terra-deep);background:#FDF4F0}
.rk--1 b{color:var(--terra-deep)}
.aw{display:grid;grid-template-columns:26px 104px 42px 1fr;gap:12px;padding:9px 0;
  border-bottom:1px solid var(--tint);font-size:13px;align-items:baseline}
.med{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:99px;
  font-family:var(--fd);font-weight:700;font-size:11px;color:#fff;background:#C9CAC6}
.med.m1{background:#C9A227}
.med.m2{background:#A9AAA6}
.med.m3{background:#B87333}
.med.mw{background:var(--terra-deep)}
.mag{font-family:var(--fd);font-weight:700;font-size:12px;color:var(--ink)}
.awy{font-family:var(--fd);font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.awt{color:var(--ink2)}
.awt small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.awmore{display:contents}
.awmore>summary{display:block;grid-column:1/-1;font-family:var(--fd);font-size:12px;color:var(--terra-deep);
  cursor:pointer;padding:11px 0 3px;list-style:none}
.awmore>summary::-webkit-details-marker{display:none}
.awmore>summary::before{content:"＋ "}
.awmore[open]>summary::before{content:"− "}
.bd0{background-image:url(../img/awards/crown-05.png)}
.bd1{background-image:url(../img/awards/crown-07.png)}
.bd2{background-image:url(../img/awards/crown-18.png)}
.bd3{background-image:url(../img/awards/crown-04-skincolor.png)}
.bd4{background-image:url(../img/awards/crown-03.png)}
.bd5{background-image:url(../img/awards/crown-04-resetwash.png)}
.bd6{background-image:url(../img/awards/crown-55.png)}
/* ── 画面11：ACSEINE Consulting ─────────────────────────────
   電話・カウンター・皮膚科医の3つの入口を、上から順に。
   Ruk-com は電話相談しか書いていませんが、カウンターは実在するので
   支店一覧への導線をここに置きました（探して回らずに済みます）。 */
.cshero{background:var(--blue-pale);border-bottom:1px solid var(--line)}
.cshero__in{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;
  padding:44px 0 40px;max-width:1220px;margin:0 auto}
.cshero h1{font-family:var(--fd);font-weight:400;font-size:32px;margin:0 0 12px;line-height:1.35}
.cshero p{color:var(--ink2);margin:0;max-width:46ch}
.cshero__art{background:#fff;border:1px solid var(--line);border-radius:4px;padding:14px}
.cshero__art img{width:100%;display:block;border-radius:2px}
.csways{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px 0 0}
.csway{border:1px solid var(--line);border-radius:4px;padding:24px 22px 22px;background:#fff;display:grid;
  align-content:start;gap:10px}
.csway--now{border-color:var(--terra-deep);background:#FDF4F0}
.csway__n{font-family:var(--fd);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep)}
.csway h3{font-family:var(--fd);font-weight:700;font-size:17px;margin:0}
.csway p{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.75}
.csway__tel{font-family:var(--fd);font-weight:700;font-size:27px;color:var(--terra-deep);
  letter-spacing:.02em;margin:2px 0 0;display:block;text-decoration:none}
.csway__hr{font-size:12.5px;color:var(--muted);line-height:1.7}
.csway .btn{margin-top:6px;justify-self:start}
.csnote{border-left:3px solid var(--line);padding:2px 0 2px 14px;margin:14px 0 0;
  font-size:12px;color:var(--muted);line-height:1.75}
.csdoc{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;margin:52px 0 0;padding:36px 0 0;
  border-top:1px solid var(--line)}
.csdoc h2{font-family:var(--fd);font-weight:400;font-size:25px;margin:0 0 12px;line-height:1.45}
.csdoc__lead{color:var(--ink2);font-size:14.5px;margin:0}
.csdoc__body p{color:var(--ink2);font-size:14px;line-height:1.95;margin:0 0 16px}
.csdoc__body p:last-child{margin-bottom:0}
.csfaqs{margin:46px 0 0;border-top:1px solid var(--line);padding-top:30px}
.csfaq{border-bottom:1px solid var(--tint)}
.csfaq summary{list-style:none;cursor:pointer;padding:15px 2px;font-family:var(--fd);font-size:15px;
  display:flex;justify-content:space-between;gap:16px;align-items:center}
.csfaq summary::-webkit-details-marker{display:none}
.csfaq summary::after{content:"＋";color:var(--muted);font-size:14px}
.csfaq[open] summary::after{content:"−"}
.csfaq p{margin:0 0 16px;color:var(--ink2);font-size:13.5px;line-height:1.9;padding-right:36px}
