/*
Theme Name: MEN'S NAIL LAB
Theme URI: https://ib31536.xsrv.jp/
Description: MEN'S NAIL LAB 天神大名店 ブランドサイト用オリジナルテーマ。B改デザイン（ダーク&モダン×エディトリアル）ベース。
Author: mmStudio
Version: 0.1.0
Requires PHP: 8.0
Text Domain: mnl
*/

/* ============================================================
   MEN'S NAIL LAB テーマ共通スタイル
   B改（黒×ゴールド＋明朝・縦書き・品書き）を踏襲
   ============================================================ */
:root{
  --bg:#16171B;
  --panel:#1E2026;
  --text:#EDEAE4;
  --muted:#8E8F96;
  --gold:#B08D57;
  --line:#31343C;
  --en:'Oswald',sans-serif;
  --serif:'Zen Old Mincho',serif;
  --sans:'Zen Kaku Gothic New',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:2;font-size:14.5px;letter-spacing:.05em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.inner{max-width:1120px;margin:0 auto;padding:0 24px}
.section{padding:120px 0}
/* 写真プレースホルダー（素材差し替えまでの仮表示） */
.ph{background:repeating-linear-gradient(-45deg,#22242B,#22242B 12px,#282A32 12px,#282A32 24px);display:flex;align-items:center;justify-content:center;color:#5E606A;font-size:11px;letter-spacing:.1em}
/* 左端の固定レール（PCのみ） */
.side-rail{position:fixed;left:0;top:0;bottom:0;width:52px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:26px 0;z-index:90;background:var(--bg)}
.side-rail .v-text{writing-mode:vertical-rl;font-size:9.5px;letter-spacing:.42em;color:#5E606A;font-family:var(--serif)}
.side-rail .dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}
.site-main,.site-header,.site-footer,.news-bar,.cta-band{margin-left:52px}
/* 見出し */
.sec-head{display:flex;align-items:baseline;gap:22px;margin-bottom:60px;border-bottom:1px solid var(--line);padding-bottom:22px}
.sec-head .num{font-family:var(--en);color:var(--gold);font-size:14px;letter-spacing:.2em}
.sec-head h2{font-family:var(--en);font-size:38px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.sec-head .ja{font-family:var(--serif);font-size:14px;color:var(--muted);letter-spacing:.3em;margin-left:auto}
/* ヘッダー */
.site-header{position:sticky;top:0;background:rgba(22,23,27,.92);backdrop-filter:blur(8px);z-index:100;border-bottom:1px solid var(--line)}
.header-in{max-width:1240px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between}
.header-logo svg{height:50px;width:auto;display:block}
.gnav ul{display:flex;gap:0;list-style:none;align-items:stretch}
.gnav li{border-left:1px solid var(--line)}
.gnav li:first-child{border-left:none}
.gnav a{padding:6px 20px;display:flex;flex-direction:column;align-items:center}
.gnav a .en{font-family:var(--en);font-size:12.5px;letter-spacing:.18em}
.gnav a .ja{font-size:9px;color:var(--muted);letter-spacing:.12em}
.gnav a:hover .en{color:var(--gold)}
.btn-reserve{background:var(--gold);color:#16171B !important;padding:10px 28px;font-weight:600;font-size:13px;letter-spacing:.14em;margin-left:20px;display:flex;align-items:center;transition:.3s}
.btn-reserve:hover{opacity:.85}
/* ヒーロー */
.hero{min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:110px 0 70px}
.hero-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.hero-bg span{font-family:var(--en);font-weight:500;font-size:21vw;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px #262830;white-space:nowrap;line-height:1}
.hero .inner{position:relative;z-index:1;display:flex;gap:60px;align-items:flex-start}
.hero .en-copy{font-family:var(--en);color:var(--gold);letter-spacing:.42em;font-size:13px;display:block;margin-bottom:30px}
.hero h1{font-family:var(--serif);font-size:54px;font-weight:600;letter-spacing:.14em;line-height:1.75;margin-bottom:32px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .lead{color:var(--muted);max-width:520px;line-height:2.3;font-size:14px}
.hero .v-lead{writing-mode:vertical-rl;font-family:var(--serif);font-size:13px;letter-spacing:.3em;line-height:2.6;color:var(--muted);height:340px;margin-top:14px;border-right:1px solid var(--line);padding-right:26px}
.hero-cta{display:inline-flex;align-items:center;gap:16px;margin-top:46px;background:var(--gold);color:#16171B;font-weight:700;padding:17px 56px;font-size:13.5px;letter-spacing:.22em;transition:.3s}
.hero-cta::after{content:"→"}
.hero-cta:hover{opacity:.85}
.hero-note{font-size:11px;color:#5E606A;margin-top:14px;letter-spacing:.1em}
/* ヒーロー背景動画（コピーの乗る左側は暗めを維持し、右側は動画を見せる） */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68;filter:grayscale(.2) brightness(.72)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,23,27,.88) 0%,rgba(22,23,27,.38) 58%,rgba(22,23,27,.55) 100%)}
/* コンセプトの縦動画（画像2枚重ねのBスロット） */
.concept-visual .video-b{position:absolute;bottom:0;right:0;width:46%;aspect-ratio:3/4;border:8px solid var(--bg);object-fit:cover}
/* 仕上がりギャラリー */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-item{overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;margin:0}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-note{text-align:center;font-size:12.5px;color:var(--muted);margin-top:30px;font-family:var(--serif);letter-spacing:.12em}
/* ニュースバー */
.news-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}
.news-bar .inner{display:flex;align-items:center;gap:26px;padding:14px 24px;font-size:12.5px}
.news-bar .tag{font-family:var(--en);letter-spacing:.25em;color:var(--gold);flex-shrink:0}
.news-bar time{color:var(--muted);flex-shrink:0;font-family:var(--en)}
.news-bar a{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.news-bar a:hover{color:var(--gold)}
/* コンセプト */
.concept-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.concept-visual{position:relative;min-height:470px}
.concept-visual .ph.a,.concept-visual .img-a{position:absolute;top:0;left:0;width:74%;aspect-ratio:4/3;object-fit:cover}
.concept-visual .ph.b,.concept-visual .img-b{position:absolute;bottom:0;right:0;width:46%;aspect-ratio:3/4;border:8px solid var(--bg);object-fit:cover}
.concept-visual .v-quote{position:absolute;top:8px;right:2px;writing-mode:vertical-rl;font-family:var(--serif);font-size:17px;letter-spacing:.3em;color:var(--gold)}
.concept-text h3{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.14em;line-height:2;margin-bottom:26px}
.concept-text h3 span{color:var(--gold)}
.concept-text p{color:var(--muted);margin-bottom:1.5em;font-size:13.5px}
.concept-text .sig{font-family:var(--serif);font-size:11.5px;letter-spacing:.22em;color:#5E606A;margin-top:32px}
/* 選ばれる理由 */
.reason-list{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.reason-item{border:1px solid var(--line);padding:42px 38px;transition:.3s}
.reason-item:hover{border-color:var(--gold)}
.reason-item .no{font-family:var(--en);font-size:42px;color:transparent;-webkit-text-stroke:1px var(--gold);display:block;line-height:1;margin-bottom:20px}
.reason-item h3{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.1em;margin-bottom:12px;line-height:1.9}
.reason-item p{font-size:13px;color:var(--muted)}
/* メニュー：品書き（ドットリーダー） */
.menu{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.menu-cols{display:grid;grid-template-columns:1fr;gap:0;max-width:820px;margin:0 auto}
.menu-cat{margin-bottom:44px}
.menu-cat h3{font-family:var(--serif);font-size:16px;letter-spacing:.26em;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:baseline}
.menu-cat h3 .en{font-family:var(--en);font-size:10px;color:#5E606A;letter-spacing:.25em}
.m-row{display:flex;align-items:baseline;gap:12px;padding:17px 2px}
.m-row .name{font-weight:500;font-size:14.5px;max-width:70%}
.m-row .name small{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:.04em}
.m-row .dots{flex:1;border-bottom:1px dotted #4A4C55;transform:translateY(-4px);min-width:40px}
.m-row .price{font-family:var(--en);font-size:16px;letter-spacing:.05em;white-space:nowrap;color:var(--text)}
.menu-foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;border-top:1px solid var(--line);padding-top:22px;flex-wrap:wrap;gap:8px;max-width:820px;margin-left:auto;margin-right:auto}
.menu-foot .note{font-size:11px;color:#5E606A}
/* お客様の声 */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.voice-card{border:1px solid var(--line);padding:36px 30px;background:var(--panel)}
.voice-card .q{font-family:var(--serif);font-size:40px;color:var(--gold);line-height:1;display:block;margin-bottom:14px}
.voice-card p{font-size:13.5px;line-height:2.1;min-height:130px}
.voice-card .who{font-size:11.5px;letter-spacing:.12em;color:var(--gold);border-top:1px solid var(--line);padding-top:14px;margin-top:18px;display:block}
.voice-note{font-size:11.5px;color:#5E606A;text-align:center;margin-top:28px}
/* ご利用の流れ */
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.flow-step{background:var(--bg);padding:36px 28px}
.flow-step .no{font-family:var(--en);color:var(--gold);font-size:13px;letter-spacing:.25em;display:block;margin-bottom:14px}
.flow-step h3{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.08em;margin-bottom:10px}
.flow-step p{font-size:12.5px;color:var(--muted);line-height:1.95}
.flow-step .time{font-family:var(--en);font-size:11px;color:#5E606A;display:block;margin-top:12px;letter-spacing:.1em}
/* 店舗 */
.store-flag{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
.store-flag .ph{aspect-ratio:auto;min-height:360px}
.store-flag .body{padding:50px;background:var(--panel)}
.store-flag .tag{font-family:var(--en);font-size:12px;letter-spacing:.28em;color:var(--gold);border:1px solid var(--gold);display:inline-block;padding:4px 16px;margin-bottom:22px}
.store-flag h3{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.1em;margin-bottom:22px}
.store-flag table{font-size:13px;color:var(--muted);border-collapse:collapse}
.store-flag th{text-align:left;font-weight:500;padding:6px 18px 6px 0;color:#5E606A;white-space:nowrap;vertical-align:top}
.store-flag td{padding:6px 0}
.map-ph{aspect-ratio:21/7;margin-top:26px;border:1px solid var(--line)}
.map-embed{margin-top:26px;border:1px solid var(--line)}
.map-embed iframe{width:100%;height:320px;display:block;filter:grayscale(1) invert(.92)}
/* FAQ */
.faq-list{max-width:840px;margin:0 auto}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;gap:20px;align-items:baseline;padding:26px 8px;font-weight:700;font-size:14.5px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before{content:"Q.";font-family:var(--serif);color:var(--gold);flex-shrink:0}
.faq-list summary::after{content:"+";font-family:var(--en);margin-left:auto;color:var(--muted);font-weight:400;font-size:18px}
.faq-list details[open] summary::after{content:"−"}
.faq-list .a{display:flex;gap:20px;padding:0 8px 28px;color:var(--muted);font-size:13.5px}
.faq-list .a::before{content:"A.";font-family:var(--serif);color:#5E606A;flex-shrink:0}
/* マガジン・記事カード */
.mag-list{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.mag-card{border:1px solid var(--line);transition:.3s;display:block}
.mag-card:hover{border-color:var(--gold)}
.mag-card .thumb{aspect-ratio:16/10;overflow:hidden}
.mag-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mag-card .ph{aspect-ratio:16/10}
.mag-card .body{padding:26px}
.mag-card .cat{font-family:var(--en);font-size:11px;letter-spacing:.22em;color:var(--gold)}
.mag-card h3{font-family:var(--serif);font-size:15px;font-weight:600;line-height:1.9;margin-top:12px;letter-spacing:.04em}
.mag-card time{font-family:var(--en);font-size:11px;color:#5E606A;display:block;margin-top:14px;letter-spacing:.1em}
.mag-more{display:inline-flex;align-items:center;gap:14px;margin-top:40px;font-family:var(--serif);font-size:12.5px;letter-spacing:.2em;border-bottom:1px solid var(--text);padding-bottom:6px}
.mag-more::after{content:"→"}
.mag-more:hover{color:var(--gold);border-color:var(--gold)}
/* CTA */
.cta-band{text-align:center;padding:120px 24px;border-top:1px solid var(--line);position:relative;overflow:hidden}
.cta-band .bgword{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-size:15vw;color:transparent;-webkit-text-stroke:1px #222530;pointer-events:none;line-height:1}
.cta-band .en{font-family:var(--en);letter-spacing:.4em;color:var(--gold);font-size:12px;display:block;margin-bottom:20px;position:relative}
.cta-band h2{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:.16em;margin-bottom:40px;position:relative;line-height:1.9}
.cta-band .btns{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;position:relative}
.cta-band a{display:inline-block;font-weight:700;padding:18px 62px;font-size:13.5px;letter-spacing:.22em;transition:.3s}
.cta-band .primary{background:var(--gold);color:#16171B}
.cta-band .primary:hover{opacity:.85}
.cta-band .secondary{border:1px solid #4A4C55;color:#D8D9DE}
.cta-band .secondary:hover{border-color:var(--gold);color:var(--gold)}
/* フッター */
.site-footer{padding:76px 24px 40px;border-top:1px solid var(--line)}
.footer-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:70px;padding-bottom:52px;border-bottom:1px solid var(--line)}
.footer-in svg{height:86px;width:auto}
.f-cols{display:flex;gap:66px}
.f-col h4{font-family:var(--en);font-size:11.5px;letter-spacing:.3em;color:var(--gold);margin-bottom:18px}
.f-col ul{list-style:none}
.f-col li{margin-bottom:10px}
.f-col a{font-size:12.5px;color:var(--muted)}
.f-col a:hover{color:var(--gold)}
.f-store{font-size:12px;color:var(--muted);line-height:2.2}
.f-store strong{display:block;color:var(--text);font-family:var(--serif);font-size:13.5px;letter-spacing:.1em}
.copy{text-align:center;font-family:var(--en);font-size:10px;color:#5E606A;letter-spacing:.2em;padding-top:30px}
/* ============================================================
   下層ページ（記事・一覧・固定ページ）
   ============================================================ */
.page-hero{padding:90px 0 60px;border-bottom:1px solid var(--line)}
.page-hero .en{font-family:var(--en);font-size:13px;letter-spacing:.3em;color:var(--gold);display:block;margin-bottom:14px}
.page-hero h1{font-family:var(--serif);font-size:34px;font-weight:600;letter-spacing:.14em;line-height:1.8}
.breadcrumb{font-size:11px;color:#5E606A;padding:18px 0;letter-spacing:.08em}
.breadcrumb a:hover{color:var(--gold)}
.archive-body{padding:70px 0 110px}
/* お知らせ一覧（行型） */
.news-list-rows{max-width:840px}
.news-list-rows a{display:grid;grid-template-columns:110px auto 1fr;gap:22px;align-items:baseline;padding:22px 8px;border-bottom:1px solid var(--line);transition:.2s}
.news-list-rows a:first-child{border-top:1px solid var(--line)}
.news-list-rows a:hover{background:var(--panel)}
.news-list-rows time{font-family:var(--en);font-size:12px;color:var(--muted);letter-spacing:.1em}
.news-list-rows .cat{font-family:var(--en);font-size:10.5px;letter-spacing:.2em;color:var(--gold);border:1px solid var(--gold);padding:2px 12px;white-space:nowrap}
.news-list-rows .ttl{font-size:14px;font-weight:500}
/* 記事本文 */
.article{max-width:760px;margin:0 auto;padding:70px 0 110px}
.article-head{margin-bottom:48px;border-bottom:1px solid var(--line);padding-bottom:34px}
.article-head .meta{display:flex;gap:18px;align-items:center;margin-bottom:18px}
.article-head time{font-family:var(--en);font-size:12.5px;color:var(--muted);letter-spacing:.12em}
.article-head .cat{font-family:var(--en);font-size:10.5px;letter-spacing:.2em;color:var(--gold);border:1px solid var(--gold);padding:2px 12px}
.article-head h1{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:.08em;line-height:1.9}
.article-thumb{margin-bottom:44px}
.article-thumb img{width:100%;display:block}
.article-content{font-size:14.5px;color:#D5D2CB}
.article-content>*+*{margin-top:1.6em}
.article-content h2{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:.08em;border-left:3px solid var(--gold);padding-left:18px;line-height:1.8;margin-top:2.4em}
.article-content h3{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.06em;margin-top:2em}
.article-content a{color:var(--gold);text-decoration:underline}
.article-content ul,.article-content ol{padding-left:1.6em}
.article-content li{margin-bottom:.4em}
.article-content blockquote{border-left:2px solid var(--line);padding:4px 0 4px 20px;color:var(--muted)}
.article-content img{display:block}
.article-content table{border-collapse:collapse;width:100%}
.article-content th,.article-content td{border:1px solid var(--line);padding:10px 14px;font-size:13px}
.article-content th{background:var(--panel)}
.article-foot{margin-top:60px;border-top:1px solid var(--line);padding-top:30px;display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted)}
.article-foot a:hover{color:var(--gold)}
/* ページネーション */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:60px;font-family:var(--en);font-size:13px}
.pagination .page-numbers{border:1px solid var(--line);padding:8px 16px;color:var(--muted)}
.pagination .page-numbers.current{border-color:var(--gold);color:var(--gold)}
.pagination a.page-numbers:hover{border-color:var(--gold);color:var(--gold)}
/* 固定ページ */
.page-content{max-width:760px;margin:0 auto;padding:70px 0 110px}
.page-content .article-content>*+*{margin-top:1.6em}
/* 店舗個別ページ */
.store-photo-ph{aspect-ratio:21/9;margin-bottom:56px}
.store-photo{margin-bottom:56px}
.store-photo img{width:100%;display:block}
.store-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:70px}
.store-detail-head{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.2em;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:24px}
.store-detail-info table{width:100%;border-collapse:collapse;font-size:13.5px;color:var(--muted);margin-bottom:36px}
.store-detail-info th{text-align:left;font-weight:500;padding:12px 18px 12px 2px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top;width:96px;color:#5E606A}
.store-detail-info td{padding:12px 0;border-bottom:1px solid var(--line)}
.store-detail-map .map-embed{margin-top:0}
.store-detail-map iframe{height:380px}
.store-detail-body{margin-bottom:70px}
.gmap-btn{display:inline-flex;align-items:center;gap:12px;margin-top:18px;border:1px solid var(--gold);color:var(--gold);padding:13px 34px;font-size:12.5px;letter-spacing:.18em;transition:.3s}
.gmap-btn::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
.gmap-btn:hover{background:var(--gold);color:#16171B}
.gmap-btn:hover::before{background:#16171B}
.store-detail-links{text-align:center}
/* 店舗カードグリッド（トップ・店舗一覧共用。店舗数が増えても自動整列） */
.stores-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.store-card-item{border:1px solid var(--line);display:block;transition:.3s}
.store-card-item:hover{border-color:var(--gold)}
.store-card-item .thumb{aspect-ratio:16/9;overflow:hidden}
.store-card-item .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.store-card-item .ph{aspect-ratio:16/9}
.store-card-item .body{padding:30px 34px}
.store-card-item h3{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.1em;margin-bottom:16px}
.store-card-item table{font-size:12.5px;color:var(--muted);border-collapse:collapse;margin-bottom:18px}
.store-card-item th{text-align:left;font-weight:500;padding:4px 16px 4px 0;color:#5E606A;white-space:nowrap;vertical-align:top}
.store-card-item td{padding:4px 0}
.store-card-item .more{font-family:var(--serif);font-size:12px;letter-spacing:.16em;color:var(--gold)}
.stores-note{text-align:center;font-size:12.5px;color:var(--muted);margin-top:36px}
.stores-note a{color:var(--gold);text-decoration:underline}
/* トップ店舗セクションの詳細リンク */
.store-flag .more-link{display:inline-flex;align-items:center;gap:12px;margin-top:26px;font-family:var(--serif);font-size:12.5px;letter-spacing:.18em;border-bottom:1px solid var(--text);padding-bottom:5px}
.store-flag .more-link::after{content:"→"}
.store-flag .more-link:hover{color:var(--gold);border-color:var(--gold)}
/* ============================================================
   下層コンテンツページ（concept / menu / first / faq / company）
   ============================================================ */
/* 中央寄せの明朝リード文 */
.lead-block{max-width:760px;margin:0 auto 80px;text-align:center}
.lead-block h2{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.16em;line-height:2.1;margin-bottom:28px}
.lead-block h2 span{color:var(--gold)}
.lead-block p{color:var(--muted);font-size:14px;text-align:left}
/* 小見出し（明朝＋ゴールド罫線） */
.sub-head{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.18em;color:var(--text);border-left:3px solid var(--gold);padding-left:20px;line-height:1.8;margin-bottom:34px}
/* ストーリー行（画像×テキスト交互） */
.story-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:60px 0;border-bottom:1px solid var(--line)}
.story-row:last-child{border-bottom:none}
.story-row .ph{aspect-ratio:4/3}
.story-row.rev .visual{order:2}
.story-row .en-label{font-family:var(--en);font-size:12px;letter-spacing:.3em;color:var(--gold);display:block;margin-bottom:14px}
.story-row h3{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.12em;line-height:2;margin-bottom:18px}
.story-row p{color:var(--muted);font-size:13.5px;margin-bottom:1.4em}
/* メニュー詳細カード */
.menu-detail-list{display:flex;flex-direction:column;gap:26px}
.menu-detail-card{border:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:34px;padding:40px 44px;transition:.3s;align-items:start}
.menu-detail-card .card-thumb{width:190px;aspect-ratio:1/1;object-fit:cover;display:block;border:1px solid var(--line)}
.menu-detail-card:hover{border-color:var(--gold)}
.menu-detail-card h3{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.06em;line-height:1.9;margin-bottom:10px}
.menu-detail-card .hpb-desc{font-size:12px;color:#5E606A;margin-bottom:16px;line-height:1.9}
.menu-detail-card .detail{font-size:13.5px;color:var(--muted);margin-bottom:18px}
.menu-detail-card .meta{display:flex;gap:26px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.menu-detail-card .meta span b{font-family:var(--en);color:var(--gold);font-weight:500;letter-spacing:.15em;margin-right:8px}
.menu-detail-card .price-col{text-align:right;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:20px}
.menu-detail-card .price{font-family:var(--en);font-size:30px;color:var(--gold);letter-spacing:.04em}
.menu-detail-card .price small{font-size:11px;color:var(--muted);display:block;letter-spacing:.1em;font-family:var(--sans)}
.menu-detail-card .reserve{border:1px solid var(--gold);color:var(--gold);padding:11px 30px;font-size:12px;letter-spacing:.2em;white-space:nowrap;transition:.3s}
.menu-detail-card .reserve:hover{background:var(--gold);color:#16171B}
/* FAQカテゴリ見出し */
.faq-cat{margin-bottom:64px}
.faq-cat-head{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.24em;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:18px}
.faq-cat-head::after{content:"";flex:1;height:1px;background:var(--line)}
/* チェックリスト（ダーク） */
.check-list-dark{max-width:680px;margin:0 auto 70px;border:1px solid var(--line);background:var(--panel);padding:44px 48px}
.check-list-dark h3{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.16em;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.check-list-dark li{list-style:none;display:flex;gap:16px;align-items:baseline;padding:12px 0;font-size:14px;border-bottom:1px dotted #3A3D46}
.check-list-dark li:last-child{border-bottom:none}
.check-list-dark li::before{content:"✓";color:var(--gold);font-weight:700;flex-shrink:0}
.check-close{text-align:center;font-family:var(--serif);font-size:18px;letter-spacing:.14em;margin-bottom:80px}
.check-close span{color:var(--gold)}
/* 流れ詳細（縦タイムライン） */
.flow-detail{max-width:760px;margin:0 auto;border-left:1px solid var(--line);padding-left:52px}
.flow-detail-item{position:relative;padding-bottom:56px}
.flow-detail-item:last-child{padding-bottom:0}
.flow-detail-item::before{content:"";position:absolute;left:-57px;top:12px;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.flow-detail-item .no{font-family:var(--en);font-size:12px;color:var(--gold);letter-spacing:.28em;display:block;margin-bottom:8px}
.flow-detail-item h3{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.1em;margin-bottom:10px}
.flow-detail-item p{font-size:13.5px;color:var(--muted);margin-bottom:.6em}
.flow-detail-item .tip{font-size:12px;color:#5E606A;background:var(--panel);border:1px solid var(--line);padding:12px 18px;display:inline-block;margin-top:8px}
/* ご予約ページ（店舗選択） */
.reserve-list{display:flex;flex-direction:column;gap:26px;max-width:860px;margin:0 auto}
.reserve-card{border:1px solid var(--line);padding:40px 44px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;transition:.3s}
.reserve-card:hover{border-color:var(--gold)}
.reserve-card h3{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:.1em;margin-bottom:12px}
.reserve-card .addr{font-size:12.5px;color:var(--muted);line-height:1.9}
.reserve-card .detail-link{display:inline-block;margin-top:12px;font-family:var(--serif);font-size:12px;letter-spacing:.14em;color:var(--gold)}
.reserve-card .detail-link:hover{text-decoration:underline}
.reserve-card .action{display:flex;flex-direction:column;align-items:center;gap:10px}
.reserve-card .action .hero-cta{margin-top:0}
.reserve-card .pending{border:1px dashed var(--line);color:#5E606A;padding:15px 44px;font-size:13px;letter-spacing:.16em;white-space:nowrap}
.reserve-card .ext-note{font-size:10.5px;color:#5E606A;letter-spacing:.1em}
.reserve-pending{border:1px dashed var(--line);color:#5E606A;padding:14px 24px;font-size:12.5px;letter-spacing:.1em;display:inline-block}
/* 汎用情報テーブル（会社概要など） */
.info-table{width:100%;max-width:760px;margin:0 auto;border-collapse:collapse;font-size:13.5px;color:var(--muted)}
.info-table th{text-align:left;font-weight:500;padding:16px 22px 16px 2px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top;width:150px;color:#5E606A}
.info-table td{padding:16px 0;border-bottom:1px solid var(--line)}
/* ブランド一覧 */
.brand-list{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:760px;margin:60px auto 0}
.brand-card{border:1px solid var(--line);padding:36px;text-align:center}
.brand-card .en{font-family:var(--en);font-size:12px;letter-spacing:.25em;color:var(--gold);display:block;margin-bottom:12px}
.brand-card h3{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.1em;margin-bottom:10px}
.brand-card p{font-size:12.5px;color:var(--muted)}
/* ページ下部CTAリンク帯 */
.page-cta-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:80px}
/* 404 */
.error-404{text-align:center;padding:140px 24px}
.error-404 .code{font-family:var(--en);font-size:90px;color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1}
.error-404 p{color:var(--muted);margin:26px 0 40px}
/* レスポンシブ */
@media(max-width:960px){
  .side-rail{display:none}
  .site-main,.site-header,.site-footer,.news-bar,.cta-band{margin-left:0}
  .gnav ul li:not(:last-child){display:none}
  .hero{min-height:auto;padding:80px 0 60px}
  .hero .inner{flex-direction:column;gap:30px}
  .hero .v-lead{writing-mode:horizontal-tb;height:auto;border-right:none;padding-right:0;border-left:2px solid var(--line);padding-left:18px;margin-top:0}
  .hero h1{font-size:33px}
  .sec-head h2{font-size:26px}
  .sec-head .ja{display:none}
  .section{padding:76px 0}
  .concept-grid,.reason-list,.voice-grid,.flow-grid,.store-flag,.mag-list{grid-template-columns:1fr}
  .concept-visual{min-height:350px}
  .m-row .name{max-width:60%}
  .footer-in{grid-template-columns:1fr;gap:40px}
  .f-cols{flex-wrap:wrap;gap:34px}
  .news-list-rows a{grid-template-columns:1fr;gap:6px}
  .store-detail-grid{grid-template-columns:1fr;gap:44px}
  .stores-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .menu-detail-card .card-thumb{width:100%;aspect-ratio:16/9}
  .story-row{grid-template-columns:1fr;gap:32px;padding:44px 0}
  .story-row.rev .visual{order:0}
  .menu-detail-card{grid-template-columns:1fr;padding:30px 26px}
  .menu-detail-card .price-col{flex-direction:row;align-items:center;justify-content:space-between;width:100%}
  .brand-list{grid-template-columns:1fr}
  .reserve-card{grid-template-columns:1fr;padding:28px 24px}
  .flow-detail{padding-left:32px}
  .flow-detail-item::before{left:-37px}
  .check-list-dark{padding:30px 24px}
  .article-head h1{font-size:22px}
}
