/* ================================================
   SHIGEKI INC. — Renew 2026
   Common Stylesheet (Themes: Gorgeous / Lemon-Bottle)
   ================================================ */

/* === Theme: GORGEOUS (default, Black × Gold) === */
:root, [data-theme="gorgeous"]{
  --bg:#0A0908; --bg-2:#13110F; --bg-3:#1A1714;
  --ivory:#F8F4EE; --paper:#EDE6D6;
  --gold:#C9A86A; --gold-bright:#E5C77B; --gold-deep:#8B6F3A;
  --gold-line:rgba(201,168,106,.32);
  --ink:#0A0908; --ash:#7A7167;
  --grain-opacity:.06;
  --hero-overlay:rgba(10,9,8,.68);
}

/* === Theme: LEMON BOTTLE (Yellow × Black) === */
[data-theme="lemon"]{
  --bg:#0A0A07; --bg-2:#15150E; --bg-3:#1F1E14;
  --ivory:#FFF9E0; --paper:#FFEFA8;
  --gold:#FFD400; --gold-bright:#FFEC4B; --gold-deep:#C9A800;
  --gold-line:rgba(255,212,0,.34);
  --ink:#0A0A07; --ash:#8A7E4A;
  --grain-opacity:.05;
  --hero-overlay:rgba(10,10,7,.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg); color:var(--ivory);
  font-family:"Noto Serif JP","Cormorant Garamond","Noto Serif KR","Noto Serif SC",serif;
  font-weight:300; line-height:1.85; letter-spacing:.04em;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* Grain & Atmosphere */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;
  opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='1'/></svg>");
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 1200px 800px at 80% -10%, rgba(201,168,106,.18), transparent 60%),
    radial-gradient(ellipse 800px 600px at -10% 110%, rgba(201,168,106,.10), transparent 60%);
}

/* ===== NAV ===== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:18px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  backdrop-filter:blur(12px);
  background:linear-gradient(180deg,rgba(10,9,8,.92),rgba(10,9,8,.6) 70%,rgba(10,9,8,.3));
  transition:padding .4s ease;
  border-bottom:1px solid transparent;
}
nav.scrolled{padding:12px 40px;background:rgba(10,9,8,.96);border-bottom-color:var(--gold-line)}
.brand{
  font-family:"Cinzel",serif;font-weight:600;letter-spacing:.42em;
  font-size:14px;color:var(--gold-bright);
  white-space:nowrap;
}
.brand span{
  font-weight:400;letter-spacing:.18em;font-size:9px;
  color:var(--ash);display:block;margin-top:2px;
}
.nav-center{
  display:flex;gap:32px;align-items:center;flex:1;justify-content:center;
}
.nav-center a{
  font-family:"Noto Serif JP",serif;font-size:11px;letter-spacing:.32em;
  font-weight:400;color:var(--ivory);position:relative;padding:6px 0;
  transition:color .3s;white-space:nowrap;
}
.nav-center a::after{
  content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  height:1px;width:0;background:var(--gold-bright);transition:width .35s ease;
}
.nav-center a:hover{color:var(--gold-bright)}
.nav-center a:hover::after{width:100%}
.nav-center a.active{color:var(--gold-bright)}
.nav-center a.active::after{width:100%}

.nav-right{display:flex;gap:14px;align-items:center}

/* Language switcher — Globe icon (枠外右側) + Dropdown (絶対遵守ルール) */
.lang-switch{position:relative;display:inline-flex;align-items:center;gap:10px}
.lang-switch__toggle{
  background:transparent;border:1px solid var(--gold-line);
  color:var(--gold-bright);
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font-family:"Cinzel",serif;font-size:10px;letter-spacing:.2em;
  padding:7px 12px;cursor:pointer;transition:all .25s;
  min-width:54px;
}
.lang-switch__toggle:hover{background:var(--gold-line);color:var(--gold-bright);border-color:var(--gold)}
.lang-switch__toggle .lang-switch__caret{margin-left:2px;font-size:9px;line-height:1}
.lang-switch__globe{
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--gold-bright);
  width:20px;height:20px;flex-shrink:0;
  transition:transform .35s,color .25s;
}
.lang-switch__globe svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}
.lang-switch:hover .lang-switch__globe{color:var(--gold);transform:rotate(8deg)}
.lang-switch__menu{
  position:absolute;top:calc(100% + 6px);right:0;
  min-width:120px;background:var(--bg-2);
  border:1px solid var(--gold-line);
  box-shadow:0 8px 24px rgba(0,0,0,.5);
  display:none;z-index:1000;
  padding:6px 0;
}
.lang-switch.is-open .lang-switch__menu{display:block}
.lang-switch__menu button{
  display:block;width:100%;text-align:left;
  background:transparent;border:none;
  color:var(--ivory);
  font-family:"Cinzel",serif;font-size:11px;letter-spacing:.22em;
  padding:9px 16px;cursor:pointer;transition:background .2s,color .2s;
}
.lang-switch__menu button:hover{background:var(--gold-line);color:var(--gold-bright)}
.lang-switch__menu button.active{color:var(--gold-bright);background:rgba(201,168,106,.12)}
.lang-switch__menu button .lang-switch__name{display:inline-block;margin-left:8px;font-size:9px;letter-spacing:.15em;color:var(--ash)}

.contact-btn{
  border:1px solid var(--gold);padding:9px 22px;
  font-family:"Cinzel",serif;font-size:10px;letter-spacing:.32em;
  color:var(--gold-bright)!important;background:transparent;transition:all .4s;
  white-space:nowrap;
}
.contact-btn:hover{background:var(--gold);color:var(--ink)!important}
.contact-btn::after{display:none!important}

.mobile-toggle{
  display:none;background:transparent;border:1px solid var(--gold);
  color:var(--gold-bright);padding:8px 12px;cursor:pointer;
  font-family:"Cinzel",serif;font-size:10px;letter-spacing:.2em;
}

/* ===== Common Section Styling ===== */
section{position:relative;z-index:2;padding:120px 40px}
.section-label{
  display:flex;align-items:center;gap:20px;
  margin-bottom:22px;
  font-family:"Cinzel",serif;font-size:11px;letter-spacing:.5em;
  color:var(--gold-bright);
}
.section-label::before{content:"";width:50px;height:1px;background:var(--gold)}
.section-title{
  font-family:"Noto Serif JP",serif;font-weight:300;
  font-size:clamp(26px,3.4vw,40px);line-height:1.5;letter-spacing:.04em;
  color:var(--ivory);margin-bottom:24px;
  word-break:keep-all;overflow-wrap:normal;
}
.section-title strong{
  font-weight:600;color:var(--gold-bright);
  font-style:italic;font-family:"Cormorant Garamond",serif;letter-spacing:0;
}

/* ===== Page Hero (sub pages) ===== */
.page-hero{
  position:relative;z-index:2;
  padding:160px 40px 80px;
  text-align:center;
  border-bottom:1px solid var(--gold-line);
  overflow:hidden;
}
.page-hero > .breadcrumb,
.page-hero > h1,
.page-hero > .sub{position:relative;z-index:3}
.page-hero::before{
  content:"";position:absolute;top:50%;left:50%;
  width:900px;height:900px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(201,168,106,.12),transparent 60%);
  pointer-events:none;z-index:2;
}
.page-hero .breadcrumb{
  font-family:"Cinzel",serif;font-size:10px;letter-spacing:.4em;
  color:var(--gold);margin-bottom:18px;
}
.page-hero .breadcrumb a{transition:color .3s}
.page-hero .breadcrumb a:hover{color:var(--gold-bright)}
.page-hero .breadcrumb span{margin:0 12px;color:var(--gold-line)}
.page-hero h1{
  font-family:"Noto Serif JP",serif;font-weight:300;
  font-size:clamp(30px,4.2vw,52px);line-height:1.4;letter-spacing:.04em;
  color:var(--ivory);margin-bottom:18px;
  word-break:keep-all;overflow-wrap:normal;
}
.page-hero h1 strong{
  font-weight:600;
  background:linear-gradient(120deg,var(--gold-bright),var(--gold) 50%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.page-hero .sub{
  font-family:"Cormorant Garamond",serif;font-style:italic;font-size:18px;
  color:var(--gold-bright);letter-spacing:.18em;
  max-width:680px;margin:0 auto;line-height:1.7;
}

/* ===== Footer ===== */
footer{
  border-top:1px solid var(--gold-line);
  padding:48px 40px 32px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;align-items:start;
  background:var(--bg);position:relative;z-index:2;
}
.foot-brand{
  font-family:"Cinzel",serif;letter-spacing:.42em;font-size:14px;
  color:var(--gold-bright);font-weight:600;
}
.foot-brand span{
  display:block;font-family:"Noto Serif JP",serif;font-weight:300;
  font-size:11px;color:var(--ash);letter-spacing:.2em;margin-top:6px;
}
.foot-tag{
  font-family:"Cormorant Garamond",serif;font-style:italic;
  font-size:14px;color:var(--paper);letter-spacing:.14em;line-height:1.8;
}
.foot-meta{
  font-family:"Cinzel",serif;font-size:10px;letter-spacing:.3em;
  color:var(--ash);text-align:right;line-height:2.2;
}
.foot-bottom{
  grid-column:1/-1;margin-top:32px;padding-top:18px;
  border-top:1px solid var(--gold-line);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-family:"Cinzel",serif;font-size:10px;letter-spacing:.3em;color:var(--ash);
}
.foot-nav{display:flex;gap:24px;flex-wrap:wrap}
.foot-nav a{transition:color .3s}
.foot-nav a:hover{color:var(--gold-bright)}

/* ===== Reveal Animation ===== */
.reveal{opacity:0;transform:translateY(36px);transition:opacity 1s ease,transform 1s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* ===== CTA Button ===== */
.cta-btn{
  display:inline-block;padding:20px 56px;
  border:1px solid var(--gold);background:transparent;
  color:var(--gold-bright);
  font-family:"Cinzel",serif;font-size:12px;letter-spacing:.5em;
  transition:all .5s;cursor:pointer;
  position:relative;overflow:hidden;
}
.cta-btn::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,var(--gold-deep),var(--gold-bright));
  transform:scaleX(0);transform-origin:right;transition:transform .5s ease;
  z-index:-1;
}
.cta-btn:hover{color:var(--ink);border-color:var(--gold-bright)}
.cta-btn:hover::before{transform:scaleX(1);transform-origin:left}

/* ===== Partner List Common ===== */
.partner-list{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px 32px;
}
.partner-list a, .partner-list span{
  font-family:"Noto Serif JP",serif;font-size:14px;color:var(--paper);
  padding:14px 0;border-top:1px solid var(--gold-line);
  letter-spacing:.04em;display:flex;align-items:center;gap:14px;
  transition:color .3s,border-color .3s,padding-left .3s;
}
.partner-list a::before, .partner-list span::before{
  content:"◆";color:var(--gold);font-size:8px;
}
.partner-list a:hover{color:var(--gold-bright);border-color:var(--gold);padding-left:6px}

/* ===========================================
   RESPONSIVE — Mobile first refinement
   =========================================== */
@media (max-width:1100px){
  nav{padding:16px 24px}
  nav.scrolled{padding:12px 24px}
  .nav-center{display:none}
  .nav-center.show{
    display:flex;flex-direction:column;gap:18px;
    position:fixed;top:60px;left:0;right:0;
    padding:28px 24px;background:rgba(10,9,8,.98);
    border-bottom:1px solid var(--gold-line);
    z-index:99;
  }
  .nav-center a{font-size:13px;letter-spacing:.28em}
  .mobile-toggle{display:block}
  .nav-right .contact-btn{display:none}
  .lang-switch button{padding:6px 8px;font-size:9px;min-width:32px}
}

@media (max-width:780px){
  nav{padding:14px 14px;gap:8px}
  nav.scrolled{padding:10px 14px}
  .brand{font-size:12px;letter-spacing:.28em}
  .brand span{font-size:8px}
  .nav-right{gap:8px}
  /* テーマ切替はスマホで非表示（コンパクト化優先） */
  .theme-switch{display:none}
  /* 言語切替コンパクト化（地球+ラベルのみ・▾省略） */
  .lang-switch{gap:6px}
  .lang-switch__toggle{padding:5px 8px;min-width:38px;font-size:9px;letter-spacing:.16em}
  .lang-switch__caret{display:none}
  .lang-switch__globe{width:18px;height:18px}
  .lang-switch__globe svg{width:18px;height:18px}
  .lang-switch__menu button{padding:8px 12px;font-size:10px}
  /* CONTACT スマホで非表示（MENUタップで導線確保） */
  .nav-right .contact-btn{display:none}
  /* MENU ボタン：余裕を持って表示 */
  .mobile-toggle{display:inline-flex;align-items:center;padding:7px 11px;font-size:10px;letter-spacing:.18em;white-space:nowrap;min-width:auto}
  section{padding:80px 20px}
  .page-hero{padding:120px 20px 60px}
  .page-hero h1{font-size:clamp(26px,7vw,40px);line-height:1.45}
  .page-hero .sub{font-size:14px;letter-spacing:.12em}
  .section-label{font-size:10px;letter-spacing:.4em;gap:14px}
  .section-label::before{width:32px}
  .section-title{font-size:clamp(22px,6vw,32px);line-height:1.5}
  footer{grid-template-columns:1fr;gap:24px;padding:32px 20px;text-align:center}
  .foot-meta{text-align:center}
  .foot-bottom{justify-content:center;text-align:center}
  .foot-nav{justify-content:center}
  .partner-list{grid-template-columns:1fr;gap:0}
  .cta-btn{padding:16px 36px;font-size:11px;letter-spacing:.32em}
}

@media (max-width:420px){
  nav{padding:12px 12px;gap:6px}
  .brand{font-size:11px;letter-spacing:.18em}
  .brand span{display:none}
  .nav-right{gap:6px}
  .lang-switch{gap:5px}
  .lang-switch__toggle{padding:4px 6px;min-width:32px;font-size:8px}
  .lang-switch__globe{width:16px;height:16px}
  .lang-switch__globe svg{width:16px;height:16px}
  .mobile-toggle{padding:5px 9px;font-size:9px;letter-spacing:.14em}
}

/* keep selection visible */
::selection{background:var(--gold);color:var(--ink)}

/* ================================================
   IMAGE COMPONENTS (Hero / Visuals / Cards)
   ================================================ */

/* Hero with background image */
.hero-bg{
  position:absolute;inset:0;z-index:0;overflow:hidden;
}
.hero-bg img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.55) saturate(.85);
  transform:scale(1.04);transition:transform 12s ease;
}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,var(--hero-overlay) 0%,rgba(10,9,8,.5) 50%,var(--bg) 100%),
    radial-gradient(ellipse 1200px 800px at 70% 30%, rgba(201,168,106,.18), transparent 60%);
}
.hero:hover .hero-bg img{transform:scale(1.08)}

/* Page hero with bg image */
.page-hero-bg{
  position:absolute;inset:0;z-index:0;overflow:hidden;
}
.page-hero-bg img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.4) saturate(.8);
}
.page-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,9,8,.5) 0%,var(--bg) 100%);
}

/* image visuals (replaces intro-visual SVG) */
.img-visual{
  aspect-ratio:1;background:var(--bg-3);
  border:1px solid var(--gold-line);position:relative;overflow:hidden;
}
.img-visual::before{
  content:"";position:absolute;inset:14px;border:1px solid var(--gold-line);z-index:2;pointer-events:none;
}
.img-visual::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(135deg,transparent 60%,rgba(201,168,106,.15));
}
.img-visual img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s ease, filter .8s ease;
  filter:saturate(.92);
}
.img-visual:hover img{transform:scale(1.06);filter:saturate(1.05)}

/* picture frame caption */
.img-cap{
  position:absolute;bottom:24px;left:24px;right:24px;z-index:3;
  display:flex;justify-content:space-between;align-items:flex-end;
  font-family:"Cinzel",serif;font-size:10px;letter-spacing:.32em;color:var(--gold-bright);
  pointer-events:none;
}
.img-cap .num{font-size:22px;font-weight:300;letter-spacing:.1em;color:var(--ivory)}

/* division row image (in business divisions) */
.div-image{
  width:100%;aspect-ratio:16/10;
  background:var(--bg-3);border:1px solid var(--gold-line);
  position:relative;overflow:hidden;
  display:none;
}
.div-image img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.7) saturate(.9);
  transition:filter .6s ease,transform 1s ease;
}
.division:hover .div-image img{filter:brightness(.9) saturate(1);transform:scale(1.04)}

/* CEO mark image */
.ceo-mark.has-img{padding:0}
.ceo-mark.has-img img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.7) saturate(.85) contrast(1.05);
}

/* Theme switcher button */
.theme-switch{
  display:flex;align-items:center;gap:2px;
  border:1px solid var(--gold-line);padding:0;
}
.theme-switch button{
  background:transparent;border:none;
  color:var(--ivory);
  font-family:"Cinzel",serif;font-size:9px;letter-spacing:.18em;
  padding:7px 9px;cursor:pointer;transition:all .25s;
  border-right:1px solid var(--gold-line);
}
.theme-switch button:last-child{border-right:none}
.theme-switch button:hover{background:var(--gold-line);color:var(--gold-bright)}
.theme-switch button.active{background:var(--gold);color:var(--ink)}

/* Lemon theme accent details */
[data-theme="lemon"] .arch-svg{filter:drop-shadow(0 0 30px rgba(255,212,0,.3))}
[data-theme="lemon"] body::after{
  background:
    radial-gradient(ellipse 1200px 800px at 80% -10%, rgba(255,212,0,.18), transparent 60%),
    radial-gradient(ellipse 800px 600px at -10% 110%, rgba(255,212,0,.10), transparent 60%);
}
[data-theme="lemon"] .img-visual::after{background:linear-gradient(135deg,transparent 60%,rgba(255,212,0,.18))}
[data-theme="lemon"] .hero-bg img{filter:brightness(.5) saturate(1.1) hue-rotate(15deg)}

/* Responsive image visuals */
@media (max-width:780px){
  .div-image{aspect-ratio:16/9}
  .img-cap{font-size:9px;letter-spacing:.2em;bottom:14px;left:14px;right:14px}
  .img-cap .num{font-size:16px}
}


/* ============================================================
   v5.0 GAIA 絶対ルール準拠 拡張 (基本設計→カスタマイズ)
   1) lang-switch <details> プルダウン (地球マーク左 + caret)
   2) 事業部 SVG アイコン
   3) 会社名 nowrap
   4) モバイル整合性
   ============================================================ */

/* ---- LANG SWITCH (絶対ルール: 地球マーク枠外左+プルダウン) ---- */
.lang-switch--native{position:relative;display:inline-block}
.lang-switch--native > summary{
  list-style:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border:1px solid var(--gold-line);
  font-family:"Cinzel",serif;font-size:10px;letter-spacing:.18em;
  color:var(--gold-bright);background:transparent;
  transition:all .25s;user-select:none;white-space:nowrap;
}
.lang-switch--native > summary::-webkit-details-marker{display:none}
.lang-switch--native > summary::marker{content:""}
.lang-switch--native > summary:hover{background:var(--gold-line)}
.lang-switch--native[open] > summary{background:var(--gold-line);border-color:var(--gold)}
.lang-switch--native .lang-switch__globe{display:inline-flex;align-items:center;width:16px;height:16px;color:var(--gold-bright);flex-shrink:0}
.lang-switch--native .lang-switch__globe svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}
.lang-switch--native .lang-switch__caret{font-size:10px;line-height:1}
.lang-switch--native .lang-switch__menu{
  position:absolute;top:calc(100% + 6px);right:0;
  min-width:160px;background:var(--bg-2);
  border:1px solid var(--gold-line);
  box-shadow:0 8px 24px rgba(0,0,0,.7);
  padding:6px 0;z-index:1000;
}
.lang-switch--native .lang-switch__opt{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 16px;
  font-family:"Cinzel",serif;font-size:11px;letter-spacing:.22em;
  color:var(--ivory);text-decoration:none;
  transition:background .2s,color .2s;
}
.lang-switch--native .lang-switch__opt:hover{background:var(--gold-line);color:var(--gold-bright)}
.lang-switch--native .lang-switch__opt.active{color:var(--gold-bright);background:rgba(201,168,106,.12)}
.lang-switch--native .lang-switch__opt .lang-switch__name{
  font-size:9px;letter-spacing:.14em;color:var(--ash);margin-left:10px;
}

/* ---- 事業部 SVG アイコン ---- */
.div-icon{
  display:flex;align-items:center;justify-content:center;
  width:60px;height:60px;
  border:1px solid var(--gold-line);border-radius:50%;
  flex-shrink:0;
  background:linear-gradient(135deg,rgba(201,168,106,.05),rgba(201,168,106,.02));
  transition:all .4s;
}
.division:hover .div-icon{
  border-color:var(--gold);
  background:linear-gradient(135deg,rgba(229,199,123,.15),rgba(201,168,106,.08));
  transform:rotate(8deg) scale(1.08);
}
.div-icon svg{width:30px;height:30px;stroke:var(--gold-bright);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* ---- 会社名・固有名詞 改行絶対禁止 ---- */
.partner-info h3,
.partner-link,
.partner-card h3,
.clinic-name,
.salon-card h3,
.partner-list a,
.partner-mark .stamp strong,
.foot-brand{
  white-space:nowrap;
  word-break:keep-all;
}

/* ---- 共通 body protection ---- */
html, body { overflow-x: hidden; max-width: 100vw }

/* ---- モバイル対応 (絶対ルール: word-break normal/keep-all 制御, theme-switch 圧縮)---- */
@media (max-width: 780px){
  /* テキスト折返し復活 (デスクトップで keep-all、モバイルで normal) */
  h1, h2, h3, p, .section-title, .page-hero h1, h1.hero-title,
  .intro-text p, .hero-body, .hero-sub, .ceo-message,
  .div-info p, .div-info h3 {
    word-break: normal;
    overflow-wrap: anywhere;
  }
  /* 会社名は nowrap 維持 */
  .partner-info h3, .partner-link, .partner-card h3,
  .clinic-name, .salon-card h3, .partner-list a {
    white-space: nowrap;
    overflow-wrap: normal;
  }
  /* font-size モバイル縮小 */
  h1.hero-title { font-size: clamp(20px, 5.5vw, 30px); line-height: 1.5 }
  .page-hero h1 { font-size: clamp(20px, 5.5vw, 30px); line-height: 1.5 }
  .section-title { font-size: clamp(18px, 5vw, 26px); line-height: 1.5 }
  /* nav 圧縮 */
  nav { padding: 12px 14px; gap: 8px; flex-wrap: nowrap }
  .brand { font-size: 11px; letter-spacing: .2em }
  .brand span { display: none }
  .nav-right { gap: 8px }
  /* theme-switch G/L 文字付き丸ボタン (絶対ルール: 隠さない・コンパクト化) */
  .theme-switch { display: inline-flex; gap: 5px; align-items: center }
  .theme-switch button {
    width: 22px; height: 22px;
    border-radius: 50%;
    border: 1.5px solid var(--gold);
    color: transparent;
    font-size: 0;
    padding: 0; min-width: 0;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all .25s;
  }
  .theme-switch button[data-theme="gorgeous"]{ background: linear-gradient(135deg,#E5C77B,#8B6F3A) }
  .theme-switch button[data-theme="lemon"]{ background: linear-gradient(135deg,#FFEC4B,#C9A800) }
  .theme-switch button.active{ box-shadow: 0 0 0 2px var(--gold-bright); transform: scale(1.12); border-color: var(--gold-bright) }
  /* lang-switch コンパクト (caret 残す = プルダウン認識) */
  .lang-switch--native > summary { padding: 4px 8px; font-size: 9px; letter-spacing: .12em; gap: 5px }
  .lang-switch--native .lang-switch__globe { width: 15px; height: 15px }
  .lang-switch--native .lang-switch__globe svg { width: 15px; height: 15px }
  /* nav center & contact-btn は MENU内に移動 */
  .nav-center { display: none }
  .nav-right .contact-btn { display: none }
  /* MENU は確実表示 */
  .mobile-toggle {
    display: inline-flex; align-items: center;
    padding: 6px 10px; font-size: 9px; letter-spacing: .14em;
    white-space: nowrap; flex-shrink: 0;
    background: transparent; border: 1px solid var(--gold);
    color: var(--gold-bright); cursor: pointer;
    font-family: "Cinzel", serif;
  }
  /* 事業部レイアウト: 番号+アイコン+情報 (CTAは非表示) */
  .division { grid-template-columns: 50px 50px 1fr; gap: 12px; padding: 26px 14px }
  .division .div-cta { display: none }
  .div-num { font-size: 32px }
  .div-icon { width: 44px; height: 44px }
  .div-icon svg { width: 22px; height: 22px }
  /* breadcrumb 改行対応 */
  .breadcrumb { font-size: 10px; flex-wrap: wrap; gap: 4px }
  /* hero / page-hero padding調整 */
  .hero, .page-hero { padding-left: 18px; padding-right: 18px }
}

@media (max-width: 420px){
  h1.hero-title, .page-hero h1 { font-size: clamp(18px, 5vw, 24px) }
  .section-title { font-size: clamp(16px, 4.5vw, 22px) }
  .brand { font-size: 10px }
  .theme-switch button { width: 19px; height: 19px }
  .lang-switch--native > summary { padding: 3px 6px; font-size: 8.5px }
  .mobile-toggle { padding: 5px 9px; font-size: 8.5px }
  nav { padding: 10px 12px; gap: 5px }
  .division { grid-template-columns: 40px 40px 1fr; gap: 10px; padding: 22px 12px }
}

/* ---- mobile-toggle: デフォルト表示制御 ---- */
@media (max-width: 1100px){
  .mobile-toggle { display: inline-flex; align-items: center }
}

/* ============================================================
   v5.1 追加修正：プレシャスワーク中央寄せ・LEMON BOTTLE強化・事業部CTA明示
   ============================================================ */

/* プレシャスワーク partner-block 完全中央寄せ */
.partner-block{
  margin-left:auto !important;margin-right:auto !important;
  text-align:left;
}
@media (max-width:980px){
  .partner-block{
    grid-template-columns:1fr !important;
    text-align:center;
    padding:48px 32px;
  }
  .partner-block .partner-info{margin:0 auto;max-width:520px}
  .partner-block .partner-info h3,
  .partner-block .partner-info p{text-align:center}
  .partner-block .partner-link{margin:0 auto}
  .partner-mark{margin:0 auto;max-width:240px}
}

/* LEMON BOTTLE 英語表記コントラスト強化 (page-hero h1 strong) */
.page-hero h1 strong,
h1.page-hero-title strong{
  -webkit-text-fill-color:initial !important;
  background:none !important;
  color:#FFD700 !important;
  text-shadow:0 2px 12px rgba(255,215,0,.4),0 0 24px rgba(229,199,123,.3);
  font-weight:700 !important;
}
[data-theme="lemon"] .page-hero h1 strong{
  color:#FFEC4B !important;
  text-shadow:0 2px 14px rgba(255,236,75,.5),0 0 30px rgba(255,212,0,.4);
}

/* 事業部 番号+アイコン+情報 + 明示的CTA「→ 詳細を見る」*/
.div-cta{
  font-size:13px !important;
  letter-spacing:.18em !important;
  color:var(--gold-bright) !important;
  border:1px solid var(--gold);
  padding:14px 20px !important;
  white-space:nowrap;
  text-align:center !important;
  align-items:center !important;
  background:rgba(201,168,106,.06);
  transition:all .35s;
}
.div-cta::before{
  content:"DETAIL";
  font-family:"Cinzel",serif;font-size:11px;letter-spacing:.32em;
  display:block;margin-bottom:4px;color:var(--gold);
}
.division:hover .div-cta{
  background:var(--gold);
  color:var(--ink) !important;
  border-color:var(--gold);
}
.division:hover .div-cta::before{color:var(--ink)}

@media (max-width:780px){
  .div-cta{
    display:flex !important;
    grid-column:1/-1;
    margin-top:14px;
    padding:10px 16px !important;
    font-size:11px !important;
  }
  .division{grid-template-columns:50px 50px 1fr !important;gap:12px;padding:24px 14px}
}

/* lang-switch summary cursor:pointer 強化（タップ動作明示）*/
.lang-switch--native > summary{cursor:pointer !important;-webkit-tap-highlight-color:rgba(201,168,106,.3);touch-action:manipulation}

/* ============================================================
   v6.2 追加：select ネイティブセレクター・PUSH表記・partner-block中央
   ============================================================ */

/* ---- LANG SWITCH SELECT (絶対動作版・全ブラウザ対応) ---- */
.lang-switch--select{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--gold-line);
  padding:4px 8px 4px 10px;
  background:transparent;
  transition:all .25s;
}
.lang-switch--select:hover{border-color:var(--gold);background:var(--gold-line)}
.lang-switch--select .lang-switch__globe{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;color:var(--gold-bright);flex-shrink:0;
  pointer-events:none;
}
.lang-switch--select .lang-switch__globe svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}
.lang-switch__select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:transparent;
  border:none;
  color:var(--gold-bright);
  font-family:"Cinzel",serif;font-size:11px;letter-spacing:.18em;
  padding:6px 26px 6px 4px;
  cursor:pointer;
  outline:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23E5C77B' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 6px center;
  background-size:10px 7px;
  min-width:90px;
}
.lang-switch__select option{
  background:#13110F;color:var(--ivory);
  font-family:"Cinzel",serif;font-size:14px;
  padding:10px;
}
.lang-switch__select:focus{outline:1px solid var(--gold)}

@media (max-width:780px){
  .lang-switch--select{padding:3px 5px 3px 7px;gap:5px}
  .lang-switch__select{font-size:10px;padding:4px 22px 4px 2px;min-width:70px;letter-spacing:.12em;background-size:8px 6px;background-position:right 4px center}
  .lang-switch--select .lang-switch__globe{width:15px;height:15px}
  .lang-switch--select .lang-switch__globe svg{width:15px;height:15px}
}

/* ---- 事業部 div-icon の下に「PUSH」表記追加 ---- */
.div-icon{flex-direction:column !important;gap:2px}
.div-icon::after{
  content:"PUSH";
  display:block;
  font-family:"Cinzel",serif;
  font-size:8px;letter-spacing:.32em;
  color:var(--gold);
  margin-top:1px;
  font-weight:600;
}
.division:hover .div-icon::after{color:var(--gold-bright)}
@media (max-width:780px){
  .div-icon::after{font-size:7px;letter-spacing:.24em}
}

/* ---- 株式会社プレシャスワーク partner-block 完全中央配置（grid破棄）---- */
.partner-block{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  max-width:880px !important;
  margin:0 auto !important;
  gap:40px !important;
  padding:70px 50px !important;
}
.partner-block .partner-mark{
  margin:0 auto !important;
  width:200px !important;max-width:200px !important;
  aspect-ratio:1;flex-shrink:0;
}
.partner-block .partner-info{
  max-width:640px !important;
  text-align:center !important;
  margin:0 auto !important;
}
.partner-block .partner-info h3{
  text-align:center !important;
  white-space:nowrap;
}
.partner-block .partner-info p{
  text-align:center !important;
  margin-left:auto !important;margin-right:auto !important;
  max-width:560px;
}
.partner-block .partner-link{
  margin:0 auto !important;
  display:inline-flex !important;
}
@media (max-width:780px){
  .partner-block{padding:48px 28px !important;gap:30px !important}
  .partner-block .partner-mark{width:160px !important;max-width:160px !important}
  .partner-block .partner-info h3{font-size:18px !important;letter-spacing:.02em}
}

/* ============================================================
   v7.1 緊急修正 — globe外配置・LEMON BOTTLE強発光・partner-mark文字被り解消
   ============================================================ */

/* 地球マーク 枠の外 左側 (絶対遵守ルール v3) */
.lang-globe-outside{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;color:var(--gold-bright);
  flex-shrink:0;margin-right:2px;
  transition:transform .35s,color .25s;
}
.lang-globe-outside svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}
.lang-globe-outside:hover{color:var(--gold);transform:rotate(8deg)}

/* lang-switch--select の中の globe を完全削除済 → 枠のみ */
.lang-switch--select{padding:4px 6px 4px 10px}
@media (max-width:780px){
  .lang-globe-outside{width:18px;height:18px;margin-right:1px}
  .lang-globe-outside svg{width:18px;height:18px}
}
@media (max-width:420px){
  .lang-globe-outside{width:15px;height:15px}
  .lang-globe-outside svg{width:15px;height:15px}
}

/* LEMON BOTTLE 強発光（白文字+影で確実視認）*/
.page-hero h1 strong{
  -webkit-text-fill-color:#FFFFFF !important;
  background:none !important;
  color:#FFFFFF !important;
  font-weight:800 !important;
  text-shadow:0 0 16px rgba(255,255,255,.6),0 2px 10px rgba(0,0,0,.8),0 0 32px rgba(229,199,123,.4) !important;
  letter-spacing:.06em !important;
}
[data-theme="lemon"] .page-hero h1 strong{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  text-shadow:0 0 18px rgba(255,236,75,.7),0 2px 10px rgba(0,0,0,.8),0 0 32px rgba(255,212,0,.5) !important;
}

/* partner-mark 文字被り解消（overflow制御 + 文字小さく）*/
.partner-mark{
  width:200px !important;height:200px !important;max-width:200px !important;
  aspect-ratio:1;
  overflow:hidden !important;
  padding:18px 16px !important;
  flex-shrink:0;
  word-break:keep-all;
  box-sizing:border-box;
}
.partner-mark .stamp{
  font-size:8px !important;letter-spacing:.22em !important;line-height:1.5 !important;
  color:var(--gold);
}
.partner-mark .stamp strong{
  font-size:10px !important;letter-spacing:.28em !important;line-height:1.5 !important;
  margin-bottom:4px;display:block;
}
.partner-mark .ja{
  font-size:8px !important;letter-spacing:.12em !important;line-height:1.4 !important;
  margin-top:4px;
}
@media (max-width:780px){
  .partner-mark{width:160px !important;height:160px !important;padding:14px 12px !important}
  .partner-mark .stamp{font-size:7px !important;letter-spacing:.18em !important}
  .partner-mark .stamp strong{font-size:9px !important;letter-spacing:.22em !important}
  .partner-mark .ja{font-size:7px !important}
}

/* ============================================================
   v9.0 緊急修正パッチ — 2026-05-03
   1. LEMON BOTTLE ロゴ画像 爆光化（薄黒問題の真因）
   2. SNS handle 枠はみ出し解消
   3. lang-switch 横幅圧縮
   ============================================================ */

/* (1) LEMON BOTTLE ロゴ画像 — 暗いPNGを白く爆光化 */
.sns-card img[alt*="Logo"],
.sns-card img[alt*="logo"]{
  filter: brightness(3.2) contrast(1.4) drop-shadow(0 0 14px rgba(255,255,255,.8)) drop-shadow(0 0 6px rgba(229,199,123,.6)) !important;
}
[data-theme="lemon"] .sns-card img[alt*="Logo"],
[data-theme="lemon"] .sns-card img[alt*="logo"]{
  filter: brightness(3.4) contrast(1.5) drop-shadow(0 0 14px rgba(255,236,75,.8)) drop-shadow(0 0 8px rgba(255,212,0,.6)) !important;
}

/* (2) SNS handle — モバイルで枠内に確実収束 */
.sns-card .handle{
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
  text-align: center;
  max-width: 100%;
  box-sizing: border-box;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
@media (max-width: 780px){
  .sns-card{padding: 40px 24px !important; max-width: 92%}
  .sns-card .handle{
    font-size: 13px !important;
    letter-spacing: .08em !important;
    padding: 14px 6px !important;
    line-height: 1.5 !important;
  }
}
@media (max-width: 420px){
  .sns-card{padding: 32px 16px !important}
  .sns-card .handle{
    font-size: 11px !important;
    letter-spacing: .04em !important;
    padding: 12px 4px !important;
  }
}

/* (3) lang-switch--select 横幅 大幅圧縮 */
.lang-switch--select{
  padding: 2px 4px 2px 6px !important;
  min-width: auto !important;
}
.lang-switch--select .lang-switch__select{
  padding: 4px 18px 4px 6px !important;
  font-size: 12px !important;
  min-width: 0 !important;
  width: auto !important;
  background-position: right 4px center !important;
  background-size: 10px !important;
}
@media (max-width: 780px){
  .lang-switch--select{padding: 2px 3px 2px 4px !important}
  .lang-switch--select .lang-switch__select{
    padding: 3px 16px 3px 4px !important;
    font-size: 11px !important;
  }
  .lang-globe-outside{margin-right: 1px !important}
}
@media (max-width: 420px){
  .lang-switch--select .lang-switch__select{
    padding: 2px 14px 2px 3px !important;
    font-size: 10px !important;
  }
}

/* (4) page-hero h1 strong — さらに強い白色強制（複数の重ね当て）*/
header.page-hero h1 strong,
.page-hero h1 strong,
h1 strong{
  -webkit-text-fill-color: #FFFFFF !important;
  background: none !important;
  background-image: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  color: #FFFFFF !important;
  font-weight: 800 !important;
  text-shadow:
    0 0 4px rgba(255,255,255,.9),
    0 0 12px rgba(255,255,255,.7),
    0 0 24px rgba(229,199,123,.5),
    0 2px 8px rgba(0,0,0,.95) !important;
}

/* ============================================================
   v10.0 緊急修正パッチ — 2026-05-03 18:50
   1. 全クリニック名/サロン名の枠はみ出し根本解消
   2. 全 partner-list アンカー文字列折り返し
   3. SNSアイコン 5種 フッター下段
   ============================================================ */

/* (1) 全テキスト要素 折り返し強化 — 枠はみ出しゼロ */
.clinic-name, .clinic-name-en, .salon-card h3, .salon-card .area,
.partner-list a, .partner-list span, .partner-list,
.foot-brand, .foot-brand span, .foot-tag, .foot-meta span,
.contact-tagline, .contact-title, .biz-tag, .biz-card h3,
.philosophy-quote, .principle-title, .principle-en, .principle-text{
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* clinic-name モバイル font-size 調整 */
.clinic-name{
  font-size: clamp(15px, 4vw, 22px) !important;
  line-height: 1.4 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
@media (max-width: 780px){
  .clinic-name{font-size: 14px !important; line-height: 1.35 !important}
  .clinic-card{padding: 24px 20px !important; gap: 12px !important}
  .salon-card h3{font-size: 18px !important; word-break: normal !important; overflow-wrap: break-word !important}
}
@media (max-width: 420px){
  .clinic-name{font-size: 13px !important}
  .salon-card h3{font-size: 16px !important}
}

/* partner-list アンカー文字 折返し */
.partner-list a, .partner-list span{
  display: inline-block;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}

/* (2) フッター SNS アイコン 5種 */
.foot-sns{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  padding: 32px 24px 28px;
  border-top: 1px solid var(--gold-line);
  margin-top: 24px;
  flex-wrap: wrap;
  grid-column: 1 / -1;
}
.foot-sns .sns-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--gold-line);
  border-radius: 50%;
  color: var(--gold-bright);
  text-decoration: none;
  transition: all .35s ease;
  background: rgba(229, 199, 123, 0.04);
}
.foot-sns .sns-icon svg{
  width: 22px;
  height: 22px;
  display: block;
}
.foot-sns .sns-icon:hover{
  border-color: var(--gold-bright);
  background: linear-gradient(135deg, rgba(229,199,123,.18), rgba(139,111,58,.08));
  color: var(--ivory);
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(229,199,123,.25);
}
[data-theme="lemon"] .foot-sns .sns-icon{
  color: var(--lemon-bright, #FFEC4B);
  border-color: rgba(255,212,0,.25);
  background: rgba(255,236,75,.05);
}
[data-theme="lemon"] .foot-sns .sns-icon:hover{
  border-color: #FFEC4B;
  background: linear-gradient(135deg, rgba(255,236,75,.2), rgba(255,212,0,.1));
  box-shadow: 0 4px 18px rgba(255,236,75,.3);
}
@media (max-width: 780px){
  .foot-sns{gap: 18px; padding: 24px 16px 20px}
  .foot-sns .sns-icon{width: 38px; height: 38px}
  .foot-sns .sns-icon svg{width: 18px; height: 18px}
}
@media (max-width: 420px){
  .foot-sns{gap: 12px; padding: 20px 12px 16px}
  .foot-sns .sns-icon{width: 34px; height: 34px}
  .foot-sns .sns-icon svg{width: 16px; height: 16px}
}

/* (3) footer 全体余白＆SNS配置の親グリッド調整 */
footer{
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: 30px 40px !important;
  align-items: start !important;
  padding-bottom: 0 !important;
}
.foot-sns + .foot-bottom,
.foot-bottom{
  grid-column: 1 / -1;
}
@media (max-width: 780px){
  footer{
    grid-template-columns: 1fr !important;
    text-align: center;
    padding: 36px 20px 0 !important;
    gap: 20px !important;
  }
  .foot-meta{text-align: center}
}

/* ============================================================
   v11.0 緊急修正パッチ — 2026-05-03 19:10
   1. ヒーロー eyebrow 中央バランス調整
   2. DETAIL（div-cta）モバイル縦幅圧縮
   3. プレシャスワーク data-i18n 化済（HTML側）
   ============================================================ */

/* (1) eyebrow バランス調整 — 改行時も中央 */
.eyebrow{
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  letter-spacing: .4em !important;
}
@media (max-width: 780px){
  .eyebrow{
    justify-content: center !important;
    text-align: center !important;
    font-size: 10px !important;
    letter-spacing: .25em !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    white-space: normal !important;
    line-height: 1.6 !important;
  }
  .eyebrow::before{
    width: 24px !important;
    flex-shrink: 0;
  }
}
@media (max-width: 420px){
  .eyebrow{
    font-size: 9px !important;
    letter-spacing: .18em !important;
    gap: 8px !important;
  }
  .eyebrow::before{width: 18px !important}
}

/* (2) DETAIL（div-cta）モバイル縦幅 大幅圧縮 */
@media (max-width: 780px){
  .div-cta{
    padding: 6px 14px !important;
    font-size: 10px !important;
    letter-spacing: .14em !important;
    gap: 0 !important;
    line-height: 1.4 !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 10px !important;
  }
  .div-cta::before{
    content: "DETAIL " !important;
    display: inline !important;
    font-size: 9px !important;
    letter-spacing: .2em !important;
    margin-bottom: 0 !important;
    margin-right: 8px !important;
    padding-right: 8px !important;
    border-right: 1px solid var(--gold-line);
  }
  .div-cta::after{
    content: " →" !important;
    font-size: 12px !important;
    margin-left: 6px !important;
  }
}
@media (max-width: 420px){
  .div-cta{
    padding: 5px 10px !important;
    font-size: 9px !important;
    letter-spacing: .12em !important;
  }
  .div-cta::before{
    font-size: 8px !important;
    margin-right: 6px !important;
    padding-right: 6px !important;
  }
}

/* ============================================================
   v12.0 緊急修正パッチ — 2026-05-03 19:30
   1. eyebrow 完全中央配置（PC + モバイル両側対称線）
   2. アーチSVG 全箇所 輝き強化（drop-shadow + brightness）
   3. CEOアーチ SHIGEKIロゴ font-size +2pt（HTML側完了）
   ============================================================ */

/* (1) eyebrow 真の中央配置 — 両側対称線 */
.eyebrow{
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
}
.eyebrow::before{
  content: "" !important;
  width: 42px !important;
  height: 1px !important;
  background: var(--gold) !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.eyebrow::after{
  content: "" !important;
  width: 42px !important;
  height: 1px !important;
  background: var(--gold) !important;
  flex-shrink: 0 !important;
  display: block !important;
}
@media (max-width: 780px){
  .eyebrow{
    font-size: 10px !important;
    letter-spacing: .25em !important;
    gap: 10px !important;
  }
  .eyebrow::before, .eyebrow::after{width: 24px !important}
}
@media (max-width: 420px){
  .eyebrow{
    font-size: 9px !important;
    letter-spacing: .18em !important;
    gap: 8px !important;
  }
  .eyebrow::before, .eyebrow::after{width: 18px !important}
}

/* (2) 全アーチ 輝き強化 — drop-shadow + brightness boost */
.arch-svg, .ceo-arch-svg, .contact-arch svg{
  filter:
    drop-shadow(0 0 6px rgba(229, 199, 123, 0.55))
    drop-shadow(0 0 16px rgba(255, 215, 100, 0.35))
    drop-shadow(0 0 32px rgba(229, 199, 123, 0.18))
    brightness(1.15)
    saturate(1.1) !important;
}
[data-theme="lemon"] .arch-svg,
[data-theme="lemon"] .ceo-arch-svg,
[data-theme="lemon"] .contact-arch svg{
  filter:
    drop-shadow(0 0 8px rgba(255, 236, 75, 0.6))
    drop-shadow(0 0 18px rgba(255, 212, 0, 0.4))
    drop-shadow(0 0 36px rgba(255, 220, 50, 0.2))
    brightness(1.2)
    saturate(1.15) !important;
}

/* (3) ceo-mark のアーチSVG 中央配置維持 + パディング調整 */
.ceo-mark .ceo-icon svg{
  width: 190px !important;
  height: 190px !important;
}
@media (max-width: 780px){
  .ceo-mark .ceo-icon svg{width: 170px !important; height: 170px !important}
}

/* (4) hero-mark アーチを更に明るく */
.hero-mark{opacity: 0.55 !important}
@media (max-width: 1100px){
  .hero-mark{opacity: 0.45 !important}
}

/* ============================================================
   v13.0 緊急修正パッチ — 2026-05-03 19:50
   1. eyebrow 真の中央配置 強制（モバイル/PC両対応）
   2. hero body text「方」見切れ解消（letter-spacing縮小）
   3. i18n中国語/韓国語の社名「SHIGEKI INC.」統一済（i18n.js側）
   ============================================================ */

/* (1) eyebrow 完全中央 — flexbox強制リセット */
.eyebrow,
.hero-left .eyebrow,
section .eyebrow,
header .eyebrow{
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 30px !important;
  padding: 0 !important;
}

/* eyebrow line 両側対称 */
.eyebrow::before, .eyebrow::after{
  content: "" !important;
  height: 1px !important;
  background: var(--gold) !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

@media (max-width: 1100px){
  .eyebrow{font-size: 11px !important; letter-spacing: .35em !important; gap: 14px !important}
  .eyebrow::before, .eyebrow::after{width: 32px !important}
}
@media (max-width: 780px){
  .eyebrow{
    font-size: 10px !important;
    letter-spacing: .22em !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
  .eyebrow::before, .eyebrow::after{width: 18px !important}
}
@media (max-width: 420px){
  .eyebrow{
    font-size: 8.5px !important;
    letter-spacing: .14em !important;
    gap: 6px !important;
  }
  .eyebrow::before, .eyebrow::after{width: 12px !important}
}

/* (2) hero body 文字「方」見切れ解消 — モバイル letter-spacing縮小 */
.hero-body, .hero p, .hero-left p,
header.hero p{
  word-break: normal !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}
@media (max-width: 780px){
  .hero-body, .hero p, .hero-left p{
    letter-spacing: .02em !important;
    line-height: 1.85 !important;
    font-size: 13px !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    padding-right: 8px !important;
  }
  h1.hero-title{
    letter-spacing: .02em !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
  .hero-sub{letter-spacing: .08em !important; padding-right: 8px !important}
}
@media (max-width: 420px){
  .hero-body, .hero p, .hero-left p{
    letter-spacing: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.8 !important;
  }
}

/* ============================================================
   v15.0 緊急修正パッチ — 2026-05-03 20:10
   🚨 絶対ルール：人名・会社名 改行禁止（重大ルール）
   SEIJI命「代表取締役の名前を改行することは重大な罪」
   ============================================================ */

/* (1) .nowrap クラス — 全コンテキストで折返し絶対禁止 */
.nowrap{
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  display: inline-block;
}

/* (2) CEO 名前ブロック 改行絶対禁止（強制） */
.ceo-name-block, .ceo-name-block .en, .ceo-name-block .ja,
.ceo-name-block .en *, .ceo-name-block .ja *{
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
.ceo-name-block .en{
  font-size: clamp(11px, 1.6vw, 15px) !important;
  letter-spacing: .42em !important;
}
.ceo-name-block .ja{
  font-size: clamp(10px, 1.3vw, 13px) !important;
  letter-spacing: .28em !important;
  margin-top: 8px !important;
}
@media (max-width: 780px){
  .ceo-name-block .en{font-size: 13px !important; letter-spacing: .35em !important}
  .ceo-name-block .ja{font-size: 11px !important; letter-spacing: .2em !important}
}
@media (max-width: 420px){
  .ceo-name-block .en{font-size: 11px !important; letter-spacing: .28em !important}
  .ceo-name-block .ja{font-size: 10px !important; letter-spacing: .14em !important}
}

/* (3) ceo-sign 内の役職+会社名 改行禁止 */
.ceo-sign .pos, .ceo-sign .nm,
.ceo-sign .pos *, .ceo-sign .nm *{
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* (4) 人名・会社名を含む全要素を保護 */
.foot-rep, .foot-brand,
.foot-rep *, .foot-brand *{
  white-space: nowrap !important;
  word-break: keep-all !important;
}

/* ============================================================
   v16.0 修正パッチ — 2026-05-03 20:30
   breadcrumb 現在ページ名の色を金色に統一（separator/と区別）
   ============================================================ */
.page-hero .breadcrumb span[data-i18n]{
  color: var(--gold-bright) !important;
  margin: 0 !important;
  font-weight: 500 !important;
  letter-spacing: .35em !important;
}
.page-hero .breadcrumb a{
  color: var(--gold-bright) !important;
}

/* ============================================================
   v17.0 修正パッチ — 2026-05-03 20:50
   biz-gallery-item bg-cap 番号と事業名を2行表示で統一
   （04の表記形式を全タイルに適用）
   ============================================================ */
.biz-gallery-item .bg-cap{
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  line-height: 1.4 !important;
  align-items: flex-start !important;
}
.biz-gallery-item .bg-cap-num{
  display: block !important;
  font-size: 9px !important;
  letter-spacing: .42em !important;
  color: var(--gold) !important;
  opacity: 0.85;
}
.biz-gallery-item .bg-cap-name{
  display: block !important;
  font-size: 11px !important;
  letter-spacing: .32em !important;
  color: var(--gold-bright) !important;
  font-weight: 500;
}
@media (max-width: 780px){
  .biz-gallery-item .bg-cap{
    bottom: 14px !important;
    left: 14px !important;
    right: 14px !important;
    gap: 3px !important;
  }
  .biz-gallery-item .bg-cap-num{font-size: 8px !important; letter-spacing: .35em !important}
  .biz-gallery-item .bg-cap-name{font-size: 10px !important; letter-spacing: .25em !important}
}
@media (max-width: 420px){
  .biz-gallery-item .bg-cap-num{font-size: 7.5px !important; letter-spacing: .3em !important}
  .biz-gallery-item .bg-cap-name{font-size: 9.5px !important; letter-spacing: .22em !important}
}

/* ============================================================
   v19.0 / luxe v2.0 修正パッチ — 2026-05-04 13:00
   1. モバイル hero-left テキスト群 2段下げ
      （アーチとSHIGEKI文字との重なり解消）
   ============================================================ */
@media (max-width: 1100px){
  .hero-left{
    margin-top: 90px !important;
    padding-top: 20px !important;
  }
  h1.hero-title{
    margin-top: 30px !important;
  }
  .hero-sub, .hero-body{
    margin-top: 18px !important;
  }
}
@media (max-width: 780px){
  .hero-left{
    margin-top: 80px !important;
    padding-top: 30px !important;
  }
}
@media (max-width: 420px){
  .hero-left{
    margin-top: 70px !important;
    padding-top: 24px !important;
  }
}

/* ============================================================
   v20.0 修正パッチ — 2026-05-04 16:00
   Shin-Yokohama 等 長いクリニック名対応
   ============================================================ */
.clinic-name{
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}
@media (max-width: 780px){
  .clinic-name{font-size: 13px !important; line-height: 1.4 !important}
  .salon-card h3{font-size: 17px !important}
}
@media (max-width: 420px){
  .clinic-name{
    font-size: 12.5px !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }
  .salon-card h3{font-size: 15px !important}
}
@media (max-width: 380px){
  .clinic-name{font-size: 12px !important}
}

/* ============================================================
   v18.0 / luxe v18.0 — 致命的修正：人名「樹」の段ズレ解消
   2026-05-04 19:50
   日本語フォント間の baseline 統一、kerning 無効化
   ============================================================ */

/* 全 CEO 関連人名要素：完全 baseline 統一 */
.ceo-name-block .ja,
.ceo-sign .nm,
.ceo-name-block .en,
.ceo-sign .pos,
.ceo-name-block .ja *,
.ceo-sign .nm *,
.ceo-name-block .en *,
.foot-rep, .foot-rep *{
  vertical-align: baseline !important;
  line-height: 1.4 !important;
  font-feature-settings: "palt" off, "vpal" off, "kern" off, "halt" off !important;
  text-rendering: optimizeLegibility !important;
  font-kerning: none !important;
  /* 全文字のbaselineを一致させる */
  font-variant-east-asian: normal !important;
  /* 縦位置の基準を統一 */
  display: inline-block;
}

/* 人名 nowrap span 内も同様 */
.nowrap, .nowrap *{
  vertical-align: baseline !important;
  line-height: 1.4 !important;
  font-feature-settings: normal !important;
  font-kerning: none !important;
}

/* ceo-name-block 全体の親も統一 */
.ceo-name-block{
  font-feature-settings: normal !important;
  line-height: 1.4 !important;
}
.ceo-name-block .ja{
  margin-top: 8px !important;
  display: block !important;
}

/* ============================================================
   中国語版 baseline 統一（神谷 荣树 の樹/树ズレ修正）
   2026-05-04 19:55
   ============================================================ */
:lang(zh) .ceo-name-block .ja,
:lang(zh) .ceo-sign .nm,
:lang(zh) .nowrap,
:lang(zh) .ceo-name-block .ja *,
:lang(zh) .ceo-sign .nm *,
:lang(zh) .nowrap *,
[lang="zh"] .ceo-name-block .ja,
[lang="zh"] .ceo-sign .nm,
[lang="zh"] .nowrap,
[lang="zh"] .ceo-name-block .ja *,
[lang="zh"] .ceo-sign .nm *,
[lang="zh"] .nowrap *,
html[lang="zh"] .ceo-name-block .ja,
html[lang="zh"] .ceo-sign .nm,
html[lang="zh"] .nowrap{
  font-family: "Noto Serif SC", "Source Han Serif SC", "Noto Serif JP", serif !important;
  vertical-align: baseline !important;
  line-height: 1.4 !important;
  font-feature-settings: normal !important;
  font-kerning: none !important;
  text-rendering: optimizeLegibility !important;
}
