/* Français — ポスター調（生成り地・黒罫・赤の差し色・余白広く・写真1点を大きく）。実写のみ */
html[lang="fr"]{--hinoki:#F7F3EA;--ink:#141414;--matsu:#141414;--aka:#B8472A;--wood:#EFE9DB;--line:rgba(20,20,20,.16);--line-strong:rgba(20,20,20,.35);--ink-70:rgba(20,20,20,.8);--ink-55:rgba(20,20,20,.6);--hinoki-90:rgba(247,243,234,.94);--mobile-surface:#F7F3EA;--mobile-text:#141414;--mobile-accent:#141414}
html[lang="fr"] body{background:var(--hinoki)}
html[lang="fr"] .demo-notice{background:#3a2c0c}
html[lang="fr"] .site-header{background:var(--hinoki);border-bottom:2px solid var(--ink)}
html[lang="fr"] .brand-text b,html[lang="fr"] .brand-text span{color:var(--ink)}
html[lang="fr"] .gnav a{color:var(--ink);text-transform:uppercase;letter-spacing:.22em;font-size:12px}
html[lang="fr"] .gnav .cta{background:var(--ink);color:var(--hinoki);border-color:var(--ink)}
html[lang="fr"] .gnav .cta:hover{background:var(--aka);border-color:var(--aka);color:#fff}
html[lang="fr"] .gnav a.lang{text-transform:none}
html[lang="fr"] .gnav a.lang[aria-current="page"]{color:var(--aka);border-bottom-color:var(--aka)}
html[lang="fr"] .hero{grid-template-columns:48fr 52fr;border-bottom:2px solid var(--ink);background:var(--hinoki)}
html[lang="fr"] .hero-photo{background:var(--hinoki);padding:40px 56px 40px 0}
html[lang="fr"] .hero-photo picture{display:block;height:100%;border:2px solid var(--ink);box-shadow:16px 16px 0 var(--aka);overflow:hidden}
html[lang="fr"] .hero-photo img{object-position:50% 12%;animation:none}
html[lang="fr"] .hero-lock{padding:56px 40px 56px 64px;background:transparent}
html[lang="fr"] .hero-lock .lockup{width:min(210px,48%)}
html[lang="fr"] .hero-lock .sub{color:var(--aka);font-style:normal;text-transform:uppercase;letter-spacing:.3em;font-size:12px}
html[lang="fr"] .hero-lock h1.en-title{font-size:clamp(52px,6.2vw,92px);line-height:.98;letter-spacing:-.01em;font-weight:500;color:var(--ink)}
html[lang="fr"] .hero-lock h1.en-title i{color:var(--aka)}
html[lang="fr"] .hero-lock .copy{font-size:17px;max-width:24em;color:var(--ink-70)}
html[lang="fr"] .btn-line,html[lang="fr"] .hero-lock .btn-line{background:var(--ink);color:var(--hinoki);border-color:var(--ink);letter-spacing:.24em;text-transform:uppercase;font-size:12.5px}
html[lang="fr"] .btn-line:hover{background:var(--aka);border-color:var(--aka);color:#fff}
html[lang="fr"] .head .en,html[lang="fr"] .split .body .kicker,html[lang="fr"] .pillar .k{color:var(--aka);font-style:normal;text-transform:uppercase;letter-spacing:.26em;font-size:12px}
html[lang="fr"] .head h2{color:var(--ink);font-size:44px;letter-spacing:-.01em}
html[lang="fr"] .head h2::after{background:var(--ink);height:2px}
html[lang="fr"] .band-section{background:var(--wood);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
html[lang="fr"] .price,html[lang="fr"] .step .t,html[lang="fr"] .prog-date b,html[lang="fr"] .route .walk,html[lang="fr"] .pillar .kanji{color:var(--aka)}
html[lang="fr"] .portrait-frame{padding:0;border:2px solid var(--ink);box-shadow:12px 12px 0 var(--aka);background:transparent}
html[lang="fr"] .pillar{border-top:2px solid var(--ink)}
html[lang="fr"] .tag{border:1px solid var(--ink);color:var(--ink);text-transform:uppercase;letter-spacing:.2em}
html[lang="fr"] .photo-strip{display:grid;grid-template-columns:5fr 3fr 3fr 4fr;gap:18px;height:clamp(240px,32vw,440px);padding:0 40px;max-width:1240px;margin:0 auto 96px}
html[lang="fr"] .photo-strip img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;border:2px solid var(--ink)}
html[lang="fr"] .stage-grid .frame{background:var(--wood);border:1px solid var(--ink)}
html[lang="fr"] .stage-grid .frame img{object-fit:cover}
html[lang="fr"] .route{background:var(--hinoki);border:2px solid var(--ink)}
html[lang="fr"] .route .dest,html[lang="fr"] .route .st{color:var(--ink)}
html[lang="fr"] .cta-band{background:var(--ink);color:var(--hinoki);border:0;position:relative;overflow:hidden}
html[lang="fr"] .cta-band .cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:.35;filter:grayscale(.4)}
html[lang="fr"] .cta-band::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(20,20,20,.55),rgba(20,20,20,.78))}
html[lang="fr"] .cta-band .inner{position:relative;z-index:2}
html[lang="fr"] .cta-band .en{color:#F0B79E}html[lang="fr"] .cta-band h2{color:#fff}html[lang="fr"] .cta-band p{color:rgba(255,255,255,.85)}
html[lang="fr"] .cta-band .btn-line{background:var(--hinoki);color:var(--ink);border-color:var(--hinoki)}
html[lang="fr"] .site-footer{background:#141414}
@media(max-width:820px){
  html[lang="fr"] .hero-photo{padding:20px 22px 0;height:auto}
  html[lang="fr"] .hero-photo picture{height:104vw;box-shadow:8px 8px 0 var(--aka)}
  html[lang="fr"] .hero-lock{padding:32px 22px 44px}
  html[lang="fr"] .hero-lock h1.en-title{font-size:clamp(40px,11vw,56px)}
  html[lang="fr"] .photo-strip{grid-template-columns:1fr 1fr;grid-auto-rows:46vw;height:auto;padding:0 22px;margin-bottom:56px;gap:12px}
}

/* fix-2: 現行 site.css の FV（全面写真＋左に浮くパネル）を、写真右／文字左の分割に明示的に戻す */
html[lang="fr"] .hero{display:grid;grid-template-columns:48fr 52fr;height:min(calc(100vh - 84px),820px);min-height:600px;animation:none}
html[lang="fr"] .hero-photo{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:auto;height:100%;order:2}
html[lang="fr"] .hero-photo::after{display:none}
html[lang="fr"] .hero-lock{position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;height:100%;order:1;justify-content:center;z-index:2}
@media(max-width:820px){
  html[lang="fr"] .hero{display:flex;flex-direction:column;height:auto;min-height:0}
  html[lang="fr"] .hero-photo{order:-1;width:100%}
  html[lang="fr"] .hero-lock{width:100%;height:auto;margin-top:0}
}
/* fix-3: ナビの詰まり・見出しのはみ出し */
html[lang="fr"] .gnav a{letter-spacing:.14em;font-size:12px;white-space:nowrap}
html[lang="fr"] .gnav .cta{padding:9px 16px}
html[lang="fr"] .hero-lock h1.en-title{font-size:clamp(44px,5vw,76px)}
