/* Alternate palette. The original blue design remains unchanged. */
:root{--blue:#9e3dff;--cyan:#dec3ff;--navy:#6222ac;--ink:#29153e;--muted:#6a597a;--line:#e5dbea;--wash:#faf6ff}
.header,footer,.mobile-menu,.mobile-cta{background:#9e3dff}
.header-cta{color:#7925ca}.header-cta:hover{background:#f3e8ff;color:#6222ac}
.main-visual,.hero{color:#29153e}.main-visual h1{color:#29153e}.main-visual h1>span{color:#9e3dff}.mv-location>span{background:#9e3dff}.mv-message{color:#574363}.mv-primary,.button,.button.navy,.hero .white,.contact-button{background:#9e3dff;color:#fff}
.mv-primary:hover,.button:hover,.button.navy:hover,.contact-button:hover,.mobile-cta:hover{background:#8028d5;color:#fff}
.mv-consult,.mv-bottom>a,.text-link,.services .text-link,.blue,.service-en,.services .eyebrow,.services .blue,.services .service-en,.service-num,.approach>.wrap>.eyebrow,.approach-grid article>span,.contact .eyebrow{color:#8028d5}
.text-link,.services .text-link{border-color:#9e3dff45}.text-link:hover,.services .text-link:hover,.mv-consult:hover{color:#6222ac}
.blue:before,.services .blue:before{background:#9e3dff}.display-label,.services .display-label,.contact-display{color:#9e3dff}.display-label>span,.services .display-label>span{color:#d4b1f5}
.services,.about,.contact{background:#faf6ff}.case-image .round-arrow{background:#9e3dff}.steps li>span{background:#f1e5ff;color:#8028d5}
.mv-art{filter:hue-rotate(38deg) saturate(1.1)}.mv-next{border-color:#eadff3;background:#ffffffed}.mv-bottom,.mv-consult,.extra-links,.service-row,.service-row:last-child,.service-row:hover,.approach-grid,.approach-grid article,.steps li{border-color:#e5dbea}
.footer-top p,.footer-nav,.copyright{color:#f3e9ff}.desktop-nav a:hover,.footer-nav a:hover{color:#fff}.mv-next>p,.mv-location,.mv-bottom p{color:#70607d}
.coreforce-actions .button{background:white;color:#201b12}.coreforce-actions .button:hover{background:#eee3ce;color:#201b12}.coreforce-actions .text-link{color:white;border-color:#6d6047}
@media(max-width:560px){.mv-next{background:transparent}.mobile-cta{color:white}}

/* Alternate light / dark chapters, with graphics reserved for key moments. */
.services{position:relative;overflow:hidden;background:linear-gradient(140deg,#faf6ff,#f1e6ff);border-color:#e5dbea}.services:before{display:block;content:'';position:absolute;width:850px;height:850px;top:65px;right:-470px;border:100px solid #9e3dff07;border-radius:50%;pointer-events:none}.services>.wrap{position:relative}
.approach{position:relative;isolation:isolate;overflow:hidden;background:#291046;color:#fff;border:0}.approach:before{display:block;content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0,#8f39d96b,transparent 65%);pointer-events:none}.approach>.wrap{position:relative}.approach h2,.approach h3{color:#fff}.approach>.wrap>.eyebrow,.approach-grid article>span{color:#d4acff}.approach .section-intro,.approach-grid p{color:#e0d0ed}.approach-grid,.approach-grid article{border-color:#ffffff30}
.consultation{background:white}.about{background:#f1e7fa;position:relative}.about:before{display:block;content:'';position:absolute;left:0;right:0;top:0;bottom:auto;height:5px;background:linear-gradient(90deg,#9e3dff,#d6b5f5,transparent)}
.extras{background:white}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#481775;color:#fff;border:0}.contact:before{display:block;content:'';position:absolute;inset:0;background:url('/images/hero-abstract-glass.png') right center/cover no-repeat;filter:hue-rotate(38deg) saturate(.85);opacity:.22;z-index:-2;pointer-events:none}.contact:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#481775 0%,#481775db 45%,#48177533 100%);z-index:-1;pointer-events:none}.contact>.wrap{position:relative}.contact .contact-display{color:#d9b6ff}.contact h2,.contact .eyebrow{color:#fff}.contact p:not(.eyebrow):not(.contact-display){color:#eddef7}.contact .contact-button{background:#fff;color:#7925ca}.contact .contact-button:hover{background:#ecdcff;color:#6222ac}.contact .contact-button>span,.contact .contact-button strong{color:inherit}
footer{background:#210c36;border-top:1px solid #ffffff26}.footer-top p,.footer-nav,.copyright{color:#d7c4e8}.copyright{border-color:#ffffff26}
@media(max-width:560px){.services:before{width:600px;height:600px;right:-420px;border-width:70px}.contact:before{background-position:65% top;opacity:.15}.contact:after{background:linear-gradient(90deg,#481775ed,#48177599)}}

/* Illustrative meeting photo with a purple overlay for readable white text. */
.approach{background:#291046}.approach:before{background:linear-gradient(90deg,rgba(32,10,57,.89),rgba(44,15,72,.75)),linear-gradient(0deg,rgba(32,10,57,.48),transparent 70%),url('/images/approach-meeting.png') center 48% / cover no-repeat;opacity:1}.approach .section-intro,.approach-grid p{color:#f0e8f7}.approach-grid,.approach-grid article{border-color:#ffffff3d}
@media(max-width:560px){.approach:before{background:linear-gradient(0deg,rgba(32,10,57,.94),rgba(44,15,72,.78)),url('/images/approach-meeting.png') 65% center / cover no-repeat}}

.latest-column{display:grid;grid-template-columns:230px 1fr;gap:55px;padding-block:48px;border-bottom:1px solid #e5dbea}.latest-heading>p{font-size:11px;letter-spacing:.14em;font-weight:800;color:#8028d5}.latest-heading h2{font-size:23px;line-height:1.5;margin-top:8px}.latest-heading>a{display:inline-block;font-size:12px;font-weight:600;margin-top:18px;color:#8028d5}.latest-column ul{list-style:none;margin:0;padding:0}.latest-column li+li{border-top:1px solid #e5dbea}.latest-column li a{display:grid;grid-template-columns:95px 1fr 20px;gap:20px;align-items:baseline;padding:17px 0;line-height:1.8;font-size:14px}.latest-column li:first-child a{padding-top:0}.latest-column time{font-size:12px;color:#70607d;font-variant-numeric:tabular-nums}.latest-column b{color:#8028d5}.latest-column a:hover{color:#8028d5}.brand-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#fff;color:#9e3dff;pointer-events:none;animation:intro-out .3s ease .65s forwards}.brand-intro svg{width:clamp(160px,24vw,280px);height:auto;animation:intro-logo .7s ease both}@keyframes intro-logo{0%{opacity:0}35%,70%{opacity:1}100%{opacity:0}}@keyframes intro-out{to{opacity:0;visibility:hidden}}.scroll-entry{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.scroll-entry.is-pending{opacity:0;transform:translateY(24px)}.scroll-entry.is-visible{opacity:1;transform:none}
@media(max-width:800px){.latest-column{grid-template-columns:180px 1fr;gap:30px}.latest-column li a{grid-template-columns:1fr 20px;gap:4px 14px}.latest-column time{grid-column:1/-1}.latest-column li:first-child a{padding-top:0}}
@media(max-width:560px){.latest-column{grid-template-columns:1fr;gap:22px;padding-block:32px}.latest-heading{display:grid;grid-template-columns:1fr auto;align-items:end}.latest-heading>p{grid-column:1/-1}.latest-heading h2{font-size:21px}.latest-heading>a{margin-top:0;font-size:11px}.latest-column li a{font-size:13px;padding-block:15px}.scroll-entry.is-pending{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}.scroll-entry,.scroll-entry.is-pending{opacity:1;transform:none;transition:none}}

.latest-column li a{grid-template-columns:210px minmax(0,1fr) 20px}.journal-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.journal-category{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 12px;border:1px solid #dec4f4;border-radius:999px;background:#f6edff;color:#7925ca;font-size:11px;font-weight:600;line-height:1.6;white-space:nowrap}.latest-column li a:hover .journal-category{background:#ede0ff;border-color:#bc8ae9}
/* 2026-09-11 fix: at 23vw the WORKS label's ↗ ran 17px past a 390px screen */
@media(max-width:560px){.works .display-label{font-size:20vw}}
@media(max-width:800px){.latest-column li a{grid-template-columns:minmax(0,1fr) 20px}.journal-meta{grid-column:1/-1;gap:12px;margin-bottom:5px}.latest-column .journal-meta time{grid-column:auto}.journal-category{font-size:10px;min-height:24px;padding:3px 10px}}

/* 2026-09-14 マスター指示: 新着コラムに小さなサムネ（記事への導線はサムネつきが原則）。
   既存のレスポンシブ規則より後ろに置いて確実に上書きする */
.latest-column li a{grid-template-columns:120px 210px minmax(0,1fr) 20px;align-items:center}
.latest-column .journal-thumb{grid-column:1;grid-row:1;width:120px;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
@media(max-width:800px){
  .latest-column li a{grid-template-columns:96px minmax(0,1fr) 20px;column-gap:14px;row-gap:4px;align-items:start}
  .latest-column .journal-thumb{grid-column:1;grid-row:1/span 2;width:96px}
  .latest-column li a>.journal-meta{grid-column:2;grid-row:1;margin-bottom:0}
  .latest-column li a>span:not(.journal-meta){grid-column:2;grid-row:2}
  .latest-column li a>b{grid-column:3;grid-row:1/span 2;align-self:center}
}


/* 2026-09-15 マスター指示: ナビの回遊性。SPメニューとフッターをグループ構成に */
.mobile-menu{max-height:calc(100dvh - 80px);overflow-y:auto;padding:8px 28px 28px}
.mobile-menu .nav-group{padding:14px 0 8px;border-bottom:1px solid #ffffff33}
.mobile-menu .nav-group-label{margin:0 0 2px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#ead8ff}
.mobile-menu .nav-group a{display:block;padding:9px 0;border:0;font-weight:700;color:#fff}
.mobile-menu .nav-menu-cta{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:16px 18px;border:0;background:#fff;color:#7925ca;font-weight:700}
.footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 32px;margin:40px 0}
.footer-nav .nav-group{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-nav .nav-group-label{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#fff}
.footer-nav .nav-group a{font-size:12px;line-height:1.6}
@media(max-width:1100px) and (min-width:801px){.desktop-nav{gap:14px;font-size:12px}.header{gap:16px}}
@media(max-width:800px){.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.mobile-menu{max-height:calc(100dvh - 74px);padding-inline:20px}.footer-nav{gap:24px 20px;margin-block:30px}}

.desktop-nav a{white-space:nowrap}


/* 2026-09-19 マスター指示: PCのグロナビを廃止し、全幅でハンバーガーメニューに統一 */
.desktop-nav{display:none!important}
.header{gap:16px}
.header-cta{margin-left:auto}
.menu-toggle{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;width:40px;height:44px;border:0;background:none;color:#fff;cursor:pointer;padding:0}
.menu-toggle span{width:22px;height:2px;background:currentColor;transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.mobile-menu{top:88px;max-height:calc(100dvh - 88px)}
@media(min-width:801px){.mobile-menu{left:auto;right:0;width:min(460px,100%);border-left:1px solid #ffffff30;box-shadow:-20px 0 40px #29153e26}}
@media(max-width:800px){.mobile-menu{top:80px;max-height:calc(100dvh - 80px)}}
@media(max-width:560px){.menu-toggle{width:28px}.mobile-menu{top:74px;max-height:calc(100dvh - 74px)}}

/* 2026-10-07 マスター指示: 新着コラムを横スクロールのカード列に（サムネ大・8件・右へ流れる） */
.latest-column{display:block}
.latest-heading{display:flex;align-items:end;gap:10px 24px;flex-wrap:wrap;margin-bottom:26px}
.latest-heading>p{flex-basis:100%;margin:0}
.latest-heading h2{margin:0}
.latest-heading>a{margin:0 0 4px}
.journal-nav{margin-left:auto;display:flex;gap:8px}
.journal-nav button{width:44px;height:44px;border:1px solid #d9c9ea;background:#fff;color:#8028d5;font-size:18px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.journal-nav button:hover{background:#8028d5;color:#fff}
.journal-nav button:disabled{opacity:.35;cursor:default;background:#fff;color:#8028d5}
/* 左は本文の端にそろえ、右だけ画面の端まで流す */
.latest-column ul.journal-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#d9c9ea transparent;margin:0 calc(50% - 50vw) 0 0;padding:4px calc(50vw - 50%) 18px 0;list-style:none}
.latest-column ul.journal-track:focus-visible{outline:2px solid #8028d5;outline-offset:4px}
.latest-column ul.journal-track>li{flex:0 0 clamp(250px,26vw,340px);scroll-snap-align:start;border:0;padding:0}
.latest-column ul.journal-track>li a{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0;height:100%;grid-template-columns:none}
.latest-column ul.journal-track .journal-thumb{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;border:1px solid #eadff3;transition:transform .35s ease}
.latest-column ul.journal-track>li a:hover .journal-thumb{transform:translateY(-4px)}
.latest-column ul.journal-track>li a>.journal-meta{margin:0;justify-content:flex-start;grid-column:auto}
.latest-column ul.journal-track>li a>span:not(.journal-meta){font-size:15px;line-height:1.75;font-weight:600;color:#29153e;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.latest-column ul.journal-track>li a>b{display:none}
@media(max-width:560px){
  .latest-heading{margin-bottom:18px}
  .journal-nav{display:none}
  .latest-column ul.journal-track{gap:16px}
  .latest-column ul.journal-track>li{flex-basis:72vw}
}

/* 2026-10-08 マスター指示: スマホ下部の追従ボタンを外す（ヘッダーに同じ「無料相談」があるため）。フッターの逃がし余白も元に戻す */
.mobile-cta{display:none!important}
footer{padding-bottom:25px}

/* 2026-10-10 マスター指示: スマホのヘッダーにコアフォースのロゴ（→ /coreforce/）。無料相談ボタンの左 */
.header-cf{display:none}
@media(max-width:800px){
  .header-cf{display:flex;align-items:center;margin-left:auto;padding:8px 0}
  .header-cf img{height:15px;width:auto;display:block}
  .header-cf+.header-cta{margin-left:0}
}
@media(max-width:430px){
  .header{gap:10px}
  .header-cf img{height:13px}
  .header-cf+.header-cta{padding:10px 10px;gap:6px;font-size:12px;white-space:nowrap}
}
@media(max-width:380px){
  .header{gap:8px;padding-inline:14px}
  .header-cf img{height:11px}
  .header-cf+.header-cta{padding:9px 8px;gap:4px}
}
/* 2026-10-10 マスター指示: 新着コラムの上に、テキストだけのお知らせ1行（期間限定。価格改定の切り替え後に外す） */
.top-news{margin-block:26px 0;padding:0}
.top-news a{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #e5dbea;color:#29153e;font-size:14px;line-height:1.6;font-weight:600}
.top-news b{flex:none;font-size:10px;letter-spacing:.14em;font-weight:800;color:#fff;background:#8028d5;padding:4px 10px}
.top-news span{flex:1;min-width:0}
.top-news span span{display:inline-block}
.top-news i{flex:none;font-style:normal;color:#8028d5}
.top-news a:hover span{color:#8028d5}
.top-news+.latest-column{padding-top:34px}
@media(max-width:560px){.top-news{margin-top:18px}.top-news a{font-size:13px;gap:10px;align-items:flex-start}.top-news b{margin-top:2px}}
