/* site-v2.css — 2026-09-15 全ページ共通デザイン（ブランドガイド Ver.1.0 オレンジ版）
   正本: references/brand-guide.md / site-design.md 末尾の追記
   読み込み順: _shared.css → site-v2.css →（ページ専用CSS）。既存トークン名も新パレットへ写像する。 */

/* ---------- トークン（旧名も上書き） ---------- */
:root{
  --main:#F77F00;--main-soft:#FFB680;--main-tint:#FFF4E6;--main-deep:#D96A00;--main-text:#BF5A00;
  --sky:#00A0DE;--sky-soft:#C7E4F5;--sky-tint:#F7FAFC;
  --wood:#D7B899;--green:#79B34A;--green-tint:#EEF5E4;
  --ink:#222222;--body:#3A3A3A;--muted:#6B6B6B;--line:#E9E4DC;
  --white:#FFFFFF;--paper:#FFFDFA;--page:#FFFDFA;--band:#FFF4E6;
  --btn-bg:#F77F00;--btn-text:#FFFFFF;
  --radius:20px;--radius-s:12px;
  --font-jp:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;
  --font-en:'Montserrat','Noto Sans JP',sans-serif;
  /* 旧 _shared.css / ページ専用CSSが参照する名前 */
  --accent:#F77F00;--cyan:#F77F00;--coral:#F77F00;--shu:#F77F00;
  --blue:#BF5A00;--navy:#BF5A00;--dark:#0081B8;
  --sea:#C7E4F5;--sea-ink:#222222;--navy-soft:#FFF4E6;
  --mint:#FFF4E6;--lime:#FFE2C4;
  --ai:#222222;--ai2:#222222;--yama:#D7B899;--yama2:#FFE2C4;--kami:#FFFDFA;--kami2:#FFF4E6;
  --soft-cream:#FFF9F1;--soft-sage:#F7FAFC;--soft-oat:#FFF4E6;--soft-mist:#F7FAFC;--soft-peach:#FFF4E6;--soft-leaf:#F1F5EC;--soft-blush:#FFF4E6;
}

/* ---------- ベース ---------- */
html{scroll-padding-top:84px}
body{font-family:var(--font-jp);color:var(--body);background:var(--page)}
h1,h2,h3,h4{font-family:var(--font-jp);color:var(--ink);font-weight:700;word-break:auto-phrase;text-wrap:pretty}
.c-eyebrow,.sec-eyebrow,.page-hero__label,.deep-card__no,.entrance-number,.post-hero__date,.post-hero .crumb,.mega-menu__number,.c-btn::after,.deep-fact strong,.site-notice{font-family:var(--font-en)}
.post-hero h1{font-family:var(--font-jp);font-weight:700;letter-spacing:.01em}
.site-notice{display:none}
:focus-visible{outline:3px solid var(--sky);outline-offset:4px}
.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none}.skip-link:focus{top:12px}

/* ---------- 共通ボタン（.sv2-btn＝新、.c-btn＝既存ページ） ---------- */
.sv2-btn,.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 26px;border-radius:999px;font-weight:700;font-size:16px;line-height:1.4;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .18s,background .18s,color .18s,border-color .18s}
.sv2-btn:hover,.c-btn:hover{transform:translateY(-2px)}
.sv2-btn--primary,.c-btn:not(.c-btn--ghost){background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg)}
.sv2-btn--primary:hover,.c-btn:not(.c-btn--ghost):hover{background:var(--main-deep);border-color:var(--main-deep);color:#fff}
.sv2-btn--ghost,.c-btn--ghost{background:var(--white);color:var(--ink);border-color:var(--line)}
.sv2-btn--ghost:hover,.c-btn--ghost:hover{background:var(--white);color:var(--ink);border-color:var(--main)}
.sv2-btn--white{background:#fff;color:var(--ink);border-color:#fff}
.sv2-btn--white:hover{background:var(--main-tint);border-color:var(--main-tint)}
.sv2-btn .arrow,.c-btn::after{font-family:var(--font-en)}
.sv2-textlink{font-weight:700;color:var(--ink);border-bottom:2px solid var(--main);padding-bottom:2px;text-decoration:none}

/* ---------- ヘッダー ---------- */
.sv2-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.sv2-header__inner{width:min(1160px,calc(100% - 40px));margin-inline:auto;min-height:72px;display:flex;align-items:center;gap:20px}
.sv2-header__logo{display:block;width:190px;flex:none}
.sv2-header__logo img{display:block;width:100%;height:auto}
.sv2-header__nav{display:none;margin-left:auto;gap:24px;font-size:14px;font-weight:700}
.sv2-header__nav a{padding:6px 0;border-bottom:2px solid transparent;color:var(--ink);text-decoration:none}
.sv2-header__nav a:hover,.sv2-header__nav a[aria-current="page"]{border-color:var(--main)}
.sv2-header__cta{display:none}
.sv2-header__menu{margin-left:auto;border:0;background:none;font:700 13px/1 var(--font-jp);color:var(--ink);display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 0}
.sv2-header__menu .bars{width:22px;height:14px;position:relative;display:block}
.sv2-header__menu .bars::before,.sv2-header__menu .bars::after{content:'';position:absolute;left:0;right:0;height:2px;background:var(--ink);transition:transform .2s}
.sv2-header__menu .bars::before{top:0}.sv2-header__menu .bars::after{bottom:0}
body.menu-open .sv2-header__menu .bars::before{transform:translateY(6px) rotate(45deg)}
body.menu-open .sv2-header__menu .bars::after{transform:translateY(-6px) rotate(-45deg)}
.sv2-menu{display:none;position:fixed;inset:72px 0 0;background:var(--page);z-index:40;overflow:auto;padding:24px 20px 40px}
body.menu-open .sv2-menu{display:block}
.sv2-menu h3{font:700 12px/1 var(--font-en);letter-spacing:.16em;color:var(--main-text);margin:18px 0 8px}
.sv2-menu ul{list-style:none;margin:0;padding:0}
.sv2-menu li a{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:700;color:var(--ink);text-decoration:none}
.sv2-menu li a small{font-weight:400;color:var(--muted);font-size:12px}
.sv2-menu .num{font:700 12px/1 var(--font-en);color:var(--main-text);width:24px}

/* ホバーで開く「7つの入口」 */
.sv2-nav__item{position:relative;display:flex;align-items:center;align-self:stretch}
.sv2-nav__item>a::after{content:'';display:inline-block;width:6px;height:6px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.6}
.sv2-mega{position:absolute;left:-20px;top:100%;width:560px;padding-top:12px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.sv2-nav__item:hover .sv2-mega,.sv2-nav__item:focus-within .sv2-mega{opacity:1;visibility:visible;transform:none}
.sv2-mega::before{content:'';position:absolute;left:36px;top:4px;width:14px;height:14px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.sv2-mega__inner,.sv2-mega>*{position:relative}
.sv2-mega__lead{margin:0;padding:16px 20px 10px;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;font-size:12.5px;color:var(--muted)}
.sv2-mega__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 12px 14px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;box-shadow:0 24px 50px -30px rgba(0,0,0,.35)}
.sv2-mega__item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;text-decoration:none;color:var(--ink);border:2px solid transparent}
.sv2-mega__item:hover{background:var(--main-tint)}
.sv2-mega__item img{width:56px;height:42px;object-fit:cover;border-radius:8px;flex:none}
.sv2-mega__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.sv2-footer__grid .num{font:700 11px/1 var(--font-en);color:var(--main-text);margin-right:8px}
.sv2-mega__meta{font:700 10px/1 var(--font-en);letter-spacing:.14em;color:var(--main-text)}
.sv2-mega__meta b{color:var(--ink);margin-right:6px}
.sv2-mega__ttl{font-size:13px;font-weight:700;line-height:1.35}
.sv2-mega__item:nth-child(7){grid-column:1/-1}

/* ---------- キャラクター ---------- */
.chara{display:block;height:auto;pointer-events:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.14))}

/* ---------- 水色の最終CTA帯（全ページ共通の締め） ---------- */
.sv2-final{background:var(--sky);color:#fff;padding:80px 0 96px;text-align:center;position:relative;overflow:hidden}
.sv2-final__inner{width:min(1160px,calc(100% - 40px));margin-inline:auto;position:relative;z-index:1}
.sv2-final .sv2-eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 12px/1 var(--font-en);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.sv2-final .sv2-eyebrow::before{content:'';width:22px;height:2px;background:#fff}
.sv2-final h2{color:#fff;font-size:clamp(28px,4vw,44px);margin:0 0 12px;line-height:1.3;text-shadow:0 2px 12px rgba(0,0,0,.08)}
.sv2-final p{color:rgba(255,255,255,.92);margin:0}
.sv2-final__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}
.sv2-final__ridge{position:absolute;left:0;right:0;bottom:-2px;height:120px;pointer-events:none}
.sv2-final__ridge svg{width:100%;height:100%;display:block}
.sv2-final .chara--final{position:absolute;right:5%;bottom:0;height:190px;display:none;filter:drop-shadow(0 10px 16px rgba(0,0,0,.18))}
@media (min-width:768px){.sv2-final .chara--final{display:block}}

/* ---------- フッター ---------- */
.sv2-footer{padding:44px 0 30px;background:var(--white);border-top:1px solid var(--line);font-size:13.5px;color:var(--body)}
.sv2-footer__inner{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.sv2-footer__grid{display:grid;gap:26px}
.sv2-footer__brand img{width:180px;height:auto;display:block}
.sv2-footer__brand p{margin:12px 0 0;color:var(--muted);line-height:1.8}
.sv2-footer h4{font:700 11px/1 var(--font-en);letter-spacing:.16em;text-transform:uppercase;color:var(--main-text);margin:0 0 10px}
.sv2-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sv2-footer ul a{color:var(--body);text-decoration:none}
.sv2-footer ul a:hover{color:var(--main-text)}
.sv2-footer__copy{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.sv2-footer__copy .en{font-family:var(--font-en);letter-spacing:.12em;text-transform:uppercase}

/* ---------- 既存ページ部品の上書き（濃色の帯・明朝・角ばりを新デザインへ） ---------- */
.c-eyebrow{color:var(--main-text)}
.c-eyebrow::before{background:var(--main)}
.c-title{font-weight:700;letter-spacing:-.01em}
.c-link{color:var(--main-text)}
.page-hero{background:var(--band);border-bottom:0;padding:72px 0 60px}
.page-hero h1{font-weight:700}
.page-hero__label{color:var(--main-text)}
.page-hero .crumb,.page-hero .crumb a{color:var(--muted)}
.deep-band{background:var(--sky-soft);color:var(--body)}
.deep-band h2,.deep-band h3,.deep-band blockquote,.deep-band strong{color:var(--ink)}
.deep-band p,.deep-band .deep-quote p,.deep-band .deep-flow p{color:var(--body)}
.deep-band .c-eyebrow{color:#0081B8}.deep-band .c-eyebrow::before{background:#0081B8}
.deep-band .deep-flow>div{border-top-color:var(--sky);border-right-color:rgba(0,0,0,.08)}
.deep-band .deep-flow>div::before{color:#0081B8}
.deep-card,.deep-related a,.purpose-links a,.first-wall-guide,.contact-actions a,.c-faq__item,.deep-truth,.note-box{border-radius:var(--radius-s)}
.deep-scene__media img,.post-figure img,.post-body .post-img img{border-radius:var(--radius-s)}
.deep-truth{border-left-color:var(--main);background:var(--main-tint)}
.c-faq__item{background:#fff!important;border-color:var(--line)!important}
.c-faq__q{font-family:var(--font-jp)}
.c-title::after{background:radial-gradient(circle,var(--main) 0 3px,transparent 3.5px) 0 50%/20px 9px repeat-x}
.final-cta{background:var(--band);color:var(--body)}
.final-cta h2{color:var(--ink)}
.final-cta p{color:var(--body)}
.final-cta .c-eyebrow{color:var(--main-text)}
.final-cta .c-btn:not(.c-btn--ghost){background:var(--btn-bg);border-color:var(--btn-bg);color:#fff}
.final-cta .c-btn--ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.final-cta .c-btn:not(.c-btn--ghost):hover{background:var(--main-deep);border-color:var(--main-deep);color:#fff}
.final-cta .c-btn--ghost:hover{border-color:var(--main);background:#fff;color:var(--ink)}
.post-hero{background:var(--band)}
.post-hero h1{color:var(--ink)}
.post-hero__date,.post-hero .crumb,.post-hero .crumb a{color:var(--muted)}
.post-hero__bg::after,.page-hero__bg::after{background:linear-gradient(105deg,rgba(255,244,230,.94),rgba(255,244,230,.86))}
.post-body h2{border-color:var(--main)}
.post-body h3{border-color:var(--main)}
.post-body mark{background:var(--main-soft)}
.deep-grid .deep-card::after,.deep-grid .deep-card:nth-child(2n)::after{background:rgba(247,127,0,.10)}
.deep-grid .deep-card,.deep-related a,.purpose-links a,.contact-actions a{border-color:var(--line)}
.entrance-arrow,.c-faq__q::after{color:var(--main-text)}

/* ---------- レスポンシブ ---------- */
@media (min-width:768px){
  .sv2-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
}
@media (min-width:1024px){
  .sv2-header__nav{display:flex}
  .sv2-header__cta{display:inline-flex;min-height:44px;padding:8px 20px;font-size:14px}
  .sv2-header__menu{display:none}
}
@media (prefers-reduced-motion:reduce){.sv2-btn,.c-btn{transition:none}}

/* ---------- 入口ページ（entrance-editorial / balance / focus / shape）の濃色帯を新パレットへ ---------- */
body.entrance-page,body.women-page,body.shape-page.entrance-page,body.from40-page,body.connect-page,body.family-page,body.focus-page{
  --page-accent:#F77F00;--page-deep:#C7E4F5;--page-soft:#F7FAFC;--page-warm:#FFF4E6;
}
.entrance-page .deep-band,.entrance-page .deep-band h2,.entrance-page .deep-band h3,.entrance-page .deep-band p,.entrance-page .deep-band strong,.entrance-page .deep-band blockquote,.entrance-page .deep-band li{color:var(--ink)}
.entrance-page .deep-band p,.entrance-page .deep-band li{color:var(--body)}
.entrance-page .deep-band .c-eyebrow{color:#0081B8}
.entrance-page .final-cta{background:var(--band);color:var(--body)}
.entrance-page .final-cta h2{color:var(--ink)}.entrance-page .final-cta p{color:var(--body)}
.entrance-page .final-cta .c-btn{border-color:var(--btn-bg);background:var(--btn-bg);color:#fff}
.entrance-page .final-cta .c-btn--ghost{border-color:var(--line);background:#fff;color:var(--ink)}
.women-page .women-way:first-child{background:var(--sky-soft);color:var(--body)}
.women-page .women-way:first-child h3{color:var(--ink)}
.women-page .women-ways{background:rgba(0,160,222,.18)}
.focus-page .focus-quote,.focus-page .focus-final{background:var(--sky-soft)!important}
.focus-page .focus-quote *,.focus-page .focus-final *{color:var(--ink)!important}
.focus-page .focus-final .c-btn,.focus-page .focus-final .c-btn *{background:var(--btn-bg);border-color:var(--btn-bg);color:#fff!important}
.from40-page .from40-page-links>span,.connect-page .connect-page-links>span,.balance-page .balance-page-links>span{color:var(--muted)}
.from40-page .from40-page-links a,.connect-page .connect-page-links a,.women-page .women-page-links a{color:var(--main-text)}
/* balance.css の直書きグラデーション */
body.balance-page{--balance-ink:#0081B8;--balance-sea:#C7E4F5;--balance-paper:#FFFDFA;--balance-orange:#F77F00}
.balance-page .balance-duty{background:linear-gradient(135deg,#C7E4F5 0,#E3F1FA 68%,#F7FAFC 100%);color:var(--body)}
.balance-page .balance-duty h2,.balance-page .balance-duty h3,.balance-page .balance-duty strong{color:var(--ink)}
.balance-page .balance-duty p{color:var(--body)}
.balance-page .balance-duty .c-eyebrow{color:#0081B8}
.balance-page section:has(img[src*='footwork']) + .deep-band{background:linear-gradient(125deg,#C7E4F5,#F7FAFC)}
.balance-page section:has(.deep-grid):not(:has(.deep-truth)) + .deep-band p{color:var(--body)}
.balance-page .balance-duty .deep-truth p{color:var(--body)}
/* ブログの来店案内ボックス（article-visit.css） */
.post-visit h2{color:var(--ink)}
.post-visit__label{color:var(--main-text)}
.post-visit__links a{border-color:var(--line);color:var(--ink)}
.post-visit__links a:hover,.post-visit__links a:focus-visible{border-color:var(--main);background:var(--main);color:#fff}
.balance-page .balance-duty .c-title,.balance-page .balance-duty .c-eyebrow{color:var(--ink)}
.balance-page .balance-duty .c-eyebrow{color:#0081B8}
.balance-page section:has(img[src*='first-guide']) .deep-scene__media::before{background:var(--sky);color:#fff}
.first-wall-guide__intro{background:var(--sky);color:#fff}
.first-wall-guide__intro p{color:rgba(255,255,255,.92)}
.first-wall-guide__intro strong{color:#fff}
