@charset "UTF-8";
/* wire-m.css — KINGDOM様 ワイヤーv2
   ★配色は墨のみ（ワイヤー規律）。書体はゴシック（本番書体）。セリフ体は使わない。
   ★設計言語＝中央寄せ全ブリードFV／FV直下の予約ウィジェット／探す3カード／
     診断ツール／物語3ブロック／都道府県グループ／FAQアコーディオン／タグ付きニュース。
   ★実線＝人が作る／破線（.kino）＝AIが自動で描く。 */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#1a1a18; --mut:#5b5b5b; --line:#dcdbd7; --band:#f4f3f0; --paper:#ffffff;
  --maxw:1200px; --pad:clamp(20px,5vw,64px); --sec:clamp(56px,7vw,104px);
  --r:6px;
  --ff:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --ff-en:"Inter","Noto Sans JP",sans-serif;
}
html{overflow-x:hidden}
body{background:var(--paper);color:var(--ink);font-family:var(--ff);
  font-size:15px;line-height:1.9;letter-spacing:.01em;
  word-break:auto-phrase;line-break:strict;-webkit-font-smoothing:antialiased;
  padding-top:72px}
h1,h2,h3{font-weight:700;line-height:1.4}
h1,h2,h3{word-break:keep-all}
.en,.hero-m__en,.shead__en,.find3__en,.num{font-family:var(--ff-en)}
.inner{max-width:calc(var(--maxw) + var(--pad)*2);margin:0 auto;padding-inline:var(--pad)}
section{padding-block:var(--sec)}
.band{background:var(--band)}
.cap{font-size:12.5px;line-height:1.9;color:var(--mut);text-wrap:pretty}
.mk{display:block;max-width:var(--maxw);margin:14px auto -8px;padding-inline:var(--pad);
  font-size:11.5px;color:var(--mut)}
.mk .est{margin-left:6px}
.todo{border:1px dashed #b7b6b1;background:#efeeea;padding:16px 18px;margin-top:20px;
  font-size:12px;color:#3c3c3c;line-height:1.9;border-radius:var(--r)}
figure.ph{margin:0}
.ph{border:1px solid #b7b6b1;background:
  linear-gradient(to top right,transparent 49.5%,#b7b6b1 49.7%,#b7b6b1 50.3%,transparent 50.5%),
  linear-gradient(to top left, transparent 49.5%,#b7b6b1 49.7%,#b7b6b1 50.3%,transparent 50.5%),#f6f5f2;
  display:flex;align-items:center;justify-content:center;text-align:center;color:#3c3c3c;
  font-size:12px;padding:10px;line-height:1.7;border-radius:var(--r)}

.est{display:inline-block;font-style:normal;font-size:11.5px;font-weight:600;padding:1px 7px;
  border:1px solid #8a3b36;color:#8a3b36;border-radius:3px;white-space:nowrap;vertical-align:1px}
.est--c{border-color:#8a3b36;color:#8a3b36}

/* ── ヘッダー ── */
.hdr{position:fixed;top:0;left:0;right:0;height:72px;z-index:50;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);display:flex;align-items:center}
.hdr .bar{width:100%;max-width:1440px;margin:0 auto;padding-inline:var(--pad);
  display:flex;align-items:center;gap:20px}
.hdr .logo{font-family:var(--ff-en);font-size:19px;font-weight:700;letter-spacing:.04em}
.hdr .logo span{font-size:11px;letter-spacing:.2em;margin-left:6px;color:var(--mut)}
.hdr nav{margin-inline:auto}
.hdr nav ul{display:flex;gap:clamp(12px,1.6vw,26px);list-style:none;font-size:13px}
.hdr nav li{white-space:nowrap}
.hdr .util{display:flex;align-items:center;gap:14px}
.hdr .util .ic{font-size:12px;color:var(--mut);white-space:nowrap}
.hdr .burger{display:none;font-size:22px;line-height:1;min-height:48px;
  min-width:48px;align-items:center;justify-content:flex-end}
@media(max-width:980px){
  .hdr nav,.hdr .util .ic{display:none}
  .hdr .burger{display:flex}
}

/* ── ボタン ── */
.btn-m{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;
  padding:12px 26px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);
  font-size:13px;font-weight:500;text-decoration:none;border-radius:var(--r);cursor:pointer}
.btn-m--fill{background:var(--ink);color:#fff}
.btn-m + .btn-m{margin-left:8px}

/* ── ヒーロー ── */
.hero-m{position:relative;min-height:clamp(420px,62vh,620px);display:grid;place-items:center;
  padding:40px 20px;text-align:center;overflow:hidden}
.hero-m--sub{min-height:clamp(300px,42vh,420px)}
.hero-m__ph{position:absolute;inset:0;border-radius:0;border:none}
.hero-m__copy{position:relative;z-index:1;background:rgba(255,255,255,.86);
  padding:clamp(24px,4vw,48px) clamp(20px,4vw,56px);border-radius:var(--r);max-width:min(760px,92%)}
.hero-m__en{display:block;font-size:12px;letter-spacing:.18em;color:var(--mut);margin-bottom:14px}
.hero-m h1{font-size:clamp(24px,4.6vw,46px);letter-spacing:.01em}
.hero-m__copy p{font-size:12px;color:var(--mut);margin-top:16px}

/* ── 予約検索ウィジェット ── */
.inner--pull{margin-top:calc(var(--sec) * -0.5);position:relative;z-index:5}
.searchbar{background:var(--paper);border:1px solid var(--ink);border-radius:var(--r);
  padding:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;
  align-items:stretch;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.sb__f{border:1px solid var(--line);border-radius:var(--r);padding:9px 14px;min-width:0}
.sb__lb{display:block;font-size:11.5px;color:var(--mut);letter-spacing:.04em}
.sb__v{display:block;font-size:14px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb__go{min-height:100%;white-space:nowrap}
@media(max-width:860px){
  .inner--pull{margin-top:20px}
  .searchbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb__go{grid-column:1/-1}
}

/* ── 章見出し ── */
.shead{text-align:center;max-width:36em;margin:0 auto clamp(28px,4vw,48px)}
.shead__en{display:block;font-size:12px;letter-spacing:.16em;color:var(--mut);margin-bottom:12px}
.shead__ja{font-size:clamp(20px,3vw,30px)}
.shead__lead{font-size:13px;color:var(--mut);line-height:1.95;margin-top:16px}

/* ── 探す3カード ── */
.find3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.find3--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.find3__c{display:block;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  text-decoration:none;color:inherit;background:var(--paper);padding-bottom:18px}
.find3__ph{aspect-ratio:4/3;border:none;border-radius:0;border-bottom:1px solid var(--line)}
.find3__en{display:block;font-size:11px;letter-spacing:.12em;color:var(--mut);margin:16px 18px 0}
.find3__ja{display:block;font-size:17px;margin:6px 18px 0}
.find3__sub{display:block;font-size:12px;color:var(--mut);line-height:1.8;margin:6px 18px 0}
.find3__go{display:block;font-size:12px;font-weight:600;margin:12px 18px 0}
@media(max-width:820px){.find3,.find3--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.find3,.find3--4{grid-template-columns:minmax(0,1fr)}}

/* ── 診断ツール ── */
.diag{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);
  align-items:center}
.diag__ph{aspect-ratio:4/3}
.diag__tx h2{font-size:clamp(20px,2.6vw,28px);margin:8px 0 14px}
.diag__tx p{font-size:14px;line-height:1.95;margin-bottom:22px;max-width:34em}
@media(max-width:820px){.diag{grid-template-columns:minmax(0,1fr)}}

/* ── 物語3ブロック ── */
.story{display:grid;gap:clamp(28px,4vw,56px)}
.story__b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);
  align-items:center}
.story__b--r{direction:rtl}
.story__b--r>*{direction:ltr}
.story__ph{aspect-ratio:3/2}
.story__no{display:block;font-family:var(--ff-en);font-size:13px;letter-spacing:.1em;color:var(--mut)}
.story__ttl{display:block;font-size:clamp(19px,2.4vw,26px);margin:6px 0 12px}
.story__tx p{font-size:14px;line-height:1.95;max-width:32em}
@media(max-width:760px){.story__b{grid-template-columns:minmax(0,1fr);direction:ltr}}

/* ── 都道府県グループ ── */
.cities{display:grid;gap:clamp(24px,3vw,40px)}
.city__hd{display:flex;align-items:baseline;gap:12px;border-bottom:2px solid var(--ink);
  padding-bottom:10px;margin-bottom:6px}
.city__hd b{font-size:18px}
.city__hd span{font-size:12px;color:var(--mut)}
.city__row{display:grid;grid-template-columns:112px minmax(0,1fr) auto auto;gap:16px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.city__ph{width:112px;aspect-ratio:3/2}
.city__nm{font-size:15px;font-weight:500;min-width:0}
.city__meta{display:block;font-size:11.5px;color:var(--mut);line-height:1.7;font-weight:400}
.city__av{font-family:var(--ff-en);font-size:16px;letter-spacing:.1em;white-space:nowrap;text-align:right}
.city__av em{display:block;font-style:normal;font-size:11px;letter-spacing:.14em;color:var(--mut)}
.city__go{font-size:16px}
@media(max-width:640px){
  .city__row{grid-template-columns:80px minmax(0,1fr) auto;gap:12px}
  .city__ph{width:80px}
  .city__go{display:none}
}

/* ── スタイルタイル ── */
.sttiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}
.sttile{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper);padding-bottom:14px}
.sttile__ph{aspect-ratio:3/4;border:none;border-radius:0;border-bottom:1px solid var(--line)}
.sttile__tag{display:block;font-size:11px;color:var(--mut);margin:12px 14px 0}
.sttile__nm{display:block;font-size:12.5px;font-weight:500;margin:4px 14px 0}
.sttile__bk{display:block;font-size:12px;font-weight:600;margin:10px 14px 0}
@media(max-width:520px){.sttiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── スタイリスト・カード ── */
.stgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,22px);margin-top:20px}
.stcard{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper);
  padding:0 14px 16px}
.stcard__ph{aspect-ratio:3/4;border:none;border-radius:0;margin-inline:-14px}
.stcard__nm{display:block;font-size:14px;margin-top:12px}
.stcard__role{display:block;font-size:11.5px;color:var(--mut);margin-top:2px}
.stcard__free{display:block;font-size:12px;margin-top:8px}
.stcard__bk{margin-top:12px;width:100%;font-size:12px;padding:10px 8px;min-height:44px}
@media(max-width:820px){.stgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── 予約単位カード ── */
.rescards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:20px}
.rescard{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.rescard__ph{aspect-ratio:16/10;border:none;border-radius:0;border-bottom:1px solid var(--line)}
.rescard__b{padding:16px 18px}
.rescard__tag{font-size:11px;color:var(--mut)}
.rescard__nm{display:block;font-size:17px;margin:4px 0 8px}
.rescard__pr{display:flex;align-items:baseline;gap:12px}
.rescard__pr .y{font-family:var(--ff-en);font-size:20px;font-weight:700}
.rescard__pr .m{font-size:12px;color:var(--mut)}
.rescard__lead{font-size:12.5px;color:var(--mut);line-height:1.85;margin:8px 0 14px}
.rescard__act .btn-m{font-size:12px;padding:10px 16px;min-height:44px}
@media(max-width:640px){.rescards{grid-template-columns:minmax(0,1fr)}}

/* ── 料金表 ── */
.price-m{width:100%;border-collapse:collapse;margin-top:20px;border-top:2px solid var(--ink)}
.price-m th,.price-m td{text-align:left;font-weight:400;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}
.price-m td{text-align:right;font-family:var(--ff-en);white-space:nowrap}
.price-m tr:first-child th,.price-m tr:first-child td{font-size:12px;color:var(--mut)}
.dl-m th{width:34%;color:var(--mut);font-size:13px}
.dl-m td{font-family:var(--ff)}

/* ── 4つの約束・確信の3つ ── */
.promise4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,20px)}
.promise4>div{border:1px solid var(--line);border-radius:var(--r);padding:20px}
.promise4 .en{display:block;font-size:12px;letter-spacing:.1em;color:var(--mut)}
.promise4 b{display:block;font-size:15px;margin:8px 0 6px}
.promise4 p{font-size:12px;color:var(--mut);line-height:1.8}
@media(max-width:820px){.promise4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.promise4{grid-template-columns:minmax(0,1fr)}}
.steps-m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,22px)}
.steps-m>div{border-top:2px solid var(--ink);padding-top:16px}
.steps-m .en{display:block;font-size:12px;letter-spacing:.08em;color:var(--mut)}
.steps-m b{display:block;font-size:16px;margin:6px 0 8px}
.steps-m p{font-size:12.5px;color:var(--mut);line-height:1.85}
@media(max-width:760px){.steps-m{grid-template-columns:minmax(0,1fr)}}

/* ── FAQアコーディオン ── */
.faq-m{max-width:760px;margin:0 auto;border-top:1px solid var(--line)}
.faq-m__i{border-bottom:1px solid var(--line)}
.faq-m__q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px;
  min-height:48px}
.faq-m__q b{font-size:14px;font-weight:500}
.faq-m__pm{font-family:var(--ff-en);font-size:18px;color:var(--mut);flex:none}
.faq-m__a{font-size:13px;color:var(--mut);line-height:1.9;padding:0 4px 18px}

/* ── ニュース ── */
.news-m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.news-m__c{display:block;text-decoration:none;color:inherit}
.news-m__ph{aspect-ratio:3/2}
.news-m__tag{display:inline-block;font-size:11.5px;border:1px solid var(--ink);border-radius:999px;
  padding:2px 12px;margin:12px 0 8px}
.news-m__ttl{display:block;font-size:13.5px;font-weight:500;line-height:1.7}
@media(max-width:760px){.news-m{grid-template-columns:minmax(0,1fr)}}

/* ── 口コミの帯 ── */
.revband-m{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,3vw,40px);
  align-items:center;border-block:2px solid var(--ink);padding-block:clamp(20px,3vw,32px)}
.revband-m__score{font-family:var(--ff-en);white-space:nowrap}
.revband-m__score b{font-size:clamp(40px,6vw,64px);font-weight:700}
.revband-m__score span{font-size:14px;color:var(--mut)}
.revband-m__tx b{font-size:14px}
.revband-m__tx p{font-size:12.5px;color:var(--mut);line-height:1.85;margin-top:4px}
@media(max-width:760px){.revband-m{grid-template-columns:minmax(0,1fr)}.revband-m .btn-m{justify-self:start}}

/* ── 出典別評価・スコア分解・引用 ── */
.revsrc-m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);margin-top:20px}
.revsrc-m>div{border-right:1px solid var(--line);padding:22px clamp(14px,1.6vw,22px) 26px}
.revsrc-m>div:last-child{border-right:none}
.revsrc-m .s{display:block;font-family:var(--ff-en);font-size:11px;letter-spacing:.06em;color:var(--mut)}
.revsrc-m .num{display:block;font-size:clamp(34px,4.4vw,52px);font-weight:700;line-height:1.1;margin:12px 0 8px}
.revsrc-m .n{display:block;font-size:11.5px}
.revsrc-m .src{display:block;font-size:11px;color:var(--mut);margin-top:8px;line-height:1.7}
@media(max-width:640px){.revsrc-m{grid-template-columns:minmax(0,1fr)}
  .revsrc-m>div{border-right:none;border-bottom:1px solid var(--line)}
  .revsrc-m>div:last-child{border-bottom:none}}
.score-m{border-top:1px solid var(--line);margin-top:24px}
.score-m>div{display:grid;grid-template-columns:8em minmax(0,1fr) 3em;gap:clamp(12px,2vw,24px);
  align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.score-m .k{font-size:13px;color:var(--mut)}
.score-m .bar{height:1px;background:var(--line);position:relative}
.score-m .bar i{position:absolute;left:0;top:-1px;height:3px;background:var(--ink)}
.score-m .v{font-family:var(--ff-en);font-size:18px;text-align:right}
@media(max-width:640px){.score-m>div{grid-template-columns:6em minmax(0,1fr) 2.6em}}
.quote-m{border-left:2px solid var(--ink);padding:4px 0 4px 18px;margin-top:18px;font-size:15px;line-height:1.95}
.quote-m span{display:block;font-size:11.5px;color:var(--mut);margin-top:8px}

/* ── チップ ── */
.chips-m{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;justify-content:center}
.chips-m span{border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:12.5px}
.chips-m span.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ── 空き待ち・時間だけ ── */
.waitl{border:1px solid var(--ink);border-radius:var(--r);padding:20px;margin-top:24px}
.waitl b{display:block;font-size:15px;margin-bottom:8px}
.waitl p{font-size:12.5px;color:var(--mut);line-height:1.9;margin-bottom:12px}

/* ── AI連動枠（破線＝自動で描く） ── */
.kino{position:relative;border:1px dashed #b7b6b1;border-left:3px solid var(--ink);
  background:var(--paper);border-radius:var(--r);padding:clamp(18px,2.2vw,28px);margin-top:16px}
.band .kino{background:var(--paper)}
.kino__ttl{display:block;font-size:13.5px;margin-bottom:6px}
.kino__src{display:block;font-size:11.5px;line-height:1.9;color:var(--mut);text-wrap:pretty}
.kino__src b{color:var(--ink);font-weight:500}

/* ── 採用：応募者向けアプリUI ── */
.appui{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
.appui__phone{border:1px solid var(--ink);border-radius:20px;padding:16px;max-width:300px;background:var(--paper)}
.appui__top{display:flex;align-items:baseline;justify-content:space-between;
  border-bottom:1px solid var(--line);padding-bottom:12px}
.appui__top b{font-size:15px}
.appui__top span{font-size:11px;color:var(--mut)}
.appui__steps{display:grid;gap:8px;margin:14px 0}
.appui__steps>div{display:flex;align-items:center;gap:10px;border:1px solid var(--line);
  border-radius:var(--r);padding:11px 12px;font-size:12.5px}
.appui__steps>div i{font-style:normal;width:22px;height:22px;border-radius:50%;flex:none;
  display:grid;place-items:center;font-size:11px;background:#eee;color:var(--mut)}
.appui__steps>div.on i{background:var(--ink);color:#fff}
.appui__card{border:1px solid var(--ink);border-radius:var(--r);padding:14px;display:grid;gap:8px}
.appui__card b{font-size:13px}
.appui__card span{font-size:11.5px;color:var(--mut)}
.appui__card .btn-m{min-height:44px;font-size:12px;background:var(--ink);color:#fff}
.appui__tab{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:14px;
  border-top:1px solid var(--line);padding-top:12px}
.appui__tab span{font-size:11.5px;text-align:center;color:var(--mut)}
.appui__tab span.on{color:var(--ink);font-weight:700}
.appui__note .shead__en{text-align:left;margin-bottom:10px}
.appui__note b{display:block;font-size:clamp(17px,2.2vw,22px);line-height:1.5;margin-bottom:12px}
.appui__note p{font-size:13.5px;line-height:1.95;color:var(--mut);max-width:34em}
@media(max-width:760px){.appui{grid-template-columns:minmax(0,1fr)}.appui__phone{margin:0 auto}}

/* ── 働く様子 ── */
.worklife{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,16px)}
.wl__c{margin:0}
.wl__ph{aspect-ratio:1/1}
.wl__c figcaption{font-size:11px;color:var(--mut);margin-top:6px}
@media(max-width:520px){.worklife{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── フッター ── */
.ftr-m{background:var(--ink);color:#e8e7e3;padding-block:clamp(40px,5vw,72px)}
.ftr-m__in{max-width:calc(var(--maxw) + var(--pad)*2);margin:0 auto;padding-inline:var(--pad);
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:40px}
.ftr-m__brand{font-family:var(--ff-en);font-size:22px;font-weight:700}
.ftr-m__brand span{display:block;font-family:var(--ff);font-size:11.5px;font-weight:400;
  color:#b7b6b1;margin-top:12px;line-height:1.9}
.ftr-m__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ftr-m__cols b{font-size:12px;letter-spacing:.06em}
.ftr-m__cols ul{list-style:none;margin-top:12px;font-size:12.5px;line-height:2.3;color:#cdccc7}
@media(max-width:760px){
  .ftr-m__in{grid-template-columns:minmax(0,1fr)}
  .ftr-m__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ── 下部固定CTA・AI FAB ── */
.ctabar{display:none}
.fab{position:fixed;right:clamp(14px,2.4vw,30px);bottom:clamp(14px,2.4vw,30px);z-index:40;
  background:var(--paper);border:1px solid var(--ink);border-radius:999px;padding:12px 20px;
  font-size:12.5px;min-height:48px;display:inline-flex;align-items:center}
@media(max-width:980px){
  .ctabar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);
    color:#fff;min-height:56px;align-items:center;justify-content:center;font-size:14px}
  body{padding-bottom:56px}
  .fab{bottom:70px;background:var(--paper)}
}

/* ── R-5 連絡設計：一本線・ステップ・ミニ実画面 ── */
.cline{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.cnode{border:1px solid var(--ink);border-radius:var(--r);padding:14px 12px;min-width:104px;text-align:center}
.cnode__no{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:var(--ink);color:#fff;font-size:11px;margin-bottom:8px}
.cnode__en{display:block;font-family:var(--ff-en);font-size:11px;letter-spacing:.08em;color:var(--mut)}
.cnode b{display:block;font-size:14px;margin-top:2px}
.carrow{display:flex;align-items:center;color:var(--mut);font-size:14px}
@media(max-width:760px){.cline{flex-direction:column;align-items:stretch}
  .carrow{justify-content:center;transform:rotate(90deg)}}

.cstep-list{display:grid;gap:clamp(20px,3vw,36px)}
.cstep{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:center}
.cstep:nth-child(even){direction:rtl}
.cstep:nth-child(even)>*{direction:ltr}
.cstep__phone{border:1px solid var(--ink);border-radius:18px;padding:14px;background:var(--paper);max-width:280px}
.cstep__no{display:block;font-family:var(--ff-en);font-size:12px;letter-spacing:.1em;color:var(--mut)}
.cstep__ttl{display:block;font-size:clamp(18px,2.2vw,24px);margin:4px 0 10px}
.cstep__tx p{font-size:14px;line-height:1.95;color:var(--mut);max-width:32em}
.wall{display:inline-block;font-size:11.5px;border:1px solid var(--ink);border-radius:999px;
  padding:3px 12px;margin-bottom:12px}
@media(max-width:760px){.cstep{grid-template-columns:minmax(0,1fr);direction:ltr}
  .cstep:nth-child(even){direction:ltr}.cstep__phone{margin:0 auto}}

/* ミニ実画面（すべて墨のみ） */
.mk-ig__hd{display:flex;align-items:center;gap:8px;padding:2px 2px 10px}
.mk-ig__av{width:26px;height:26px;border-radius:50%;border:1px solid var(--ink);display:grid;
  place-items:center;font-size:12px;font-weight:700;flex:none}
.mk-ig__hn{font-size:12.5px;font-weight:600;line-height:1.2}
.mk-ig__hn span{display:block;font-size:11px;font-weight:400;color:var(--mut)}
.mk-ig__more{margin-left:auto;color:var(--mut)}
.mk-ig__ph{border:1px solid var(--line);aspect-ratio:4/5;display:grid;
  place-items:center;text-align:center;color:#3c3c3c;font-size:12px;line-height:1.7;background:
  linear-gradient(to top right,transparent 49.5%,#cdccc7 49.7%,#cdccc7 50.3%,transparent 50.5%),
  linear-gradient(to top left, transparent 49.5%,#cdccc7 49.7%,#cdccc7 50.3%,transparent 50.5%),#f6f5f2}
.mk-ig__act{display:flex;gap:16px;padding:10px 2px 8px;font-size:11.5px;color:var(--mut)}
.mk-ig__cap{font-size:12px;line-height:1.7;padding:0 2px 10px}
.mk-ig__cap b{font-weight:600}
.mk-ig__cm{display:flex;gap:8px;align-items:flex-start;border-top:1px solid var(--line);padding-top:10px}
.mk-ig__cmav{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;
  place-items:center;font-size:11px;flex:none}
.mk-ig__cmb{font-size:12.5px;line-height:1.6}
.mk-ig__cmb b{font-weight:600}
.mk-ig__cmb span{display:block;font-size:11px;color:var(--mut);margin-top:2px}
.mk-dm__hd{font-size:11px;color:var(--mut);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}
.mk-dm__b{font-size:12.5px;line-height:1.7;padding:9px 12px;border-radius:12px;margin-bottom:8px;max-width:88%}
.mk-dm__b--in{background:#efeeea;border:1px solid var(--line)}
.mk-dm__b--out{background:var(--ink);color:#fff;margin-left:auto}
.mk-dm__link{display:block;font-size:11px;margin-top:6px;text-decoration:underline}
.mk-dm__auto{font-size:11px;color:var(--mut);border-top:1px dashed #b7b6b1;padding-top:8px;margin-top:2px}
.mk-ai__slots{display:flex;flex-wrap:wrap;gap:6px}
.mk-ai__slots span{border:1px solid var(--ink);border-radius:999px;padding:5px 12px;font-size:12px}
.mk-ai__slots span.off{border-color:var(--line);color:var(--mut)}
/* チャット内の選択UI（学生がタップで選ぶ・第1〜第3希望のランク付け） */
.mk-pick{border:1px solid var(--line);border-radius:12px;padding:12px;background:#faf9f6;margin-top:2px}
.mk-pick__row{margin-bottom:13px}
.mk-pick__row:last-of-type{margin-bottom:0}
.mk-pick__lb{display:flex;justify-content:space-between;align-items:baseline;gap:8px;
  font-size:11.5px;color:var(--mut);font-weight:600;margin-bottom:8px}
.mk-pick__lb em{font-style:normal;font-size:11px;font-weight:400;color:var(--mut);text-align:right}
.mk-chips{display:flex;flex-wrap:wrap;gap:7px}
.mk-chip{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:12px;
  background:#fff;min-height:38px;display:inline-flex;align-items:center}
.mk-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.mk-slots2{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px 9px}
.mk-slot2{position:relative;border:1px solid var(--line);border-radius:8px;padding:9px 6px;
  font-size:12px;text-align:center;background:#fff;line-height:1.5}
.mk-slot2 b{display:block;font-size:11.5px;font-weight:600}
.mk-slot2.off{color:var(--mut);background:#f2f1ed;font-size:11px}
.mk-slot2.r1,.mk-slot2.r2,.mk-slot2.r3{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.mk-slot2.r1::after,.mk-slot2.r2::after,.mk-slot2.r3::after{position:absolute;top:-9px;right:-7px;
  width:21px;height:21px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:700;
  display:grid;place-items:center;font-family:var(--ff-en)}
.mk-slot2.r1::after{content:"1"}
.mk-slot2.r2::after{content:"2"}
.mk-slot2.r3::after{content:"3"}
.mk-pick__send{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:13px;
  background:var(--ink);color:#fff;border-radius:8px;font-size:13px;font-weight:600}
.mk-pick__note{font-size:11px;color:var(--mut);line-height:1.7;margin-top:9px}
/* カレンダー（来られる日を複数選択・第1〜第3希望のランク付け） */
.mk-cal{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 10px 11px}
.mk-cal__hd{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;
  font-weight:600;margin-bottom:9px;padding:0 2px}
.mk-cal__nav{width:28px;height:28px;border:1px solid var(--line);border-radius:6px;
  display:grid;place-items:center;color:var(--mut);font-size:14px}
.mk-cal__wk{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;
  font-size:11px;color:var(--mut);margin-bottom:5px}
.mk-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mk-cal__e{aspect-ratio:1/1}
.mk-cal__d{position:relative;aspect-ratio:1/1;display:grid;place-items:center;font-size:12px;
  border:1px solid var(--line);border-radius:6px;background:#fff}
.mk-cal__d.off{color:#c2c1bc;background:#f6f5f2;border-color:#edece8}
.mk-cal__d.full{color:var(--mut);background:#f2f1ed;border-style:dashed;text-decoration:line-through}
.mk-cal__d.r1,.mk-cal__d.r2,.mk-cal__d.r3{border-color:var(--ink);font-weight:700;
  box-shadow:inset 0 0 0 1px var(--ink)}
.mk-cal__d.r1::after,.mk-cal__d.r2::after,.mk-cal__d.r3::after{position:absolute;top:-6px;right:-5px;
  width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:700;
  display:grid;place-items:center;font-family:var(--ff-en)}
.mk-cal__d.r1::after{content:"1"}
.mk-cal__d.r2::after{content:"2"}
.mk-cal__d.r3::after{content:"3"}
.mk-cal__lg{display:flex;gap:14px;font-size:11px;color:var(--mut);margin-top:8px;padding:0 2px}
.mk-cal__lg span{position:relative;padding-left:16px}
.mk-cal__lg span::before{content:"";position:absolute;left:0;top:1px;width:11px;height:11px;
  border-radius:3px;border:1px solid var(--ink)}
.mk-cal__lg-f::before{border-style:dashed;border-color:var(--line);background:#f2f1ed}
/* 横スワイプの日付レール（大きな日付カード＝タップしやすい） */
.mk-cal2__hint{display:flex;justify-content:space-between;align-items:baseline;
  font-size:11.5px;color:var(--mut);margin-bottom:8px}
.mk-cal2__hint em{font-style:normal;font-size:11px}
.mk-cal2__rail{display:flex;gap:9px;overflow-x:auto;padding:8px 10px 10px 2px;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.mk-day{scroll-snap-align:start;flex:0 0 auto;width:58px;min-height:74px;position:relative;
  border:1px solid var(--line);border-radius:10px;background:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.mk-day__w{font-size:11px;color:var(--mut)}
.mk-day__d{font-size:19px;font-weight:700;line-height:1}
.mk-day__m{font-size:11px;color:var(--mut)}
.mk-day.off{background:#f2f1ed;border-style:dashed}
.mk-day.off .mk-day__d,.mk-day.off .mk-day__m,.mk-day.off .mk-day__w{color:var(--mut)}
.mk-day.r1,.mk-day.r2,.mk-day.r3{border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.mk-day.r1::after,.mk-day.r2::after,.mk-day.r3::after{position:absolute;top:5px;right:5px;
  width:19px;height:19px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;
  font-weight:700;display:grid;place-items:center;font-family:var(--ff-en)}
.mk-day.r1::after{content:"1"}
.mk-day.r2::after{content:"2"}
.mk-day.r3::after{content:"3"}
/* 店長の確認画面（○/×をタップ） */
.mk-store__hd{font-size:12.5px;font-weight:600;border-bottom:1px solid var(--line);
  padding-bottom:8px;margin-bottom:8px}
.mk-store__meta{font-size:11.5px;color:var(--mut);margin-bottom:10px;line-height:1.6}
.mk-store__cand{display:flex;flex-direction:column;gap:7px}
.mk-store__row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);
  border-radius:8px;padding:8px 10px}
.mk-store__row.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.mk-store__row b{flex:1 1 auto;font-weight:600;font-size:11.5px}
.mk-store__rk{width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;
  font-size:11px;font-weight:700;display:grid;place-items:center;font-family:var(--ff-en);flex:0 0 auto}
.mk-store__ok,.mk-store__ng{width:30px;height:30px;border:1px solid var(--line);border-radius:6px;
  display:grid;place-items:center;font-size:14px;color:var(--mut);flex:0 0 auto}
.mk-store__ok.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.mk-store__send{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;
  background:var(--ink);color:#fff;border-radius:8px;font-size:12.5px;font-weight:600}
.mk-store__note{font-size:11px;color:var(--mut);margin-top:8px;line-height:1.6}
.mk-store__free{margin-top:11px}
.mk-store__flb{display:block;font-size:11px;color:var(--mut);margin-bottom:5px}
.mk-store__inp{border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:12px;
  min-height:38px;background:#fff}
.mk-store__inp i{font-style:normal;color:var(--mut)}
/* 店長のLINE通知カード（Flex） */
.mk-push{border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px;margin:2px 0 8px}
.mk-push__ttl{font-size:12.5px;font-weight:600;margin-bottom:6px}
.mk-push__meta{font-size:11px;color:var(--mut);margin-bottom:9px;line-height:1.6}
.mk-push__cand{display:flex;flex-direction:column;gap:5px;font-size:11.5px;margin-bottom:10px}
.mk-push__btns{display:flex;gap:7px;margin-bottom:8px}
.mk-push__b{flex:1 1 auto;text-align:center;border:1px solid var(--line);border-radius:8px;
  padding:9px 6px;font-size:12px;min-height:40px;display:flex;align-items:center;justify-content:center}
.mk-push__b.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
.mk-push__liff{font-size:11.5px;color:var(--ink);border:1px dashed var(--line);border-radius:8px;
  padding:8px 10px;text-align:center}
/* STEP6 の2画面レイアウト（店長の確認 → 応募者への返信） */
.cstep--duo{grid-template-columns:minmax(0,1fr);direction:ltr;gap:18px}
.cstep--duo>*{direction:ltr}
.cstep__duo{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(12px,2vw,26px)}
.cstep__one{flex:1 1 240px;max-width:300px;min-width:0}
.cstep__cap{display:block;font-size:12px;font-weight:600;color:var(--ink);margin-bottom:8px;text-align:center}
.cstep__flow{font-size:22px;color:var(--mut);flex:0 0 auto}
@media(max-width:520px){.cstep__flow{transform:rotate(90deg)}}
.mk-link__url{font-family:var(--ff-en);font-size:12px;color:var(--mut);border:1px solid var(--line);
  border-radius:999px;padding:6px 12px;text-align:center;margin-bottom:12px}
.mk-link__b b{display:block;font-size:15px;margin-bottom:6px}
.mk-link__b span{display:block;font-size:12px;color:var(--mut);line-height:1.8;margin-bottom:12px}
.mk-link__b .btn-m{min-height:44px;font-size:12px;background:var(--ink);color:#fff}
.mk-link__note{font-size:11px;color:var(--mut);margin-top:10px;line-height:1.7}
.mk-app__hd{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px}
.mk-app__hd b{font-size:14px}.mk-app__hd span{font-size:11px;color:var(--mut)}
.mk-app__st{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;font-size:12.5px;margin-top:8px}
.mk-app__st.on{border-color:var(--ink)}
.mk-app__tab{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border-top:1px solid var(--line);
  margin-top:12px;padding-top:10px}
.mk-app__tab span{font-size:11px;text-align:center;color:var(--mut)}
.mk-app__tab span.on{color:var(--ink);font-weight:700}
.mk-book{text-align:center;padding:6px}
.mk-book__ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:var(--ink);color:#fff;font-size:20px;margin-bottom:10px}
.mk-book b{display:block;font-size:15px;margin-bottom:6px}
.mk-book span{display:block;font-size:12px;color:var(--mut)}
.mk-book__no{font-family:var(--ff-en);margin-top:6px}
.mk-book__note{font-size:11px;color:var(--mut);border-top:1px solid var(--line);margin-top:12px;padding-top:10px;line-height:1.7}

.ctable{width:100%;border-collapse:collapse;margin-top:20px;font-size:13px}
.ctable th,.ctable td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.ctable tr:first-child th{background:var(--band)}
.ctable th:first-child{color:var(--mut);font-weight:500;width:22%}
@media(max-width:640px){.ctable{font-size:12px}.ctable th,.ctable td{padding:9px 8px}}
