@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+3051,U+3053,U+3057,U+3059,U+305b,U+305f,U+3061,U+3064,U+3066-3067,U+306b,U+306e-306f,U+3078,U+307e-307f,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+5272,U+533b,U+5927,U+5b66,U+5bfe,U+5f79,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+7d30,U+7d4c,U+80de,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-3050,U+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-3077,U+3079-307d,U+3080-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-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+4ed5,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+4f75,U+4f7f,U+4f9d,U+4fc2-4fc3,U+4fdd,U+4fe1,U+500b,U+5019,U+5024,U+5065,U+5074,U+50b7,U+50be,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+529b,U+52a0,U+52a3,U+52a9,U+52b4,U+52b9,U+52d5,U+52d9,U+52dd,U+52e7,U+5302,U+5316,U+5339,U+5341,U+5348,U+534a,U+5352,U+5354,U+5357-5358,U+535a,U+5360,U+5371,U+5375,U+539a,U+539f,U+53c2,U+53cb,U+53cd-53ce,U+53d6-53d7,U+53e3-53e4,U+53ef-53f0,U+53f3,U+53f7-53f8,U+5404,U+5408,U+540a,U+540c-540d,U+5410-5411,U+542b,U+5438,U+544a,U+5468,U+5473,U+547c-547d,U+54c1,U+54e1,U+54fa,U+5546,U+554f,U+5584,U+55b6,U+55dc,U+5668,U+5674,U+56de,U+56e0,U+56e3,U+56f2,U+56fd,U+5712,U+571f,U+5727-5728,U+5730,U+578b,U+57cb,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+598a,U+5999,U+59a8,U+59cb,U+59ff,U+5a20,U+5a66,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+5c3f,U+5c45,U+5c4a-5c4b,U+5c55,U+5c5e,U+5c71,U+5ca1,U+5ca9,U+5cb8,U+5cf6,U+5d16,U+5ddd-5dde,U+5de5-5de6,U+5de8,U+5dee,U+5e02,U+5e2b,U+5e2f-5e30,U+5e33,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+5f62,U+5f70-5f71,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+60aa,U+60c5,U+60f3,U+60f9,U+610f,U+611f,U+614b,U+6162-6163,U+61b6,U+6210,U+6226,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+62bc-62bd,U+62c5,U+6301,U+6307,U+6319,U+6349,U+6355,U+6392,U+63a1,U+63a5,U+63a8,U+63b2,U+63cf-63d0,U+63db,U+640d,U+642c,U+6458,U+6483,U+64ae,U+652f,U+6539,U+653b,U+653f,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-65e9,U+6606-6607,U+660e-660f,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+6804,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+6b62-6b63,U+6b69,U+6b73,U+6b7b,U+6b8b,U+6b96,U+6bb5,U+6bba,U+6bbf,U+6bcd-6bce,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+6ef4,U+6f01,U+6f0f,U+6f20,U+6f5c,U+6fc3,U+704c,U+706f-7070,U+708e,U+70b9,U+7121,U+713c,U+7167,U+71b1,U+71c3,U+7247,U+7269,U+7279,U+72ac,U+72b6,U+72d9,U+72ec,U+732e,U+7387,U+73fe,U+7403,U+7406,U+74b0,U+751f,U+7523,U+7528,U+7531,U+7537,U+753b,U+754c,U+7559,U+7565,U+756a,U+7570,U+7591,U+75b2,U+75b9,U+75c5,U+75c7,U+75db,U+7642,U+767a,U+767d-767e,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+7a74,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+7c73,U+7cd6,U+7cfb,U+7d00,U+7d04,U+7d14,U+7d20,U+7d42,U+7d44,U+7d50,U+7d5e,U+7d66,U+7d71,U+7d75,U+7d99-7d9a,U+7dca,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+80ce,U+80fd,U+8102,U+8133,U+814e,U+8154,U+8178,U+817a,U+819a,U+81d3,U+81e3,U+81f3-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+8a3a,U+8a3c,U+8a66,U+8a71,U+8a73,U+8a8d,U+8a98,U+8aac-8aad,U+8ab0,U+8ab2,U+8abf,U+8ad6,U+8b0e,U+8b1b,U+8b1d,U+8b58,U+8b70,U+8c61,U+8ca0-8ca2,U+8ca7,U+8cab,U+8cb7,U+8cbb,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+8efd,U+8f03,U+8f09,U+8f2a,U+8f38,U+8f3f,U+8fba,U+8fbc,U+8fd1,U+8fd4,U+8ffd,U+9001,U+9003,U+9006,U+9014,U+901a,U+901f,U+9023,U+9031-9032,U+9045,U+904a-904b,U+904e,U+9053-9055,U+9060,U+9069,U+9078,U+907a,U+907f,U+90a6,U+90aa,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+964d,U+9650,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+9727,U+9752,U+9759,U+975e,U+9762,U+97ff,U+9806,U+9818,U+982d,U+984c-984d,U+9854-9855,U+985e,U+98a8,U+98db,U+98df,U+98f2,U+98fe,U+990a,U+990c,U+9928,U+9996,U+9999,U+99c4-99c5,U+9a13,U+9aa8,U+9ac4,U+9ad8,U+9b54,U+9b5a,U+9ebb,U+9ec4,U+9ed2,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{line-break:strict}@media(min-width:576px){:lang(ja) .prose p{text-align:justify}}.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 picture{display:block}.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;--scene:var(--deco-opacity-home)}.receptors i,.receptors b{position:absolute;background:var(--accent)}.receptors i{width:var(--w,1.5px);height:var(--len,15px);border-radius:1px;opacity:calc(var(--scene) * 1.7);transform-origin:50% 100%;transform:rotate(var(--rot,0deg))}.receptors i::before,.receptors i::after{content:"";position:absolute;top:calc(0px - var(--fork,6px));left:0;width:var(--w,1.5px);height:var(--fork,6px);border-radius:1px;background:var(--accent);transform-origin:50% 100%}.receptors i::before{transform:rotate(calc(0deg - var(--sp,31deg)))}.receptors i::after{transform:rotate(var(--sp,31deg))}.receptors b{width:3px;height:3px;border-radius:50%;opacity:var(--scene)}.receptors i:nth-of-type(1){left:calc(24% - .75px);top:calc(0px - var(--len));--rot:-8deg;--len:17px;--d:0.45s;--w:1.7px;--fork:7px;--sp:26deg}.receptors i:nth-of-type(2){left:calc(47% - .75px);top:calc(0px - var(--len));--rot:4deg;--len:12px;--d:0.52s;--w:1.3px;--fork:5px;--sp:34deg}.receptors i:nth-of-type(3){left:calc(71% - .75px);top:calc(0px - var(--len));--rot:14deg;--len:20px;--d:0.59s;--w:1.8px;--fork:7.5px;--sp:23deg}.receptors i:nth-of-type(4){left:calc(100% - .75px);top:calc(60% - var(--len));--rot:86deg;--len:26px;--d:0.66s;--w:1.4px;--fork:5.5px;--sp:30deg}.receptors i:nth-of-type(5){left:calc(100% - .75px);top:calc(79% - var(--len));--rot:97deg;--len:8px;--d:0.73s;--w:1.2px;--fork:4.5px;--sp:38deg}.receptors i:nth-of-type(6){left:calc(4% - .75px);top:calc(0px - var(--len));--rot:-34deg;--len:13px;--d:0.8s;--w:1.5px;--fork:6px;--sp:29deg}.receptors i:nth-of-type(7){left:calc(21% - .75px);top:calc(100% - var(--len));--rot:186deg;--len:24px;--d:0.87s;--w:1.6px;--fork:6.5px;--sp:25deg}.receptors b:nth-of-type(1){left:12%;top:-14px;--d:0.92s}.receptors b:nth-of-type(2){left:60%;top:-19px;--d:0.99s}.receptors b:nth-of-type(3){left:calc(100% + 13px);top:30%;--d:1.06s}.receptors b:nth-of-type(4){left:calc(100% + 20px);top:9%;--d:1.13s}.receptors b:nth-of-type(5){left:33%;top:calc(100% + 15px);--d:1.2s}.hero__portrait img{transition:box-shadow .35s ease}@media(hover:hover){.hero__portrait:hover img{box-shadow:0 20px 46px -24px rgba(27,29,35,.45)}}.receptors__cell{transition:transform .55s cubic-bezier(.25,.8,.3,1)}.js .receptors__cell.is-settled{animation:none}.js .receptors.is-near .receptors__cell{animation:cell-breathe var(--bt,3.6s)ease-in-out var(--bd,0s)infinite;will-change:transform}@keyframes cell-breathe{0%,100%{transform:translate(0,0)}50%{transform:translate(calc(var(--fx) * -.13),calc(var(--fy) * -.13))}}.js .receptors.is-near .receptors__cyto{animation:cyto-shuttle 2.4s ease-in-out infinite}.js .receptors.is-near .receptors__cyto--2{animation-delay:.8s;animation-duration:2.9s}.js .receptors.is-near .receptors__cyto--3{animation-delay:1.6s;animation-duration:2.2s}.js .receptors.is-near .receptors__cyto--4{animation-delay:.4s;animation-duration:3.1s}.js .receptors.is-near .receptors__cyto--5{animation-delay:1.2s;animation-duration:2.6s}.js .receptors.is-near .receptors__cyto--6{animation-delay:2s;animation-duration:3.4s}@media(prefers-reduced-motion:reduce){.hero__portrait img{transition:none}.js .receptors.is-near .receptors__cell,.js .receptors.is-near .receptors__cyto,.js .receptors.is-pulse .receptors__cell,.js .receptors.is-pulse .receptors__cyto,.js .receptors.is-pulse u{animation:none}}.js .receptors.is-pulse u{animation:cyto-out 1.05s ease-out calc(var(--k) * .035s)both}.js .receptors.is-pulse .receptors__cell{animation:cell-answer 1.25s ease-in-out calc(var(--bd,0s) * .3)both}.js .receptors.is-pulse .receptors__cyto{animation:cyto-shuttle 1.3s ease-in-out calc(var(--bd,0s) * .2)both}@keyframes cell-answer{0%,100%{transform:translate(0,0)}42%{transform:translate(calc(var(--fx) * -.18),calc(var(--fy) * -.18))}}.js .receptors i:nth-of-type(2)::before,.js .receptors i:nth-of-type(3)::before{animation:prong-blink 1.1s ease-out 5s 2 both}@keyframes prong-blink{0%,60%,100%{box-shadow:0 0 rgba(37,99,235,0)}20%{box-shadow:0 0 0 4px rgba(37,99,235,9%)}}@media(prefers-reduced-motion:reduce){.js .receptors i:nth-of-type(2)::before,.js .receptors i:nth-of-type(3)::before{animation:none}}.receptors u{position:absolute;width:3.2px;height:3.2px;border-radius:50%;background:var(--accent);opacity:0}.receptors u:nth-of-type(1){left:12%;top:0;--tx:-26px;--ty:-34px;--d:0.90s;--k:1}.receptors u:nth-of-type(2){left:38%;top:0;--tx:-4px;--ty:-44px;--d:0.94s;--k:2}.receptors u:nth-of-type(3){left:72%;top:0;--tx:22px;--ty:-38px;--d:0.99s;--k:3}.receptors u:nth-of-type(4){left:100%;top:30%;--tx:34px;--ty:-16px;--d:1.03s;--k:4}.receptors u:nth-of-type(5){left:100%;top:62%;--tx:40px;--ty:10px;--d:1.08s;--k:5}.receptors u:nth-of-type(6){left:78%;top:100%;--tx:26px;--ty:32px;--d:1.12s;--k:6}.receptors u:nth-of-type(7){left:46%;top:100%;--tx:0;--ty:42px;--d:1.17s;--k:7}.receptors u:nth-of-type(8){left:16%;top:100%;--tx:-28px;--ty:30px;--d:1.21s;--k:8}.receptors u:nth-of-type(9){left:0;top:72%;--tx:-40px;--ty:14px;--d:1.26s;--k:9}.receptors u:nth-of-type(10){left:0;top:26%;--tx:-38px;--ty:-20px;--d:1.30s;--k:10}.receptors__cell{position:absolute;border:1.5px solid var(--accent);border-radius:50%;opacity:calc(var(--scene) * 1.2)}.receptors__cell::after{content:"";position:absolute;top:24%;left:22%;width:34%;height:34%;border-radius:50%;background:var(--accent);opacity:.55}.receptors__cell::before{content:"";position:absolute;top:60%;left:62%;width:16%;height:16%;border-radius:50%;background:var(--accent);opacity:.5}.receptors__cell--a{width:26px;height:26px;top:-52px;left:56%;--fx:34px;--fy:-26px;--d:1.5s}.receptors__cell--b{width:17px;height:17px;top:71%;left:calc(100% + 30px);--fx:38px;--fy:16px;--d:1.75s}.receptors__cell--c{width:34px;height:34px;top:16%;left:-50px;--fx:-44px;--fy:-20px;--d:2s}.receptors__cell--d{width:15px;height:15px;top:64%;left:-36px;--fx:-46px;--fy:14px;--d:2.25s}.receptors__cell--e{width:19px;height:19px;top:calc(100% + 34px);left:34%;--fx:-10px;--fy:44px;--d:2.5s}.receptors__cell--f{width:12px;height:12px;top:-36px;left:15%;--fx:-22px;--fy:-30px;--d:2.75s}.receptors__cell--g{width:10px;height:10px;top:88%;left:-32px;--fx:-34px;--fy:22px;--d:3s}.receptors__cell--h{width:13px;height:13px;top:-44px;left:36%;--fx:6px;--fy:-36px;--d:3.25s}.receptors__cell--i{width:9px;height:9px;top:calc(100% + 26px);left:62%;--fx:18px;--fy:34px;--d:3.5s}.receptors__cell--a{--bt:3.4s;--bd:0s}.receptors__cell--b{--bt:4.1s;--bd:0.5s}.receptors__cell--c{--bt:3.0s;--bd:0.9s}.receptors__cell--d{--bt:4.6s;--bd:0.3s}.receptors__cell--e{--bt:3.7s;--bd:1.2s}.receptors__cell--f{--bt:4.3s;--bd:0.7s}.receptors__cell--g{--bt:3.2s;--bd:1.5s}.receptors__cell--h{--bt:4.8s;--bd:0.2s}.receptors__cell--i{--bt:3.9s;--bd:1.1s}.receptors__cell--a,.receptors__cell--d,.receptors__cell--g{border-radius:47% 53% 52% 48%/51% 49% 48% 52%}.receptors__cell--b,.receptors__cell--e,.receptors__cell--h{border-radius:53% 47% 49% 51%/48% 52% 51% 49%}.receptors__cell--c,.receptors__cell--f,.receptors__cell--i{border-radius:50% 50% 47% 53%/53% 47% 50% 50%}.receptors__cyto{position:absolute;width:3.5px;height:3.5px;border-radius:50%;background:var(--accent);opacity:calc(var(--scene) * 1.7)}.receptors__cyto--1{top:-30px;left:54%;--tx:-10px;--ty:24px;--d:3.1s}.receptors__cyto--2{top:-26px;left:60%;--tx:6px;--ty:22px;--d:3.35s}.receptors__cyto--3{top:-34px;left:58%;--tx:-2px;--ty:30px;--d:3.6s}.receptors__cyto--4{top:22%;left:-14px;--tx:-12px;--ty:-2px;--d:3.85s}.receptors__cyto--5{top:calc(100% + 8px);left:36%;--tx:-2px;--ty:12px;--d:4.1s}.receptors__cyto--6{top:68%;left:calc(100% + 8px);--tx:11px;--ty:4px;--d:4.35s}@media(max-width:991px){.receptors i:nth-of-type(1){left:calc(5.9% - .75px);top:calc(26.5% - var(--len));--rot:-62deg;--len:9px;--d:0.45s}.receptors i:nth-of-type(2){left:calc(28.1% - .75px);top:calc(5.1% - var(--len));--rot:-26deg;--len:8px;--d:0.52s}.receptors i:nth-of-type(3){left:calc(60.4% - .75px);top:calc(1.1% - var(--len));--rot:12deg;--len:10px;--d:0.59s}.receptors i:nth-of-type(4){left:calc(83.5% - .75px);top:calc(12.8% - var(--len));--rot:42deg;--len:8px;--d:0.66s}.receptors i:nth-of-type(5),.receptors i:nth-of-type(6),.receptors i:nth-of-type(7),.receptors b:nth-of-type(3),.receptors b:nth-of-type(4),.receptors b:nth-of-type(5),.receptors u:nth-of-type(8),.receptors u:nth-of-type(9),.receptors u:nth-of-type(10),.receptors__cell--f,.receptors__cell--g,.receptors__cell--h,.receptors__cell--i,.receptors__cyto--2,.receptors__cyto--5,.receptors__cyto--6{display:none}.receptors i::before,.receptors i::after{top:-4.5px;height:4.5px}.receptors b{width:2.5px;height:2.5px}.receptors b:nth-of-type(1){left:2%;top:34%;--d:0.75s}.receptors b:nth-of-type(2){left:74%;top:-9px;--d:0.82s}.receptors u:nth-of-type(1){left:17.9%;top:11.7%;--tx:-12px;--ty:-22px;--d:0.9s;--k:1}.receptors u:nth-of-type(2){left:50%;top:0%;--tx:2px;--ty:-26px;--d:0.95s;--k:2}.receptors u:nth-of-type(3){left:75%;top:6.7%;--tx:20px;--ty:-16px;--d:1.0s;--k:3}.receptors u:nth-of-type(4){left:93.3%;top:25%;--tx:30px;--ty:-6px;--d:1.05s;--k:4}.receptors u:nth-of-type(5){left:100%;top:50%;--tx:38px;--ty:2px;--d:1.1s;--k:5}.receptors u:nth-of-type(6){left:93.3%;top:75%;--tx:32px;--ty:14px;--d:1.15s;--k:6}.receptors u:nth-of-type(7){left:75%;top:93.3%;--tx:20px;--ty:22px;--d:1.2s;--k:7}.receptors u{width:2.8px;height:2.8px}.receptors__cell--a{width:16px;height:16px;top:-8px;left:calc(100% + 14px);--fx:24px;--fy:-12px;--d:1.5s}.receptors__cell--c{width:24px;height:24px;top:24%;left:calc(100% + 50px);--fx:34px;--fy:6px;--d:1.8s}.receptors__cell--d{width:14px;height:14px;top:66%;left:calc(100% + 24px);--fx:28px;--fy:18px;--d:2.1s}.receptors__cell--b{width:10px;height:10px;top:2%;left:calc(100% + 70px);--fx:30px;--fy:-8px;--d:2.4s}.receptors__cell--e{width:9px;height:9px;top:74%;left:calc(100% + 56px);--fx:26px;--fy:14px;--d:2.7s}.receptors{--scene:calc(var(--deco-opacity-phone) * 0.62)}.receptors__cyto--1{top:22%;left:calc(100% + 2px);--tx:12px;--ty:-10px;--d:2.6s}.receptors__cyto--3{top:58%;left:calc(100% + 2px);--tx:14px;--ty:6px;--d:2.85s}.receptors__cyto--4{top:40%;left:calc(100% + 30px);--tx:13px;--ty:-4px;--d:3.1s}}.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:calc(var(--scene) * 1.7)}}@keyframes receptor-dot{from{opacity:0;transform:scale(.4)}to{opacity:var(--scene);transform:scale(1)}}.js .receptors__cell{animation:cell-in 1.8s cubic-bezier(.25,.9,.3,1)var(--d)both}@keyframes cell-in{from{transform:translate(var(--fx),var(--fy))scale(.85);opacity:0}60%{opacity:calc(var(--scene) * 1.2)}to{transform:translate(0,0)scale(1);opacity:calc(var(--scene) * 1.2)}}.js .receptors u{animation:cyto-out 1.25s ease-out var(--d)both}@keyframes cyto-out{0%{opacity:0;transform:translate(0,0)scale(.4)}35%{opacity:calc(var(--scene) * 1.9)}100%{opacity:0;transform:translate(var(--tx),var(--ty))scale(1)}}@keyframes cyto-shuttle{0%{opacity:0;transform:translate(0,0)scale(.5)}18%{opacity:calc(var(--scene) * 1.9)}46%,70%{opacity:calc(var(--scene) * 1.9);transform:translate(calc(var(--tx) * -2.4),calc(var(--ty) * -2.4))scale(1)}100%{opacity:0;transform:translate(0,0)scale(.6)}}.js .receptors__cyto{animation:cyto-drift 1.5s ease-in-out var(--d)2 both}@keyframes cyto-drift{0%{opacity:0;transform:translate(0,0)scale(.5)}30%{opacity:calc(var(--scene) * 1.9)}100%{opacity:0;transform:translate(var(--tx),var(--ty))scale(1)}}@media(prefers-reduced-motion:reduce){.js .receptors i,.js .receptors b,.js .receptors__cell,.js .receptors__cyto{animation:none}.js .receptors u{animation:none;opacity:0}}.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)}.note-aside{margin:.5rem 0 0}.note-aside .note-link{display:block;font-family:var(--font-heading);font-size:.95rem;font-weight:600;line-height:1.35;color:var(--ink)}.note-aside .note-link:hover{color:var(--accent)}.note-aside__when{display:block;margin-top:.15rem;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.note-aside__text{display:block;margin-top:.3rem;font-size:.78rem;line-height:1.6;color:var(--text-soft)}.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__title{margin:0;font-size:.95rem;font-weight:600;color:var(--ink)}.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{padding-top:2.8rem;border-top:1px solid var(--line)}@media(max-width:575px){.research-past{padding-top:2.1rem}}.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}}.page-head--rolled{position:relative}.life-roll{position:absolute;left:0;top:2.8rem;z-index:1;width:var(--size,20px);height:var(--size,20px);border-radius:50%;border:1.5px solid var(--accent);opacity:0;--roll:31rem;--turn:720deg;--dur:2s;--wait:0.1s;--dim:var(--deco-opacity-life);--live:min(0.5, calc(var(--dim) * 3))}.life-roll--lead{--size:34px;--turn:620deg;--dur:2s;--wait:0.1s;top:2.3rem}.life-roll--a{--size:15px;--turn:1200deg;--dur:2.3s;--wait:0.3s;top:1.3rem}.life-roll--b{--size:11px;--turn:1500deg;--dur:1.85s;--wait:0.48s;top:3.8rem}.life-roll--c{--size:19px;--turn:980deg;--dur:2.55s;--wait:0.6s;top:3rem}.life-roll--d{--size:13px;--turn:1320deg;--dur:2.15s;--wait:0.74s;top:1.9rem}.life-roll--e{--size:9px;--turn:1700deg;--dur:2.45s;--wait:0.88s;top:4.2rem}.life-roll--a,.life-roll--b,.life-roll--d,.life-roll--e{border-width:1.2px}.life-roll--lead{border-radius:47% 53% 51% 49%/52% 48% 49% 51%}.life-roll--a,.life-roll--d{border-radius:52% 48% 49% 51%/48% 52% 51% 49%}.life-roll--b,.life-roll--e{border-radius:49% 51% 53% 47%/51% 49% 47% 53%}.life-roll--c{border-radius:53% 47% 48% 52%/49% 51% 52% 48%}.life-roll::after{content:"";position:absolute;top:24%;left:22%;width:34%;height:34%;border-radius:50%;background:var(--accent);opacity:.55}.life-roll::before{content:"";position:absolute;top:60%;left:62%;width:15%;height:15%;border-radius:50%;background:var(--accent);opacity:.5}.js .page-head--rolled .life-roll{animation:cell-roll var(--dur)cubic-bezier(.25,.7,.3,1)var(--wait)both}.page-head__ch{display:inline-block}.js .page-head--rolled .page-head__ch{animation:letter-up .5s cubic-bezier(.2,.8,.3,1)both}.js .page-head--rolled .page-head__ch:nth-child(1){animation-delay:.24s}.js .page-head--rolled .page-head__ch:nth-child(2){animation-delay:.33s}.js .page-head--rolled .page-head__ch:nth-child(3){animation-delay:.42s}.js .page-head--rolled .page-head__ch:nth-child(4){animation-delay:.51s}.js .page-head--rolled .page-head__ch:nth-child(n+5){animation-delay:.6s}.js .page-head--rolled .page-head__lead{animation:word-wipe 2s cubic-bezier(.25,.7,.3,1).2s both}@keyframes cell-roll{from{transform:translateX(-34px)rotate(0);opacity:0}8%{opacity:var(--live)}66%{opacity:var(--live)}to{transform:translateX(var(--roll))rotate(var(--turn));opacity:var(--dim)}}@keyframes letter-up{from{opacity:0;transform:translateY(.3em)scale(.96)}to{opacity:1;transform:none}}@keyframes word-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -3px 0 0)}}.life-roll--a{--roll:27rem}.life-roll--b{--roll:33rem}.life-roll--c{--roll:29rem}.life-roll--d{--roll:25rem}.life-roll--e{--roll:31.5rem}@media(max-width:575px){.life-roll{--roll:17rem;top:2.1rem;--dim:var(--deco-opacity-phone)}.life-roll--lead{--size:25px;top:1.7rem}.life-roll--a{--size:11px;--roll:14rem;top:1rem}.life-roll--b{--size:9px;--roll:19rem;top:2.9rem}.life-roll--c{--size:14px;--roll:15.5rem;top:2.4rem}.life-roll--d{--size:10px;--roll:12.5rem;top:3.4rem}.life-roll--e{--size:8px;--roll:18rem;top:.6rem}}@media(prefers-reduced-motion:reduce){.js .page-head--rolled .life-roll{animation:none;opacity:var(--dim)}.js .page-head--rolled .page-head__ch,.js .page-head--rolled .page-head__lead{animation: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:44px;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]{transition:fill-opacity .15s ease}.travel__key{margin:0 0 .5rem;font-size:.72rem;color:var(--faint)}:lang(ja) .travel__key{font-size:.68rem}.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" "series"}@media(min-width:1000px){.note__layout{grid-template-columns:11rem minmax(0,42rem);grid-template-areas:". head" "aside body" ". series";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>.note-series{grid-area:series}.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-series{margin:2.8rem 0 0;padding:1.05rem 1.2rem 1.15rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.note-series__label{margin:0 0 .7rem;font-size:.72rem;color:var(--muted)}.note-series ol{list-style:none;margin:0;padding:0;counter-reset:part}.note-series li{counter-increment:part;position:relative;padding-left:1.85rem;margin:0 0 .75rem;font-size:.92rem;line-height:1.7}.note-series li:last-child{margin-bottom:0}.note-series li::before{content:counter(part);position:absolute;left:0;top:.2rem;width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid var(--line);color:var(--muted);font-size:.68rem;display:grid;place-items:center}.note-series li[aria-current]::before{background:var(--accent);border-color:var(--accent);color:var(--bg)}.note-series b{color:var(--ink)}.note-series span{display:block;font-size:.78rem;color:var(--muted)}.prose p.note-point{margin:1.4rem 0 1.6rem;padding:.15rem 0 .15rem 1.1rem;border-left:2px solid var(--accent);font-size:1.02rem;line-height:2;color:var(--ink);text-align:left}:lang(ja) .prose p.note-point{font-size:.98rem;text-align:left}@media(max-width:575px){.prose p.note-point{font-size:.94rem;line-height:1.95;padding-left:.9rem}}.note-cards{display:grid;gap:1rem;margin:1.5rem 0 1.8rem}@media(min-width:700px){.note-cards{grid-template-columns:1fr 1fr;gap:1.1rem}}.note-card{padding:1.05rem 1.15rem 1.15rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.note-card h3{font-size:1.02rem;margin:0 0 .15rem}.note-card__who{font-size:.72rem;color:var(--muted);margin:0 0 .85rem}:lang(ja) .note-card__who{font-size:.7rem}.note-card p{font-size:.86rem;line-height:1.85;margin:0 0 .75rem;text-align:left}.note-card p:last-child{margin-bottom:0}.note-card b{color:var(--ink);font-weight:600}.note-table{width:100%;border-collapse:collapse;margin:.2rem 0 .5rem;font-size:.78rem}.note-table th,.note-table td{padding:.35rem .4rem;text-align:left;vertical-align:top}.note-table thead th{font-weight:600;color:var(--muted);font-size:.7rem;white-space:nowrap;border-bottom:1px solid var(--line)}.note-table td,.note-table tbody th{border-bottom:1px dashed var(--line);color:var(--text)}.note-table tbody tr:last-child td,.note-table tbody tr:last-child th{border-bottom:0}.note-table tbody th{color:var(--ink);font-weight:600}.note-table__note{font-size:.74rem!important;color:var(--muted)}.note-table--wide{font-size:.84rem;margin:1.1rem 0 1.3rem}.note-table--wide th,.note-table--wide td{padding:.55rem .6rem .55rem 0;line-height:1.8}.note-table--wide tr>:first-child{width:9.5rem;padding-right:1.2rem}@media(max-width:575px){.note-table--wide{font-size:.8rem}.note-table--wide tr>:first-child{width:6.5rem;padding-right:.7rem}}@media(max-width:420px){.note-table{font-size:.72rem}.note-table th,.note-table td{padding:.3rem .25rem}}.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.58c6cfedf41c00cb3233d5dbfb4fe330a970f28e0b63f084ddabfa66ce3dd6ff.svg");aspect-ratio:230/170}.deco--red-blood-cells{--deco:url("/deco/red-blood-cells.30146f6aa99905486bf1f286db2ece68b55b1e34a81f64b1c4535b9f7466c115.svg");aspect-ratio:210/160}.deco--trypanosomes{--deco:url("/deco/trypanosomes.a1bb40a601fadf39722cb8fe73fc1ad1e63561613a65582c5c66f1cdacb7f172.svg");aspect-ratio:240/160}.deco--plasmodium{--deco:url("/deco/plasmodium.4d67cfef8b798ef1abfc8cccc36776878fca5c3742ce373796cbd9a0153a5629.svg");aspect-ratio:230/160}.deco--microscope{--deco:url("/deco/microscope.0751076c5b6832032465e1f028d249c852fa07170064d8fb0d5385fa613a68ab.svg");aspect-ratio:180/175}.deco--pipette{--deco:url("/deco/pipette.cf3afd4969afe34e44b059575c5730a0f9e091a55586137e6c0cf8a11647f832.svg");aspect-ratio:200/170}.deco--camera{--deco:url("/deco/camera.773a29f6469f1c6d97891351285939430e32296a11443a013bd5a0aa7325c709.svg");aspect-ratio:200/115}.deco--bicycle{--deco:url("/deco/bicycle.83820759caf922c559aeef4ab841c09736d87aaae2aa2c5707f496687d3bb5f5.svg");aspect-ratio:220/140}.deco--backpack{--deco:url("/deco/backpack.004de483e0cf9449437ff025e34d5c522e4acee2060b394010d515ae98633753.svg");aspect-ratio:160/200}.deco--flask{--deco:url("/deco/flask.c8d9f037bd244bf9ae9e8140ec62c305dfba71c17fdea62dda56a91cd08beaf7.svg");aspect-ratio:150/180}.deco--petri-dish{--deco:url("/deco/petri-dish.3a576fe66d7ee3e76ca7000016b910f27acae13b94af3e268948edc5947b5771.svg");aspect-ratio:200/130}.deco--test-tubes{--deco:url("/deco/test-tubes.f3494c08cfb5235da92bb3e83e5e8096ce4ddb81bfe614682fa8e6dc85d3236d.svg");aspect-ratio:190/170}.deco--dive-mask{--deco:url("/deco/dive-mask.7d8b4c4cc2a9cddf40ce4df5334763eed7e6f8feb0829c371c60c2693d77ce5e.svg");aspect-ratio:190/105}.deco--running-shoe{--deco:url("/deco/running-shoe.7cfe312a4b0cfbd39475ae93e4a6f5bfe76d66af23553ebce0ba15606b5dd394.svg");aspect-ratio:220/130}.deco--fish{--deco:url("/deco/fish.1f1bba39aeb0d08241633e1d9d8e6c0785463716b296233d680c57aa92392796.svg");aspect-ratio:210/120}.deco--airplane{--deco:url("/deco/airplane.37b67ede0bcf0462d85a1de15dbfb650766e5a7293152a8ee2d7dfd9eb488726.svg");aspect-ratio:220/150}.deco--compass{--deco:url("/deco/compass.2c10d2ca6c688e4898f5fb838eb131c4516a7da6c1c9634e4c7aea7871362f5d.svg");aspect-ratio:160/170}.deco--passport{--deco:url("/deco/passport.6e63ae3784e3a58062f4da1cef3c5765d565b7b033199027f1732533a4e3fa8f.svg");aspect-ratio:132/160}.deco--waves{--deco:url("/deco/waves.05c4da5f213424c485e59c229d68fb1e51eac9b894f5439274ea600ecad09c2a.svg");aspect-ratio:220/110}.deco--bird{--deco:url("/deco/bird.7af7698d6545067a837071e20a861c7c2d0061f47397a5d405237157a63be68f.svg");aspect-ratio:210/120}.deco--toothbrush{--deco:url("/deco/toothbrush.ca2ae7d182fb4b40a2edfe4287d20f68eb8263577187c452f9a0462d53ef71ae.svg");aspect-ratio:220/90}.deco--palm-tree{--deco:url("/deco/palm-tree.0e1603a44251c1f44b8389090a0aed8a8e43211721b340886f9f2eec7644cd40.svg");aspect-ratio:170/200}.deco--sun{--deco:url("/deco/sun.275f15527aaccdbbc27bea220b2f14e7146b30a6107ce395d2d7b370dc086c09.svg");aspect-ratio:1}.deco--mountain{--deco:url("/deco/mountain.174dbb101e402521b771103d18d95f33974d5396268ca76e2a6c10b74c05d45b.svg");aspect-ratio:230/130}.deco--tent{--deco:url("/deco/tent.ea3bbb2e21389353189808469237cfe68af00ec89ff909ab58f525acde4d5c9e.svg");aspect-ratio:220/150}.deco--coffee-cup{--deco:url("/deco/coffee-cup.3df69ba06b2b8469259be62a4f4b2d6b41766e1604b4ca957feb1e544b710768.svg");aspect-ratio:1}.deco--poster{--deco:url("/deco/poster.bf395bf5e2fcc2696eab9590d81b654ca7fcc3c865254525b3a534247ade8fa7.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)}.navbar__theme,.navbar__toggle{min-width:44px;min-height:44px;padding:0}.navbar__brand{min-height:44px}.lang-switch a{padding:.62rem .6rem}.share__btn{width:40px;height:40px}.back-link,.more-link,.journey__more,.res-link,.res-cite,.entry__project,.door__links a,.footer__links a,.travel__jump,.note-toc a{padding-top:6px;padding-bottom:6px}.res-links{gap:.2rem 1rem}.footer__links{gap:0 1.2rem}.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}}