@font-face{font-family:roboto;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/roboto-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:roboto;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/roboto-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:roboto;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/roboto-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:roboto;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/roboto-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:noto sans jp;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-jp-1.woff2)format("woff2");unicode-range:U+3001-3002,U+3044,U+304a-304b,U+3053,U+3057,U+3059,U+305b,U+305f,U+3061,U+3064,U+3066-3067,U+306b,U+306e-306f,U+307e,U+3089-308b,U+3092-3093,U+30a2-30a4,U+30a9,U+30b8-30b9,U+30bf,U+30c9,U+30d5,U+30d7,U+30da-30db,U+30de,U+30e0,U+30e9-30eb,U+30ed,U+30f3,U+30fc,U+514d,U+533b,U+5927,U+5b66,U+5bfe,U+5f97,U+63a2,U+6587,U+65e5,U+672c,U+6b74,U+6fa4,U+7136,U+7248,U+7372,U+75ab,U+7814,U+793c,U+7a76,U+7d4c,U+81ea,U+82f1,U+898b,U+8a9e,U+8c37,U+90e8}@font-face{font-family:noto sans jp;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-jp-2.woff2)format("woff2");unicode-range:U+3000,U+3005,U+3008-3009,U+300c-3011,U+301c,U+3041-3043,U+3045-3049,U+304c-3052,U+3054-3056,U+3058,U+305a,U+305c-305e,U+3060,U+3062-3063,U+3065,U+3068-306a,U+306c-306d,U+3070-307d,U+307f-3088,U+308c-3091,U+3094-3096,U+30a0-30a1,U+30a5-30a8,U+30aa-30b7,U+30ba-30be,U+30c0-30c8,U+30ca-30d4,U+30d6,U+30d8-30d9,U+30dc-30dd,U+30df,U+30e1-30e8,U+30ec,U+30ee-30f2,U+30f4-30fb,U+30fd-30ff,U+4e00,U+4e07,U+4e0a-4e0b,U+4e0d-4e0e,U+4e16,U+4e21,U+4e26,U+4e2d,U+4e3b,U+4e57,U+4e73,U+4e88,U+4e8b-4e8c,U+4e92,U+4e94-4e95,U+4ea1,U+4ea4,U+4eac,U+4eba,U+4eca,U+4ed8,U+4ee3,U+4ee5,U+4ef2,U+4ef6,U+4f11,U+4f1a,U+4f1d,U+4f38,U+4f3c,U+4f4d-4f4e,U+4f53,U+4f55,U+4f5c,U+4f7f,U+4f9d,U+4fa1,U+4fc2-4fc3,U+4fdd,U+4fe1,U+500b,U+5019,U+5065,U+5074,U+50b7,U+50cd,U+5104,U+511f,U+512a,U+5143,U+5148-5149,U+5150,U+5165,U+5168,U+516c,U+5171,U+5178,U+5185-5186,U+518d,U+5199,U+51fa,U+5206-5207,U+5217,U+521d,U+5224-5225,U+5236,U+523a-523b,U+524d,U+5264,U+526f-5270,U+5272,U+529b,U+52a0,U+52a9,U+52b4,U+52b9,U+52d5,U+52d9,U+52dd,U+5302,U+5316,U+5339,U+5341,U+5348,U+534a,U+5352,U+5354,U+5357-5358,U+535a,U+5375,U+539a,U+539f,U+53c2,U+53cb,U+53cd-53ce,U+53d6-53d7,U+53e3-53e4,U+53ef-53f0,U+53f7-53f8,U+5404,U+5408,U+540a,U+540c-540d,U+5411,U+542b,U+5438,U+544a,U+5468,U+5473,U+547c-547d,U+54c1,U+54e1,U+54fa,U+554f,U+55b6,U+55dc,U+5668,U+56de,U+56e0,U+56e3,U+56f2,U+56fd,U+5712,U+5727-5728,U+5730,U+578b,U+57df,U+57f7,U+57f9-57fa,U+5802,U+5831,U+5834,U+5854,U+5857,U+5883,U+5897,U+58c1,U+58ca,U+58eb,U+5909,U+590f,U+5915-5916,U+591a,U+591c,U+5929,U+592b,U+5931,U+5947,U+5957,U+5965,U+5968,U+596a,U+5973,U+597d,U+59a8,U+59cb,U+59ff,U+5a92,U+5b50,U+5b57-5b58,U+5b63,U+5b6b,U+5b75,U+5b88-5b89,U+5b8c,U+5b9a,U+5b9f,U+5ba2,U+5ba4,U+5bae,U+5bb3,U+5bb6,U+5bb9,U+5bbf,U+5bc4,U+5bc6,U+5bcc,U+5bd2,U+5bdf,U+5be9,U+5bfa,U+5bff,U+5c02,U+5c0e-5c0f,U+5c11,U+5c45,U+5c4b,U+5c55,U+5c5e,U+5c71,U+5ca1,U+5ca9,U+5cb8,U+5cf6,U+5d16,U+5ddd-5dde,U+5de8,U+5dee,U+5e02,U+5e2f,U+5e38,U+5e45,U+5e74,U+5e7c,U+5e83,U+5e8a,U+5e97,U+5ea6-5ea7,U+5ead,U+5eca,U+5ef6,U+5efa,U+5f0f,U+5f15,U+5f31,U+5f35,U+5f37,U+5f53,U+5f70-5f71,U+5f79,U+5f85,U+5f8c,U+5fa1,U+5fa9,U+5fae,U+5fc3,U+5fc5,U+5fdc,U+5ff5,U+601d,U+6025,U+6027,U+606f,U+60a3,U+60c5,U+60f3,U+60f9,U+610f,U+611f,U+614b,U+6162-6163,U+61b6,U+6210,U+6240,U+6247,U+624b,U+6253,U+6255,U+6271,U+627f-6280,U+6291,U+6297-6298,U+629c,U+629e,U+62b5,U+62b9,U+62bd,U+62c5,U+6301,U+6307,U+6349,U+6355,U+6392,U+63a1,U+63a5,U+63a8,U+63b2,U+63cf-63d0,U+63db,U+640d,U+6458,U+6483,U+64ae,U+652f,U+653b,U+6557,U+6559,U+6570,U+6574,U+6591,U+65ad,U+65b0,U+65b9,U+65c5,U+65cb,U+65cf,U+65d7,U+65e2,U+65e8,U+6606-6607,U+660e,U+6620,U+663c,U+6642,U+666f,U+66ae,U+66f4,U+66f8,U+66ff-6700,U+6708-6709,U+670d,U+671d,U+671f,U+6728,U+672a,U+672d,U+6761,U+6765,U+6771,U+6790,U+6797,U+679a,U+679c,U+67d3,U+67f1,U+67f3,U+67fb,U+6821,U+682a,U+6838-6839,U+683c,U+6848,U+690d,U+691c,U+696d,U+69cb,U+69d8,U+6a19,U+6a21,U+6a2a,U+6a4b,U+6a5f,U+6b20-6b21,U+6b63,U+6b69,U+6b73,U+6b7b,U+6b8b,U+6b96,U+6bb5,U+6bba,U+6bbf,U+6bcd,U+6bd2,U+6bd4,U+6c11,U+6c17,U+6c34,U+6c5f-6c60,U+6c7a,U+6c88,U+6c96,U+6cbb,U+6cbf,U+6cc1,U+6cd5,U+6ce2,U+6ce8,U+6d17,U+6d1e,U+6d3b,U+6d41,U+6d44-6d45,U+6d5c,U+6d6e,U+6d77,U+6d88,U+6db2,U+6df1,U+6df7,U+6e05,U+6e0b,U+6e1b,U+6e21,U+6e2c,U+6e7e,U+6e80,U+6edd,U+6f01,U+6f0f,U+6f20,U+6f5c,U+6fc3,U+704c,U+706f-7070,U+708e,U+70b9,U+713c,U+7167,U+71b1,U+71c3,U+7269,U+7279,U+72ac,U+72b6,U+72ec,U+732e,U+7387,U+73fe,U+7403,U+7406,U+74b0,U+751f,U+7528,U+7531,U+7537,U+753b,U+754c,U+7559,U+756a,U+7570,U+75b9,U+75c5,U+75c7,U+75db,U+7642,U+767a,U+767d,U+7684,U+76ae,U+76e4,U+76ee,U+76f4,U+76f8,U+771f-7720,U+7740,U+7761,U+77e5,U+77f3,U+7802,U+78ba,U+793a,U+793e,U+795e,U+79c0-79c1,U+79d1,U+79fb,U+7a0b,U+7a2e,U+7a4d,U+7a4f,U+7a7a,U+7a81,U+7a93,U+7a9f,U+7acb,U+7b2c,U+7b46,U+7b49,U+7b4b,U+7b54,U+7b87,U+7b97,U+7ba1,U+7bc0,U+7bc9,U+7c4d,U+7cd6,U+7cfb,U+7d00,U+7d04,U+7d14,U+7d20,U+7d30,U+7d42,U+7d44,U+7d50,U+7d66,U+7d71,U+7d75,U+7d99-7d9a,U+7dda,U+7de8,U+7e01,U+7e04,U+7e3e,U+7e54,U+7e70,U+7f6e,U+7f79,U+7f8e,U+7fa9,U+7fbd,U+7fcc,U+7fd2,U+7ffb,U+8001,U+8003,U+8005,U+8010,U+8056,U+805e,U+8089,U+809d,U+80aa,U+80b2,U+80ba,U+80cc,U+80de,U+80fd,U+8102,U+8154,U+8178,U+817a,U+81d3,U+81e3,U+81f4,U+821e,U+8237,U+8239,U+826f,U+8272,U+82b8,U+82e6,U+8349,U+83cc,U+843d,U+8449,U+8457,U+84c4,U+84ee,U+85ac,U+866b,U+868a,U+86cd,U+87ba,U+8840,U+8846,U+884c,U+8853,U+8857,U+8868,U+8870,U+88c5,U+88dc,U+88fd,U+8907,U+8981,U+8986,U+898f,U+899a,U+89a7,U+89aa,U+89b3,U+89d2,U+89e3,U+89e6,U+8a00,U+8a08,U+8a0e,U+8a18,U+8a2a,U+8a2d,U+8a33,U+8a3c,U+8a55,U+8a66,U+8a71,U+8a73,U+8a8d,U+8a98,U+8aad,U+8ab2,U+8abf,U+8ad6,U+8b0e,U+8b1b,U+8b1d,U+8b58,U+8b70,U+8c61,U+8ca0-8ca2,U+8cab,U+8cc7,U+8cde,U+8cea,U+8d64,U+8d70,U+8d77,U+8d8a,U+8da3,U+8db3,U+8ddd,U+8de1,U+8def,U+8e0f,U+8eab,U+8eca,U+8ee2,U+8f03,U+8f09,U+8f2a,U+8f3f,U+8fba,U+8fbc,U+8fd1,U+8fd4,U+8ffd,U+9003,U+9006,U+9014,U+901a,U+901f,U+9023,U+9032,U+9045,U+904a-904b,U+904e,U+9053-9055,U+9060,U+9069,U+9078,U+907a,U+907f,U+90a6,U+90ca,U+90fd,U+914d,U+9162,U+9175,U+9178,U+91cd-91cf,U+91d1,U+91dd,U+9244,U+9280,U+9332,U+93e1,U+9577,U+9580,U+958b,U+9593,U+95a2-95a3,U+962a,U+9632,U+9662,U+9664,U+9670,U+968e,U+969b,U+96a0,U+96c4,U+96c6,U+96cc,U+96d1,U+96e2-96e3,U+96e8,U+96ea,U+9752,U+9759,U+975e,U+9762,U+97ff,U+9806,U+9818,U+982d,U+984d,U+9854-9855,U+985e,U+98a8,U+98db,U+98df,U+98fe,U+990a,U+990c,U+9928,U+9996,U+9999,U+99c5,U+9a13,U+9ad8,U+9b5a,U+9ebb,U+9f62,U+ff01,U+ff05,U+ff08-ff09,U+ff0b-ff0c,U+ff0e-ff0f,U+ff1a-ff1b,U+ff1f}:root{--bg:#ffffff;--bg-alt:#f4f6f9;--surface:#ffffff;--ink:#161a22;--text:#353b47;--text-soft:#515867;--muted:#5f6673;--faint:#6a717d;--line:#e3e6ea;--border:#dde1e6;--accent:#25478f;--accent-strong:#1b3670;--link:#22458d;--accent-tint:rgba(47, 79, 143, 0.08);--accent-ring:rgba(47, 79, 143, 0.26);--seal:#25478f;--nav-bg:rgba(255, 255, 255, 0.92);--shadow:0 1px 2px rgba(27, 29, 35, 0.04), 0 4px 16px rgba(27, 29, 35, 0.04);--shadow-hover:0 2px 4px rgba(27, 29, 35, 0.05), 0 12px 32px rgba(27, 29, 35, 0.08);--input-border:#d3d8de;--font-body:"Roboto", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", sans-serif;--font-heading:var(--font-body);--nav-h:64px;--safe-top:env(safe-area-inset-top, 0px);--container:1120px;--label-col:11rem;color-scheme:light}[data-theme=dark]{--bg:#0f1216;--bg-alt:#181b21;--surface:#171b21;--ink:#eceef2;--text:#c9cdd5;--text-soft:#adb2bc;--muted:#959aa5;--faint:#878c97;--line:#2a2e36;--border:#2f343d;--accent:#8fa9e6;--accent-strong:#a9bff0;--link:#9bb3ea;--accent-tint:rgba(143, 169, 230, 0.12);--accent-ring:rgba(143, 169, 230, 0.35);--nav-bg:rgba(18, 20, 25, 0.88);--shadow:0 1px 2px rgba(0, 0, 0, 0.3);--shadow-hover:0 12px 32px rgba(0, 0, 0, 0.45);--input-border:#3a3e46;color-scheme:dark}@media(max-width:991px){:root{--nav-h:56px;--nav-bg:var(--bg)}[data-theme=dark]{--nav-bg:var(--bg)}}*,*::before,*::after{box-sizing:border-box}html{font-size:17px;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + var(--safe-top) + 12px);background:var(--bg);-webkit-text-size-adjust:100%}@media(min-width:58em){html{font-size:18px}}body{margin:0;padding-top:calc(var(--nav-h) + var(--safe-top));font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;display:flex;flex-direction:column;min-height:100vh}main{flex:1 0 auto}h1,h2,h3,h4{text-wrap:balance;font-family:var(--font-heading);font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-.02em;margin:0 0 .5rem;overflow-wrap:break-word}p{margin:0 0 1rem;text-wrap:pretty}a{color:var(--link);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}ul,ol{margin:0 0 1rem}button{font:inherit;color:inherit}::selection{background:var(--accent-tint)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 5px var(--accent-tint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:2000;padding:.4rem .8rem;border-radius:6px;color:#fff;background:var(--accent-strong)}.skip-link:focus{top:.6rem;color:#fff}.icon{display:inline-block;height:1em;width:auto;vertical-align:-.125em;fill:currentColor;overflow:visible}.btn{display:inline-flex;align-items:center;gap:.45em;font-family:var(--font-body);font-size:.8rem;font-weight:600;line-height:1.4;padding:.45rem .95rem;border-radius:999px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn--outline{color:var(--ink);background:0 0;border:1px solid var(--border)}.btn--outline:hover{color:var(--accent);border-color:var(--accent)}.btn--more{color:var(--accent);background:var(--accent-tint);border:1px solid var(--accent-ring);padding:.5rem 1.15rem}.btn--more:hover{color:#fff;background:var(--accent);border-color:var(--accent)}[data-theme=dark] .btn--more:hover{color:var(--bg)}.btn--more::after{content:"";width:.42em;height:.42em;margin:-.2em 0 0 .15em;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);transition:transform .2s ease,margin .2s ease}.btn--more[aria-expanded=true]::after{transform:rotate(-135deg);margin-top:.2em}.eyebrow,.label{font-family:var(--font-body);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}.label--accent{color:var(--accent)}.sublabel{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:2.4rem 0 .2rem}.sublabel:first-child{margin-top:0}.badge{display:inline-block;margin-right:.45em;padding:.05rem .45rem;font-family:var(--font-body);font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;vertical-align:.12em;border-radius:4px;color:var(--accent-strong);background:var(--accent-tint)}.meta{font-size:.82rem;color:var(--muted);margin-top:.2rem}.author-me{color:var(--ink);font-weight:600}.more-link{display:inline-flex;align-items:center;gap:.35em;font-size:.78rem;font-weight:600;margin-top:.35rem}.more-link .icon{font-size:.85em;transition:transform .15s ease}.more-link:hover .icon{transform:translateX(2px)}.prose{color:var(--text)}.prose p{line-height:1.75}:lang(ja) .prose p{text-align:justify;line-break:strict}.prose a,.hero__bio a,.gallery-block__note a,.row__text a{color:var(--link);font-weight:500;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:.2em}.prose a:hover,.hero__bio a:hover,.gallery-block__note a:hover,.row__text a:hover,.prose a:focus-visible,.hero__bio a:focus-visible,.gallery-block__note a:focus-visible,.row__text a:focus-visible{color:var(--accent);text-decoration:underline}.hero__bio a,.journey__text a{color:inherit;font-weight:inherit}.hero__bio a:hover,.journey__text a:hover,.hero__bio a:focus-visible,.journey__text a:focus-visible{color:var(--accent);text-decoration:underline}.prose strong{color:var(--ink);font-weight:600}.prose h2{font-size:1.3rem;margin:2rem 0 .6rem}.prose h3{font-size:1.1rem;margin:1.6rem 0 .4rem}.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin-bottom:.35rem;line-height:1.7}.prose li::marker{color:var(--accent)}.prose img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:10px}.prose figure{margin:2.2rem 0}.prose figure img{border:1px solid var(--line)}.prose figcaption{margin:.6rem 0 0;font-size:.76rem;line-height:1.6;color:var(--muted)}.prose figcaption a{color:var(--muted)}:lang(ja){font-family:roboto,noto sans jp,hiragino sans,yu gothic,Meiryo,sans-serif;line-break:strict}:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{font-family:roboto,noto sans jp,hiragino sans,sans-serif;letter-spacing:.03em;text-wrap:pretty}:lang(ja) .entry__sub em{font-style:normal}:lang(ja) .sublabel,:lang(ja) .eyebrow,:lang(ja) .label{font-family:var(--font-body);letter-spacing:.08em}.chips{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;padding:0;margin:0}.chips li{font-size:.64rem;font-weight:600;letter-spacing:.04em;padding:.12rem .55rem;border-radius:999px;color:var(--accent-strong);background:var(--accent-tint)}.chips li p{display:inline;margin:0}.chips--plain li{font-size:.78rem;font-weight:500;letter-spacing:0;color:var(--text);background:var(--bg-alt);border:1px solid var(--line);padding:.15rem .6rem}.res-links{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1.3rem;margin:.7rem 0 0}.res-link,.res-cite{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-body);font-size:.84rem;font-weight:600;line-height:1.3}.res-link{color:var(--link)}.res-link span:first-of-type{text-decoration:underline;text-decoration-color:var(--accent-ring);text-decoration-thickness:1.5px;text-underline-offset:.22em;transition:text-decoration-color .15s ease}.res-link:hover{color:var(--accent)}.res-link:hover span:first-of-type{text-decoration-color:initial}.res-link .icon{font-size:.95em;opacity:.85}.res-link__out{font-size:.8em;opacity:.7;transition:transform .15s ease}.res-link:hover .res-link__out{transform:translate(2px,-2px);opacity:1}.res-cite{padding:0;background:0 0;border:0;color:var(--muted);cursor:pointer}.res-cite:hover{color:var(--ink)}.res-cite .icon{font-size:.8em}.res-links--sm{gap:.35rem 1.1rem;margin-top:.55rem}.res-links--sm .res-link,.res-links--sm .res-cite{font-size:.8rem}p,li,figcaption,blockquote,dd,.gallery-block__note,.entry__text,.row__text{text-wrap:pretty}h1,h2,h3,h4,.card__title,.research-now__title,.entry__title,.door__title,.page-head__lead,.hero__lead,.card__text,.door__text{text-wrap:balance}:lang(ja) :is(h1,h2,h3,h4,.card__title,.card__text,.research-now__title,.entry__title,.door__title,.door__text,.page-head__lead,.hero__lead,.research-motto,.gallery-block__note,.path__topic,.subproject__title){word-break:auto-phrase}:lang(ja) .entry__when,:lang(ja) .row__when,:lang(ja) .card__years{word-break:keep-all}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}@media(max-width:575px){.container{padding:0 18px}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1030;height:calc(var(--nav-h) + var(--safe-top));padding-top:var(--safe-top);background:var(--nav-bg);backdrop-filter:saturate(180%)blur(14px);-webkit-backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid transparent;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.navbar.is-scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px -18px rgba(27,29,35,.35)}@media(max-width:991px){.navbar{backdrop-filter:none;-webkit-backdrop-filter:none}}.navbar__inner{display:flex;align-items:center;height:100%;gap:2rem}.navbar__progress{position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;opacity:.75;pointer-events:none}.navbar__brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-heading);font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.navbar__brand:hover{color:var(--ink)}.navbar__home{display:none}.navbar__brand .seal{width:1.55rem;height:1.55rem;transition:transform .3s ease}.navbar__brand:hover .seal{transform:rotate(-6deg)}.seal{display:block;flex-shrink:0}.seal__bg{fill:var(--seal)}.seal__line{fill:none;stroke:#fff;stroke-opacity:.55;stroke-width:1.2}.seal__char{fill:#fff;font-size:21px;font-weight:600;font-family:hiragino mincho pron,yu mincho,noto serif jp,serif}.navbar__links{display:flex;align-items:center;gap:2rem;margin-left:auto}.navbar__links a{position:relative;font-size:.84rem;font-weight:500;color:var(--text-soft);white-space:nowrap;padding:.3rem 0}.navbar__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.navbar__links a:hover{color:var(--ink)}.navbar__links a:hover::after,.navbar__links a[aria-current=page]::after{transform:scaleX(1)}.navbar__links a:hover::after{opacity:.45}.navbar__links a[aria-current=page]{color:var(--ink);font-weight:600}.navbar__links a[aria-current=page]::after{height:1.5px;opacity:1}.navbar__tools{display:flex;align-items:center;gap:.6rem;padding-left:1.4rem;border-left:1px solid var(--line);height:1.6rem}.navbar__item{position:relative;display:flex;align-items:center}.navbar__sub{position:absolute;top:calc(100% + .55rem);left:-.9rem;min-width:12rem;z-index:5;display:flex;flex-direction:column;padding:.4rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-hover);opacity:0;visibility:hidden}.navbar__sub::before{content:"";position:absolute;left:0;right:0;top:-.7rem;height:.7rem}.navbar__item:hover .navbar__sub,.navbar__item:focus-within .navbar__sub{opacity:1;visibility:visible}.navbar__links .navbar__sub a{padding:.5rem .75rem;border-radius:8px;font-size:.84rem;font-weight:500;color:var(--text)}.navbar__links .navbar__sub a::after{display:none}.navbar__links .navbar__sub a:hover{background:var(--accent-tint);color:var(--accent)}.lang-switch{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.lang-switch a{font-size:.68rem;font-weight:600;letter-spacing:.04em;line-height:1;padding:.3rem .55rem;border-radius:999px;color:var(--muted)}.lang-switch a:hover{color:var(--ink)}.lang-switch a[aria-current]{color:var(--bg);background:var(--ink)}.navbar__theme,.navbar__toggle{background:0 0;border:0;color:var(--text-soft);cursor:pointer;font-size:.85rem;padding:.4rem;line-height:1}.navbar__theme:hover,.navbar__toggle:hover{color:var(--accent)}.navbar__toggle{display:none}.navbar__theme-sun,[data-theme=dark] .navbar__theme-moon{display:none}[data-theme=dark] .navbar__theme-sun{display:inline}@media(min-width:992px) and (max-width:1100px){.navbar__inner{gap:1.2rem}.navbar__links{gap:1.1rem}.navbar__tools{padding-left:1rem}}@media(max-width:991px){.navbar__inner{gap:.5rem}.navbar__tools{margin-left:auto;border-left:0;padding-left:0;gap:.3rem}.navbar__toggle{display:grid;place-items:center;font-size:1.05rem}.navbar__toggle-close{display:none}.navbar__toggle[aria-expanded=true] .navbar__toggle-open{display:none}.navbar__toggle[aria-expanded=true] .navbar__toggle-close{display:inline}.navbar__links{position:fixed;top:calc(var(--nav-h) + var(--safe-top) + .5rem);left:.75rem;right:.75rem;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:.15rem;margin:0;padding:.45rem;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 48px rgba(15,20,30,.18);opacity:0;visibility:hidden;transform:translateY(-6px)scale(.985);transform-origin:top right;transition:opacity .18s ease,transform .18s ease,visibility .18s}.navbar__links.is-open{opacity:1;visibility:visible;transform:none}.navbar__links>a,.navbar__item>a{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-radius:11px;font-size:1.06rem;font-weight:500;color:var(--ink);border:0}.navbar__links>a::after,.navbar__item>a::after{display:none}.navbar__links>a:active,.navbar__item>a:active{background:var(--bg-alt)}.navbar__links>a[aria-current=page],.navbar__item>a[aria-current=page]{color:var(--accent);background:var(--accent-tint);font-weight:600}.navbar__links>a[aria-current=page]::after,.navbar__item>a[aria-current=page]::after{display:block;content:"";position:static;width:.4rem;height:.4rem;border:0;border-radius:50%;background:var(--accent);transform:none;opacity:1}.navbar__item{display:block;border:0}.navbar__sub{display:none!important}.navbar__backdrop{position:fixed;inset:0;z-index:1025;background:rgba(12,16,24,.22);opacity:0;transition:opacity .18s ease}.navbar__backdrop.is-on{opacity:1}[data-theme=dark] .navbar__links{box-shadow:0 18px 48px rgba(0,0,0,.55)}}@media(max-width:400px){.navbar__brand span{display:none}}.lang-hint{background:var(--ink);color:var(--bg);font-size:.8rem}.lang-hint__inner{display:flex;align-items:center;gap:.8rem;min-height:2.6rem}.lang-hint a{color:var(--bg);font-weight:600;text-decoration:underline;text-underline-offset:.2em}.lang-hint a:hover{color:var(--bg);opacity:.8}.lang-hint__close{margin-left:auto;background:0 0;border:0;color:var(--bg);font-size:1.2rem;line-height:1;cursor:pointer;opacity:.7}.lang-hint__close:hover{opacity:1}.lang-hint--soft{background:var(--surface);color:var(--faint);border-bottom:1px solid var(--line);font-size:.72rem}.lang-hint--soft .lang-hint__inner{min-height:2.2rem;gap:.7rem}.lang-hint--soft a{color:var(--muted);font-weight:400}.lang-hint--soft a:hover{color:var(--accent)}.lang-hint--soft .lang-hint__close{color:var(--faint);font-size:1.05rem}.lang-hint{overflow:hidden;transition:opacity .3s ease,max-height .35s ease;max-height:5rem}.lang-hint.is-gone{opacity:0;max-height:0}.lang-hint a{white-space:nowrap}.lang-hint__msg--short{display:none}@media(max-width:575px){.lang-hint__msg{display:none}.lang-hint__msg--short{display:inline}}.link-hint{position:absolute;z-index:1040;pointer-events:none;white-space:nowrap;padding:.2rem .5rem;border-radius:6px;font-size:.68rem;font-weight:600;color:var(--bg);background:var(--ink);box-shadow:var(--shadow);transform:translate(-50%,-100%);opacity:0;transition:opacity .12s ease}.link-hint.is-below{transform:translate(-50%,0)}.link-hint.is-on{opacity:.94}.site-footer{margin-top:2rem;padding:3rem 0 2.5rem;border-top:1px solid var(--line);background:var(--bg-alt);font-size:.8rem;color:var(--muted)}.footer__inner{display:grid;grid-template-columns:1.3fr 1.2fr 1fr;gap:2rem;align-items:start}.footer__brand{display:inline-flex;align-items:center;gap:.6rem;min-height:1.8rem;font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--ink)}.footer__brand .seal{width:1.6rem;height:1.6rem}.footer__id p{margin:.55rem 0 0;line-height:1.5}.footer__links{display:grid;grid-template-columns:repeat(2,max-content);grid-template-rows:repeat(3,1.8rem);grid-auto-flow:column;gap:.15rem 2.4rem;list-style:none;padding:0;margin:0}.footer__links li{display:flex;align-items:center}.footer__links a{color:var(--text-soft)}.footer__links a:hover{color:var(--accent)}.footer__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.7rem}.footer__meta .lang-switch{min-height:1.8rem}.footer__copy{margin:0;font-size:.72rem;line-height:1.6;color:var(--faint);text-align:right}.footer__stack a{color:inherit}.footer__stack a:hover{color:var(--accent)}@media(max-width:767px){.footer__inner{grid-template-columns:1fr;gap:1.4rem}.footer__meta{align-items:flex-start}.footer__meta p{text-align:left}}.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1020;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:999px;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,color .2s ease,border-color .2s ease}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.back-to-top:hover{color:var(--accent);border-color:var(--accent)}.js .reveal{opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}.js .reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}}.footer__email{display:inline-flex;align-items:center;gap:.5rem}.footer__email .icon{color:var(--accent)}@media(max-width:991px){.navbar{transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.navbar.is-compact:not(.menu-open){background:0 0;border-bottom-color:transparent;box-shadow:none;pointer-events:none}.navbar.is-compact:not(.menu-open) .navbar__brand,.navbar.is-compact:not(.menu-open) .lang-switch,.navbar.is-compact:not(.menu-open) .navbar__theme,.navbar.is-compact:not(.menu-open) .navbar__progress{opacity:0;visibility:hidden}.navbar__brand,.lang-switch,.navbar__theme{transition:opacity .2s ease,visibility .2s}.navbar.is-compact:not(.menu-open) .navbar__toggle{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:2.7rem;height:2.7rem;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-hover)}}:lang(ja) .navbar__brand,:lang(ja) .footer__brand{font-family:var(--font-body)}@view-transition{navigation: auto; }.navbar{view-transition-name:site-nav}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}@media(prefers-reduced-motion:reduce){@view-transition{navigation: none; }}.home{min-height:calc(100vh - var(--nav-h) - var(--safe-top));display:flex;align-items:center;padding:clamp(2rem,6vh,4rem)0}.home>.container{width:100%}.hero{display:grid;grid-template-columns:minmax(0,1fr)16.5rem;gap:4.5rem;align-items:center}.hero__kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.76rem;font-weight:500;letter-spacing:.02em;color:var(--muted);margin-bottom:.9rem}.hero__kicker::before{content:"";width:1.6rem;height:1px;background:var(--accent)}.hero__name{font-size:clamp(2.3rem,4.6vw,3.3rem);font-weight:600;letter-spacing:-.03em;line-height:1;margin:0 0 .3rem}:lang(ja) .hero__name{letter-spacing:.08em}.hero__nick{color:var(--accent)}.hero__reading{font-size:.76rem;letter-spacing:.3em;color:var(--muted);margin:.35rem 0 0}.hero__reading .hero__nick{font-weight:700}.hero__lead{font-family:var(--font-heading);font-size:clamp(1.2rem,2.1vw,1.5rem);line-height:1.45;color:var(--ink);margin:1.4rem 0 1.1rem;max-width:28em}.hero__lead mark{background:0 0;color:var(--accent);font-weight:600}.hero__lead-link{color:inherit;text-decoration:none}.hero__lead-arrow{color:var(--accent);font-weight:400;display:inline-block;margin-left:.3em;transition:transform .2s ease}.hero__lead-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--accent-ring);text-underline-offset:.22em}.hero__lead-link:hover .hero__lead-arrow{transform:translateX(4px)}:lang(ja) .hero__lead{letter-spacing:.03em;line-height:1.7}.hero__bio{max-width:38em}.hero__bio p{font-size:.92rem;line-height:1.75;color:var(--text-soft);margin:0;max-width:34em}:lang(ja) .hero__bio p{line-height:1.95}.hero__bio strong{color:var(--ink)}.hero__contact{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;margin-top:1.4rem}.hero__email{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-family:var(--font-heading);font-size:1rem;color:var(--ink)}.hero__email .icon{color:var(--accent);font-size:.85em}.hero__contact .social{margin-left:-.3rem}.hero__support{margin:1.3rem 0 -.6rem;font-size:.7rem;color:var(--faint)}.hero__support a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:.2em;transition:color .2s ease,text-decoration-color .2s ease}.hero__support a:hover{color:var(--muted);text-decoration-color:var(--accent-ring)}:lang(ja) .hero__support{letter-spacing:.02em}.hero__note{margin:1.6rem 0 0;font-size:.76rem;color:var(--muted);text-wrap:pretty}.hero__note a{font-weight:600;white-space:nowrap}.social{display:flex;flex-wrap:wrap;gap:.1rem;list-style:none;padding:0;margin:0}.social a{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;font-size:.95rem;color:var(--muted);transition:color .15s ease,background .15s ease}.social a:hover{color:var(--accent);background:var(--accent-tint)}.hero__portrait{position:relative;margin:0}.hero__portrait::before{content:"";position:absolute;inset:0;transform:translate(14px,14px);border:1.5px solid var(--accent);border-radius:14px;opacity:.55}.hero__portrait img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:var(--shadow-hover)}.receptors{position:absolute;inset:0;pointer-events:none;display:none}@media(min-width:992px){.receptors{display:block}}.receptors i,.receptors b{position:absolute;background:var(--accent)}.receptors i{width:1.5px;height:var(--len,15px);border-radius:1px;opacity:.5;transform-origin:50% 100%;transform:rotate(var(--rot,0deg))}.receptors i::after{content:"";position:absolute;top:-2.5px;left:-1.75px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.receptors b{width:3px;height:3px;border-radius:50%;opacity:.32}.receptors i:nth-child(1){left:calc(24% - .75px);top:calc(0px - var(--len));--rot:-8deg;--len:16px;--d:0.45s}.receptors i:nth-child(2){left:calc(47% - .75px);top:calc(0px - var(--len));--rot:4deg;--len:13px;--d:0.52s}.receptors i:nth-child(3){left:calc(71% - .75px);top:calc(0px - var(--len));--rot:14deg;--len:18px;--d:0.59s}.receptors i:nth-child(4){left:calc(100% - .75px);top:calc(60% - var(--len));--rot:86deg;--len:11px;--d:0.66s}.receptors i:nth-child(5){left:calc(100% - .75px);top:calc(79% - var(--len));--rot:97deg;--len:9px;--d:0.73s}.receptors i:nth-child(6){left:calc(4% - .75px);top:calc(0px - var(--len));--rot:-34deg;--len:12px;--d:0.8s}.receptors i:nth-child(7){left:calc(21% - .75px);top:calc(100% - var(--len));--rot:186deg;--len:14px;--d:0.87s}.receptors b:nth-child(8){left:12%;top:-14px;--d:0.92s}.receptors b:nth-child(9){left:60%;top:-19px;--d:0.99s}.receptors b:nth-child(10){left:calc(100% + 13px);top:30%;--d:1.06s}.receptors b:nth-child(11){left:calc(100% + 20px);top:9%;--d:1.13s}.receptors b:nth-child(12){left:33%;top:calc(100% + 15px);--d:1.2s}.js .receptors i{animation:receptor-out .5s cubic-bezier(.2,.9,.3,1)var(--d)both}.js .receptors b{animation:receptor-dot .4s ease-out var(--d)both}@keyframes receptor-out{from{transform:rotate(var(--rot))scaleY(.12);opacity:0}to{transform:rotate(var(--rot))scaleY(1);opacity:.5}}@keyframes receptor-dot{from{opacity:0;transform:scale(.4)}to{opacity:.32;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.js .receptors i,.js .receptors b{animation:none}}.hero__vertical{position:absolute;top:.4rem;left:-2.2rem;writing-mode:vertical-rl;font-family:noto sans jp,hiragino sans,sans-serif;font-size:.9rem;font-weight:500;letter-spacing:.5em;color:var(--muted)}.hero__vertical[lang=en]{font-family:var(--font-body);font-size:.62rem;font-weight:600;letter-spacing:.35em}.hero__vertical::after{content:"";display:block;width:1px;height:3rem;margin:.9rem auto 0;background:var(--accent);opacity:.6}@media(max-width:991px){.hero{grid-template-columns:1fr;gap:1.6rem}.hero__portrait{order:-1;width:7.5rem}.hero__portrait::before{transform:translate(7px,7px);border-radius:50%}.hero__portrait img{aspect-ratio:1;border-radius:50%}.hero__vertical{display:none}}.rows{list-style:none;padding:0;margin:0}.row{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}.row:first-child{padding-top:.2rem}.row:last-child{border-bottom:0}.row{transition:background .2s ease}@media(hover:hover){.rows>.row:hover{background:linear-gradient(90deg,transparent,var(--accent-tint) 30%,transparent)}}.row__when{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--muted);padding-top:.02rem;font-variant-numeric:tabular-nums lining-nums}:lang(ja) .row__when{font-style:normal;font-size:.82rem}.row__main>:last-child{margin-bottom:0}.row__text{font-size:.9rem;color:var(--text);margin-top:.35rem}.row__text p{margin:0 0 .3rem;line-height:1.65}.row__text ul{margin:.2rem 0 .3rem;padding-left:1.2rem}.row__text li::marker{color:var(--accent)}@media(max-width:575px){.row{grid-template-columns:1fr;gap:.15rem}}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.4rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.project-card{display:flex;flex-direction:column;color:inherit;transition:border-color .2s ease,box-shadow .2s ease}.project-card[hidden]{display:none}.project-card:hover{color:inherit;border-color:var(--accent-ring);box-shadow:var(--shadow-hover)}.card__image{overflow:hidden;border-bottom:1px solid var(--line)}.card__image>img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top;transition:transform .4s ease}.project-card:hover .card__image>img{transform:scale(1.03)}.thumb{display:block;position:relative;aspect-ratio:16/9;overflow:hidden}.thumb__mat{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.thumb__doc{position:absolute;right:4%;top:9%;width:58%;height:82%;object-fit:contain;object-position:right center;filter:drop-shadow(0 3px 5px rgba(12,18,32,.32))drop-shadow(0 10px 22px rgba(12,18,32,.3));transition:transform .4s ease}.project-card:hover .thumb__mat{transform:scale(1.04)}.project-card:hover .thumb__doc{transform:translateY(-3px)scale(1.02)}@media(prefers-reduced-motion:reduce){.thumb__mat,.thumb__doc{transition:none}}.card__body{padding:.9rem 1rem 1.1rem}.project-card{position:relative}.card__title a{color:var(--ink)}.card__title a::after{content:"";position:absolute;inset:0}.project-card:hover .card__title a{color:var(--accent)}.card__where{font-size:.78rem;line-height:1.5;color:var(--text-soft);margin:0 0 .55rem}.card__where strong{color:var(--ink);font-weight:600}.card__years{display:block;color:var(--muted);font-family:var(--font-body);font-variant-numeric:tabular-nums}:lang(ja) .card__years{font-style:normal}.card__organism{font-size:.74rem;color:var(--muted);margin:.6rem 0 0}.project-card .chips{margin-bottom:.55rem}.card__en{font-family:var(--font-heading);font-size:.78rem;line-height:1.4;color:var(--muted);margin:-.15rem 0 .45rem}.card__title{font-size:1.04rem;line-height:1.32;margin:0 0 .35rem}.card__text{font-size:.84rem;line-height:1.55;color:var(--text);margin:0}.card__text p{margin:0}.contact{position:relative;overflow:hidden;padding:2.2rem 2.4rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.contact::after{content:"";position:absolute;right:-2.2rem;bottom:-2.2rem;width:11rem;height:11rem;background:url(/favicon.svg)no-repeat 50%/contain;opacity:.06;transform:rotate(-8deg);pointer-events:none}@media(max-width:575px){.contact{padding:1.6rem 1.4rem}}@keyframes rise-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.js .hero__text>*,.js .hero__portrait{animation:rise-in .7s cubic-bezier(.22,1,.36,1)both}.js .hero__text>:nth-child(2){animation-delay:.06s}.js .hero__text>:nth-child(3){animation-delay:.12s}.js .hero__text>:nth-child(4){animation-delay:.18s}.js .hero__text>:nth-child(n+5){animation-delay:.24s}.js .hero__portrait{animation-delay:.15s;animation-duration:.9s}@media(prefers-reduced-motion:reduce){.js .hero__text>*,.js .hero__portrait{animation:none}}.hero__motif{position:absolute;right:-5.2rem;bottom:-4.6rem;width:15rem;z-index:0;opacity:.22;pointer-events:none}.hero__portrait img,.hero__portrait::before{z-index:1}@media(max-width:991px){.hero__motif{right:-9rem;bottom:-2rem;width:10rem;opacity:.2}}@media(max-width:575px){.hero__motif{display:none}}.home{position:relative;overflow:hidden}.home__grid{display:grid;grid-template-columns:17rem minmax(0,1fr);gap:5rem;align-items:center;position:relative;z-index:1}.home__grid .hero__portrait{align-self:center}.home__grid .hero__vertical{left:auto;right:-2.2rem}.home__grid .hero__motif{right:auto;left:-5.5rem;bottom:-4.2rem}.home .hero__bio p{max-width:38em}.hero__email{gap:.55rem}.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2rem 0 0}.door{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.door{position:relative}.door:hover{color:inherit;border-color:var(--accent-ring);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.door__link{color:inherit}.door__link::after{content:"";position:absolute;inset:0;border-radius:inherit}.door__links{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:0 .45rem;margin-top:auto;padding-top:.45rem;font-size:.72rem}.door__links a{color:var(--muted);font-weight:500}.door__links a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.door__dot{color:var(--faint)}:lang(ja) .door__links{font-size:.68rem;gap:0 .32rem;letter-spacing:0}.door__title{font-family:var(--font-heading);font-size:1.12rem;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:.4em}.door__title .icon{font-size:.7em;color:var(--accent);transition:transform .2s ease}.door:hover .door__title .icon{transform:translateX(3px)}.door__link:focus-visible{outline:none}.door:has(.door__link:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.door__text{font-size:.8rem;line-height:1.55;color:var(--text-soft)}.home__deco{position:absolute;z-index:0;opacity:var(--deco-opacity-home);pointer-events:none}.home__deco--tr{top:1.5rem;right:-2rem;width:14rem;transform:rotate(12deg)}.home__deco--bl{bottom:-1rem;left:-2.5rem;width:12rem;transform:rotate(-18deg)scaleX(-1)}@media(max-width:991px){.home__grid{grid-template-columns:1fr;gap:1.6rem}.doors{grid-template-columns:1fr}.home__deco--tr{width:9rem;right:-3rem}.deco.home__deco--bl{display:none}}.home-news{list-style:none;padding:0;margin:.9rem 0 0;max-width:40em}.home-news li{font-size:.72rem;line-height:1.55;color:var(--muted);margin:.15rem 0}.home-news__when{font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--muted);margin-right:.35rem}:lang(ja) .home-news__when{font-style:normal}.home-news a{color:var(--muted)}.home-news a:hover{color:var(--accent)}.home-news{margin-top:.55rem}.home-news li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:.05rem 0}.home .hero__note{margin-top:1.1rem}.home .doors{margin-top:1.6rem}.home .doors+.hero__contact{margin-top:1.1rem}@media(max-width:575px){.home-news li{white-space:normal}}:lang(ja) .home .hero__lead{line-height:1.6}:lang(ja) .home .hero__bio p{line-height:1.85}.home-news__label{margin:1rem 0 0;font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.home-news__label+.home-news{margin-top:.2rem}.home-news__when{font-family:var(--font-body);font-style:normal;font-weight:500}.home{padding:clamp(1.2rem,3.5vh,2.6rem)0}.home .hero__lead{margin-top:1.1rem}.home__deco--bl{bottom:.5rem;left:-2rem;width:15rem;transform:rotate(-10deg);scale:1}.home__deco--br{bottom:1rem;right:1%;width:10rem;transform:rotate(-12deg);opacity:calc(var(--deco-opacity-home) * .7)}@media(max-width:991px){.deco.home__deco--br{display:none}}.tap-pop{position:absolute;z-index:60;padding:.45rem .85rem;border-radius:999px;background:var(--ink);color:var(--bg);font-size:.8rem;font-weight:600;white-space:nowrap;box-shadow:0 8px 24px rgba(15,20,30,.25);text-decoration:none;animation:tap-pop-in .15s ease}.tap-pop:hover,.tap-pop:focus{color:var(--bg)}@keyframes tap-pop-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.article{max-width:44rem;margin:0 auto;padding:3.2rem 24px 4rem}.article__header h1{font-size:2.3rem;letter-spacing:-.02em;line-height:1.15;margin:0 0 .7rem}.article__header .meta{font-size:.85rem}.article__header .res-links{margin:1.2rem 0 2rem}.article__image{position:relative;margin:0 0 2rem}.article__image img{width:100%;border-radius:10px;border:1px solid var(--line)}.article__image figcaption{margin-top:.5rem;font-size:.75rem;color:var(--muted)}.article__image figcaption a{color:var(--muted);text-decoration:underline}.abstract{margin:1.5rem 0 2rem}.abstract p{font-family:var(--font-heading);font-size:1.02rem;line-height:1.75;color:var(--text);margin:0}.facts{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 2rem;margin:0 0 2rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.88rem;line-height:1.55}.facts:empty{display:none}.facts dt{font-weight:500;color:var(--muted)}.facts dd{margin:0;color:var(--ink)}.facts dd p{margin:0}.tags{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0;margin:1.5rem 0}.tags li{font-size:.7rem;font-weight:500;padding:.1rem .6rem;border-radius:999px;color:var(--text-soft);border:1px solid var(--border)}.outputs{margin:2.5rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--line)}.outputs .row{grid-template-columns:5.5rem minmax(0,1fr)}.share{display:flex;align-items:center;gap:.6rem;margin-top:2.6rem}.share__label{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}:lang(ja) .share__label{font-size:.72rem;letter-spacing:.06em;text-transform:none}.share__row{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.share__btn{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;padding:0;border:0;border-radius:999px;background:0 0;color:var(--muted);cursor:pointer;transition:color .2s ease,background-color .2s ease}.share__btn .icon{width:.9rem;height:.9rem}.share__btn:hover,.share__btn:focus-visible{color:var(--accent);background:var(--accent-tint)}.share__btn--copy{display:none}.js .share__btn--copy{display:inline-flex}.share__done{font-size:.72rem;color:var(--accent)}.author-card{display:flex;gap:1rem;align-items:flex-start;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}.author-card img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.author-card__name{font-family:var(--font-heading);font-weight:700;color:var(--ink);font-size:1rem;line-height:1.2;letter-spacing:-.02em;margin:0 0 .2rem}.author-card__name a{color:var(--ink)}.author-card__bio{font-size:.85rem;line-height:1.6;color:var(--text-soft);margin:0}.social--small{margin-top:.3rem}.social--small a{width:1.8rem;height:1.8rem;font-size:.85rem}.page-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.page-nav__link{display:block;font-family:var(--font-heading);font-size:.95rem;line-height:1.35;color:var(--ink)}.page-nav__link span{display:block;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.page-nav__link:hover{color:var(--accent)}.page-nav__link--older{text-align:right}.back-link{display:inline-flex;align-items:center;gap:.4em;margin-bottom:1.4rem;font-size:.78rem;font-weight:600;color:var(--muted)}.back-link .icon{transform:scaleX(-1);font-size:.85em;transition:transform .15s ease}.back-link:hover{color:var(--accent)}.back-link:hover .icon{transform:scaleX(-1)translateX(2px)}.list-page{padding-top:3.2rem;padding-bottom:4rem}.list-page--narrow{max-width:52rem}.list-page__title{font-size:2.3rem;margin:0 0 1.8rem}.cite-modal{width:min(640px,calc(100% - 32px));padding:0;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,.25)}.cite-modal::backdrop{background:rgba(20,20,24,.45)}.cite-modal__header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.cite-modal__header h5{margin:0;font-size:.95rem}.cite-modal__close{background:0 0;border:0;font-size:1.4rem;line-height:1;color:var(--muted);cursor:pointer}.cite-modal__body{margin:0;padding:1rem;overflow-x:auto;font-size:.7rem;line-height:1.5;background:var(--bg-alt)}.cite-modal__footer{display:flex;gap:.5rem;justify-content:flex-end;padding:.8rem 1rem}:lang(ja) .row{grid-template-columns:7.5rem minmax(0,1fr)}@media(max-width:575px){:lang(ja) .row{grid-template-columns:1fr}}.page{padding-top:3.2rem;padding-bottom:4.5rem}.page-head{margin-bottom:2.6rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(2.2rem,4.5vw,3rem);margin:0;letter-spacing:-.02em}:lang(ja) .page-head h1{letter-spacing:.06em}.notfound{max-width:40rem;padding-top:5rem}.notfound__code{font-size:4.5rem;font-weight:700;line-height:1;color:var(--accent);letter-spacing:-.04em;margin:0 0 1rem}.notfound h1{font-size:1.8rem;margin:0 0 .3rem}.notfound__ja{color:var(--muted);margin-bottom:1.6rem}.notfound__links{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}.notfound__links a{font-weight:600}.page-head__lead{margin:.6rem 0 0;font-size:1rem;color:var(--text-soft);max-width:36em}.subprojects{margin:2.6rem 0 0}.subprojects__title{font-size:1.25rem;margin:0 0 1rem}.subprojects__list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.subproject{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.subproject__meta{display:flex;align-items:center;gap:.5rem;margin:0 0 .4rem}.subproject__num{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent-tint);color:var(--accent);font-size:.75rem;font-weight:600}.subproject__title{font-size:.98rem;line-height:1.4;margin:0 0 .35rem}.subproject__title a{color:inherit}.subproject__title a:hover{color:var(--accent)}.subproject__text{font-size:.86rem;line-height:1.6;color:var(--text-soft);margin:0}.article.project{max-width:var(--container)}.project__back{display:inline-flex;margin-bottom:1.4rem}.project .article__header{margin-bottom:0}.project__image{margin:0}.project__image img{aspect-ratio:3/2;object-fit:cover}.project__intro .res-links{margin-top:1.1rem}.project__brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2.6rem 0 0}.brief-card{padding:1.2rem 1.25rem 1.3rem;background:var(--surface);border:1px solid var(--border);border-radius:14px}.brief-card--q{border-top:3px solid var(--accent)}.brief-card .brief-card__label{margin:0 0 .55rem;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}:lang(ja) .brief-card .brief-card__label{letter-spacing:.06em}.brief-card .brief-card__question{margin:0;font-family:var(--font-heading);font-size:1.02rem;line-height:1.5;color:var(--ink)}.brief-card p,.brief-card li{font-size:.88rem;line-height:1.6;color:var(--text)}.brief-card>p:last-child{margin-bottom:0}.brief-card ul{margin:0;padding-left:1.05rem}.brief-card li+li{margin-top:.35rem}.brief-card li::marker{color:var(--accent)}.project .subprojects{margin-top:2.2rem}.project__detail{margin-top:3rem;padding-top:2.2rem;border-top:1px solid var(--line)}.project__detail-label{margin:0 0 .8rem;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.project__body>h2:first-child{margin-top:0}.facts-card{margin:0;padding:1.1rem 1.2rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-alt)}.facts-card div+div{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.facts-card dt{font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.facts-card dd{margin:.2rem 0 0;font-size:.86rem;line-height:1.55;color:var(--text)}.facts-card:empty{display:none}.project__side .preview{display:flex;flex-direction:column;margin:1.4rem 0 0}.project__side .preview figcaption{order:2;margin:.55rem 0 0}.project__side .preview .preview__hint{order:3;margin-top:.15rem}.preview__credit{color:var(--faint);line-height:1.5}.preview__credit p{display:inline;margin:0}.preview__credit a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}.project__side .outputs{margin-top:1.6rem}.output__label{margin:0 0 .6rem;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.project .meta--block{margin-bottom:.5rem}.output-project{margin:1.4rem 0 0}.output-project figcaption{margin-bottom:.45rem}.output-project a{display:block;color:inherit}.output-project .thumb{border-radius:10px;border:1px solid var(--border)}.output-project__title{display:block;margin-top:.5rem;font-size:.86rem;line-height:1.45;color:var(--ink)}.output-project a:hover .output-project__title{color:var(--accent)}.refs{margin-top:2.4rem;padding-top:1.1rem;border-top:1px solid var(--line);max-width:44rem}.refs .refs__title{margin:0 0 .6rem;font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}:lang(ja) .refs .refs__title{letter-spacing:.06em}.refs__list{margin:0;padding-left:1.2rem;font-size:.78rem;line-height:1.55;color:var(--text-soft)}.refs__list li+li{margin-top:.45rem}.refs__list li::marker{color:var(--muted);font-variant-numeric:tabular-nums}.refs__list p{display:inline;margin:0}.refs__list a{color:var(--muted);overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}.refs__list a:hover{color:var(--accent)}@media(min-width:992px){.project__hero,.project__detail{display:grid;grid-template-columns:minmax(0,1.2fr)minmax(0,1fr);column-gap:3rem;align-items:start}.project__detail-label{grid-column:1/-1}.project__detail:not(:has(.preview,.outputs,.output-project)){grid-template-columns:minmax(0,1fr)}.project__detail:not(:has(.preview,.outputs,.output-project)) .project__side{grid-row:2;margin-bottom:1.8rem}.project__detail:not(:has(.preview,.outputs,.output-project)) .facts-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:0 1.6rem}.project__detail:not(:has(.preview,.outputs,.output-project)) .facts-card div+div{margin-top:0;padding-top:0;border-top:0;padding-left:1.6rem;border-left:1px solid var(--line)}.project__body{max-width:44rem}}@media(max-width:991px){.project__image{margin-top:1.4rem}.project__image img{aspect-ratio:16/9}.project__brief{grid-template-columns:1fr;gap:.8rem;margin-top:1.8rem}.project__detail{display:flex;flex-direction:column}.project__side{display:contents}.project__detail-label{order:0}.facts-card{order:1;margin-bottom:1.6rem}.project__story{order:2}.project__side .preview{order:3;margin-top:2rem}.project__side .outputs{order:4}.output-project{order:5}}.page-head--tabs{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem}.subtabs{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.subtabs a{padding:.4rem 1rem;border-radius:999px;font-size:.82rem;font-weight:500;color:var(--text-soft)}.subtabs a:hover{color:var(--ink)}.subtabs a[aria-current=page]{color:var(--bg);background:var(--ink)}.research-now>.eyebrow,.research-past>.sublabel,.outputs-page .sublabel{font-family:var(--font-heading);font-size:clamp(1.4rem,2.4vw,1.75rem);font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--accent);margin:0 0 1.4rem}:lang(ja) .research-now>.eyebrow,:lang(ja) .research-past>.sublabel,:lang(ja) .outputs-page .sublabel{letter-spacing:.06em}.outputs-page{max-width:50rem}.outputs-page section+section{margin-top:3rem}.research-motto{font-family:var(--font-heading);font-size:clamp(1.1rem,1.9vw,1.35rem);line-height:1.5;color:var(--ink);max-width:44em;margin:0 0 2.2rem}.research-motto p{margin:0}:lang(ja) .research-motto{font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.8}.research-now{display:grid;grid-template-columns:minmax(0,.92fr)minmax(0,1fr);grid-template-areas:"eyebrow eyebrow" "image body";align-items:center;gap:.9rem 2.6rem;margin-bottom:4rem;scroll-margin-top:calc(var(--nav-h) + var(--safe-top) + 1.2rem)}.research-now>.eyebrow{grid-area:eyebrow;align-self:end;margin-bottom:.6rem}.research-now__media{grid-area:image}.research-now__image{display:block;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-hover)}.thumb--large{aspect-ratio:4/3}.thumb--large .thumb__mat{object-position:left center}.thumb--large.thumb--plain .thumb__mat{object-position:center}.thumb--large .thumb__doc{right:4.5%;width:50%}.research-now__image:hover .thumb__mat{transform:scale(1.02)}.research-now__image:hover .thumb__doc{transform:translateY(-3px)scale(1.01)}.thumb-credit{margin:.55rem 0 0;font-size:.7rem;line-height:1.5;color:var(--faint)}.thumb-credit p{margin:0}.research-now__body{grid-area:body;max-width:34rem}.research-now .chips{margin-bottom:.7rem}.research-now__title{font-size:clamp(1.5rem,2.6vw,1.95rem);line-height:1.2;margin:0 0 .35rem}.research-now__title a{color:var(--ink)}.research-now__title a:hover{color:var(--accent)}.research-now__en{font-family:var(--font-heading);font-size:.9rem;color:var(--muted);margin:0 0 .4rem}.research-now__meta{display:flex;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin:0 0 1.1rem}.research-now__meta span+span::before{content:"·";margin:0 .5em;color:var(--faint)}.research-now .prose p{font-size:.93rem}@media(max-width:860px){.research-now{grid-template-columns:1fr;grid-template-areas:"eyebrow" "image" "body"}.thumb--large{aspect-ratio:16/10}}.journey{margin:0 0 2.4rem;padding:1.5rem 1.6rem 1.3rem;background:var(--surface);border:1px solid var(--border);border-radius:14px}.journey__title{font-size:1.05rem;font-weight:600;color:var(--ink);margin:0 0 .4rem}.path{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;list-style:none;padding:1.2rem 0 .4rem;margin:1.1rem 0 0;position:relative;-webkit-mask:linear-gradient(to right,#000 88%,transparent);mask:linear-gradient(to right,#000 88%,transparent)}.path::-webkit-scrollbar{display:none}.path.is-end{-webkit-mask:none;mask:none}.path:focus-visible{outline-offset:4px}.path li{position:relative;flex:1 0 8rem;max-width:11rem;padding-top:3.1rem;scroll-snap-align:start}.path li::before{content:"";position:absolute;top:2.28rem;left:0;right:0;height:1px;background:var(--accent-ring)}.path li:last-child::before{right:auto;width:.6rem}.path li::after{content:"";position:absolute;top:1.98rem;left:0;width:.6rem;height:.6rem;border-radius:50%;background:var(--bg);border:1.5px solid var(--accent)}.path li.is-now::after{background:var(--accent)}.path a{display:block;padding-right:.6rem;color:inherit}.path a:hover .path__topic{color:var(--accent)}.path__stage{position:absolute;top:0;left:0;right:.6rem;height:2rem;display:flex;align-items:flex-end;line-height:1.3;font-size:.66rem;font-weight:400;letter-spacing:0;color:var(--faint);opacity:.8}:lang(ja) .path__stage{font-size:.66rem;white-space:nowrap}.path li.is-now .path__stage{color:var(--muted);opacity:1}.path__year{display:block;font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--text-soft)}.path__topic{display:block;line-height:1.3;min-height:2.6em;font-size:.82rem;font-weight:600;color:var(--ink);margin-top:.1rem}:lang(ja) .path__topic{min-height:0}.path__org{display:block;font-size:.72rem;color:var(--muted)}.path__place{display:block;font-size:.68rem;color:var(--faint);margin-top:.05rem}:lang(ja) .path__place{font-size:.62rem;white-space:nowrap;letter-spacing:-.02em}.path-bar{display:none}@media(hover:none){.path-bar{display:flex;align-items:center;margin:.9rem 0 -.4rem}}.path-hint{font-size:.74rem;color:var(--muted);transition:opacity .3s ease}.path-hint.is-gone{opacity:0}.journey__more{display:inline-flex;align-items:center;gap:.3rem;margin-top:.7rem;padding:0;border:0;background:0 0;font:inherit;font-size:.8rem;font-weight:600;color:var(--accent);cursor:pointer}.journey__more::after{content:"";width:.4em;height:.4em;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-top:-.2em}.journey__more[aria-expanded=true]::after{transform:rotate(-135deg);margin-top:.2em}.journey__text{margin-top:.9rem;max-width:46em}.journey__text.is-clamped{display:none}.journey__text,.journey__text p{font-size:.92rem;line-height:1.75;color:var(--text)}:lang(ja) .journey__text,:lang(ja) .journey__text p{line-height:1.9}.journey__text p{margin:0}.journey__text strong{color:var(--accent-strong);font-weight:600}@media(max-width:860px){.journey{padding:1.2rem 1.1rem 1.1rem}.path li{flex-basis:8.4rem}}.project-card{scroll-margin-top:calc(var(--nav-h) + 2rem)}@keyframes card-flash{0%{box-shadow:0 0 0 0 var(--accent-ring);border-color:var(--accent);transform:translateY(0)scale(1)}15%{box-shadow:0 0 0 6px var(--accent-ring),var(--shadow-hover);border-color:var(--accent);transform:translateY(-4px)scale(1.02)}70%{box-shadow:0 0 0 4px var(--accent-ring),var(--shadow-hover);border-color:var(--accent);transform:translateY(-4px)scale(1.02)}100%{box-shadow:var(--shadow);border-color:var(--border);transform:none}}.project-card.is-flash{animation:card-flash 2.2s ease both;z-index:2}.project__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.8rem}.project__eyebrow .badge{margin:0}.project__en{font-family:var(--font-heading);font-size:.95rem;color:var(--muted);margin:.2rem 0 .4rem}.project__where{font-size:.92rem;color:var(--text-soft);margin:.2rem 0 0}.project__where strong{color:var(--ink)}.project__mentor{font-size:.82rem;color:var(--muted);margin:.2rem 0 0}.project__disclaimer{font-size:.72rem;color:var(--faint);margin:.6rem 0 0}.project__body h2{font-size:1.2rem;margin:2.2rem 0 .6rem}.preview img{width:100%;border-radius:8px;border:1px solid var(--line);transition:box-shadow .2s ease}.preview a:hover img{box-shadow:var(--shadow-hover)}.preview__hint{font-size:.75rem;color:var(--muted);margin:.4rem 0 0}.cv__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem}.cv__head-en{display:block;font-size:.4em;letter-spacing:.02em;color:var(--muted);margin-top:.3rem}.cv__contact{display:flex;flex-wrap:wrap;gap:.2rem 0;margin:.8rem 0 0;font-size:.8rem;color:var(--text-soft)}.cv__contact span:not(:last-child)::after{content:"·";margin:0 .6em;color:var(--faint)}.cv__layout{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:0 3.5rem;align-items:start}.toc{position:sticky;top:calc(var(--nav-h) + var(--safe-top) + 1.8rem)}.toc__label{font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem}.toc ol{list-style:none;padding:0;margin:0;border-left:1px solid var(--line)}.toc a{display:block;padding:.32rem 0 .32rem .9rem;margin-left:-1px;border-left:2px solid transparent;font-size:.84rem;color:var(--text-soft);transition:color .15s ease,border-color .15s ease}.toc a:hover{color:var(--ink)}.toc a.is-active{color:var(--ink);font-weight:600;border-left-color:var(--accent)}.cv-section{padding-bottom:2.6rem;margin-bottom:2.6rem;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + var(--safe-top) + 1.2rem)}.cv-section:last-child{border-bottom:0;margin-bottom:0}.cv-section>h2{font-size:clamp(1.7rem,3vw,2.1rem);color:var(--accent);margin:0 0 1.5rem;letter-spacing:-.015em}:lang(ja) .cv-section>h2{letter-spacing:.06em}.cv-section .sublabel{margin:2rem 0 .6rem;font-size:.74rem;color:var(--ink)}.cv-section .sublabel:first-of-type{margin-top:0}.entries{list-style:none;padding:0;margin:0}.entry{padding:0 0 1.4rem}.entry+.entry{padding-top:1.4rem;border-top:1px dashed var(--line)}.entry__title{font-family:var(--font-heading);font-size:1.22rem;font-weight:700;color:var(--ink);margin:0;line-height:1.3}.entry__when{flex-shrink:0;font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:.88rem;color:var(--muted);margin:0;white-space:nowrap}:lang(ja) .entry__when{font-style:normal;font-size:.82rem}.entry__sub{font-size:.86rem;color:var(--text-soft);margin:.3rem 0 0}.entry__sub em{color:var(--ink);font-weight:500}.entry__mentor{font-size:.82rem;color:var(--muted);margin:.1rem 0 0}.entry__text{font-size:.88rem;line-height:1.65;color:var(--text);margin:.45rem 0 0}.entry__details{margin:.5rem 0 0;padding-left:1.1rem;font-size:.86rem;color:var(--text)}.entry__details a{color:var(--link);text-decoration:underline;text-decoration-color:var(--accent-ring);text-underline-offset:.15em}.entry__details strong{color:var(--ink);font-weight:600}.entry__details li{margin:.1rem 0}.entry__details li::marker,.entry__details p{color:inherit;margin:0}.entry__details li::marker{color:var(--accent)}.entry__project{display:inline-flex;align-items:baseline;gap:.4em;margin-top:.5rem;font-family:var(--font-heading);font-size:.86rem;color:var(--link)}.entry__project .icon{font-size:.75em}.cites{list-style:none;padding:0;margin:0}.cite{padding:0 0 1.2rem}.cite+.cite{padding-top:1.2rem;border-top:1px dashed var(--line)}.cite__authors{font-size:.84rem;color:var(--text-soft);margin:0}.cite__title{font-family:var(--font-heading);font-size:1.04rem;font-weight:600;line-height:1.4;margin:.2rem 0 0}.cite__title a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--accent-ring);text-underline-offset:.18em}.cite__title a:hover{color:var(--accent);text-decoration-color:var(--accent)}.cite__ja{font-size:.8rem;color:var(--text-soft);margin:.15rem 0 0}.cite__venue{font-size:.84rem;color:var(--muted);margin:.2rem 0 0}.cite__venue a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.15em}.cite .res-links{margin-top:.5rem}.outputs .cites{margin-top:.4rem}.honors{list-style:none;padding:0;margin:0 0 .4rem}.honors li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1.2rem;padding:.55rem 0;border-bottom:1px dashed var(--line);font-size:.88rem}.honors li:last-child{border-bottom:0}.honors__when{font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--muted)}:lang(ja) .honors__when{font-style:normal;font-size:.82rem}.honors__title{display:block;color:var(--ink)}.honors__title p,.honors__note p{display:inline;margin:0}.honors__title a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.15em}.honors__note{display:block;font-size:.8rem;color:var(--muted);margin-top:.1rem}.skills{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:.6rem 1.4rem;margin:0;font-size:.88rem}.skills dt{font-weight:600;color:var(--ink)}.skills dd{margin:0;color:var(--text)}.skills dd p{margin:0}@media(max-width:860px){.cv__layout{grid-template-columns:1fr}.toc{position:static;margin-bottom:2rem}.toc ol{display:flex;flex-wrap:wrap;gap:.3rem;border:0}.toc a{padding:.25rem .7rem;margin:0;border:1px solid var(--border);border-radius:999px;font-size:.78rem}.toc a.is-active{border-color:var(--accent)}.honors li{grid-template-columns:1fr;gap:.1rem}.skills{grid-template-columns:1fr;gap:.1rem}.skills dd{margin-bottom:.6rem}}.entry{display:grid;grid-template-columns:9.4rem minmax(0,1fr);gap:0 1.6rem}.entry>.entry__when{padding-top:.2rem;text-align:left;white-space:normal}.entry__foot{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:.6rem 0 0}.entry__foot .entry__project{margin:0;font-family:var(--font-body);font-size:.78rem;font-weight:600}.skills dd .chips{gap:.35rem}@media(max-width:860px){.entry{grid-template-columns:1fr}.entry>.entry__when{padding:0 0 .2rem}}.cv-lead{max-width:48rem;margin:0 0 3rem;padding-left:1.2rem;border-left:3px solid var(--accent)}.cv-lead p{font-family:var(--font-heading);font-size:1.05rem;line-height:1.75;color:var(--text);margin:0}:lang(ja) .cv-lead p{font-family:var(--font-body);font-size:.93rem;line-height:2}@media print{.cv-lead{margin-bottom:1rem}.cv-lead p{font-size:10pt}}.entry__text{font-size:.84rem;color:var(--text-soft)}.entry__mentor{font-size:.78rem}.cv__actions{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.cv__updated{margin:0;font-size:.72rem;color:var(--faint)}@media(max-width:860px){.cv__actions{align-items:flex-start}}@media print{.cv__actions .btn{display:none}.cv__updated{display:block}}.toc-float{display:none}@media(max-width:991px){.toc-float{display:block;position:fixed;z-index:1020;top:calc(var(--safe-top) + .7rem);left:50%;transform:translate(-50%,-150%);opacity:0;transition:transform .25s ease,opacity .2s ease}.toc-float.is-on{transform:translate(-50%,0);opacity:1}.toc-float__btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .95rem;border:1px solid var(--border);border-radius:999px;background:var(--nav-bg);box-shadow:var(--shadow-hover);font:inherit;font-size:.8rem;font-weight:600;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toc-float__btn::after{content:"";width:.4em;height:.4em;border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(45deg);margin-top:-.25em;transition:transform .2s ease}.toc-float__btn[aria-expanded=true]::after{transform:rotate(-135deg);margin-top:.2em}.toc-float__list{display:none;list-style:none;margin:.4rem 0 0;padding:.35rem;min-width:12rem;position:absolute;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-hover)}.toc-float.is-open .toc-float__list{display:block}.toc-float__list a{display:block;padding:.5rem .8rem;border-radius:8px;font-size:.86rem;color:var(--text)}.toc-float__list a.is-active{color:var(--accent);font-weight:600;background:var(--accent-tint)}}@media print{.toc-float{display:none!important}}.gallery-block+.gallery-block{margin-top:2.6rem}.gallery-block .sublabel{margin-bottom:.2rem}.gallery-block__note{font-size:.8rem;color:var(--muted);margin:0 0 .9rem}.gallery-block .sublabel+.gallery{margin-top:.9rem}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}@media(max-width:575px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.gallery__item{position:relative;display:block;overflow:hidden;border-radius:8px;aspect-ratio:4/3;background:var(--bg-alt)}.gallery-block:not(.is-open) .gallery{grid-template-columns:none;grid-auto-flow:column;grid-template-rows:repeat(2,1fr);grid-auto-columns:calc(25% - .375rem);overflow-x:auto;scroll-behavior:auto;overscroll-behavior-x:contain;scrollbar-width:none}.gallery-block:not(.is-open) .gallery::-webkit-scrollbar{display:none}@media(hover:hover){.gallery-block:not(.is-open) .gallery{cursor:grab}.gallery-block:not(.is-open) .gallery.is-held{cursor:grabbing}.gallery-block:not(.is-open) .gallery.is-held .gallery__item img{transform:none}}.gallery-float{position:fixed;z-index:1015;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem);transform:translate(-50%,180%);opacity:0;pointer-events:none;visibility:hidden;transition:transform .28s ease,opacity .2s ease,visibility .28s}.gallery-float.is-on{transform:translate(-50%,0);opacity:1;pointer-events:auto;visibility:visible}.gallery-float button{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.05rem;border:1px solid var(--border);border-radius:999px;background:var(--nav-bg);box-shadow:var(--shadow-hover);font:inherit;font-size:.8rem;font-weight:600;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-float button::before{content:"";width:.4em;height:.4em;margin-top:.2em;border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-135deg)}.gallery-float button:hover{border-color:var(--accent-ring)}@media(prefers-reduced-motion:reduce){.gallery-float{transition:opacity .2s ease;transform:translate(-50%,0)}}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .3s ease}.gallery__item:hover img{transform:scale(1.04)}.gallery__label{position:absolute;left:0;right:0;bottom:0;padding:1.5rem .6rem .45rem;font-size:.66rem;font-weight:600;color:#fff;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.3) 45%,rgba(0,0,0,.72));transition:background .2s ease}.gallery__item:hover .gallery__label,.gallery__item:focus-visible .gallery__label{background:linear-gradient(to bottom,transparent,rgba(0,0,0,.45) 35%,rgba(0,0,0,.8))}.gallery__label strong{display:block;font-weight:600}.gallery__cap{display:block;overflow:hidden;margin-top:.1rem;font-weight:400;font-size:.64rem;line-height:1.35;opacity:.72;transition:opacity .22s ease}.gallery__cap>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.gallery__item:hover .gallery__cap,.gallery__item:focus-visible .gallery__cap{opacity:.95}.gallery__item:hover .gallery__cap>span,.gallery__item:focus-visible .gallery__cap>span{-webkit-line-clamp:4}.gallery__item:focus-visible{outline-offset:3px}.lightbox__count{margin:0;font-size:.72rem;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums}.gallery__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(12,13,16,.94)}.lightbox::backdrop{background:0 0}.lightbox figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:3rem 4rem}.lightbox img{max-width:100%;max-height:calc(100vh - 8rem);object-fit:contain;border-radius:4px}.lightbox figcaption{color:#e8e6e0;font-size:.8rem;text-align:center}.lightbox__btn{position:absolute;border:0;background:0 0;color:#fff;opacity:.7;font-size:1.3rem;padding:.8rem;cursor:pointer}.lightbox__btn:hover{opacity:1}.lightbox__close{top:.5rem;right:.5rem}.lightbox__prev{left:.3rem;top:50%;transform:translateY(-50%)}.lightbox__next{right:.3rem;top:50%;transform:translateY(-50%)}@media(max-width:575px){.lightbox figure{padding:3rem .5rem}.lightbox__prev,.lightbox__next{top:auto;bottom:.5rem;transform:none}}.life .gallery-block{margin-bottom:3rem}.life .sublabel{font-family:var(--font-heading);font-size:clamp(1.4rem,2.4vw,1.75rem);font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--accent);margin-bottom:.5rem}:lang(ja) .life .sublabel{letter-spacing:.06em}.life__section{padding-bottom:2.6rem;margin-bottom:2.6rem;border-bottom:1px solid var(--line)}.life__section:last-of-type{padding-bottom:0;margin-bottom:0;border-bottom:0}@media(max-width:575px){.life__section{padding-bottom:2.1rem;margin-bottom:2.1rem}}.life__travel{margin:0 0 3rem}.travel{margin:.8rem 0 0}.life__travel .gallery-block{margin-top:1.6rem}.gallery-block{scroll-margin-top:calc(var(--nav-h) + var(--safe-top) + 1rem)}.travel__map{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.world-map{display:block;width:100%;height:auto}.world-map path{fill:var(--bg-alt);stroke:var(--border);stroke-width:.6}.travel figcaption{margin-top:.6rem;font-size:.8rem;color:var(--text-soft);line-height:1.6}.travel figcaption strong{color:var(--ink)}.travel__jump{color:var(--text-soft);text-decoration:underline;text-decoration-color:var(--accent-ring);text-underline-offset:.2em}.travel__jump:hover,.travel__jump:focus-visible{color:var(--accent);text-decoration-color:var(--accent-ring)}.travel__tip{position:absolute;z-index:2;pointer-events:none;white-space:nowrap;padding:.25rem .55rem;border-radius:6px;font-size:.72rem;font-weight:600;color:var(--bg);background:var(--ink);box-shadow:var(--shadow);transform:translate(-50%,calc(-100% - 10px));opacity:0;transition:opacity .12s ease}.travel__tip.is-below{transform:translate(-50%,14px)}.travel__tip.is-on{opacity:1}.travel__tip-go{display:none}.travel__tip.is-armed{pointer-events:auto;display:flex;flex-direction:column;align-items:stretch;gap:.3rem;padding:.45rem .5rem .5rem;text-align:center}.travel__tip.is-armed .travel__tip-go{display:block;min-height:2.4rem;padding:0 .9rem;border:0;border-radius:5px;background:var(--accent);color:#fff;font:inherit;font-size:.74rem;font-weight:600;cursor:pointer}.travel__tip.is-armed .travel__tip-go:active{background:var(--accent-strong)}.world-map path[data-visited]{cursor:pointer;transition:fill-opacity .15s ease}.gallery.is-picking .gallery__item{transition:opacity .3s ease,filter .3s ease,box-shadow .3s ease,transform .3s ease}.gallery__item.is-quiet{opacity:.22;filter:grayscale(.7)saturate(.4);transform:scale(.985)}.gallery__item.is-picked{box-shadow:0 0 0 2px var(--accent),0 14px 32px rgba(12,18,32,.3);z-index:2;animation:photo-picked .62s ease-out 1}@keyframes photo-picked{0%{transform:scale(1)}38%{transform:scale(1.045)}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.gallery.is-picking .gallery__item{transition:none}.gallery__item.is-picked{animation:none}.gallery__item.is-quiet{transform:none}}.row__when--same{color:var(--faint);font-weight:400}.life__notes{margin:0 0 3rem}.note-link{font-weight:600;color:var(--ink)}.note-link:hover{color:var(--accent)}.note-summary{margin:.2rem 0 0;color:var(--text-soft)}.note__date{font-size:.82rem;color:var(--muted);margin:.6rem 0 .2rem}.note--both .note__part--ja{display:none}.note--both:has(#ja:target) .note__part--ja{display:block}.note--both:has(#ja:target) .note__part--en{display:none}.note__switch{font-weight:500}.article.note{max-width:58rem}.note__layout{display:grid;grid-template-areas:"head" "aside" "body"}@media(min-width:1000px){.note__layout{grid-template-columns:11rem minmax(0,42rem);grid-template-areas:". head" "aside body";gap:0 3.5rem;align-items:start}.note__layout>.article__header{grid-area:head}.note__layout>.note-toc{grid-area:aside;position:sticky;top:calc(var(--nav-h) + var(--safe-top) + 1.8rem);margin:.4rem 0 0}.note__layout>.prose{grid-area:body}.note__layout .prose figure{width:calc(100% + 4rem);margin-left:-2rem}.note__layout .prose figure:has(img[width="700"]){width:100%;margin-left:0}.note__layout .prose figcaption{padding:0 2rem}.note__layout .prose figure:has(img[width="700"]) figcaption{padding:0}}.note-toc{margin:1.4rem 0 2rem}.note-toc__label{font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}:lang(ja) .note-toc__label{letter-spacing:.08em;text-transform:none;font-size:.7rem}.note-toc ol{list-style:none;padding:0;margin:0;border-left:1px solid var(--line)}.note-toc a{display:block;padding:.3rem 0 .3rem .9rem;margin-left:-1px;border-left:2px solid transparent;font-size:.86rem;color:var(--text-soft)}.note-toc a:hover{color:var(--ink);border-left-color:var(--accent)}.note-toc a.is-active{color:var(--ink);font-weight:600;border-left-color:var(--accent)}:root{--deco-opacity:0.16;--deco-opacity-small:0.13;--deco-opacity-life:0.18;--deco-opacity-home:0.18;--deco-opacity-phone:0.24}[data-theme=dark]{--deco-opacity:0.12;--deco-opacity-small:0.1;--deco-opacity-life:0.13;--deco-opacity-home:0.13;--deco-opacity-phone:0.18}.deco{display:block;background-color:var(--accent);-webkit-mask:var(--deco)no-repeat center/contain;mask:var(--deco)no-repeat center/contain}.deco--nk-cell{--deco:url("/deco/nk-cell.svg");aspect-ratio:230/170}.deco--red-blood-cells{--deco:url("/deco/red-blood-cells.svg");aspect-ratio:210/160}.deco--trypanosomes{--deco:url("/deco/trypanosomes.svg");aspect-ratio:240/160}.deco--plasmodium{--deco:url("/deco/plasmodium.svg");aspect-ratio:230/160}.deco--microscope{--deco:url("/deco/microscope.svg");aspect-ratio:180/175}.deco--pipette{--deco:url("/deco/pipette.svg");aspect-ratio:200/170}.deco--camera{--deco:url("/deco/camera.svg");aspect-ratio:200/115}.deco--bicycle{--deco:url("/deco/bicycle.svg");aspect-ratio:220/140}.deco--backpack{--deco:url("/deco/backpack.svg");aspect-ratio:160/200}.deco--flask{--deco:url("/deco/flask.svg");aspect-ratio:150/180}.deco--petri-dish{--deco:url("/deco/petri-dish.svg");aspect-ratio:200/130}.deco--test-tubes{--deco:url("/deco/test-tubes.svg");aspect-ratio:190/170}.deco--dive-mask{--deco:url("/deco/dive-mask.svg");aspect-ratio:190/105}.deco--running-shoe{--deco:url("/deco/running-shoe.svg");aspect-ratio:220/130}.deco--fish{--deco:url("/deco/fish.svg");aspect-ratio:210/120}.deco--airplane{--deco:url("/deco/airplane.svg");aspect-ratio:220/150}.deco--compass{--deco:url("/deco/compass.svg");aspect-ratio:160/170}.deco--passport{--deco:url("/deco/passport.svg");aspect-ratio:132/160}.deco--waves{--deco:url("/deco/waves.svg");aspect-ratio:220/110}.deco--bird{--deco:url("/deco/bird.svg");aspect-ratio:210/120}.deco--toothbrush{--deco:url("/deco/toothbrush.svg");aspect-ratio:220/90}.deco--palm-tree{--deco:url("/deco/palm-tree.svg");aspect-ratio:170/200}.deco--sun{--deco:url("/deco/sun.svg");aspect-ratio:1}.deco--mountain{--deco:url("/deco/mountain.svg");aspect-ratio:230/130}.deco--tent{--deco:url("/deco/tent.svg");aspect-ratio:220/150}.deco--coffee-cup{--deco:url("/deco/coffee-cup.svg");aspect-ratio:1}.deco--poster{--deco:url("/deco/poster.svg");aspect-ratio:190/200}main{position:relative;overflow-x:clip}.page-deco{position:absolute;inset:0;z-index:0;pointer-events:none}main>*:not(.page-deco){position:relative;z-index:1}.page-deco__item{position:absolute;opacity:var(--deco-opacity)}.page-deco__item--1{top:1.5rem;right:-2rem;width:14rem;transform:rotate(10deg)}.page-deco__item--2{top:18%;left:-3.5rem;width:15rem;transform:rotate(-8deg)}.page-deco__item--3{top:34%;right:-3rem;width:12rem;transform:rotate(18deg)}.page-deco__item--4{top:50%;left:-3rem;width:13rem;transform:rotate(12deg)}.page-deco__item--5{top:66%;right:-2.5rem;width:14rem;transform:rotate(160deg)}.page-deco__item--6{top:81%;left:-3rem;width:12rem;transform:rotate(-20deg)}.page-deco__item--7{bottom:1rem;right:-2rem;width:12rem;transform:rotate(-14deg)}@media(max-width:991px){.page-deco__item{width:8rem!important;opacity:var(--deco-opacity-small)}.page-deco__item--2,.page-deco__item--4,.page-deco__item--6{display:none}}.life__section{position:relative}.life-deco{display:none;position:absolute;z-index:0;pointer-events:none;opacity:var(--deco-opacity-life);width:var(--w,7rem);rotate:var(--rot,0deg);--gutter:calc((100vw - var(--container)) / 2 + 24px)}.life-deco--left{left:calc(var(--gutter)/-2 - var(--w)/2 + var(--jx) * (var(--gutter) - var(--w)) * .35)}.life-deco--right{right:calc(var(--gutter)/-2 - var(--w)/2 + var(--jx) * (var(--gutter) - var(--w)) * .35)}@media(min-width:1380px){.life-deco{display:block}}@keyframes deco-drift{0%,100%{translate:0 0;rotate:var(--rot)}25%{translate:12px -14px;rotate:calc(var(--rot) + 5deg)}50%{translate:2px -24px;rotate:calc(var(--rot) + 8deg)}75%{translate:-12px -10px;rotate:calc(var(--rot) + 2deg)}}.life-deco{animation:deco-drift var(--dur,20s)ease-in-out var(--delay,0s)infinite}@media(prefers-reduced-motion:reduce){.life-deco{animation:none}}@media(max-width:1379px){.life__section>.life-deco:nth-of-type(-n+3){display:block;top:-3.2rem!important;left:auto;right:auto;width:clamp(2.4rem,calc(var(--w) * .44),3.4rem);opacity:var(--deco-opacity-phone)}.life__section>.life-deco:nth-of-type(1){right:5%}.life__section>.life-deco:nth-of-type(2){right:36%;top:-2.6rem!important}.life__section>.life-deco:nth-of-type(3){left:14%;top:-3.2rem!important}.life__section:first-child>.life-deco{top:-2.4rem!important}}.project__disclaimer a{color:var(--muted);text-decoration:underline;text-underline-offset:.15em}@media(max-width:575px){.article{padding-top:2rem}.article__header h1{font-size:1.75rem}:lang(ja) .article__header h1{font-size:1.45rem;letter-spacing:.02em;line-height:1.45}.page-head h1{font-size:2rem}.navbar__home{position:fixed;left:16px;top:calc(var(--safe-top) + (var(--nav-h) - 2.7rem)/2);display:flex;align-items:center;justify-content:center;width:2.7rem;height:2.7rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-hover);font-size:0;color:var(--ink);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s}.navbar__home::before{content:"←";font-size:1.05rem;line-height:1}.navbar.is-compact:not(.menu-open) .navbar__home{opacity:1;visibility:visible;pointer-events:auto}.navbar__home:active{background:var(--accent-tint)}.gallery__label{opacity:1;font-size:.6rem;font-weight:500;padding:1rem .45rem .3rem}.gallery__cap{opacity:.78;font-size:.6rem}.gallery-block:not(.is-open) .gallery{grid-auto-columns:calc(50% - .25rem);margin:0 -16px;padding:0 16px}.project-card .thumb{aspect-ratio:2/1}.project-card .thumb__doc{top:7%;height:86%}}@media(max-width:575px){html{font-size:15.5px}.container{padding:0 16px}.home{padding:1.4rem 0 2rem;min-height:0}.home__grid{gap:1.1rem}.hero__portrait{width:5.5rem}.hero__kicker{font-size:.72rem;margin-bottom:.5rem}.hero__name{font-size:1.85rem}:lang(ja) .hero__name{font-size:1.75rem}.hero__lead{font-size:1.05rem;line-height:1.45;margin:.8rem 0 .7rem}:lang(ja) .hero__lead{font-size:.98rem}.hero__bio p{font-size:.86rem;line-height:1.65}.doors{margin-top:1.3rem;gap:.5rem}.door{padding:.75rem .9rem;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.1rem .6rem}.door__title{font-size:1rem}.door__text{flex-basis:100%;font-size:.76rem}.hero__contact{margin-top:1rem}.hero__email{font-size:.9rem}.hero__note{font-size:.72rem;margin-top:1rem}.page{padding-top:1.6rem;padding-bottom:3rem}.page-head{margin-bottom:1.6rem;padding-bottom:1rem}.page-head h1{font-size:1.7rem}.subtabs a{padding:.35rem .8rem;font-size:.76rem}.research-now>.eyebrow,.research-past>.sublabel,.outputs-page .sublabel,.life .sublabel{font-size:1.2rem}.research-motto{font-size:1.02rem;margin-bottom:1.6rem}.research-now{margin-bottom:2.6rem}.research-now__title{font-size:1.3rem}.research-now .prose p{font-size:.88rem}.card__title{font-size:.98rem}.cv__head h1{font-size:1.7rem}.cv__contact{font-size:.74rem;gap:.15rem 1rem}.cv__contact span:not(:last-child)::after{content:none}.cv-lead{margin-bottom:1.8rem;padding-left:.9rem}.cv-lead p{font-size:.92rem}.cv-section{padding-bottom:1.8rem;margin-bottom:1.8rem}.cv-section>h2{font-size:1.35rem;margin-bottom:1rem}.entry__title{font-size:1.05rem}.entry__text,.honors li,.skills{font-size:.82rem}.cite__title{font-size:.96rem}.article__header h1{font-size:1.55rem}:lang(ja) .article__header h1{font-size:1.3rem}.prose p,.prose li{font-size:.9rem}.site-footer{padding:2rem 0;font-size:.74rem}}@media print{@page{margin:16mm 15mm}html{font-size:10.5pt}body{padding:0;background:#fff;color:#000}body::before,.page-deco,.deco,.navbar,.lang-hint,.site-footer,.back-to-top,.toc,.js-print,.res-links,.skip-link,.entry__project,.badge{display:none!important}.page{padding:0}.container{max-width:none;padding:0}.cv__layout{display:block}.page-head{margin-bottom:1.2rem;padding-bottom:.6rem}.cv-section{padding-bottom:.9rem;margin-bottom:.9rem;break-inside:auto}.cv-section>h2{font-size:13pt;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.entry,.cite,.honors li{break-inside:avoid}.entry{padding-bottom:.6rem}.entry+.entry{padding-top:.6rem}.cite{padding-bottom:.5rem}.cite+.cite{padding-top:.5rem}a{color:inherit!important;text-decoration:none!important}.js .reveal{opacity:1!important;transform:none!important}}@media print{.entry__foot,.cv-section .chips:not(.chips--plain){display:none!important}.chips--plain{display:inline}.chips--plain li{display:inline;padding:0;border:0;background:0 0;font-size:inherit;color:inherit}.chips--plain li+li::before{content:", "}.entry{grid-template-columns:7.5rem minmax(0,1fr)}.entry__when{white-space:nowrap;font-size:9pt}.skills{grid-template-columns:9rem minmax(0,1fr);gap:.25rem 1rem}.honors li{padding:.3rem 0}}@media print{html{font-size:9.5pt}.cv-lead{margin-bottom:.8rem}.cv-section{padding-bottom:.5rem;margin-bottom:.6rem}.cv-section>h2{margin-bottom:.35rem}.entry{padding-bottom:.35rem}.entry+.entry{padding-top:.35rem}.entry__text,.entry__details{margin-top:.15rem;line-height:1.45}.entry__details li{margin:0}.cite{padding-bottom:.3rem}.cite+.cite{padding-top:.3rem}.honors li{padding:.15rem 0}.cv-section .sublabel{margin:.6rem 0 .2rem}}@media print{.entry{grid-template-columns:8.6rem minmax(0,1fr);gap:0 1rem}.entry>.entry__when{white-space:nowrap}}