/*
Theme Name: KOTANI Executive Journal
Theme URI: https://www.kotani.me/
Author: KOTANI / JCBO
Description: 3言語で運営する経営者ブログ専用テーマ。日本語 / English / 中文を明確に分離。
Version: 1.0.11
Text Domain: kotani-executive-journal
*/
:root{--ink:#17202a;--muted:#65717e;--line:#e5e9ee;--paper:#fff;--soft:#f6f7f9;--accent:#1f4d3f;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Noto Sans SC",Arial,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(calc(100% - 36px),var(--max));margin:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:30}.header-inner{min-height:78px;display:flex;align-items:center;gap:28px}.brand{font-weight:800;letter-spacing:.04em;font-size:20px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.18em;font-weight:700;line-height:1.2}.main-nav{display:flex;gap:19px;margin-left:auto;font-size:14px}.language-nav{display:flex;gap:6px}.language-nav a{padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px}.language-nav a.active{background:var(--ink);color:#fff}.hero{padding:88px 0 68px;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--accent);font-weight:800}.hero h1{font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:clamp(38px,6vw,72px);line-height:1.08;margin:14px 0 22px;max-width:900px}.hero p{font-size:18px;color:var(--muted);max-width:700px}.section{padding:58px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section-head h2{margin:0;font-size:28px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{border-top:1px solid var(--ink);padding-top:16px}.card .thumb{aspect-ratio:16/10;background:var(--soft);overflow:hidden;margin-bottom:16px}.card .thumb img{width:100%;height:100%;object-fit:cover}.meta{font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.card h2,.card h3{font-family:Georgia,"Times New Roman","Noto Serif JP",serif;line-height:1.45;margin:8px 0;font-size:22px}.card p{color:var(--muted);font-size:14px}.topics{display:flex;gap:10px;flex-wrap:wrap}.topics a{background:var(--soft);padding:8px 13px;border-radius:999px;font-size:13px}.article{max-width:820px;margin:0 auto;padding:70px 0}.article h1{font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:clamp(34px,5vw,56px);line-height:1.28;margin:14px 0 18px}.article .entry-content{font-size:17px;margin-top:40px}.entry-content h2{font-size:28px;margin-top:2.3em}.entry-content h3{font-size:22px;margin-top:2em}.entry-content p{margin:1.25em 0}.entry-content blockquote{border-left:3px solid var(--accent);margin:2em 0;padding:.2em 0 .2em 1.4em;color:#49545e}.translation-box{display:flex;gap:8px;margin:22px 0 0}.translation-box a{border:1px solid var(--line);padding:8px 13px;border-radius:999px;font-size:13px}.translation-box a.current{background:var(--ink);color:#fff}.pagination{display:flex;gap:8px;justify-content:center;margin-top:42px}.pagination .page-numbers{border:1px solid var(--line);padding:8px 12px}.site-footer{border-top:1px solid var(--line);padding:42px 0;color:var(--muted);font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.empty{padding:60px 0;color:var(--muted)}@media(max-width:850px){.main-nav{display:none}.header-inner{gap:10px}.language-nav{margin-left:auto}.grid{grid-template-columns:1fr}.hero{padding:58px 0 48px}.footer-inner{display:block}.article{padding:45px 0}.wrap{width:min(calc(100% - 28px),var(--max))}}


.kotani-eyecatch{position:relative;overflow:hidden;background:#141c24}.kotani-eyecatch img{display:block;width:100%;height:100%;object-fit:cover}.kotani-eyecatch-card{aspect-ratio:1200/630;margin-bottom:16px}.kotani-eyecatch-single{aspect-ratio:1200/630;border-radius:2px}.kotani-eyecatch-fallback{color:#f6f2e9;padding:7% 6%;display:flex;flex-direction:column;justify-content:center;border-left:8px solid #39705b}.kotani-eye-label{position:absolute;top:12%;left:6%;font-size:clamp(10px,1.5vw,18px);font-weight:700;letter-spacing:.12em;color:#b4bec5}.kotani-eye-title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Noto Sans SC",Arial,sans-serif;font-size:clamp(22px,4.3vw,56px);font-weight:800;line-height:1.28;letter-spacing:.01em;max-width:92%;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.kotani-eye-foot{position:absolute;left:6%;bottom:8%;font-size:clamp(9px,1.3vw,15px);letter-spacing:.08em;color:#b4bec5}.card .kotani-eyecatch-card{transition:transform .2s ease}.card:hover .kotani-eyecatch-card{transform:translateY(-2px)}

/* v1.0.3: unified title eyecatch for every old/new article */
.kotani-unified-title-card{background:linear-gradient(135deg,#141c24 0%,#1c2932 100%);min-height:0;position:relative}
.card .kotani-unified-title-card{aspect-ratio:1200/630;margin-bottom:16px;padding:7% 6%}
.article .kotani-unified-title-card{aspect-ratio:1200/630;margin:28px 0 34px;padding:7% 6%}
.kotani-unified-title-card:after{content:"";position:absolute;right:-5%;top:-12%;width:38%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.07);box-shadow:-80px 110px 0 rgba(57,112,91,.10)}
.kotani-unified-title-card .kotani-eye-title{position:relative;z-index:2}

/* v1.0.4 — smartphone-first reading and responsive polish */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.card .kotani-eye-title{font-size:clamp(21px,2.35vw,34px);line-height:1.22;max-width:90%;-webkit-line-clamp:4}
.card .kotani-eye-label{top:9%;font-size:11px;letter-spacing:.16em}
.card .kotani-eye-foot{bottom:7%;font-size:10px}
.card h2{font-size:21px;line-height:1.55}
.card p{line-height:1.85}
.entry-content{word-break:normal;overflow-wrap:anywhere}
.entry-content img,.entry-content iframe,.entry-content video{max-width:100%;height:auto}
.entry-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:850px){
  :root{--mobile-pad:18px}
  body{font-size:16px;line-height:1.85;overflow-x:hidden}
  .wrap{width:calc(100% - (var(--mobile-pad) * 2));max-width:none}
  .site-header{top:0}
  body.admin-bar .site-header{top:46px}
  .header-inner{min-height:64px;gap:10px}
  .brand{font-size:17px;line-height:1.15;white-space:nowrap}
  .brand small{font-size:8px;margin-top:4px}
  .language-nav{gap:4px;margin-left:auto}
  .language-nav a{min-width:38px;min-height:38px;padding:8px 9px;display:flex;align-items:center;justify-content:center;font-size:11px}
  .hero{padding:38px 0 34px}
  .hero .eyebrow{font-size:10px;line-height:1.55;letter-spacing:.12em}
  .hero h1{font-size:clamp(31px,9.2vw,44px);line-height:1.16;margin:12px 0 16px;letter-spacing:-.02em}
  .hero p{font-size:16px;line-height:1.85;margin:0}
  .section{padding:34px 0 44px}
  .section-head{margin-bottom:18px}
  .section-head h2{font-size:25px}
  .grid{grid-template-columns:1fr;gap:38px}
  .card{padding-top:12px}
  .card .kotani-unified-title-card{aspect-ratio:16/9;margin-bottom:14px;padding:7% 7%;border-left-width:5px}
  .card .kotani-eye-label{top:10%;left:7%;font-size:10px}
  .card .kotani-eye-title{font-size:clamp(24px,7.1vw,34px);line-height:1.22;max-width:88%;-webkit-line-clamp:4}
  .card .kotani-eye-foot{left:7%;bottom:7%;font-size:9px}
  .meta{font-size:11px;gap:8px}
  .card h2,.card h3{font-size:21px;line-height:1.5;margin:8px 0 7px}
  .card p{font-size:15px;line-height:1.8;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .pagination{flex-wrap:wrap;margin-top:34px}
  .pagination .page-numbers{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
  .article{width:100%;max-width:none;padding:34px 0 50px}
  .article>.eyebrow,.article>h1,.article>.meta,.article>.translation-box,.article>.entry-content,.article>div{max-width:760px;margin-left:auto;margin-right:auto}
  .article h1{font-size:clamp(30px,8.7vw,42px);line-height:1.28;letter-spacing:-.02em;margin-top:10px;margin-bottom:14px}
  .translation-box{gap:6px;margin-top:18px}
  .translation-box a{min-height:40px;min-width:48px;display:flex;align-items:center;justify-content:center;padding:8px 12px}
  .article .kotani-unified-title-card{aspect-ratio:16/9;margin:26px 0 30px;padding:7% 7%;border-left-width:5px}
  .article .kotani-eye-title{font-size:clamp(24px,7vw,36px);line-height:1.22;max-width:90%;-webkit-line-clamp:4}
  .article .kotani-eye-label{left:7%;top:10%;font-size:10px}
  .article .kotani-eye-foot{left:7%;bottom:7%;font-size:9px}
  .article .entry-content{font-size:17px;line-height:1.95;margin-top:30px}
  .entry-content p{margin:1.35em 0}
  .entry-content h2{font-size:25px;line-height:1.45;margin:2.15em 0 .7em}
  .entry-content h3{font-size:21px;line-height:1.5;margin:1.9em 0 .6em}
  .entry-content ul,.entry-content ol{padding-left:1.35em}
  .entry-content li{margin:.55em 0}
  .entry-content blockquote{margin:1.8em 0;padding:.15em 0 .15em 1em}
  .site-footer{padding:30px 0}
  .footer-inner{line-height:1.8}
}

@media(max-width:390px){
  :root{--mobile-pad:14px}
  .brand{font-size:16px}
  .language-nav a{min-width:35px;padding:7px 7px}
  .hero h1{font-size:30px}
  .card .kotani-eye-title{font-size:23px}
  .article h1{font-size:29px}
  .article .entry-content{font-size:16.5px}
}

@media(min-width:851px){body.admin-bar .site-header{top:32px}}

/* v1.0.5 — article circulation / related stories */
.related-section{border-top:1px solid var(--line);background:#f7f8fa;padding:54px 0 58px;margin-top:18px}
.related-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.related-head h2{font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:30px;line-height:1.3;margin:5px 0 0}.related-hint{font-size:12px;color:var(--muted)}
.related-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.related-card{min-width:0}.related-card a{display:block}.related-thumb{margin-bottom:12px;overflow:hidden}.related-card .kotani-eyecatch-card{aspect-ratio:16/9;margin:0;border-left-width:4px}.related-card .kotani-eye-title{font-size:clamp(18px,1.55vw,25px);line-height:1.2;-webkit-line-clamp:3}.related-card .kotani-eye-label{font-size:8px}.related-card .kotani-eye-foot{font-size:8px}.related-card h3{font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:18px;line-height:1.5;margin:7px 0 6px}.related-card p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}.related-card:hover h3{text-decoration:underline;text-underline-offset:4px}
.story-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:42px;padding-bottom:52px}.story-nav>div{min-width:0}.story-nav a{display:flex;min-height:116px;flex-direction:column;justify-content:center;border:1px solid var(--line);padding:18px 20px;background:#fff}.story-nav span{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.story-nav strong{font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:17px;line-height:1.5}.story-next{text-align:right}
@media(max-width:850px){.related-section{padding:38px 0 42px;margin-top:4px}.related-head{align-items:start;margin-bottom:17px}.related-head h2{font-size:25px}.related-hint{font-size:10px;padding-top:8px;white-space:nowrap}.related-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 var(--mobile-pad) 14px;margin-left:calc(var(--mobile-pad) * -1);margin-right:calc(var(--mobile-pad) * -1);scrollbar-width:none}.related-rail::-webkit-scrollbar{display:none}.related-card{flex:0 0 82%;scroll-snap-align:start}.related-card .kotani-eye-title{font-size:clamp(21px,6.3vw,30px);-webkit-line-clamp:3}.related-card h3{font-size:19px}.related-card p{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.story-nav{grid-template-columns:1fr;gap:10px;padding-top:28px;padding-bottom:38px}.story-nav a{min-height:96px;padding:15px 17px}.story-next{text-align:left}}
@media(max-width:390px){.related-card{flex-basis:88%}.related-hint{display:none}}


/* v1.0.6 — colored fixed-page box menu */
.page-box-nav{background:#fff;border-bottom:1px solid var(--line);padding:14px 0 16px}
.page-box-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.page-box{position:relative;min-height:88px;padding:14px 34px 13px 15px;border-radius:10px;color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 7px 20px rgba(16,27,38,.08);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.page-box:before{content:"";position:absolute;width:74px;height:74px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-23px;top:-25px}
.page-box:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,27,38,.16);filter:saturate(1.08)}
.page-box-kicker{position:relative;z-index:1;font-size:8px;line-height:1;letter-spacing:.18em;font-weight:800;opacity:.72;margin-bottom:7px}
.page-box strong{position:relative;z-index:1;font-size:14px;line-height:1.35;font-weight:800;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.page-box-arrow{position:absolute;right:12px;bottom:12px;font-size:15px;line-height:1;opacity:.82}
.page-box-1{background:linear-gradient(135deg,#173f36,#245c4e)}
.page-box-2{background:linear-gradient(135deg,#172b45,#254a72)}
.page-box-3{background:linear-gradient(135deg,#57303a,#7b4350)}
.page-box-4{background:linear-gradient(135deg,#6a512b,#91713d)}
.page-box-5{background:linear-gradient(135deg,#343a43,#525c68)}
.page-box-6{background:linear-gradient(135deg,#24505a,#33707d)}
@media(max-width:1100px) and (min-width:851px){.page-box-rail{grid-template-columns:repeat(3,1fr)}.page-box{min-height:76px}}
@media(max-width:850px){
  .page-box-nav{padding:10px 0 12px}
  .page-box-rail{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-left:0;padding-right:0;scrollbar-width:none}
  .page-box-rail::-webkit-scrollbar{display:none}
  .page-box{flex:0 0 72%;min-height:78px;border-radius:9px;padding:12px 34px 12px 14px;scroll-snap-align:start}
  .page-box-kicker{font-size:7px;margin-bottom:6px}
  .page-box strong{font-size:14px;-webkit-line-clamp:2}
}
@media(max-width:390px){.page-box{flex-basis:80%;min-height:74px}}


/* v1.0.7 — slimmer editorial fixed-page navigation */
.page-box-nav{padding:9px 0 10px;background:linear-gradient(180deg,#fff,#fbfcfd)}
.page-box-rail{gap:9px}
.page-box{min-height:62px;padding:10px 32px 9px 14px;border-radius:8px;box-shadow:0 4px 14px rgba(16,27,38,.07);justify-content:center;border:1px solid rgba(255,255,255,.08)}
.page-box:before{width:58px;height:58px;right:-22px;top:-25px;opacity:.72}
.page-box:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,27,38,.13)}
.page-box-kicker{font-size:7px;letter-spacing:.16em;margin-bottom:5px;opacity:.68}
.page-box strong{font-size:13px;line-height:1.25;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block}
.page-box-arrow{right:11px;bottom:10px;font-size:13px;opacity:.72}
.page-box-1{background:linear-gradient(135deg,#183f36,#235a4c)}
.page-box-2{background:linear-gradient(135deg,#172b45,#23476d)}
.page-box-3{background:linear-gradient(135deg,#55323c,#744550)}
.page-box-4{background:linear-gradient(135deg,#69512f,#8a6b3b)}
.page-box-5{background:linear-gradient(135deg,#343a43,#4d5661)}
.page-box-6{background:linear-gradient(135deg,#24505a,#316a76)}
@media(max-width:1100px) and (min-width:851px){.page-box{min-height:60px;padding-top:9px;padding-bottom:8px}.page-box strong{font-size:13px}}
@media(max-width:850px){
  .page-box-nav{padding:8px 0 9px}
  .page-box-rail{gap:8px}
  .page-box{flex:0 0 64%;min-height:62px;border-radius:8px;padding:9px 31px 9px 13px}
  .page-box-kicker{font-size:7px;margin-bottom:4px}
  .page-box strong{font-size:13px;white-space:nowrap;-webkit-line-clamp:unset}
  .page-box-arrow{bottom:10px}
}
@media(max-width:390px){.page-box{flex-basis:72%;min-height:60px}}


/* v1.0.11 — compact global JCBO banner on every page/language */
.jcbo-global-banner{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:0;
  padding:8px 16px;
  background:#fff;
  line-height:0;
  overflow:hidden;
  box-sizing:border-box;
  border-bottom:1px solid #e8edf1;
}
.jcbo-global-banner img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:190px;
  margin:0 auto;
  object-fit:contain;
}
.jcbo-global-banner:focus-visible{outline:3px solid #123;outline-offset:-3px}
@media (max-width:782px){
  .jcbo-global-banner{padding:5px 10px}
  .jcbo-global-banner img{max-height:110px}
}

