/* =========================================================
   見つける君 - ページレイアウト共通（layout.css）
   tokens.css / components.css の後に読み込んでください。
   トンマナ: TOPページ準拠（黒枠 + ハードシャドウ / 青・橙・アイボリー）
   ========================================================= */
:root{
  --mk-maru:"Zen Maru Gothic", var(--mk-font);
  --mk-kaku:"Zen Kaku Gothic New", var(--mk-font);
  --mk-shadow-hard:8px 8px 0 var(--mk-black);
  --mk-shadow-hard-sm:4px 4px 0 var(--mk-black);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--mk-font);color:var(--mk-black);background:var(--mk-ivory);
  font-size:var(--mk-text-md-size);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,p{margin:0}

/* ---- 共通ユーティリティ ---- */
.card{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:8px}
.card--shadow{box-shadow:var(--mk-shadow-hard-sm)}
.req,.opt{display:inline-block;font-size:10px;font-weight:700;line-height:1;
  padding:3px 8px;border-radius:2px;color:#fff;vertical-align:2px;margin-left:8px}
.req{background:var(--mk-error)} .opt{background:var(--mk-gray)}
.note{font-size:12px;color:var(--mk-gray)}
.status{display:inline-block;font-size:12px;font-weight:700;padding:2px 12px;border-radius:var(--mk-radius-pill)}
.status--blue{background:var(--mk-light-blue);color:var(--mk-blue)}
.status--green{background:#E8F6EE;color:#1B8A4C}
.status--orange{background:#FDF0DD;color:var(--mk-orange-hover)}
.status--red{background:var(--mk-error-bg);color:var(--mk-error)}
.status--gray{background:#F0F0F0;color:#777}

/* ---- 公開側ヘッダー / フッター ---- */
.pg-header{position:sticky;top:0;z-index:50;background:var(--mk-white);
  border-bottom:2px solid var(--mk-black)}
.pg-header__in{max-width:1240px;margin:0 auto;height:72px;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:var(--mk-maru);font-weight:700;font-size:22px;display:inline-flex;
  align-items:center;gap:8px;border:2px solid var(--mk-black);border-radius:24px;
  padding:4px 18px;background:var(--mk-white)}
.logo::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--mk-logo-blue);
  border:2px solid var(--mk-black)}
@media (max-width: 768px) {
  .pg-header .logo{max-width:96px;width:100%;}
}
.pg-header__nav{display:flex;align-items:center;gap:12px}
@media (max-width: 768px) {
  .pg-header__nav{gap:8px;}
  .pg-header__nav .mk-btn{font-size:10px;font-feature-settings:'palt';text-align:center;padding:4px 10px 4px 2px;height:36px;gap:2px;line-height:1;}
}

.pg-footer{background:var(--mk-ivory);border-top:2px solid var(--mk-black);margin-top:80px}
.pg-footer__in{max-width:1240px;margin:0 auto;padding:32px 24px;display:flex;
  flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.pg-footer__links{display:flex;flex-wrap:wrap;gap:24px;font-size:14px}
.pg-footer small{color:var(--mk-gray);font-size:12px}

/* ---- 下層タイトル ---- */
.lower-hero{position:relative;overflow:hidden;padding:56px 24px 40px;text-align:center}
.lower-hero h1{font-family:var(--mk-maru);font-weight:700;font-size:32px}
.lower-hero .en{position:absolute;left:50%;top:-24px;transform:translateX(-50%);
  font-family:var(--mk-maru);font-weight:700;font-size:110px;color:var(--mk-light-blue);
  white-space:nowrap;z-index:-1;line-height:1}
.container{max-width:1040px;margin:0 auto;padding:0 24px}
.container--narrow{max-width:720px}

/* ---- 認証カード（ログイン/リマインダー/登録）---- */
.auth{max-width:480px;margin:48px auto 0;padding:0 24px}
.auth--wide{max-width:720px}
.auth__card{background:var(--mk-white);border:3px solid var(--mk-black);border-radius:16px;
  box-shadow:var(--mk-shadow-hard);padding:40px 32px}
.auth__title{font-family:var(--mk-maru);font-weight:700;font-size:24px;text-align:center;margin-bottom:8px}
.auth__lead{font-size:14px;text-align:center;margin-bottom:32px}
.form{display:flex;flex-direction:column;gap:20px}
.form__actions{margin-top:12px;display:flex;flex-direction:column;gap:16px;align-items:center}
.form__actions .mk-btn{width:100%}
.link{color:var(--mk-blue);font-size:14px;text-decoration:underline}
.field-row{display:flex;gap:12px}.field-row>*{flex:1}
.radio-row{display:flex;flex-wrap:wrap;gap:4px 16px}

/* ---- マイページ（オーナー）レイアウト ---- */
.my-header{background:var(--mk-white);border-bottom:2px solid var(--mk-black)}
.my-header__in{max-width:1240px;margin:0 auto;height:64px;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between}
@media (max-width: 768px) {
  .my-header .logo{max-width:96px;width:100%;}
}
.my-user{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--mk-blue);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:13px;border:2px solid var(--mk-black)}
.my-layout{max-width:1240px;margin:32px auto 64px;padding:0 24px;
  display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}
.my-side{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;overflow:hidden}
.my-side a{display:flex;align-items:center;gap:8px;padding:14px 16px;font-weight:700;
  font-size:14px;border-bottom:1px solid #eee;position:relative}
.my-side a:last-child{border-bottom:0}
.my-side a.is-active{background:var(--mk-light-blue);color:var(--mk-blue);
  box-shadow:inset 4px 0 0 var(--mk-blue)}
.my-side a.logout{color:var(--mk-error)}
.my-side .nbadge{margin-left:auto;background:var(--mk-error);color:#fff;font-size:11px;
  min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px}
.page-title{font-family:var(--mk-maru);font-weight:700;font-size:24px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  flex-wrap:wrap;margin-bottom:24px}
.page-head p{font-size:13px;color:#666;margin-top:6px}

/* ---- カンバン ---- */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:300px;gap:16px;
  overflow-x:auto;padding-bottom:12px}
@media(max-width:900px){
  .kanban {width: 100%;}
}
.kanban__col{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;
  border-top:6px solid var(--mk-gray);padding:16px;display:flex;flex-direction:column;gap:12px}
.kanban__col--blue{border-top-color:var(--mk-blue)}
.kanban__col--orange{border-top-color:var(--mk-orange)}
.kanban__col--green{border-top-color:#2BB673}
.kanban__col--red{border-top-color:var(--mk-error)}
.kanban__head{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px}
.kanban__count{background:var(--mk-light-blue);color:var(--mk-blue);border-radius:10px;
  font-size:12px;min-width:20px;text-align:center;padding:1px 6px}
.kcard{border:1.5px solid var(--mk-black);border-radius:8px;background:var(--mk-ivory);
  padding:12px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.kcard b{font-size:14px}
.kcard .sub{color:#666;font-size:12px}
.kcard .price{color:var(--mk-orange-hover);font-weight:700}
.kcard .meta{display:flex;justify-content:space-between;font-size:12px;color:#666}
.kcard .alert{color:var(--mk-error);font-weight:700}

/* ---- 物件リスト / メッセージ / お気に入りカード ---- */
.list{display:flex;flex-direction:column;gap:16px}
.prop{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;
  padding:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.prop__body{flex:1;min-width:240px}
.prop__title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px;font-weight:700}
.tagchip{font-size:11px;background:#F0F0F0;border-radius:10px;padding:2px 10px;font-weight:400}
.prop__meta{font-size:12px;margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 18px}
.prop__meta b{font-weight:700}.prop__meta .v{color:var(--mk-blue)}
.prop__actions{display:flex;gap:10px;align-items:center}
.msg{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;
  padding:18px 20px;display:flex;gap:16px;align-items:flex-start}
.msg .avatar{flex:none}
.msg__body{flex:1;min-width:0}
.msg__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.msg__name{font-weight:700;font-size:15px}
.msg__prop{font-size:12px;color:var(--mk-blue)}
.msg__prev{font-size:13px;margin-top:6px;font-weight:700}
.msg__date{font-size:12px;color:var(--mk-gray);white-space:nowrap}
.msg__foot{margin-top:10px;text-align:right}
.btn-express{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  color:var(--mk-error);border:1.5px solid var(--mk-error);border-radius:16px;
  padding:5px 14px;background:#fff;cursor:pointer}
.fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.svc-card{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;
  overflow:hidden;display:flex;flex-direction:column}
.svc-card__img{position:relative;aspect-ratio:16/9;background:var(--mk-light-blue);
  display:grid;place-items:center;color:var(--mk-blue);font-size:13px;border-bottom:2px solid var(--mk-black)}
.svc-card__img .cat{position:absolute;left:10px;top:10px}
.svc-card__body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc-card__title{font-size:15px;font-weight:700;line-height:1.4}
.svc-card__vendor{font-size:12px;color:#666}
.svc-card__rate{font-size:13px}.star{color:var(--mk-orange)}
.svc-card__price{font-size:20px;font-weight:700;color:var(--mk-orange-hover)}
.svc-card__price small{font-size:12px;color:var(--mk-black);font-weight:400}
.svc-card__foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.svc-card__foot .mk-btn{width:100%}
.linkbtn-danger{background:none;border:0;color:var(--mk-error);font-size:12px;
  text-decoration:underline;cursor:pointer}

/* ---- メッセージ詳細（1カラム + 固定ヘッダー）---- */
.chat-fixed{position:sticky;top:0;z-index:40;background:var(--mk-white);
  border-bottom:2px solid var(--mk-black)}
.chat-fixed__in{max-width:880px;margin:0 auto;padding:10px 16px;display:flex;
  align-items:center;gap:14px}
.back{font-size:22px;font-weight:700;line-height:1;text-decoration:none;padding:4px 8px}
@media(max-width:900px){
  .chat-fixed__in{
    flex-flow:column;
    align-items: stretch;
    position: relative;
    padding-left: 3em;
    gap: 0;
  }
  .chat-fixed__in .back{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0,-50%);
  }
}

.chat-peer{flex:1;min-width:0}
.chat-peer b{font-size:15px;display:block}
.chat-peer .sub{font-size:11px;color:var(--mk-gray)}
.chat-quote{display:flex;align-items:center;gap:10px}
@media(max-width:900px){
  .chat-quote{
    justify-content: space-between;
  }
}
.chat-quote .amount{font-weight:700;font-size:18px}
.chat-body{max-width:880px;margin:0 auto;padding:24px 16px 120px;height:calc(100dvh - 64px);}
.chat-body iframe{height: 100%;width: 100%;}

.chat-day{text-align:center;margin:16px 0}
.chat-day span{font-size:11px;background:#eee;border-radius:10px;padding:3px 14px}
.bubble{max-width:70%;padding:12px 16px;font-size:14px;border:2px solid var(--mk-black);
  border-radius:12px;margin-bottom:4px}
.brow{display:flex;gap:10px;margin-bottom:14px}
.brow--me{justify-content:flex-end}
.brow--me .bubble{background:var(--mk-blue);color:#fff;border-bottom-right-radius:2px}
.brow--peer .bubble{background:var(--mk-white);border-bottom-left-radius:2px}
.btime{align-self:flex-end;font-size:10px;color:var(--mk-gray)}
.chat-input{position:fixed;left:0;right:0;bottom:0;background:var(--mk-ivory);
  border-top:2px solid var(--mk-black)}
.chat-input__in{max-width:880px;margin:0 auto;padding:12px 16px;display:flex;gap:10px}
.chat-input input{flex:1}
.send{width:48px;height:48px;border-radius:50%;border:2px solid var(--mk-black);
  background:var(--mk-blue);color:#fff;font-size:18px;cursor:pointer}

/* ---- モーダル ---- */
.modal{position:fixed;inset:0;background:rgba(33,33,33,.55);display:none;
  align-items:center;justify-content:center;padding:24px;z-index:100}
.modal.is-open{display:flex}
.modal__panel{background:var(--mk-white);border:3px solid var(--mk-black);border-radius:16px;
  box-shadow:var(--mk-shadow-hard);max-width:440px;width:100%;max-height:85vh;overflow:auto;padding:28px}
.modal__title{font-family:var(--mk-maru);font-weight:700;font-size:18px;margin-bottom:16px}
.quote-rows{border-top:1px solid #ddd}
.quote-rows .r{display:flex;justify-content:space-between;gap:12px;padding:10px 0;
  border-bottom:1px solid #ddd;font-size:14px}
.quote-rows .r small{display:block;color:var(--mk-gray);font-size:11px}
.quote-rows .r.total{font-weight:700;font-size:16px}
.modal__actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.modal__actions .mk-btn{width:100%}

/* ---- テーブル / ページャー ---- */
.tbl-wrap{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;overflow:auto}
@media (max-width: 768px) {
  .tbl-wrap{width: 100%;}
}
table.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.tbl th{background:var(--mk-ivory);text-align:left;font-size:12px;padding:12px 16px;
  border-bottom:2px solid var(--mk-black);white-space:nowrap}
.tbl td{padding:14px 16px;border-bottom:1px solid #e5e5e5;vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .ops{display:flex;gap:14px;font-size:13px;white-space:nowrap}
.tbl .ops a{color:var(--mk-blue);text-decoration:underline}
.tbl .ops a.del{color:var(--mk-error)}
.pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:24px}
.pager a,.pager span{min-width:34px;height:34px;display:grid;place-items:center;
  border:1.5px solid var(--mk-black);border-radius:6px;background:#fff;font-size:14px}
.pager .cur{background:var(--mk-blue);color:#fff;border-color:var(--mk-blue)}

/* ---- フィルタ（一覧上部）---- */
.filterbar{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;
  padding:18px 20px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.filterbar .fr{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;font-size:13px}
.filterbar .fl{font-weight:700;min-width:88px}
.fw{display:flex;gap:10px;flex:1;min-width:260px}
.fw .mk-input{flex:1}

/* ---- サービス一覧（公開側）---- */
.search-layout{max-width:1240px;margin:32px auto 64px;padding:0 24px;
  display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}
.filter-side{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;padding:20px}
.filter-side h2{font-family:var(--mk-maru);font-size:16px;border-bottom:2px solid var(--mk-blue);
  padding-bottom:8px;margin-bottom:16px}
.fgroup{margin-bottom:18px}
.fgroup>b{display:block;font-size:13px;margin-bottom:6px}
.fgroup .cat{color:var(--mk-blue);font-size:12px;font-weight:700;margin:10px 0 2px;
  border-bottom:1px dashed var(--mk-logo-blue);padding-bottom:2px}
.fgroup .mk-checkbox{padding:4px 2px;font-size:12px;display:flex}
.fclear{width:100%;text-align:center;font-weight:700;font-size:14px;border:0;
  background:none;border-top:1px solid #ddd;padding-top:14px;cursor:pointer}
.result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-wrap:wrap;margin-bottom:12px}
.result-head b{font-size:16px}
.sortbox{display:flex;align-items:center;gap:8px;font-size:12px}
.active-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.badge-row{display:flex;flex-wrap:wrap;gap:6px}
.mk-badge--outline{background:#fff;color:var(--mk-orange-hover);border:1px solid var(--mk-orange)}

/* ---- ダッシュボード（業者/運営・黒サイド）---- */
.dash{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.dash-side{background:var(--mk-white);color:var(--mk-black);padding:16px 0;margin:12px;display:flex;flex-direction:column;border:2px solid var(--mk-black);border-radius:12px}
.dash-side .logo{margin:0 16px 8px;font-size:18px}
.dash-side .org{font-size:11px;color:#666;margin:6px 16px 14px}
.dash-side nav a{display:block;padding:13px 16px;font-size:14px;font-weight:700;color:var(--mk-black);border-bottom:1px solid #eee;text-decoration:none}
.dash-side nav a.is-active{background:var(--mk-light-blue);color:var(--mk-blue);box-shadow:inset 4px 0 0 var(--mk-blue)}
.dash-side__foot{margin-top:auto;border-top:1px solid #eee;padding:16px 16px 4px;font-size:12px;color:#666}
.dash-side__foot .dep{display:flex;justify-content:space-between;margin-bottom:10px}
.dash-side__foot .dep b{color:var(--mk-blue)}
.dash-main{padding:0 0 64px;min-width:0}
.dash-top{background:var(--mk-white);border-bottom:2px solid var(--mk-black);padding:14px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dash-top h1{font-family:var(--mk-maru);font-size:18px}
.dash-body{padding:28px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:28px}
.kpi{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;padding:16px}
.kpi .l{font-size:12px;color:#666}
.kpi .v{font-size:24px;font-weight:700;margin:6px 0}
.kpi .v--orange{color:var(--mk-orange-hover)} .kpi .v--blue{color:var(--mk-blue)}
.kpi .d{font-size:11px}.up{color:#1B8A4C;font-weight:700}.down{color:var(--mk-error);font-weight:700}
.chart-ph{background:var(--mk-white);border:2px dashed var(--mk-gray);border-radius:12px;
  min-height:280px;display:grid;place-items:center;color:var(--mk-gray);font-size:13px}
.panel{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;padding:20px}
.panel h2{font-family:var(--mk-maru);font-size:16px;margin-bottom:14px}

/* ---- スケジュール表 ---- */
.sched{width:100%;border-collapse:collapse;font-size:13px}
.sched th,.sched td{border-bottom:1px solid #e5e5e5;padding:10px;text-align:center}
.sched th{font-size:12px;background:var(--mk-ivory)}
.sched td:first-child{text-align:left;white-space:nowrap;font-weight:700}
.slot{display:block;border:2px solid #ddd;border-radius:8px;background:#F4F4F4;color:var(--mk-gray);
  padding:10px 0;font-weight:700;cursor:pointer;user-select:none}
.slot.is-ok{background:#EAF8F0;border-color:#2BB673;color:#1B8A4C}
.week-nav{display:flex;gap:16px;align-items:center;font-weight:700;font-size:14px}
.week-nav a{color:var(--mk-blue);text-decoration:underline}

/* ---- 単価設定（左アコーディオン + 右フォーム）---- */
.price-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}
.acc{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:12px;overflow:hidden}
.acc details{border-bottom:1px solid #e5e5e5}
.acc details:last-child{border-bottom:0}
.acc summary{padding:13px 16px;font-weight:700;font-size:13px;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center}
.acc summary::after{content:"▾";color:var(--mk-gray);font-size:11px}
.acc details[open] summary::after{content:"▴"}
.acc .sub{display:block;padding:10px 16px 10px 24px;font-size:12px;border-top:1px dashed #e5e5e5}
.acc .sub.is-active{background:#FDF0DD;color:var(--mk-orange-hover);font-weight:700;
  box-shadow:inset 3px 0 0 var(--mk-orange)}
/* No66：大項目をクリックで選択する一覧（アコーディオン展開なし）。クリックで右に全中カテゴリ表示。 */
.acc .acc-cat{display:block;padding:13px 16px;font-weight:700;font-size:13px;cursor:pointer;
  color:var(--mk-black);text-decoration:none;border-bottom:1px solid #e5e5e5}
.acc .acc-cat:last-child{border-bottom:0}
.acc .acc-cat.is-active{background:#FDF0DD;color:var(--mk-orange-hover);
  box-shadow:inset 3px 0 0 var(--mk-orange)}
/* No66：右パネル内の中カテゴリ見出し（ベッド数・タオル枚数・特別な要望 など） */
.cat-group{font-family:var(--mk-maru);font-size:15px;margin:28px 0 4px;padding-bottom:6px;
  border-bottom:2px solid var(--mk-black)}
.qsec{margin:26px 0 12px;font-weight:700;font-size:14px;border-left:6px solid var(--mk-orange);
  padding-left:10px}
.qsec small{color:var(--mk-gray);font-weight:400;font-size:11px;margin-left:8px}
.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.qitem{border:1.5px solid var(--mk-black);border-radius:8px;background:var(--mk-ivory);
  padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:13px}
.qitem .qn{flex:1}
.qitem .yen{font-weight:700}
.qitem .mk-input{width:96px;text-align:right;padding:8px 10px}
.refprice{background:var(--mk-light-blue);border:2px solid var(--mk-blue);border-radius:12px;
  color:var(--mk-blue);font-weight:700;padding:12px 18px;display:inline-block;margin-bottom:20px}

/* ---- カテゴリ管理ツリー ---- */
.tree{display:flex;flex-direction:column;gap:12px}
.tree details{background:var(--mk-white);border:2px solid var(--mk-black);border-radius:10px;overflow:hidden}
.tree summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;
  padding:14px 16px;font-weight:700;font-size:14px}
.tree summary .grip{color:var(--mk-gray);cursor:grab}
.tree summary .tools{margin-left:auto;display:flex;gap:12px;font-size:13px}
.tree summary .tools a{color:var(--mk-gray)}
.tree .mid{display:flex;align-items:center;gap:10px;padding:11px 16px 11px 40px;
  border-top:1px dashed #ddd;font-size:13px}
.tree .mid .qn{font-size:11px;background:#F0F0F0;border-radius:8px;padding:2px 8px;color:#666}
.tree .mid .setlink{margin-left:auto;font-size:12px;font-weight:700;color:var(--mk-blue);
  border:1.5px solid var(--mk-blue);border-radius:14px;padding:3px 12px}
.tree .addmid{padding:10px 16px 14px 40px;font-size:12px;border-top:1px dashed #ddd}
.tree .addmid a{color:var(--mk-blue);font-weight:700}

/* ---- 会社概要 定義テーブル ---- */
.dl{border:2px solid var(--mk-black);border-radius:12px;overflow:hidden;background:#fff}
.dl .row{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid #e5e5e5}
.dl .row:last-child{border-bottom:0}
.dl dt{background:var(--mk-ivory);padding:16px;font-weight:700;font-size:14px;margin:0}
.dl dd{padding:16px;margin:0;font-size:14px}
.prose{background:#fff;border:2px solid var(--mk-black);border-radius:12px;padding:32px;
  font-size:14px;line-height:1.9}
.prose h2{font-family:var(--mk-maru);font-size:18px;margin:28px 0 10px}
.prose h2:first-child{margin-top:0}

/* ---- レスポンシブ ---- */
@media(max-width:920px){
  .my-layout,.search-layout,.price-layout{grid-template-columns:1fr}
  .dash{grid-template-columns:1fr}
  .dash-side{flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 8px;padding:8px}
  .dash-side .logo{font-size:14px;margin:4px 8px}
  .dash-side .org,.dash-side__foot{display:none}
  .dash-side nav{display:flex;flex-wrap:wrap}
  .dash-side nav a{padding:8px 12px;font-size:12px}
  .dl .row{grid-template-columns:1fr}
  .dl dt{border-bottom:1px dashed #ddd}
  .prop__actions{width:100%;justify-content:flex-end}
}
