:root{color-scheme:light;--color-canvas: #f7f3ea;--color-surface-2: #eee7d7;--color-surface: #fffdf9;--color-ink: #2b2721;--color-body: var(--color-ink);--color-muted: #5f5849;--color-hairline: #e3dccd;--color-line: #a89f93;--color-primary: #211d18;--color-on-primary: #f5f1e8;--color-accent: #165e83;--pillar-spirit: #316745;--pillar-spirit-text: #316745;--pillar-mind: #745399;--pillar-mind-text: #745399;--pillar-machine: #888e7e;--pillar-machine-text: #63675b;--pillar-story: #008899;--pillar-story-text: #00717f;--pillar-history: #6f514c;--pillar-history-text: #6f514c;--pillar-education: #839b5c;--pillar-education-text: #5a6b40;--pillar-society: #c39143;--pillar-society-text: #83602a;--pillar-way: #165e83;--pillar-way-text: #165e83;--font-head: "Newsreader Variable", "Newsreader", Georgia, "Times New Roman", serif;--font-body: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-ja: "Shippori UI", "Shippori Mincho B1", "Yu Mincho", "Hiragino Mincho ProN", serif;--fs-display: clamp(40px, 5.4vw, 66px);--fs-page-title: clamp(34px, 4.2vw, 48px);--fs-kicker: 19px;--fs-heading: 28px;--fs-title: 18px;--fs-lede: 17px;--fs-article: 17px;--fs-body: 16px;--fs-ui: 14.5px;--fs-small: 13.5px;--fs-caption: 12.5px;--fs-chip: 12px;--fs-ja: clamp(15px, 1.5vw, 18px);--fs-ja-quote: 16px;--lh-display: 1.04;--lh-page-title: 1.1;--lh-heading: 1.2;--lh-title: 1.3;--lh-body: 1.7;--lh-lede: 1.75;--lh-article: 1.8;--lh-caption: 1.5;--lh-ja-quote: 2.1;--lh-ja-display: 1.5;--ls-display: -.01em;--ls-article: .02em;--ls-ja: .08em;--ls-ja-quote: .04em;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--radius-image: 4px;--radius-card: 6px;--radius-diagram: 8px;--radius-pill: 999px;--space-base: 4px;--space-gutter: 16px;--space-gap: 16px;--space-stack: 18px;--space-section: 52px;--space-card: 28px;--hero-pad: 60px 56px 56px;--max-home: 72rem;--max-article: 44rem;--header-h: 84px;--border-hairline: 1px solid var(--color-hairline);--shadow-offset: 4px 4px 0;--fs-feature: clamp(24px, 2.4vw, 30px);--fs-kanji: 34px;--logo-size: 34px;--icon-size: 26px;--nav-gap: 26px;--btn-pad: 9px 20px;--btn-line-pad: 9px 20px 9px 22px;--chip-pad: 2px 8px;--card-inset: 16px;--tap-min: 44px;--focus-ring: 2px solid var(--color-accent);--ease: cubic-bezier(.2, .7, .3, 1);--dur-ui: .18s;--dur-node: .25s;--dur-rise: .7s;--stagger: .08s;--lift: -2px;--rise-from: 10px}@media(max-width:900px){:root{--hero-pad: 40px 22px 36px;--space-card: 20px}}@media(max-width:480px){:root{--header-h: 68px;--logo-size: 28px;--btn-pad: 7px 14px}}@font-face{font-family:Shippori UI;src:url(/fonts/shippori-ui-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-canvas);color:var(--color-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body)}a{color:inherit}img{max-width:100%;height:auto;display:block}:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:var(--radius-image)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header{border-bottom:var(--border-hairline);background:var(--color-canvas);padding-inline:var(--space-gutter)}.header-in{max-width:var(--max-home);margin-inline:auto;display:flex;align-items:center;gap:calc(var(--space-base) * 6);min-height:var(--header-h)}.brand{display:flex;align-items:center;gap:calc(var(--space-base) * 2.5);text-decoration:none}.brand svg{width:var(--logo-size);height:var(--logo-size);flex:none}.brand-word{display:grid;line-height:1.15}.brand-word b{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-title);letter-spacing:.05em;white-space:nowrap}.brand-word small{font-family:var(--font-ja);font-weight:var(--fw-semibold);font-size:var(--fs-chip);color:var(--color-muted);letter-spacing:.2em}.nav{margin-left:auto;display:flex;gap:var(--nav-gap);font-size:var(--fs-ui);font-weight:var(--fw-medium)}.nav a{text-decoration:none;transition:color var(--dur-ui)}.nav a:hover{color:var(--color-accent)}.btn-dark{display:inline-flex;align-items:center;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-pill);padding:var(--btn-pad);font-size:var(--fs-ui);font-weight:var(--fw-medium);text-decoration:none;white-space:nowrap;transition:opacity var(--dur-ui)}.btn-dark:hover{opacity:.85}@media(max-width:900px){.header-in{flex-wrap:wrap;row-gap:0;padding-top:calc(var(--space-base) * 2)}.header-in .btn-dark{margin-left:auto}.nav{order:3;flex-basis:100%;margin-left:0;gap:0 var(--space-card);overflow-x:auto;scrollbar-width:none}.nav a{display:inline-flex;align-items:center;min-height:var(--tap-min);white-space:nowrap}}@media(max-width:480px){.nav{justify-content:space-between;gap:0 var(--space-gap)}.header-in{gap:calc(var(--space-base) * 3)}.brand-word b{font-size:var(--fs-body)}.btn-dark{font-size:var(--fs-small)}}.hero-wrap{padding-inline:var(--space-gutter)}.hero{max-width:var(--max-home);margin-inline:auto;background:var(--color-surface-2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:var(--space-gap);align-items:center;padding:var(--hero-pad);position:relative;overflow:hidden}@media(max-width:900px){.hero{grid-template-columns:1fr}}.hero-text{display:grid;gap:var(--space-stack);position:relative;z-index:1}.kicker{font-family:var(--font-head);font-style:italic;font-size:var(--fs-kicker);color:var(--color-accent);margin:0}.hero h1{font-family:var(--font-head);font-weight:var(--fw-medium);font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);margin:0;text-wrap:balance}.jp-line{font-family:var(--font-ja);font-weight:var(--fw-semibold);font-size:var(--fs-ja);letter-spacing:var(--ls-ja);color:var(--color-muted);margin:0}.lede{font-size:var(--fs-lede);line-height:var(--lh-lede);max-width:31em;margin:0}.points{list-style:none;margin:calc(var(--space-base) * 1.5) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-gap)}@media(max-width:560px){.points{grid-template-columns:1fr 1fr}}.points li{display:grid;gap:var(--space-base);align-content:start}.points svg{width:var(--icon-size);height:var(--icon-size);stroke:var(--color-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.points b{font-size:var(--fs-small);font-weight:var(--fw-semibold);line-height:1.35}.points span{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--color-muted)}.btn-line{justify-self:start;display:inline-flex;align-items:center;gap:calc(var(--space-base) * 2);border:1px solid var(--color-ink);border-radius:var(--radius-pill);padding:var(--btn-line-pad);font-size:var(--fs-ui);font-weight:var(--fw-medium);text-decoration:none;margin-top:calc(var(--space-base) * 1.5);transition:background-color var(--dur-ui),color var(--dur-ui)}.btn-line svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:48;stroke-linecap:round;stroke-linejoin:round}.btn-line:hover{background:var(--color-ink);color:var(--color-canvas)}.visual{position:relative;display:grid;place-items:center}.constellation{width:114%;margin-inline:-7%;max-width:none;height:auto;overflow:visible}@media(max-width:560px){.constellation{width:100%;margin-inline:0;margin-top:calc(var(--space-base) * 2)}}.section{max-width:calc(var(--max-home) + var(--space-gutter) * 2);margin:var(--space-section) auto 0;padding-inline:var(--space-gutter)}.section-title{font-family:var(--font-head);font-weight:var(--fw-medium);font-size:var(--fs-heading);line-height:var(--lh-heading);margin:0 0 calc(var(--space-base) * 5)}.mosaic{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:var(--space-gap)}.mosaic .lead{grid-row:span 2}.card{display:flex;flex-direction:column;gap:calc(var(--space-base) * 2.5);background:var(--color-surface);border:var(--border-hairline);border-radius:var(--radius-card);overflow:hidden;padding:0;text-decoration:none;transition:transform var(--dur-ui) var(--ease)}.card:hover{transform:translateY(var(--lift))}.card img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.card-body{display:grid;gap:calc(var(--space-base) * 2);align-content:start;padding:0 var(--card-inset) var(--card-inset)}.card-body:first-child{padding-top:var(--card-inset)}.chip{justify-self:start;color:var(--c-text);border:1px solid var(--c-text);border-radius:var(--radius-image);padding:var(--chip-pad);font-size:var(--fs-chip);font-weight:var(--fw-medium);line-height:1.4}.card h3{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-title);line-height:var(--lh-title);margin:0;text-wrap:pretty}.card .meta{font-size:var(--fs-caption);color:var(--color-muted);margin:0}.lead img{flex:1 1 auto;height:0;min-height:14rem;aspect-ratio:auto}.lead h3{font-size:var(--fs-feature);line-height:1.2}.lead .excerpt{font-size:var(--fs-body);line-height:var(--lh-body);margin:0;max-width:34em}@media(max-width:900px){.mosaic{grid-template-columns:1fr 1fr}.mosaic .lead{grid-column:1 / -1;grid-row:auto}.lead img{flex:none;height:auto;min-height:0;aspect-ratio:16 / 9}}@media(max-width:560px){.mosaic{grid-template-columns:1fr}.mosaic .card:not(.lead){flex-direction:row;align-items:flex-start}.mosaic .card:not(.lead) img{width:40%;flex:none;align-self:stretch;aspect-ratio:auto;min-height:100%}.mosaic .card:not(.lead) .card-body{padding:var(--card-inset) var(--card-inset) var(--card-inset) 0}}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-gap);margin-bottom:calc(var(--space-base) * 5)}.section-head .section-title{margin:0}.more-link{display:inline-flex;align-items:center;gap:var(--space-base);font-size:var(--fs-ui);font-weight:var(--fw-medium);text-decoration:none;white-space:nowrap;transition:color var(--dur-ui)}.more-link:hover{color:var(--color-accent)}.chev{width:.9em;height:.9em;fill:none;stroke:currentColor;stroke-width:48;stroke-linecap:round;stroke-linejoin:round;flex:none}.pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--space-gap) + var(--space-base))}.pillar{height:100%;display:grid;grid-template-rows:auto auto 1fr auto;gap:calc(var(--space-base) * 2);background:var(--color-surface);border:var(--border-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-offset) var(--c);padding:calc(var(--space-card) - var(--space-base)) var(--space-card) var(--space-card) calc(var(--space-card) - var(--space-base));text-decoration:none;transition:transform var(--dur-ui) var(--ease)}.pillar:hover{transform:translateY(var(--lift))}.pillar .pk{font-family:var(--font-ja);font-weight:var(--fw-semibold);font-size:var(--fs-kanji);line-height:1;color:var(--c-text)}.pillar b{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-title);line-height:var(--lh-title)}.pillar .tag{font-size:var(--fs-ui);line-height:1.55;color:var(--color-muted)}.pillar .more{display:inline-flex;align-items:center;gap:var(--space-base);font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--c-text)}@media(max-width:900px){.pillars{grid-template-columns:1fr 1fr}}@media(max-width:560px){.pillars{grid-template-columns:1fr 1fr;gap:var(--space-gap)}.pillar{grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:calc(var(--space-base) * 3);row-gap:var(--space-base);align-items:center;padding:calc(var(--space-base) * 3.5) calc(var(--space-base) * 4)}.pillar .pk{grid-row:1 / 3}.pillar .tag{display:none}}.band{max-width:var(--max-home);margin:var(--space-section) auto 0;background:var(--color-surface-2);display:grid;grid-template-columns:repeat(var(--band-cols, 3),minmax(0,1fr));padding:calc(var(--space-card) * 1.5) 0}.band[data-cols="2"]{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.band[data-cols="1"]{grid-template-columns:1fr}.band[data-cols="1"] .band-col{max-width:28rem}.band-wrap{padding-inline:var(--space-gutter)}.band-col{display:grid;gap:calc(var(--space-base) * 3);align-content:start;padding-inline:var(--space-card)}.band-col+.band-col{border-left:1px solid var(--color-hairline)}.band h2{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-title);line-height:var(--lh-title);margin:0}.band p{margin:0}.band .note{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--color-muted)}.band .note a{text-underline-offset:2px}.nl-form{display:grid;gap:calc(var(--space-base) * 2);margin-top:var(--space-base)}.nl-form input{font:inherit;font-size:var(--fs-ui);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-muted);border-radius:var(--radius-pill);padding:var(--btn-pad);min-width:0}.nl-form input::placeholder{color:var(--color-muted)}.nl-form .btn-dark{font:inherit;font-size:var(--fs-ui);cursor:pointer;border:0;justify-content:center;margin-left:0}.quote-ja{font-family:var(--font-ja);font-weight:var(--fw-semibold);font-size:var(--fs-feature);line-height:var(--lh-ja-display);letter-spacing:var(--ls-ja)}.quote-en{font-family:var(--font-head);font-style:italic;font-size:var(--fs-kicker);line-height:1.4}.quote-src{font-size:var(--fs-caption);color:var(--color-muted)}.ranking{list-style:none;margin:0;padding:0;display:grid;counter-reset:rank}.ranking li{counter-increment:rank;border-top:1px solid var(--color-hairline)}.ranking li:first-child{border-top:0}.ranking a{display:grid;grid-template-columns:2ch 1fr;column-gap:calc(var(--space-base) * 3);row-gap:var(--space-base);padding-block:calc(var(--space-base) * 2.5);text-decoration:none}.ranking a:before{content:counter(rank);grid-row:1 / 3;font-family:var(--font-head);font-weight:var(--fw-medium);font-size:var(--fs-feature);line-height:1;color:var(--color-muted)}.ranking b{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-body);line-height:var(--lh-title);transition:color var(--dur-ui)}.ranking a:hover b{color:var(--color-accent)}.ranking span{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--c-text)}@media(max-width:900px){.band{grid-template-columns:1fr 1fr;row-gap:calc(var(--space-card) * 1.5)}.band[data-cols="1"]{grid-template-columns:1fr}.band-col:nth-child(3){grid-column:1 / -1;border-left:0;border-top:1px solid var(--color-hairline);padding-top:calc(var(--space-card) * 1.5)}}@media(max-width:560px){.band{grid-template-columns:1fr;padding:var(--space-card) 0;row-gap:var(--space-card)}.band-col+.band-col{border-left:0;border-top:1px solid var(--color-hairline);padding-top:var(--space-card)}}.end{height:var(--space-section)}.site-footer{border-top:var(--border-hairline);padding:var(--space-card) var(--space-gutter)}.footer-in{max-width:var(--max-home);margin-inline:auto;display:grid;grid-template-columns:auto 1fr;gap:var(--space-gap) calc(var(--space-card) * 2);align-items:center}.footer-brand{display:grid;gap:calc(var(--space-base) * 1.5)}.footer-brand p{margin:0;font-size:var(--fs-caption);color:var(--color-muted)}.footer-nav{justify-self:end;display:flex;flex-wrap:wrap;gap:calc(var(--space-base) * 3) var(--nav-gap);font-size:var(--fs-small);font-weight:var(--fw-medium)}.footer-nav a{text-decoration:none;transition:color var(--dur-ui)}.footer-nav a:hover{color:var(--color-accent)}.copyright{grid-column:1 / -1;margin:0;font-size:var(--fs-caption);color:var(--color-muted)}@media(max-width:900px){.footer-in{grid-template-columns:1fr}.footer-nav{justify-self:start;padding-top:0}}@media(max-width:560px){.footer-nav{display:grid;grid-template-columns:1fr 1fr;row-gap:calc(var(--space-base) * 3)}}.brand,.btn-dark,.more-link,.footer-nav a,.nl-form input{min-height:var(--tap-min)}.more-link,.footer-nav a{display:inline-flex;align-items:center}@media(prefers-reduced-motion:no-preference){.rise>*{animation:rise var(--dur-rise) var(--ease) both}.rise>*:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.rise>*:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.rise>*:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.rise>*:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.rise>*:nth-child(6){animation-delay:calc(var(--stagger) * 5)}.rise>*:nth-child(7){animation-delay:calc(var(--stagger) * 6)}}@media(prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transform:translateY(var(--rise-from));transition:opacity var(--dur-rise) var(--ease),transform var(--dur-rise) var(--ease);transition-delay:calc(var(--d, 0) * var(--stagger))}.js [data-reveal].in{opacity:1;transform:none}.js [data-draw] .band-col>*{opacity:0;transition:opacity var(--dur-rise) var(--ease) calc(var(--stagger) * 5)}.js [data-draw] .band-col .quote-ja{transform:translateY(var(--rise-from));transition:opacity var(--dur-rise) var(--ease) calc(var(--stagger) * 7),transform var(--dur-rise) var(--ease) calc(var(--stagger) * 7)}.js [data-draw].in .band-col>*{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference)and (min-width:901px){.js [data-draw] .band-col+.band-col{border-left-color:transparent;position:relative}.js [data-draw] .band-col+.band-col:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--color-hairline);transform-origin:top;transform:scaleY(0);transition:transform 1.2s ease-out}.js [data-draw].in .band-col+.band-col:before{transform:none}}@keyframes drift{0%{transform:translate(0)}50%{transform:translate(2.5px,-3px)}to{transform:translate(-2px,2.5px)}}@keyframes twinkle{0%{opacity:calc(var(--o, .35) * .25)}to{opacity:var(--o, .35)}}@keyframes ripple{0%{transform:scale(.4);opacity:.55}to{transform:scale(3.4);opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise-from))}to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}.page{max-width:calc(var(--max-article) + var(--space-gutter) * 2);margin-inline:auto;padding:var(--space-section) var(--space-gutter)}.page h1{font-family:var(--font-head);font-weight:var(--fw-medium);font-size:var(--fs-page-title);line-height:var(--lh-page-title);letter-spacing:var(--ls-display);margin:0 0 var(--space-card)}.page h2{font-family:var(--font-head);font-weight:var(--fw-medium);font-size:var(--fs-heading);line-height:var(--lh-heading);margin:calc(var(--space-section) * .75) 0 calc(var(--space-base)*3)}.page h3{font-family:var(--font-head);font-weight:var(--fw-semibold);font-size:var(--fs-title);line-height:var(--lh-title);margin:var(--space-card) 0 calc(var(--space-base)*2)}.page p,.page li{font-size:var(--fs-article);line-height:var(--lh-article)}.page a{text-underline-offset:3px;transition:color var(--dur-ui)}.page a:hover{color:var(--color-accent)}.mini-logo__line[data-astro-cid-tvrurpns]{stroke:var(--color-line);stroke-width:2.2}.mini-logo__hub[data-astro-cid-tvrurpns]{fill:var(--color-line)}
