/* vhgroup.jp vhg.css 2026-09-29 — 9/5版 styles-DEu00VdN.css の自作ルール(core)＋追加分(add)。Tailwind/Quanta/Inter(約480KB)は除去 */
:root{--radius:.625rem;--v2-bg:#fff;--v2-alt:#f5f6f8;--v2-ink:#17181c;--v2-muted:#5b616b;--v2-line:#e6e8ec;--v2-accent:#b0121a;--v2-tint:#fbeceb;--v2-r:16px;--v2-en:"Archivo","Helvetica Neue",Arial,sans-serif;--v2-jp:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--v2-sh:0 8px 30px #17181c14}
.v2{background:var(--v2-bg);color:var(--v2-ink);font-family:var(--v2-jp);letter-spacing:.01em;-webkit-font-smoothing:antialiased;font-size:15.5px;line-height:1.95}
.v2 img{max-width:100%;display:block}
.v2-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.v2-sec{padding:72px 0}
@media (width>=800px){.v2-sec{padding:100px 0}
}
.v2-eyebrow{font-family:var(--v2-en);letter-spacing:.22em;text-transform:uppercase;color:var(--v2-accent);align-items:center;gap:8px;font-size:11.5px;font-weight:800;display:inline-flex}
.v2-eyebrow:before{content:"";background:var(--v2-accent);border-radius:2px;width:18px;height:2px}
.v2-h2{letter-spacing:.02em;margin-top:10px;font-size:clamp(24px,2.4vw + 14px,38px);font-weight:800;line-height:1.35}
.v2-lead{color:var(--v2-muted);max-width:38em;margin-top:12px;font-size:14.5px}
.v2-nav{z-index:70;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--v2-line);background:#ffffffeb;position:sticky;top:0}
.v2-nav-in{justify-content:space-between;align-items:center;max-width:1140px;height:64px;margin:0 auto;padding:0 20px;display:flex}
.v2-brand{color:var(--v2-ink);font-family:var(--v2-en);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;font-size:13.5px;font-weight:800;text-decoration:none;display:flex}
.v2-brand svg{width:30px;height:30px}
.v2-menu{gap:28px;display:none}
@media (width>=900px){.v2-menu{display:flex}
}
.v2-menu a{color:var(--v2-ink);border-bottom:2px solid #0000;padding:8px 0;font-size:13.5px;font-weight:600;text-decoration:none;transition:border-color .25s,color .25s}
.v2-menu a:hover{color:var(--v2-accent);border-bottom-color:var(--v2-accent)}
.v2-burger{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:flex}
@media (width>=900px){.v2-burger{display:none}
}
.v2-burger span{background:var(--v2-ink);border-radius:2px;width:22px;height:2px;transition:transform .3s,opacity .3s}
.v2-burger.open span:first-child{transform:translateY(7px)rotate(45deg)}
.v2-burger.open span:nth-child(2){opacity:0}
.v2-burger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}
.v2-sheet{z-index:69;background:var(--v2-bg);flex-direction:column;gap:2px;padding:20px;display:flex;position:fixed;inset:64px 0 0;overflow:auto}
.v2-sheet a{color:var(--v2-ink);border-bottom:1px solid var(--v2-line);padding:16px 8px;font-size:16px;font-weight:700;text-decoration:none}
.v2-sheet a:active{color:var(--v2-accent)}
.v2-hero{background:linear-gradient(180deg,var(--v2-tint),var(--v2-bg) 60%);padding:48px 0 64px}
.v2-hero-g{align-items:center;gap:28px;display:grid}
@media (width>=900px){.v2-hero-g{grid-template-columns:1fr 1.1fr;gap:48px}
.v2-hero{padding:84px 0 96px}
}
.v2-h1{letter-spacing:.02em;font-size:clamp(30px,4.2vw + 12px,54px);font-weight:900;line-height:1.3}
.v2-h1 em{color:var(--v2-accent);font-style:normal}
.v2-hero-sub{color:var(--v2-muted);max-width:34em;margin-top:16px;font-size:15px}
.v2-hero-img{border-radius:calc(var(--v2-r) + 8px);box-shadow:var(--v2-sh);overflow:hidden}
.v2-hero-img img{width:100%;height:auto;transition:transform 8s ease-out;transform:scale(1.02)}
.v2-hero-img:hover img{transform:scale(1.06)}
.v2-ctas{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}
.v2-cta{border-radius:999px;align-items:center;gap:8px;min-height:50px;padding:13px 28px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .25s,color .25s;display:inline-flex}
.v2-cta:active{transform:translateY(1px)}
.v2-cta-fill{background:var(--v2-accent);color:#fff;box-shadow:0 10px 24px #b0121a47}
.v2-cta-fill:hover{background:#96101f;box-shadow:0 12px 28px #b0121a57}
.v2-cta-line{border:1.5px solid var(--v2-ink);color:var(--v2-ink)}
.v2-cta-line:hover{background:var(--v2-ink);color:#fff}
.v2-cta .ar{transition:transform .25s}
.v2-cta:hover .ar{transform:translate(4px)}
.v2-stats{background:var(--v2-alt);border-radius:calc(var(--v2-r) + 8px);grid-template-columns:repeat(2,1fr);gap:28px;padding:36px 24px;display:grid}
@media (width>=800px){.v2-stats{grid-template-columns:repeat(4,1fr);padding:44px 40px}
}
.v2-num{font-family:var(--v2-en);letter-spacing:-.01em;font-size:clamp(34px,3vw + 16px,52px);font-weight:800;line-height:1}
.v2-num small{color:var(--v2-accent);margin-left:3px;font-size:.4em;font-weight:800}
.v2-cap{color:var(--v2-muted);margin-top:8px;font-size:12px;font-weight:600}
.v2-cards{gap:18px;margin-top:34px;display:grid}
@media (width>=800px){.v2-cards{grid-template-columns:repeat(3,1fr)}
}
.v2-card{background:var(--v2-bg);border:1px solid var(--v2-line);border-radius:var(--v2-r);color:inherit;flex-direction:column;gap:10px;padding:22px;text-decoration:none;transition:box-shadow .25s,transform .25s,border-color .25s;display:flex}
.v2-card:hover{box-shadow:var(--v2-sh);border-color:#0000;transform:translateY(-3px)}
.v2-chip{letter-spacing:.06em;color:var(--v2-accent);background:var(--v2-tint);border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:11px;font-weight:800}
.v2-card-t{font-size:14.5px;font-weight:700;line-height:1.7}
.v2-card-m{color:var(--v2-muted);align-items:center;gap:6px;margin-top:auto;font-size:12.5px;display:flex}
.v2-biz{gap:18px;margin-top:34px;display:grid}
@media (width>=800px){.v2-biz{grid-template-columns:repeat(6,1fr)}
.v2-b-wide{grid-column:span 4}
.v2-b-tall,.v2-b-photo,.v2-b-tile{grid-column:span 2}
}
.v2-b{border-radius:var(--v2-r);border:1px solid var(--v2-line);color:inherit;background:var(--v2-bg);flex-direction:column;text-decoration:none;transition:box-shadow .25s,transform .25s;display:flex;position:relative;overflow:hidden}
.v2-b:hover{box-shadow:var(--v2-sh);transform:translateY(-3px)}
.v2-b-img{aspect-ratio:16/9;overflow:hidden}
.v2-b-wide .v2-b-img{aspect-ratio:21/9}
.v2-b-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s}
.v2-b:hover .v2-b-img img{transform:scale(1.05)}
.v2-b-body{flex-direction:column;gap:6px;padding:18px 20px 20px;display:flex}
.v2-b-en{font-family:var(--v2-en);letter-spacing:.2em;text-transform:uppercase;color:var(--v2-accent);font-size:10.5px;font-weight:800}
.v2-b-t{font-size:16px;font-weight:800}
.v2-b-d{color:var(--v2-muted);font-size:12.5px;line-height:1.8}
.v2-b.tile{background:var(--v2-alt);border-color:#0000;justify-content:flex-start;padding:20px}
.v2-purpose{background:var(--v2-tint);border-radius:calc(var(--v2-r) + 8px);text-align:center;padding:44px 24px}
@media (width>=800px){.v2-purpose{padding:64px 48px}
}
.v2-purpose h2{font-size:clamp(22px,2.2vw + 12px,34px);font-weight:900;line-height:1.6}
.v2-purpose p{max-width:38em;color:var(--v2-muted);margin:14px auto 0;font-size:14.5px}
.v2-tl{scroll-snap-type:x proximity;scrollbar-width:none;gap:14px;padding:26px 20px 18px;display:flex;overflow-x:auto}
.v2-tl::-webkit-scrollbar{display:none}
.v2-era{scroll-snap-align:start;background:var(--v2-bg);border:1px solid var(--v2-line);border-radius:var(--v2-r);flex:0 0 260px;padding:22px}
.v2-era-y{font-family:var(--v2-en);color:var(--v2-accent);font-size:34px;font-weight:800}
.v2-era-t{margin-top:6px;font-size:14px;font-weight:800}
.v2-era-d{color:var(--v2-muted);margin-top:6px;font-size:12px;line-height:1.8}
.v2-rec{background:var(--v2-accent);border-radius:calc(var(--v2-r) + 8px);color:#fff;align-items:center;gap:22px;padding:44px 24px;display:grid}
@media (width>=800px){.v2-rec{grid-template-columns:1.2fr auto;padding:56px 48px}
}
.v2-rec h2{font-size:clamp(22px,2.2vw + 12px,34px);font-weight:900;line-height:1.5}
.v2-rec p{opacity:.92;max-width:36em;margin-top:10px;font-size:14px}
.v2-cta-white{color:var(--v2-accent);background:#fff;box-shadow:0 10px 24px #0000002e}
.v2-cta-white:hover{background:var(--v2-tint)}
.v2-foot{background:var(--v2-alt);color:var(--v2-muted);padding:52px 0 40px}
.v2-foot-p{color:var(--v2-ink);font-size:16px;font-weight:800}
.v2-foot-links{flex-wrap:wrap;gap:16px;margin-top:18px;display:flex}
.v2-foot-links a{color:var(--v2-muted);font-size:13px;text-decoration:none}
.v2-foot-links a:hover{color:var(--v2-accent)}
.v2-foot-c{margin-top:26px;font-size:11.5px}
@keyframes v2Up{0%{opacity:0;transform:translateY(14px)}
to{opacity:1;transform:none}
}
.v2-up{animation:.8s cubic-bezier(.19,1,.22,1) both v2Up}
@media (prefers-reduced-motion:reduce){.v2-up{animation:none}
.v2-hero-img img,.v2-b-img img,.v2-card,.v2-b,.v2-cta{transition:none}
}
.v3-hero{background:var(--v2-ink);align-items:flex-end;min-height:72svh;display:flex;position:relative;overflow:hidden}
.v3-hero img.bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}
.v3-hero:after{content:"";background:linear-gradient(#0b0b0c2e 0%,#0b0b0c0d 40%,#ffffffeb 88%,#fff 100%);position:absolute;inset:0}
.v3-hero-in{z-index:2;width:100%;max-width:1140px;margin:0 auto;padding:120px 20px 34px;position:relative}
.v3-kicker{font-family:var(--v2-en);letter-spacing:.3em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b0b0c8c;border-radius:999px;align-items:center;gap:10px;padding:8px 16px;font-size:12px;font-weight:800;display:inline-flex}
.v3-kicker b{color:#ff8a8f}
.v3-h1{letter-spacing:.02em;color:var(--v2-ink);text-shadow:0 1px #fff9;margin-top:18px;font-size:clamp(32px,4.6vw + 12px,60px);font-weight:900;line-height:1.25}
.v3-h1 em{color:var(--v2-accent);font-style:normal}
.v3-hero-sub{color:#2a2c31;max-width:36em;margin-top:12px;font-size:15px;font-weight:500}
.v3-movie{color:#fff;background:#0b0b0c;position:relative;overflow:hidden}
.v3-movie video,.v3-movie img.poster{object-fit:cover;opacity:.6;width:100%;height:100%;position:absolute;inset:0}
.v3-movie:after{content:"";background:linear-gradient(#0b0b0c4d,#0b0b0cc7);position:absolute;inset:0}
.v3-movie-in{z-index:2;text-align:center;max-width:1140px;margin:0 auto;padding:130px 20px;position:relative}
.v3-movie .en{font-family:var(--v2-en);text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(30px,4vw + 12px,58px);font-weight:900;line-height:1.04}
.v3-movie .en .x{color:#ff5a63}
.v3-movie p{color:#ffffffd9;max-width:40em;margin:18px auto 0;font-size:14px}
@media (prefers-reduced-motion:reduce){.v3-movie video{display:none}
}
.v3-phil{gap:18px;margin-top:34px;display:grid}
@media (width>=800px){.v3-phil{grid-template-columns:1fr 1fr}
}
.v3-ph{border:1px solid var(--v2-line);border-radius:var(--v2-r);background:var(--v2-bg);padding:30px 26px}
.v3-ph .k{font-family:var(--v2-en);letter-spacing:.26em;text-transform:uppercase;color:var(--v2-accent);font-size:11px;font-weight:800}
.v3-ph h3{margin-top:10px;font-size:clamp(19px,1.6vw + 12px,26px);font-weight:900;line-height:1.55}
.v3-ph p{color:var(--v2-muted);margin-top:10px;font-size:13.5px}
.v3-b-links{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}
.v3-pill{color:var(--v2-accent);background:var(--v2-tint);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:background .25s,color .25s;display:inline-flex}
.v3-pill:hover{background:var(--v2-accent);color:#fff}
.v3-sub{background:var(--v2-alt);color:var(--v2-muted);border-radius:10px;margin-top:10px;padding:10px 14px;font-size:12px}
.v3-sub b{color:var(--v2-ink)}
.v3-msg{max-width:760px;margin:34px auto 0}
.v3-msg p{color:#33363c;text-align:justify;margin-bottom:1.4em;font-size:14.5px}
.v3-msg strong{color:var(--v2-ink)}
.v3-sign{border-top:1px solid var(--v2-line);flex-direction:column;align-items:flex-end;gap:4px;margin-top:28px;padding-top:20px;display:flex}
.v3-sign .r{color:var(--v2-muted);font-size:12px}
.v3-sign .n{letter-spacing:.18em;font-size:20px;font-weight:900}
.v3-acc{border-top:1px solid var(--v2-line);margin-top:30px}
.v3-acc details{border-bottom:1px solid var(--v2-line)}
.v3-acc summary{cursor:pointer;align-items:center;gap:18px;padding:20px 4px;list-style:none;display:flex}
.v3-acc summary::-webkit-details-marker{display:none}
.v3-acc summary .y{font-family:var(--v2-en);color:var(--v2-accent);min-width:96px;font-size:30px;font-weight:800}
.v3-acc summary .c{color:var(--v2-muted);font-size:12.5px}
.v3-acc summary .tg{border:1px solid var(--v2-line);width:34px;height:34px;color:var(--v2-muted);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;transition:transform .3s,background .3s,color .3s;display:flex}
.v3-acc details[open] summary .tg{background:var(--v2-accent);color:#fff;border-color:var(--v2-accent);transform:rotate(45deg)}
.v3-acc .body{gap:18px;padding:0 4px 24px;display:grid}
@media (width>=800px){.v3-acc .body.hasimg{grid-template-columns:1.4fr 1fr;align-items:start}
}
.v3-acc ul{flex-direction:column;gap:9px;list-style:none;display:flex}
.v3-acc li{color:#33363c;padding-left:16px;font-size:13px;line-height:1.8;position:relative}
.v3-acc li:before{content:"";background:var(--v2-accent);border-radius:2px;width:7px;height:2px;position:absolute;top:.75em;left:0}
.v3-acc .body img{border-radius:12px;width:100%;height:auto}
.v3-contact{border:1px solid var(--v2-line);border-radius:calc(var(--v2-r) + 8px);text-align:center;background:var(--v2-alt);padding:38px 26px}
.v3-contact h2{font-size:clamp(20px,2vw + 12px,30px);font-weight:900}
.v3-contact p{max-width:36em;color:var(--v2-muted);margin:12px auto 0;font-size:13.5px}
.v3-foot{color:#b9bcc3;background:#101013;padding:56px 0 40px}
.v3-foot-logo{background:#fff;border-radius:12px;padding:10px 18px;display:inline-flex}
.v3-foot-logo img{width:auto;height:34px}
.v3-foot-p{color:#fff;margin-top:20px;font-size:15px;font-weight:700}
.v3-foot-cols{gap:26px;margin-top:28px;display:grid}
@media (width>=800px){.v3-foot-cols{grid-template-columns:1fr 1fr 1fr}
}
.v3-foot-h{font-family:var(--v2-en);letter-spacing:.24em;text-transform:uppercase;color:#7e828b;margin-bottom:12px;font-size:10.5px;font-weight:800}
.v3-foot-cols a{color:#b9bcc3;padding:5px 0;font-size:13px;text-decoration:none;display:block}
.v3-foot-cols a:hover{color:#fff}
.v3-foot-c{color:#7e828b;border-top:1px solid #24252a;margin-top:34px;padding-top:22px;font-size:11.5px}
#join .v2-rec{background:linear-gradient(90deg,rgba(20,20,30,.72),rgba(20,20,30,.38)),url(../img/opt/join_bg-1600.webp) center/cover no-repeat}


/* ===== vhg.css 追加分（2026-09-29 ブラッシュアップ）=====
   1) 最小リセット（Tailwind/Quanta 480KB の置き換え）
   2) 日本語タイポ・アクセシビリティ・reduced-motion
   3) 新規要素（モバイルメニュー .v2-sheet／問い合わせフォーム／言語切替リンク／更新日）
   ※ !important は使わない（納品前検証プロトコル ルール4） */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:#fff}
body{margin:0;background:#fff;color:#17181c}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
img,video,iframe{max-width:100%}
button{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:3px solid #b0121a;outline-offset:3px;border-radius:4px}
.v2-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#17181c;color:#fff;padding:10px 14px;border-radius:8px;font-weight:700;text-decoration:none}
.v2-skip:focus{left:8px}
/* 日本語見出しの折り返し・字詰め（未対応ブラウザは無視される） */
.v3-h1,.v2-h2,.v3-ph h3,.v2-rec h2,.v3-contact h2,.v2-purpose h2{text-wrap:balance;word-break:auto-phrase;font-feature-settings:"palt"}
.v3-hero-sub,.v2-lead,.v2-b-d,.v3-msg p{text-wrap:pretty}
/* 言語切替（リンク化：/ と /en/） */
.v2-lang{display:flex;gap:4px;border:1px solid var(--v2-line);border-radius:999px;padding:3px}
.v2-lang-btn{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:0;border-radius:999px;background:0 0;color:var(--v2-muted);font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer}
.v2-lang-btn.is-on,.v2-lang-btn[aria-current="page"]{background:var(--v2-ink);color:#fff}
@media (width<900px){.v2-lang{display:none}.v2-sheet .v2-lang{display:flex;align-self:flex-start;margin-top:14px}}
/* モバイルメニュー（v2で欠落していた .v2-sheet を新設） */
.v2-sheet[hidden]{display:none}
.v2-burger{position:relative}
/* ニュースカードの日付（inline style をクラス化） */
.v2-card-d{font-family:var(--v2-en);letter-spacing:.06em;color:var(--v2-muted);font-size:12px;font-weight:700}
/* 事業カード：写真の遅延読込用アスペクト固定（CLS対策） */
.v2-b-img{background:var(--v2-alt)}
.v2-b-img img{aspect-ratio:16/9}
/* ヒーロー画像（LCP）：picture 対応 */
.v3-hero picture.bg{position:absolute;inset:0;display:block}
.v3-hero picture.bg img{object-fit:cover;object-position:top;width:100%;height:100%}
/* ブランドムービー：ポスター画像を先に出し、動画は可視化＋非省データ時のみ読み込む */
.v3-movie{min-height:56svh}
.v3-movie img.poster{opacity:.6}
/* 問い合わせフォーム */
.v3-form{max-width:720px;margin:26px auto 0;text-align:left;display:grid;gap:16px}
.v3-form .row{display:grid;gap:6px}
.v3-form label{font-size:13px;font-weight:800;color:var(--v2-ink)}
.v3-form label .req{color:var(--v2-accent);font-size:11px;margin-left:6px}
.v3-form input,.v3-form select,.v3-form textarea{width:100%;min-height:46px;padding:11px 14px;border:1px solid #c9ccd3;border-radius:10px;background:#fff;color:var(--v2-ink);font:inherit;font-size:15px}
.v3-form textarea{min-height:150px;resize:vertical}
.v3-form input:focus,.v3-form select:focus,.v3-form textarea:focus{border-color:var(--v2-accent);outline:2px solid #b0121a33}
.v3-form .chk{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--v2-ink)}
.v3-form .chk input{width:20px;height:20px;min-height:0;margin-top:3px;padding:0}
.v3-form .hp{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden}
.v3-form .act{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:6px}
.v3-form .note{font-size:12px;color:var(--v2-muted)}
.v3-form .msg{display:none;border-radius:10px;padding:12px 14px;font-size:13.5px}
.v3-form .msg.ok{display:block;background:#e9f7ee;color:#0f5a2b}
.v3-form .msg.ng{display:block;background:var(--v2-tint);color:var(--v2-accent)}
.v3-contact{text-align:center}
/* フッター更新日 */
.v3-foot-upd{color:#7e828b;font-size:11.5px;margin-top:8px}
/* 沿革 <details> の summary は button 相当：タップ領域確保 */
.v3-acc summary{min-height:44px}
/* 外部リンク印 */
.v3-pill span,.v3-map-link span{font-size:11px}
/* reduced-motion：スクロール・ホバー系を止める */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.v2-b:hover,.v2-card:hover{transform:none}.v2-b-img img,.v2-cta,.v2-card,.v2-b,.v3-pill,.v2-menu a{transition:none}.v3-movie video{display:none}.v3-movie img.poster{display:block}}
/* 印刷 */
@media print{.v2-nav,.v3-movie,.v2-burger,.v2-lang,.v3-map,.v2-rec{display:none}}

/* v4 dining 2026-10-02 — 飲食ブランド章（実写の店舗・料理写真） */
.v4-dine{--d-bg:#15120f;--d-ink:#f3eee6;--d-muted:#b9b0a4;--d-line:#2e2924;--d-accent:#e46a5f;background:var(--d-bg);color:var(--d-ink)}
.v4-dine .v2-eyebrow{color:var(--d-accent)}
.v4-dine .v2-eyebrow:before{background:var(--d-accent)}
.v4-dine .v2-lead{color:var(--d-muted)}
.v4-brand{display:grid;gap:22px;margin-top:56px;padding-top:44px;border-top:1px solid var(--d-line)}
.v4-brand:first-of-type{margin-top:40px}
.v4-main img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.v4-txt{min-width:0}
.v4-area{font-family:var(--v2-en);letter-spacing:.2em;text-transform:uppercase;color:var(--d-accent);font-size:11.5px;font-weight:800}
.v4-txt h3{font-size:clamp(24px,1.6vw + 16px,34px);font-weight:900;line-height:1.3;margin-top:6px;letter-spacing:.02em}
.v4-genre{color:var(--d-muted);font-size:13.5px;font-weight:700;margin-top:6px}
.v4-desc{margin-top:14px;font-size:14.5px;line-height:1.95;max-width:30em}
.v4-dishes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,70%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin:0}
.v4-dishes figure{margin:0;scroll-snap-align:start;min-width:0}
.v4-dishes img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.v4-dishes figcaption{font-size:13px;font-weight:700;margin-top:8px;color:var(--d-ink)}
.v4-cta{margin-top:48px}
.v4-dine .v4-pill{background:#ffffff14;color:var(--d-ink)}
.v4-dine .v4-pill:hover{background:var(--d-accent);color:#fff}
.v4-dine a:focus-visible{outline:2px solid var(--d-accent);outline-offset:3px}
@media (width>=900px){
.v4-brand{grid-template-columns:7fr 5fr;align-items:center;column-gap:48px;row-gap:26px}
.v4-brand.rev .v4-main{order:2}
.v4-brand.rev .v4-txt{order:1}
.v4-dishes{grid-column:1/-1;order:3;grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}
}

/* v4 hero-mobile 2026-10-03 — スマホでヒーロー写真を切らずに全体表示・見出しを語の途中で折り返さない */
.v3-nw{display:inline-block}
@media (width<800px){
.v3-hero{display:block;min-height:0;background:var(--v2-bg)}
.v3-hero:after{display:none}
.v3-hero picture.bg{position:static}
.v3-hero picture.bg img,.v3-hero img.bg{position:static;width:100%;height:auto;aspect-ratio:1920/1086;object-fit:cover;object-position:center}
.v3-hero-in{padding:24px 20px 44px}
.v3-kicker{background:var(--v2-ink)}
.v3-h1{font-size:clamp(30px,8.2vw,40px);margin-top:16px}
}

/* v4 hero-video 2026-10-03 — トップ背景の事業紹介ムービー（PCのみ・スマホは静止画） */
.v3-hero-video{display:none}
@media (width>=800px){
.v3-hero-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.v3-hero.has-video .v3-hero-video{opacity:1}
.v3-hero.has-video:after{background:linear-gradient(180deg,#0b0b0c24 0%,#0b0b0c00 35%,#0b0b0c99 75%,#0b0b0ccc 100%)}
.v3-hero.has-video .v3-h1{color:#fff;text-shadow:0 2px 18px #0008}
.v3-hero.has-video .v3-h1 em{color:#ff8a8f}
.v3-hero.has-video .v3-hero-sub{color:#f3f3f5;text-shadow:0 1px 10px #0009}
.v3-hero.has-video .v2-cta-line{color:#fff;border-color:#fff9}
.v3-hero.has-video .v2-cta-line:hover{background:#fff;color:var(--v2-ink)}
}
@media (prefers-reduced-motion:reduce){.v3-hero-video{display:none}}

/* v4 phrase-wrap: 文節単位でしか折り返さない（スマホで文字の区切りを揃える） */
.v4-ph>span{display:inline-block}
.v4-ph>span.en-line,.v4-ph>span.lng{display:inline;word-break:normal}
.v3-movie p.v4-ph{text-wrap:balance}
.v4-ph-lines>span{display:block}

body{word-break:auto-phrase}
.v3-hero-sub,.v3-ph p,.v3-movie p,.v2-lead,.v2-msg p{text-wrap:pretty}

/* v4 VG-Standard 10 */
.v4-std{border:1px solid var(--v2-line);border-radius:var(--v2-r);background:var(--v2-ink);color:#fff;margin-top:18px;padding:30px 26px;display:grid;gap:22px}
@media (width>=800px){.v4-std{grid-template-columns:minmax(220px,.9fr) 2fr;gap:36px;padding:38px 40px;align-items:start}}
.v4-std .k{font-family:var(--v2-en);letter-spacing:.26em;text-transform:uppercase;color:#ff8a8f;font-size:11px;font-weight:800}
.v4-std h3{margin-top:10px;font-size:clamp(19px,1.6vw + 12px,26px);font-weight:900;line-height:1.5;text-wrap:balance}
.v4-std-head p.v4-ph{color:#ffffffb8;margin-top:10px;font-size:13.5px}
.v4-std-list{list-style:none;margin:0;padding:0;display:grid;gap:0 28px}
@media (width>=560px){.v4-std-list{grid-template-columns:1fr 1fr}}
.v4-std-list li{display:flex;align-items:baseline;gap:14px;padding:11px 0;border-bottom:1px solid #ffffff22;font-size:15px;font-weight:700;letter-spacing:.02em}
.v4-std-list li .n{font-family:var(--v2-en);color:#ff8a8f;font-size:12px;font-weight:800;letter-spacing:.08em;flex:none;width:2em}
.v4-std-list li b{color:#fff;font-weight:900}
.v4-std-list li .t{color:#ffffffd9}
@media (width<800px){.v3-ph{padding:24px 20px}.v3-ph h3{font-size:20px}}

.v4-std-title{font-family:var(--v2-en);letter-spacing:.02em;font-size:clamp(26px,2.2vw + 12px,38px);line-height:1.05;margin-top:0;text-transform:uppercase}
.v4-std-title .num{color:#ff8a8f}

/* v5 photo strips (2026-10-12 山本写真) */
.v5-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,76%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin:20px 0 0;list-style:none;padding-left:0}
.v5-strip figure{margin:0;scroll-snap-align:start;min-width:0}
.v5-strip img{width:100%;height:auto;object-fit:cover;border-radius:10px;background:#eee}
.v5-strip.r43 img{aspect-ratio:4/3}.v5-strip.r34 img{aspect-ratio:3/4}.v5-strip.r32 img{aspect-ratio:3/2}.v5-strip.r11 img{aspect-ratio:1/1}
.v5-strip figcaption{font-size:13px;font-weight:700;margin-top:8px}
.v5-strip figcaption small{display:block;font-weight:500;color:var(--v2-muted);font-size:12px;margin-top:2px}
@media (width>=800px){.v5-strip{grid-auto-flow:row;overflow:visible}.v5-strip.c5{grid-template-columns:repeat(5,1fr)}.v5-strip.c4{grid-template-columns:repeat(4,1fr)}.v5-strip.c3{grid-template-columns:repeat(3,1fr)}}
.v5-block{margin-top:44px;padding-top:36px;border-top:1px solid var(--v2-line)}
.v5-block:first-of-type{margin-top:28px;padding-top:0;border-top:0}
.v5-block h3{font-size:clamp(20px,1.2vw + 14px,27px);font-weight:900;line-height:1.4;letter-spacing:.02em}
.v5-block .v5-k{font-family:var(--v2-en);letter-spacing:.2em;text-transform:uppercase;color:var(--v2-accent);font-size:11.5px;font-weight:800}
.v5-block .v5-d{color:var(--v2-muted);font-size:14px;margin-top:8px;max-width:38em}
.v4-dine .v5-block{border-top-color:var(--d-line);margin-top:56px;padding-top:44px}
.v4-dine .v5-block .v5-k{color:var(--d-accent)}
.v4-dine .v5-block .v5-d{color:var(--d-muted)}
.v4-dine .v5-strip figcaption{color:var(--d-ink)}
.v4-dine .v5-strip figcaption small{color:var(--d-muted)}
.v5-join{margin-bottom:26px}

/* v5 hero-video mobile 2026-10-12 — スマホも軽量版(640x360)を静止画の上に重ねて再生 */
@media (width<800px){
.v3-hero{position:relative}
.v3-hero-video{display:block;position:absolute;top:0;left:0;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;opacity:0;transition:opacity 1s ease;z-index:1;pointer-events:none}
.v3-hero.has-video .v3-hero-video{opacity:1}
.v3-hero.has-video picture.bg img{visibility:hidden}
.v3-hero-in{position:relative;z-index:2}
}
@media (prefers-reduced-motion:reduce){.v3-hero-video{display:none}}

/* v5 mobile-light 2026-10-12 — スマホは採用パネル背景を800px版に */
@media (width<800px){#join .v2-rec{background-image:linear-gradient(90deg,rgba(20,20,30,.72),rgba(20,20,30,.38)),url(../img/opt/join_bg-800.webp)}}
