:root{--bg:#f6f7f9;--surface:#fff;--surface-muted:#eef1f4;--text:#17202a;--muted:#5b6573;--line:#dfe4ea;--accent:#1f4f7a;--accent-strong:#163b5d;--max-width:1180px;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{width:100%;display:block}.shell{width:min(calc(100% - 40px), var(--max-width));margin-inline:auto}.site-header{z-index:20;backdrop-filter:blur(14px);background:#f6f7f9eb;border-bottom:1px solid #dfe4ead9;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:24px;min-height:72px;display:flex;position:relative}.site-brand{letter-spacing:.035em;white-space:nowrap;font-size:.95rem;font-weight:700}.site-nav{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:28px;font-size:.9rem;display:flex}.site-nav a:hover,.site-nav a:focus-visible{color:var(--text)}.site-nav__language{border-left:1px solid var(--line);color:var(--accent);padding-left:20px;font-weight:700}.mobile-nav{display:none}.hero{padding:clamp(88px,12vw,160px) 0 clamp(80px,10vw,132px)}.hero__inner{max-width:1000px}.eyebrow,.section-kicker,.theme-card__english{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.hero h1{letter-spacing:-.035em;max-width:920px;margin:18px 0 24px;font-size:clamp(2rem,3vw,2.75rem);font-weight:750;line-height:1.2}.hero__description{max-width:780px;color:var(--muted);margin:0;font-size:clamp(1rem,1.7vw,1.2rem)}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.button{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:0 22px;font-size:.92rem;font-weight:700;display:inline-flex}.button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.button--primary:hover,.button--primary:focus-visible{background:var(--accent-strong);border-color:var(--accent-strong)}.button--secondary{background:0 0}.button--secondary:hover,.button--secondary:focus-visible{background:var(--surface)}.section{padding:clamp(72px,9vw,120px) 0}.section--surface{background:var(--surface)}.section-heading{max-width:760px;margin-bottom:44px}.section-heading h2{letter-spacing:-.025em;margin:8px 0 14px;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.25}.section-heading p{color:var(--muted);margin:0}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.theme-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:330px;overflow:hidden}.theme-card__media{aspect-ratio:3/2;background:var(--surface-muted);overflow:hidden}.theme-card__media img{object-fit:cover;height:100%}.theme-card__body{flex-direction:column;min-height:330px;padding:clamp(26px,4vw,42px);display:flex}.theme-card--with-image .theme-card__body{min-height:290px}.theme-card h3{letter-spacing:-.02em;margin:12px 0 16px;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.35}.theme-card__summary{color:var(--muted);margin:0}.theme-card__keywords{flex-wrap:wrap;gap:8px;margin:auto 0 0;padding:28px 0 0;list-style:none;display:flex}.theme-card__keywords li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 10px;font-size:.75rem}.collaboration-box{border-radius:var(--radius);background:var(--text);color:#fff;padding:clamp(38px,6vw,70px)}.collaboration-box h2{letter-spacing:-.025em;max-width:760px;margin:10px 0 16px;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.25}.collaboration-box p{color:#d5dbe1;max-width:720px;margin:0}.site-footer{border-top:1px solid var(--line);padding:34px 0}.site-footer__inner{color:var(--muted);justify-content:space-between;gap:20px;font-size:.82rem;display:flex}.site-footer p{margin:0}@media (width<=760px){.site-header__inner{align-items:center;min-height:64px;padding-block:10px}.site-nav{display:none}.site-brand{font-size:.86rem}.mobile-nav{margin-left:auto;display:block}.mobile-nav summary{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:.82rem;font-weight:700;list-style:none;display:inline-flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] summary{border-color:var(--accent);color:var(--accent)}.mobile-nav__panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:2px;width:min(290px,100vw - 28px);padding:10px;display:grid;position:absolute;top:calc(100% - 4px);right:0;box-shadow:0 16px 40px #17202a24}.mobile-nav__panel a{color:var(--muted);border-radius:9px;padding:9px 11px;font-size:.9rem}.mobile-nav__panel a:hover,.mobile-nav__panel a:focus-visible{background:var(--surface-muted);color:var(--text)}.mobile-nav__language{border-top:1px solid var(--line);margin-top:5px;font-weight:700;color:var(--accent)!important;padding-top:12px!important}.hero{padding-top:72px}.theme-grid{grid-template-columns:1fr}.site-footer__inner{flex-direction:column}}@media (width<=520px){.shell{width:min(calc(100% - 28px), var(--max-width))}}.content-list{gap:18px;display:grid}.content-list__item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(24px,4vw,38px)}.content-list__item h2,.content-list__item h3{margin:8px 0 12px;line-height:1.35}.content-list__item h2{font-size:clamp(1.05rem,1.4vw,1.3rem)}.content-list__item h3{font-size:clamp(1rem,1.2vw,1.15rem)}.content-list__item p{color:var(--muted);margin:8px 0 0}.content-list__item a:hover,.content-list__item a:focus-visible,.prose a:hover,.prose a:focus-visible,.text-link:hover,.text-link:focus-visible{color:var(--accent)}.article-shell{max-width:840px}.article-shell>h1{letter-spacing:-.025em;margin:12px 0 30px;font-size:clamp(1.6rem,2.2vw,2rem);line-height:1.25}.prose{font-size:1.03rem}.prose p,.prose ul,.prose ol{margin:0 0 1.4em}.prose a,.text-link{color:var(--accent);text-underline-offset:.2em;text-decoration:underline}.theme-card .text-link{margin-top:22px;font-weight:700}.related-content{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);margin-top:48px;padding:clamp(24px,4vw,36px)}.related-content h2{margin:0 0 18px;font-size:clamp(1.05rem,1.4vw,1.3rem)}.related-content p,.related-content ul{margin:12px 0 0}.section-heading h1{letter-spacing:-.02em;margin:8px 0 14px;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.35}.site-nav{flex-wrap:wrap;justify-content:flex-end}.about-intro{max-width:860px;font-size:1.06rem}.about-intro p{margin:0 0 1.2em}.profile-grid{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:start;gap:clamp(36px,7vw,84px);display:grid}.profile-card{border-radius:var(--radius);background:var(--surface-muted);overflow:hidden}.profile-card img{aspect-ratio:4/5;object-fit:cover}.profile-main h2,.cv-grid h2{letter-spacing:-.025em;margin:8px 0 4px;font-size:clamp(1.4rem,2vw,1.75rem);line-height:1.3}.profile-name-en{color:var(--muted);margin:0 0 24px}.profile-main h3{margin:34px 0 10px;font-size:1rem}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 11px;font-size:.78rem}.cv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,8vw,96px);display:grid}.timeline-list{border-top:1px solid var(--line);margin-top:30px}.timeline-list article{border-bottom:1px solid var(--line);padding:22px 0}.timeline-list h3{margin:4px 0;font-size:1.05rem}.timeline-list p{color:var(--muted);margin:0}.timeline-period{font-size:.82rem}.access-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.access-list{margin:14px 0 20px;padding-left:1.25em}.map-frame{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:22px;overflow:hidden}.map-frame iframe{border:0;width:100%;height:min(62vw,620px);min-height:420px;display:block}.site-footer__nav{gap:18px;display:flex}.site-footer__nav a:hover,.site-footer__nav a:focus-visible{color:var(--text)}@media (width<=760px){.site-header__inner{align-items:flex-start;padding-block:14px}.site-nav{row-gap:6px;max-width:70%}.profile-grid,.cv-grid,.access-grid{grid-template-columns:1fr}.profile-card{max-width:320px}}
