/* ============================================================
   鮨 黒政（架空・銀座六丁目）／黒 — KURO edition
   真っ黒の地・生成りの白・古い金の一色。縦組みの筆文字。
   全画面の暗い写真。飾りは極端に減らす。余白をたっぷり。
   図面の型（枠つき其の◯・囲み数字帯・小さな角ボタン・カード列）は使わない。
   フラット／和文 keep-all／モバイル横スクロール禁止。
   Premium と Light で共有（Light は演出とページ数を絞る）。
   ============================================================ */
:root{
  --sumi:#0B0B0C;         /* 地（真っ黒） */
  --sumi-2:#151417;       /* わずかに起きた面 */
  --sumi-3:#1E1C1F;       /* 罫・境界のための面 */
  --fg:#ECE5D6;           /* 生成りの白（本文） */
  --fg-dim:#A69E8C;       /* 補助文字 */
  --fg-mute:#6F6A5F;      /* さらに沈めた文字 */
  --gold:#B7975A;         /* 古い金＝唯一の差し色 */
  --gold-hi:#D8BC85;      /* 金のハイライト（線・灯り） */
  --line:rgba(236,229,214,.12);   /* 生成りのヘアライン */
  --line-2:rgba(236,229,214,.20);
  --max:1140px;
  --measure:36em;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--sumi);color:var(--fg);
  font-family:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",sans-serif;
  font-size:16px;line-height:2.0;letter-spacing:.06em;font-weight:400;
  -webkit-text-size-adjust:100%;overflow-x:hidden;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:"Shippori Mincho","Hiragino Mincho ProN",serif;font-weight:600;
  line-height:1.5;letter-spacing:.06em;word-break:keep-all;line-break:strict;margin:0;}
p{overflow-wrap:break-word;word-break:auto-phrase;line-break:strict;margin:0;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 max(22px,5vw);}
.en{display:none;}
body.lang-en .ja{display:none;}
body.lang-en .en{display:revert;}
.fude{font-family:"Yuji Syuku","Shippori Mincho",serif;font-weight:400;}
.mincho{font-family:"Shippori Mincho",serif;}
.pc-br{display:inline;}
::selection{background:var(--gold);color:var(--sumi);}

/* ---- ヘッダー（ヒーローの上に透過で載る） ---- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;
  transition:background .4s ease,border-color .4s ease;border-bottom:1px solid transparent;}
.site-header.solid{background:rgba(11,11,12,.86);border-bottom-color:var(--line);
  backdrop-filter:saturate(1.1) blur(8px);}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:18px;height:74px;}
.brand{display:flex;flex-direction:column;line-height:1.1;}
.brand b{font-family:"Yuji Syuku","Shippori Mincho",serif;font-weight:400;font-size:22px;letter-spacing:.14em;color:var(--fg);}
.brand span{font-family:ui-monospace,monospace;font-size:9px;letter-spacing:.30em;color:var(--gold);margin-top:3px;}
.nav{display:flex;align-items:center;gap:26px;}
.nav a{font-size:13px;letter-spacing:.12em;color:var(--fg);white-space:nowrap;position:relative;padding:4px 0;}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .3s ease;}
.nav a:hover::after,.nav a[aria-current="page"]::after{right:0;}

/* ---- ボタン（金） ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:"Shippori Mincho",serif;font-size:14px;letter-spacing:.18em;
  padding:15px 34px;border:1px solid var(--gold);color:var(--gold);
  background:transparent;cursor:pointer;transition:.35s ease;position:relative;overflow:hidden;}
.btn:hover{color:var(--sumi);background:var(--gold);}
.btn.fill{background:var(--gold);color:var(--sumi);}
.btn.fill:hover{background:var(--gold-hi);border-color:var(--gold-hi);}
.btn.ghost{border-color:var(--line-2);color:var(--fg);}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent;}

.lang{display:flex;gap:2px;}
.lang button{font:inherit;font-size:11px;letter-spacing:.10em;padding:6px 8px;border:0;
  background:transparent;color:var(--fg-mute);cursor:pointer;}
.lang button.on{color:var(--gold);}
.hamburger{display:none;border:1px solid var(--line-2);background:transparent;padding:10px 11px;cursor:pointer;}
.hamburger span{display:block;width:20px;height:1px;background:var(--fg);margin:5px 0;transition:.3s;}

/* ============================================================
   ヒーロー ＋ オープニング演出（黒地×筆文字ロゴ）
   ①金の光の線 → ②筆文字ロゴが上から現れる → ③写真が暗闇から浮かぶ → ④副題・予約
   既定（JSなし・reduce）＝完成画面。body.intro のときだけ「見せ方」を足す。
   ============================================================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;
  background:var(--sumi);overflow:hidden;isolation:isolate;text-align:center;}
.hero-photo{position:absolute;inset:0;z-index:0;}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;}
.hero-scrim{position:absolute;inset:0;z-index:1;
  background:radial-gradient(120% 90% at 50% 42%,rgba(11,11,12,.30) 0%,rgba(11,11,12,.55) 55%,rgba(11,11,12,.86) 100%);}
.hero-line{position:absolute;left:8%;right:8%;top:50%;height:1px;z-index:2;transform-origin:center;
  background:linear-gradient(90deg,transparent,var(--gold-hi) 30%,#fff 50%,var(--gold-hi) 70%,transparent);
  box-shadow:0 0 22px rgba(216,188,133,.6);opacity:.9;}
.hero-inner{position:relative;z-index:3;padding:120px 0;width:100%;}
.hero-logo{font-family:"Yuji Syuku","Shippori Mincho",serif;font-weight:400;color:#fff;
  writing-mode:vertical-rl;text-orientation:upright;
  font-size:clamp(56px,13vw,140px);letter-spacing:.14em;line-height:1.05;margin:0 auto;
  height:clamp(220px,44vw,460px);display:inline-block;
  text-shadow:0 4px 40px rgba(0,0,0,.6);}
.hero-en{font-family:ui-monospace,monospace;font-size:clamp(11px,1.4vw,13px);letter-spacing:.42em;
  color:var(--gold);margin:26px 0 0;}
.hero-sub{font-family:"Shippori Mincho",serif;font-size:clamp(15px,2.2vw,20px);
  color:var(--fg);letter-spacing:.14em;margin:20px 0 0;}
.hero-actions{margin-top:38px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero-note{margin-top:22px;font-size:11px;letter-spacing:.14em;color:var(--fg-dim);}
.hero-scroll{position:absolute;left:50%;bottom:22px;z-index:3;transform:translateX(-50%);
  font-family:ui-monospace,monospace;font-size:9px;letter-spacing:.3em;color:var(--gold);}
.hero-scroll::before{content:"";display:block;width:1px;height:38px;margin:0 auto 8px;
  background:linear-gradient(var(--gold),transparent);}

/* 既定＝完成状態 */
.hero-photo,.hero-logo,.hero-en,.hero-sub,.hero-actions,.hero-note,.hero-scroll{opacity:1;}
.hero-line{opacity:0;}   /* 光の線は演出専用。既定では出さない */

/* 演出（body.intro のときだけ）— transform / opacity / clip-path のみ */
body.intro .hero-photo{animation:kPhoto 1.0s ease-out 1.3s both;}
body.intro .hero-line{animation:kLine .8s cubic-bezier(.22,.61,.36,1) both;}
body.intro .hero-logo{animation:kLogo .9s cubic-bezier(.22,.61,.36,1) .55s both;}
body.intro .hero-en{animation:kRise .5s ease-out 2.0s both;}
body.intro .hero-sub{animation:kRise .5s ease-out 2.15s both;}
body.intro .hero-actions{animation:kRise .5s ease-out 2.3s both;}
body.intro .hero-note{animation:kFade .6s ease-out 2.45s both;}
body.intro .hero-scroll{animation:kFade .6s ease-out 2.5s both;}
/* Light は簡易演出（ふわっと出るだけ）。body.intro.lite で上書き */
body.intro.lite .hero-photo{animation:kFade .9s ease-out both;}
body.intro.lite .hero-line{animation:none;opacity:0;}
body.intro.lite .hero-logo{animation:kRise .8s ease-out .2s both;}
body.intro.lite .hero-en{animation:kRise .6s ease-out .5s both;}
body.intro.lite .hero-sub{animation:kRise .6s ease-out .65s both;}
body.intro.lite .hero-actions{animation:kRise .6s ease-out .8s both;}

@keyframes kLine{0%{transform:scaleX(0);opacity:0;}20%{opacity:1;}80%{opacity:1;}100%{transform:scaleX(1);opacity:0;}}
@keyframes kLogo{0%{clip-path:inset(0 0 100% 0);opacity:0;}25%{opacity:1;}100%{clip-path:inset(0 0 0 0);opacity:1;}}
@keyframes kPhoto{0%{opacity:0;transform:scale(1.06);}100%{opacity:1;transform:scale(1);}}
@keyframes kRise{0%{opacity:0;transform:translateY(16px);}100%{opacity:1;transform:translateY(0);}}
@keyframes kFade{0%{opacity:0;}100%{opacity:1;}}

/* ============================================================
   セクション共通
   ============================================================ */
section{padding:clamp(64px,11vw,140px) 0;position:relative;}
.band-2{background:var(--sumi-2);}
.lead{color:var(--fg-dim);max-width:var(--measure);font-size:16px;}

/* 縦組み見出し＋大きな透かし漢字 */
.vhead{position:relative;display:flex;justify-content:center;margin-bottom:clamp(40px,7vw,84px);}
.vhead .kanji{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:"Yuji Syuku","Shippori Mincho",serif;font-size:clamp(140px,30vw,340px);
  color:rgba(236,229,214,.045);white-space:nowrap;pointer-events:none;z-index:0;line-height:1;}
.vhead .t{position:relative;z-index:1;text-align:center;}
.vhead .t .en{display:block;font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.4em;color:var(--gold);margin-bottom:16px;}
body.lang-en .vhead .t .en{display:block;}
.vhead .t h2{font-size:clamp(26px,4.4vw,42px);color:var(--fg);letter-spacing:.10em;}
/* セクション頭の小さな金ラベル（左寄せ用の簡易見出し） */
.ey{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.34em;color:var(--gold);margin:0 0 18px;}
.sec-title{font-size:clamp(24px,4vw,38px);color:var(--fg);letter-spacing:.08em;margin:0 0 20px;}

/* 全画面の写真（プレミアム）— 一枚ずつ大きく見せる */
.full{position:relative;height:min(96svh,900px);overflow:hidden;background:var(--sumi);}
.full img{width:100%;height:100%;object-fit:cover;}
.full .cap-in{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(28px,6vw,80px);
  background:linear-gradient(180deg,transparent 40%,rgba(11,11,12,.75) 100%);}
.full .cap-in .ey{margin-bottom:12px;}
.full .cap-in h2{font-size:clamp(24px,4vw,40px);color:#fff;max-width:16em;}
.full .cap-in p{color:var(--fg-dim);max-width:var(--measure);margin-top:14px;}

/* 写真＋文の2カラム */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center;}
.split.rev .figure{order:2;}
.figure{position:relative;overflow:hidden;background:var(--sumi-2);}
.figure img{width:100%;height:100%;object-fit:cover;}
.figure .cap{position:absolute;left:14px;bottom:12px;font-family:ui-monospace,monospace;
  font-size:10px;letter-spacing:.14em;color:var(--fg);background:rgba(11,11,12,.5);padding:4px 9px;}
.figure.ph{aspect-ratio:4/3;border:1px dashed var(--line-2);display:flex;align-items:center;justify-content:center;
  color:var(--fg-mute);font-size:13px;text-align:center;padding:16px;}

/* 大将のことば */
.dictum{max-width:30em;}
.dictum p{font-family:"Shippori Mincho",serif;font-size:clamp(18px,2.4vw,24px);line-height:2.1;letter-spacing:.08em;color:var(--fg);}
.dictum .by{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.16em;color:var(--gold);margin-top:22px;}

/* おまかせ 価格（大きく1つ） */
.price-hero{text-align:center;padding:clamp(48px,8vw,96px) 0;}
.price-hero .k{font-family:"Yuji Syuku","Shippori Mincho",serif;font-size:clamp(22px,3.4vw,30px);color:var(--gold);letter-spacing:.2em;}
.price-hero .n{font-family:"Shippori Mincho",serif;font-size:clamp(52px,11vw,120px);color:#fff;
  letter-spacing:.02em;line-height:1.05;margin:16px 0 6px;font-feature-settings:"palt";}
.price-hero .n small{font-size:.28em;color:var(--fg-dim);letter-spacing:.1em;}
.price-hero .note{color:var(--fg-dim);font-size:14px;letter-spacing:.1em;}

/* お品書き（縦の一覧） */
.oshina{max-width:760px;margin:0 auto;border-top:1px solid var(--line);}
.oshina .row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:baseline;
  padding:22px 0;border-bottom:1px solid var(--line);}
.oshina .nm{font-family:"Shippori Mincho",serif;font-size:19px;color:var(--fg);}
.oshina .nm small{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:13px;color:var(--fg-dim);margin-top:4px;letter-spacing:.04em;}
.oshina .pr{font-family:ui-monospace,monospace;font-size:14px;color:var(--gold);white-space:nowrap;}

/* 予約ブロック */
.reserve{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;
  border:1px solid var(--line);padding:clamp(28px,5vw,48px);background:var(--sumi-2);}
.reserve .tel{font-family:ui-monospace,monospace;font-size:clamp(24px,4vw,34px);color:#fff;letter-spacing:.02em;}
.reserve .tel small{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:12px;color:var(--fg-dim);letter-spacing:.1em;margin-top:6px;}

/* 概要・募集要項の表 */
.spec{width:100%;border-collapse:collapse;}
.spec th{text-align:left;width:30%;color:var(--gold);border-bottom:1px solid var(--line);padding:16px 14px 16px 0;
  font-family:"Shippori Mincho",serif;font-weight:600;font-size:14px;letter-spacing:.08em;vertical-align:top;}
.spec td{border-bottom:1px solid var(--line);padding:16px 0;font-size:15px;color:var(--fg);}

/* スタッフ募集（握りの手元＋短い一文） */
.recruit-hero{position:relative;height:min(80svh,760px);overflow:hidden;display:flex;align-items:center;}
.recruit-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.recruit-hero .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,11,12,.85) 0%,rgba(11,11,12,.5) 55%,rgba(11,11,12,.2) 100%);}
.recruit-hero .in{position:relative;z-index:2;max-width:30em;}
.recruit-hero h2{font-size:clamp(26px,4.6vw,44px);color:#fff;letter-spacing:.08em;}
.recruit-hero p{color:var(--fg);margin-top:18px;}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 28px;}
.tags span{font-size:12px;letter-spacing:.1em;border:1px solid var(--line-2);padding:7px 14px;color:var(--fg-dim);}

/* 静かに出す（スクロール） */
.rise{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease;}
.rise.in{opacity:1;transform:none;}

/* フッター */
.site-footer{border-top:1px solid var(--line);background:var(--sumi);}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:32px;padding:clamp(48px,7vw,80px) 0 28px;}
.foot .fude{font-size:26px;letter-spacing:.14em;color:var(--fg);}
.foot .meta{color:var(--fg-mute);font-size:12px;font-family:ui-monospace,monospace;line-height:2;margin:14px 0 0;}
.foot h4{font-family:"Shippori Mincho",serif;font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--gold);margin:0 0 14px;}
.foot a{display:block;color:var(--fg-dim);font-size:13px;padding:5px 0;letter-spacing:.06em;}
.foot a:hover{color:var(--gold);}
.credit{border-top:1px solid var(--line);color:var(--fg-mute);font-size:11px;padding:18px 0;line-height:1.9;letter-spacing:.04em;}
.disclaimer{border-top:1px solid var(--line);color:var(--fg-mute);font-size:11px;padding:16px 0 28px;text-align:center;letter-spacing:.06em;}

/* スマホ固定予約バー */
.mobile-reserve{display:none;}

/* ---- モバイル ---- */
@media(max-width:860px){
  .split,.split.rev{grid-template-columns:1fr;}
  .split.rev .figure{order:0;}
  .foot{grid-template-columns:1fr;gap:26px;}
  .nav{position:fixed;inset:74px 0 auto 0;flex-direction:column;background:rgba(11,11,12,.97);
    padding:10px 0 20px;gap:0;display:none;border-bottom:1px solid var(--line);}
  .nav.open{display:flex;}
  .nav a{padding:16px max(22px,5vw);width:100%;border-top:1px solid var(--line);}
  .hamburger{display:block;}
  .header-reserve{display:none;}
  .hero{min-height:100svh;}
  .full{height:min(80svh,680px);}
  .pc-br{display:none;}
  main{padding-bottom:76px;}
  /* スマホは金の予約ボタンを画面下に常時表示 */
  .mobile-reserve{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;
    background:rgba(11,11,12,.96);border-top:1px solid var(--line-2);
    padding:10px max(16px,4vw);gap:12px;align-items:center;justify-content:space-between;
    backdrop-filter:blur(8px);}
  .mobile-reserve .lbl{color:var(--fg-dim);font-size:11px;letter-spacing:.1em;}
  .mobile-reserve .lbl b{display:block;font-family:ui-monospace,monospace;font-size:15px;color:var(--fg);}
  .mobile-reserve .btn{flex:0 0 auto;padding:13px 24px;}
}

/* 動きを減らす設定＝最初から完成画面 */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none!important;}
  body.intro .hero-photo,body.intro .hero-line,body.intro .hero-logo,body.intro .hero-en,
  body.intro .hero-sub,body.intro .hero-actions,body.intro .hero-note,body.intro .hero-scroll,
  body.intro.lite .hero-photo,body.intro.lite .hero-logo,body.intro.lite .hero-en,
  body.intro.lite .hero-sub,body.intro.lite .hero-actions{animation:none!important;}
  .hero-line{opacity:0!important;}
  .rise{opacity:1!important;transform:none!important;}
}
