/* ===== Restored: morning CSS snapshot ===== */
    :root{--ink:#0e0f0f;--charcoal:#141211;--cacao:#2a201a;--espresso:#3a2a22;--bronze:#a37a3b;--linen:#f3efe8;--sand:#e6ded2;--smoke:#8a857e;}
    html,body{margin:0;padding:0}
    body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","游ゴシック体",YuGothic,Meiryo,sans-serif;line-height:1.6;color:var(--linen);background:var(--charcoal)}
    img{max-width:100%;height:auto;display:block}
    a{color:var(--bronze);text-decoration:none}a:hover{text-decoration:underline}
    .wrap{width:min(1100px,92%);margin:0 auto}

    /* Header */
    header{position:sticky;top:0;z-index:100;background:rgba(24,18,15,.86);backdrop-filter:blur(4px);border-bottom:1px solid rgba(163,122,59,.2)}
    .header-inner{display:flex;align-items:center;justify-content:space-between;padding:6px 0;position:relative}
    .brand{display:flex;align-items:center;gap:8px;min-width:0} 
    .brand-logo{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--espresso),var(--cacao));border:1px solid rgba(255,255,255,.08)}
    .brand-title{font-family:"Yu Mincho",serif;font-size:15px;letter-spacing:.14em;display:flex;align-items:baseline;gap:6px;white-space:nowrap} 
    .brand-sub{font-size:10px;letter-spacing:.25em;color:var(--sand);opacity:.85;white-space:nowrap} 
    nav ul{display:flex;list-style:none;gap:16px;margin:0;padding:0}
    nav a{color:var(--linen);opacity:.9}nav a:hover{opacity:1}
    /* brand をトップリンク化：色そのまま＆下線なし */
    header .brand-home{
	display:flex; align-items:center; gap:8px;
	color: var(--linen); text-decoration:none;
    }
    header .brand-home:link,
    header .brand-home:visited{ color: var(--linen); text-decoration:none; }
    header .brand-home:hover{ text-decoration:none; opacity:.95; }
    header .brand-home .brand-title{ color: var(--linen); }

    .brand-logo{
	width:28px; height:28px; border-radius:6px; display:block;
	object-fit:cover;
	border:1px solid rgba(255,255,255,.08);
    }
    

/* Mobile Nav (fix: button on top of brand, centered, tap-friendly) */
.nav-toggle{display:none}

@media (max-width:760px){
  nav ul{
    flex-direction: column;
    gap: 10px;
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
    will-change: max-height;
  }
  nav[data-open="true"] ul{ max-height: 320px; }

  .header-inner{ position: relative; }

  /* brand をリンクにしつつ、ボタン領域を侵食しないよう右側に余白 */
  .brand-home{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding-right: 52px; /* ← ここでボタン分の逃げを作る */
    position: relative;
    z-index: 1;          /* ボタンより下 */
  }

  /* ハンバーガー：中央配置＆タップ領域拡大＆最前面 */
  .nav-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    padding: 0;
    font-size: 22px;
    line-height: 1;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.04);
    color: var(--linen);
    z-index: 2;                /* ← brand より前に出す */
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  nav{ width:100%; margin-top:36px; }

  /* brand 一行キープの微調整 */
  .brand-title{ font-size:14px; }
  .brand-sub{ font-size:9px; letter-spacing:.18em; }
}

/* Desktop では常時展開（モバイル用max-heightを無効化） */
@media (min-width:761px){
  nav ul{ max-height: none !important; overflow: visible; }
}


    /* Hero background slider */
    .hero{position:relative;overflow:hidden;min-height:72vh;color:var(--linen);isolation:isolate}
    .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(58,40,28,.55),rgba(58,40,28,.25) 40%,rgba(58,40,28,.65));z-index:1}
    .hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}
    .hero-slide.active{opacity:1;z-index:0}
    .hero-inner{position:relative;z-index:2;padding:clamp(72px,12vh,120px) 0 clamp(120px,16vh,220px);text-align:left}
    .hero .headline{font-family:"Yu Mincho",serif;font-size:40px;letter-spacing:.15em;line-height:1.6;margin:0}

    
    /* Image Menu (3-up under contact) */
    .imenu{padding:24px 0 56px}
    .imenu-grid{display:grid;grid-template-columns:1fr;gap:14px}
    /*@media(min-width:860px){.imenu-grid{grid-template-columns:repeat(3,1fr)}}*/
    @media (max-width: 859px){
	.imenu-grid{ gap: 18px; }          /* カード間の縦スペースを+4px */
	.imenu-card{ padding-bottom: 2px; }/* タップしやすさ向上の微調整（任意） */
    }
    .imenu-card{position:relative;display:block;overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
    .imenu-card .ph{aspect-ratio:16/9;width:100%;height:auto;object-fit:cover;display:block;filter:saturate(.9)}
    .imenu-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%, rgba(0,0,0,.55))}
    .imenu-label{position:absolute;left:12px;bottom:10px;z-index:1;font-weight:700;letter-spacing:.04em}
    .imenu-label .k{display:inline-block;margin-right:8px;padding:3px 8px;border-radius:999px;border:1px solid rgba(163,122,59,.5);background:rgba(163,122,59,.18);font-size:12px;color:var(--sand)}
    .imenu-label .t{font-size:14px;color:var(--linen);text-shadow:0 1px 0 rgba(0,0,0,.5)}
    .imenu-card:hover .ph{transform:scale(1.06);transition:transform .6s ease}
    .imenu-card:hover{box-shadow:0 10px 28px rgba(0,0,0,.35), 0 0 0 1px rgba(163,122,59,.18) inset;border-color:rgba(163,122,59,.35)}

    /* Buttons */
    .btn{display:inline-block;padding:12px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--linen);font-weight:600}
    .btn.primary{background:linear-gradient(180deg,rgba(163,122,59,.22),rgba(163,122,59,.08));border-color:rgba(163,122,59,.5)}

    /* Shifts */
    .shift-bar{position:relative;z-index:2;margin-top:clamp(12px,4vh,72px);background:linear-gradient(180deg,rgba(26,20,16,.9),rgba(26,20,16,.94));border-top:1px solid rgba(163,122,59,.2);border-bottom:1px solid rgba(255,255,255,.06)}
    .shift-grid{display:grid;grid-template-columns:1fr;gap:16px;padding:14px 0}
    .shift-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 14px}
    .shift-card h3{margin:0 0 6px;font-size:14px;letter-spacing:.14em;color:var(--sand);text-transform:uppercase}
    .shift-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none}
    .shift-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(163,122,59,.08);border:1px solid rgba(163,122,59,.25);color:var(--linen);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;min-height:88px}
    .shift-item:hover{border-color:rgba(163,122,59,.45);box-shadow:0 4px 16px rgba(0,0,0,.25)}
    .shift-left{display:flex;align-items:center;gap:12px;min-width:0}
    /* link化しても色を保つ */
    .shift-link{color:inherit;text-decoration:none}
    .shift-link:hover .shift-name{text-decoration:underline}
    .shift-link:focus-visible{outline:2px solid rgba(163,122,59,.65);outline-offset:3px;border-radius:12px}
    /* 右側を縦積み（ステータス＋店舗） */
    .shift-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
    .shift-left .shift-time .shift-loc{display:none}
    .shift-right .shift-loc{display:inline-block !important;margin-left:0}
    .shift-right .shift-status{margin-left:0;align-self:flex-end}
    .shift-avatar{width:48px;height:64px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#000}
    .shift-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}
    .shift-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .shift-time{font-size:12px;color:var(--sand)}
    .shift-time i{margin-right:6px;opacity:.9}
    .shift-loc{margin-left:12px;padding:4px 8px;border-radius:999px;border:1px solid rgba(163,122,59,.45);background:rgba(163,122,59,.12);font-size:12px;color:var(--sand);white-space:nowrap}
    .shift-loc::before{
	content: "\f3c5";                  /* location-dot */
	font-family: "Font Awesome 6 Free";
	font-weight: 900;                   /* solid */
	margin-right: 6px;
	display: inline-block;
	line-height: 1;
	opacity: .95;
    }
    .shift-note{margin-top:4px;font-size:12px;color:var(--sand);opacity:.95}
    .shift-status{margin-left:12px;padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--sand);white-space:nowrap;flex-shrink:0;align-self:flex-start}
    .shift-status.ok{background:rgba(163,122,59,.18);border-color:rgba(163,122,59,.45);color:var(--linen)}
    .shift-status.full{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.18);color:var(--sand);opacity:.9}
    @media(min-width:980px){.shift-list{grid-template-columns:repeat(3,minmax(260px,1fr))}}
    @media(min-width:1280px){.shift-list{grid-template-columns:repeat(3,minmax(260px,1fr))}}

    /* （維持）News内の店舗バッジは小さめのまま */
    .news-datewrap .shift-loc{
	font-size:11px;
    }
    
    /* Sections */
    section{padding:56px 0;border-bottom:1px solid rgba(255,255,255,.06)}
    .sec-title{font-family:"Yu Mincho",serif;font-size:24px;margin:0 0 12px;letter-spacing:.08em}
    .sec-lead{color:var(--sand);max-width:65ch;margin-bottom:22px}

    /* Cards (Therapists) */
    .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    @media(min-width:720px){.cards{grid-template-columns:repeat(3,1fr)}}
    @media(min-width:1040px){.cards{grid-template-columns:repeat(4,1fr)}}
    .card{position: relative; background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
    .card:hover{border-color:rgba(163,122,59,.45);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.35),0 0 0 1px rgba(163,122,59,.18) inset}
    .card-hit{
	position: absolute;
	inset: 0;
	z-index: 5;
	display: block;
	color: inherit;
	text-decoration: none;
    }
    .card-hit:focus-visible{
	outline: 2px solid rgba(163,122,59,.8);
	outline-offset: 2px;
    }
    .card img{aspect-ratio:3/4;object-fit:cover}
    .card-body{padding:12px 12px 14px}
    .card-name{display:flex;align-items:center;justify-content:space-between;gap:10px}
    .name{font-weight:700}
    .meta{color:var(--smoke);font-size:12px;margin-top:6px}
    .thumb{position:relative}
    .badge-x{ z-index: 6; }
    .badge-x{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:999px;background:rgba(0,0,0,.5);display:grid;place-items:center}
    .badge-x i{font-size:12px;color:var(--linen)}

    /* News */
    .news-list{list-style:none;margin:0;padding:0;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}
    .news-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
    .news-item:last-child{border-bottom:none}
    .news-date{font-size:12px;color:var(--smoke)}
    .news-datewrap{min-width:86px;display:flex;flex-direction:column;gap:6px}
    /* news内の店舗バッジは小さめで行内 */
    .news-datewrap .shift-loc{margin:0;padding:2px 6px;font-size:11px;display:inline-block}
    .news-title a{color:var(--linen)}

    /* Footer & Dock */
    footer{background:#15100e;color:var(--sand);padding:28px 0 40px}
    .with-dock{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
    .dock{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:rgba(21,16,14,.92);border-top:1px solid rgba(163,122,59,.25);backdrop-filter:blur(6px)}
    .dock-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:center;padding:10px 0 calc(10px + env(safe-area-inset-bottom))}
    .dock-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 6px;color:var(--linen);font-weight:700;text-decoration:none}
    .dock-btn i{font-size:18px}
    .dock-note{font-size:10px;opacity:.75}


    /* ===== Therapist Detail ===== */
.t-breadcrumb{font-size:12px;color:var(--smoke);margin:8px 0 0}
.t-breadcrumb a{color:var(--sand)}

.t-gallery-sec{padding:8px 0 24px;border-bottom:1px solid rgba(255,255,255,.06)}
.t-gallery{display:grid;gap:10px}
@media(min-width:920px){ .t-gallery{grid-template-columns:1.4fr .6fr;align-items:start} }
.t-gallery-main{position:relative;min-height:520px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.t-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}
.t-slide.active{opacity:1}
.t-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.t-thumb{aspect-ratio:3/4;border:1px solid rgba(255,255,255,.12);border-radius:8px;background-size:cover;background-position:center;opacity:.75;cursor:pointer}
.t-thumb.current{opacity:1;box-shadow:0 0 0 1px rgba(163,122,59,.5) inset}
.t-thumb:focus-visible{outline:2px solid rgba(163,122,59,.85);outline-offset:2px}

.t-profile-sec{padding:28px 0 44px}
.t-profile-grid{display:grid;gap:20px}
@media(min-width:920px){ .t-profile-grid{grid-template-columns:1fr 1fr} }
.t-name{margin:0 0 6px}
.t-name .t-age{
  font-size: .8em;
  font-weight: 600;
  margin-left: 4px;
  color: var(--sand);
  vertical-align: baseline; /* 文字のベースラインを揃える */
}
.t-meta{color:var(--sand);opacity:.9;margin:0 0 10px}
.t-tagline{margin:0 0 12px;font-size:14px;color:var(--linen);background:rgba(163,122,59,.14);border:1px solid rgba(163,122,59,.35);border-radius:999px;padding:6px 12px;display:inline-block}
.t-info{display:grid;gap:8px;margin:14px 0 18px}
.t-info > div{display:grid;grid-template-columns:110px 1fr;gap:8px}
.t-info dt{color:var(--smoke)}
.t-subttl{font-size:16px;margin:0 0 8px;letter-spacing:.06em}
.t-manager{margin:16px 0}
.t-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.t-table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}
.t-table th,.t-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}
.t-table thead th{color:var(--sand);text-align:left}
.t-table tr:last-child td{border-bottom:none}
.t-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.16);color:var(--sand)}
.t-badge.ok{background:rgba(163,122,59,.18);border-color:rgba(163,122,59,.45);color:var(--linen)}
.t-badge.off{background:rgba(255,255,255,.04)}

/* Reviews */
.t-reviews{margin:20px 0}
.t-reviewlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.t-review-hd{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--sand)}
.t-review-txt{margin:6px 0 0;color:var(--linen)}
.t-reviewlist li{padding:10px 0}
.t-reviewlist li + li{
  margin-top:6px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.14); /* hrっぽく見える細線 */
}
.t-stars{
  color:#D4AF37;            /* リッチなゴールド */
  font-weight:700;
  letter-spacing:1px;       /* ★ の間隔を少し広げて読みやすく */
}

/* X banner */
.t-x-sec{padding:8px 0 28px;border-top:1px solid rgba(255,255,255,.06)}
.t-x-banner{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid rgba(163,122,59,.35);background:rgba(163,122,59,.12);border-radius:12px;color:var(--linen);text-decoration:none}
.t-x-banner i{font-size:18px}
.t-x-banner:hover{box-shadow:0 8px 20px rgba(0,0,0,.25), 0 0 0 1px rgba(163,122,59,.18) inset;border-color:rgba(163,122,59,.55)}

/* Back button */
.t-back-sec{padding:0 0 56px}
.t-back{text-align:center}

/* パンくず（高さを約半分に） */
.t-bc-sec{
  padding: 24px 0;       /* 既定56px → 24px くらいが体感ちょうどよい */
}
.t-breadcrumb{
  margin: 0;             /* 余白を詰める（任意） */
  line-height: 1.4;      /* 高さを抑える（任意） */
  font-size: 12px;       /* 文字が大きければ少し下げても◎（任意） */
}

/* ===== Therapist Detail: メディア横スライダー ===== */
.t-media-sec .hs-item{
  flex: 0 0 100%;
}
/* タブレット〜PCでは2枚並び寄りの幅に（お好みで調整可） */
@media (min-width: 920px){
  .t-media-sec .hs-item{
    flex-basis: clamp(420px, 48%, 560px);
  }
}
.hs { position: relative; }
.hs-track{
  display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding: 8px 4px; scrollbar-width:none;
}
.hs-track::-webkit-scrollbar{ display:none; }

.hs-item{
  flex:0 0 clamp(220px, 46vw, 320px);
  scroll-snap-align:center;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px; overflow:hidden;
}
.hs-item img{
  width:100%; aspect-ratio:3/4; object-fit:cover; display:block;
  filter:saturate(.95);
}
.hs-item figcaption{
  font-size:13px; color:var(--linen); line-height:1.5;
  padding:10px 12px; min-height: 44px;
  color: var(--sand);
  letter-spacing:.01em;
}

.hs-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; display:grid; place-items:center;
  border-radius:999px; border:1px solid rgba(255,255,255,.18);
  background:rgba(21,16,14,.55); color:var(--linen);
  backdrop-filter: blur(4px);
}
.hs-prev{ left: -6px; }
.hs-next{ right: -6px; }
.hs-btn:hover{ background:rgba(21,16,14,.72); }
.hs-btn i{ font-size:16px; }

@media (min-width: 920px){
  .hs-item{ flex-basis: 300px; }
}


/* Weekly Schedule: show location chip next to time (override left-side hide rule) */
#weekly .shift-time .shift-loc{
  display: inline-block !important;
  margin-left: 8px;
}
