:root{--paper:#f8f8f5;--ink:#303633;--sub:#626b66;--line:#d9ddd7;--accent:#526b60;--panel:#eff1ec;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif}*{box-sizing:border-box}html{scroll-padding-top:24px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#dce5dc}.svg-defs,.brand>svg,.hero-kicker svg,.hero-art,.curiosity-tabs svg,.thought-flower,.section-dot,.section-doodle,.footer-message svg{display:none}.header-inner,.page,.footer{width:calc(100% - 80px);max-width:1120px;margin-inline:auto}.header-inner{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:78px;display:flex}.brand-name{letter-spacing:.06em;white-space:nowrap;align-items:baseline;gap:17px;font-size:18px;font-weight:600;display:flex}.brand-name>span{color:var(--sub);letter-spacing:.02em;font-size:11px;font-weight:400}.header nav{align-items:center;gap:24px;font-size:12px;display:flex}.header nav a{white-space:nowrap;padding:15px 0}.header nav a:hover{color:var(--accent);text-underline-offset:6px;text-decoration:underline}.header nav a span{margin-left:3px}.profile{padding:33px 0 28px}.hero-copy{grid-template-columns:minmax(0,1fr) 230px;align-items:start;column-gap:64px;display:grid}.hero-kicker{color:var(--accent);letter-spacing:.04em;grid-column:1;margin-top:8px;font-size:12px;line-height:1.8}.hero-copy h1{letter-spacing:-.025em;grid-column:1;margin-top:11px;font-size:clamp(28px,3vw,39px);font-weight:500;line-height:1.55}.ai-word{color:var(--accent)}.hero-text{color:var(--sub);grid-column:1;margin-top:17px;font-size:14px;line-height:2}.profile-person{flex-direction:column;grid-area:1/2/4;align-items:flex-start;gap:13px;display:flex}.portrait-frame{background:#e5e7e2;border-radius:2px;width:174px;height:184px;overflow:hidden}.portrait{object-fit:cover;object-position:50% 25%;transform-origin:50% 27%;width:100%;height:100%;display:block;transform:scale(1.75)}.identity h2{letter-spacing:.03em;align-items:baseline;gap:11px;font-size:22px;font-weight:500;line-height:1.5;display:flex}.identity h2>span{letter-spacing:.02em;color:var(--sub);font-family:Arial,sans-serif;font-size:11px;font-weight:400}.identity p{color:var(--sub);white-space:nowrap;margin-top:4px;font-size:10px;line-height:1.8}.curiosity{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:365px minmax(0,1fr);align-items:center;column-gap:27px;margin-bottom:28px;padding:13px 0 15px;display:grid}.curiosity-tabs{align-items:center;gap:22px;display:flex}.curiosity-tabs button{white-space:nowrap;cursor:pointer;color:var(--sub);background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 0;font-size:13px;line-height:1.7;transition:color .15s,border-color .15s}.curiosity-tabs button:hover{color:var(--ink)}.curiosity-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.curiosity-panel{border-left:1px solid var(--line);align-items:center;min-height:42px;padding-left:27px;display:flex}.curiosity-panel p{white-space:pre-line;color:var(--sub);font-size:12px;line-height:1.9}.thought-break{display:none}.overview-grid{grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.professional,.sidebar{min-width:0}.section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.section-title h2{letter-spacing:.01em;font-size:20px;font-weight:600;line-height:1.6}.section-title>span{color:var(--sub);white-space:nowrap;font-size:10px}.work-intro,.career-intro{color:var(--sub);margin:12px 0 9px;font-size:13px;line-height:1.95}.career-intro strong{color:var(--ink);font-weight:500}.role-columns,.role-row{grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);gap:20px;display:grid}.role-columns{color:var(--sub);border-bottom:1px solid var(--line);padding:9px 0 8px;font-size:10px}.role-row{border-bottom:1px solid var(--line);align-items:center;min-height:82px;padding:16px 0}.role-row:last-child{border-bottom:0}.role-row dt{font-size:14px;font-weight:600;line-height:1.7}.role-row dt small{color:var(--sub);margin-top:3px;font-size:10px;font-weight:400;display:block}.role-row dd{color:var(--sub);font-size:13px;line-height:1.85}.role-name{color:var(--ink);font-weight:600}.role-name+p{margin-top:3px;font-size:12px}.wide-only{display:none}.career{margin-top:23px}.career-list{padding:0;list-style:none}.career-list li{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px;padding:10px 0;display:grid}.career-list li:last-child{border-bottom:0}.career-years{font-variant-numeric:tabular-nums;color:var(--sub);white-space:nowrap;letter-spacing:.025em;font-family:Arial,sans-serif;font-size:11px}.career-list h3{font-size:13px;font-weight:600;line-height:1.7}.career-list p{color:var(--sub);margin-top:2px;font-size:12px;line-height:1.8}.career-note{color:var(--sub);margin-left:7px;font-size:10px;font-weight:400;display:inline-block}.sidebar{background:var(--panel);border-radius:2px;padding:21px 23px}.sidebar>section+section{margin-top:24px}.sidebar .section-title{padding-bottom:10px}.sidebar .section-title h2{font-size:17px}.experience-list{padding:0;list-style:none}.experience-list li{margin-top:13px}.experience-list h3{font-size:13px;font-weight:600;line-height:1.75}.experience-list p{color:var(--sub);margin-top:2px;font-size:13px;line-height:1.95}.activity-list>div{margin-top:13px}.activity-list dt{font-size:13px;font-weight:600;line-height:1.8}.activity-list dd{color:var(--sub);margin-top:3px;font-size:13px;line-height:1.95}.year{color:var(--sub);margin-left:5px;font-size:10px;font-weight:400;display:inline-block}.personal-topic{margin-top:13px}.personal-topic h3{font-size:13px;font-weight:600;line-height:1.8}.personal-topic p,.personal-topic ul{color:var(--sub);margin-top:3px;font-size:13px;line-height:1.95}.personal-topic ul{padding-left:17px}.hobby-tags{flex-wrap:wrap;gap:5px 12px;margin:5px 0;display:flex}.hobby-tags span{color:var(--accent);font-size:12px;line-height:1.8}.articles{margin-top:31px}.articles>.section-title{padding-bottom:11px}.article-list{grid-template-columns:1fr 1fr;column-gap:30px;display:grid}.article-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 20px;align-items:start;gap:8px 12px;padding:19px 0 20px;transition:color .15s;display:grid}.article-media{color:var(--accent);grid-column:1;align-items:baseline;gap:12px;font-size:12px;font-weight:600;line-height:1.7;display:flex}.article-media small{color:var(--sub);font-size:10px;font-weight:400}.article-description{grid-column:1/-1}.article-description h3{font-size:15px;font-weight:600;line-height:1.85}.article-description p{color:var(--sub);margin-top:6px;font-size:12px;line-height:1.95}.arrow{color:var(--accent);grid-area:1/2;font-family:Arial,sans-serif;font-size:21px;line-height:1;transition:transform .15s}.article-row:hover .article-description h3{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.article-row:hover .arrow{transform:translate(2px,-2px)}.footer{padding:22px 0 24px}.footer-message{margin-bottom:18px}.footer-message p{color:var(--sub);font-size:12px;line-height:1.8}.footer-details{color:var(--sub);align-items:center;gap:20px;font-size:10px;display:flex}.footer-details>span:nth-child(2){margin-left:auto}.footer a:hover{text-underline-offset:4px;text-decoration:underline}.sr-only,.skip-link:not(:focus){clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:10;background:var(--ink);color:#fff;padding:12px;position:fixed;top:8px;left:8px}@media (max-width:1000px){.header-inner,.page,.footer{width:calc(100% - 56px)}.header nav{gap:17px;font-size:11px}.brand-name{gap:11px;font-size:17px}.brand-name>span{font-size:10px}.hero-copy{grid-template-columns:minmax(0,1fr) 215px;column-gap:36px}.hero-copy h1{font-size:32px}.hero-text{font-size:13px}.curiosity{grid-template-columns:330px 1fr;gap:20px}.curiosity-tabs{gap:20px}.curiosity-panel{padding-left:20px}.curiosity-panel p{font-size:11px}.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:28px}.sidebar{padding:19px}.sidebar .section-title h2{font-size:15px}.role-columns,.role-row{gap:15px}.role-row dt{font-size:13px}.role-row dd{font-size:12px}.role-name+p{font-size:11px}.career-list li{grid-template-columns:78px minmax(0,1fr);gap:10px}.career-note{margin-left:0;display:block}.career-list h3{font-size:12px}.career-list p{font-size:11px}.article-description h3{font-size:14px}}@media (max-width:800px){.header-inner{min-height:73px}.brand-name{font-size:17px;display:block}.brand-name>span{margin-top:3px;font-size:9px;display:block}.header nav{gap:15px;font-size:10px}.profile{padding-top:26px}.hero-copy{grid-template-columns:minmax(0,1fr) 175px;column-gap:25px}.hero-copy h1{font-size:28px}.hero-text{font-size:12px}.hero-kicker{font-size:11px}.portrait-frame{width:152px;height:163px}.identity h2{font-size:20px;display:block}.identity h2>span{margin-top:2px;font-size:10px;display:block}.identity p{white-space:normal;font-size:9px}.curiosity{grid-template-columns:295px minmax(0,1fr);column-gap:18px}.curiosity-tabs{gap:18px}.curiosity-tabs button{font-size:12px}.curiosity-panel{padding-left:18px}.overview-grid{display:block}.role-columns,.role-row{grid-template-columns:1fr 1.5fr;gap:25px}.role-row{min-height:76px;padding:15px 0}.role-row dt{font-size:14px}.role-row dd{font-size:13px}.role-name+p{font-size:12px}.career-list li{grid-template-columns:95px minmax(0,1fr);gap:15px}.career-list h3{font-size:14px}.career-list p{font-size:12px}.career-note{margin-left:8px;display:inline-block}.sidebar{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;padding:21px 23px;display:grid}.sidebar>section+section{margin-top:0}.sidebar>section:last-child{grid-column:1/-1}.sidebar .section-title h2{font-size:17px}.personal{grid-template-columns:1.5fr 1fr;column-gap:24px;display:grid}.personal>.section-title{grid-column:1/-1}.personal-topic:nth-child(2){grid-row:2/4}.article-list{column-gap:23px}}@media (max-width:600px){.header-inner,.page,.footer{width:calc(100% - 36px)}.header-inner{min-height:0;padding-top:17px;display:block}.brand-name{align-items:baseline;gap:14px;font-size:17px;display:flex}.brand-name>span{margin:0;font-size:10px}.header nav{scrollbar-width:none;gap:22px;max-width:100%;margin-top:5px;font-size:10px;overflow-x:auto}.header nav::-webkit-scrollbar{display:none}.header nav a{padding:12px 0}.profile{padding:25px 0 21px}.hero-copy{display:block;position:relative}.hero-kicker{margin-top:0;font-size:11px}.hero-copy h1{letter-spacing:-.04em;margin-top:9px;font-size:clamp(25px,7vw,36px);line-height:1.65}.hero-text{margin-top:13px;font-size:13px;line-height:1.95}.profile-person{flex-direction:row;align-items:center;gap:15px;margin-top:20px}.portrait-frame{flex-shrink:0;width:79px;height:88px}.identity h2{gap:12px;font-size:21px;display:flex}.identity h2>span{margin:0;font-size:10px;display:inline}.identity p{white-space:normal;max-width:205px;margin-top:5px;font-size:10px;line-height:1.85}.curiosity{margin-bottom:23px;padding:7px 0 13px;display:block}.curiosity-tabs{gap:24px}.curiosity-tabs button{padding:8px 0;font-size:12px}.curiosity-panel{border:0;min-height:0;padding:10px 0 0}.curiosity-panel p{font-size:11px;line-height:1.85}.section-title{gap:8px;padding-bottom:9px}.section-title h2{font-size:18px}.section-title>span{font-size:9px}.work-intro,.career-intro{margin:11px 0 6px;font-size:13px;line-height:1.95}.role-columns{font-size:9px}.role-columns,.role-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}.role-row{align-items:start;min-height:78px;padding:14px 0}.role-row dt{overflow-wrap:anywhere;font-size:13px;line-height:1.9}.role-row dt small{font-size:9px}.role-row dd{font-size:13px;line-height:1.9}.role-name+p{margin-top:4px;font-size:12px}.career{margin-top:21px}.career .section-title>span{display:none}.career-list li{grid-template-columns:70px minmax(0,1fr);gap:10px;padding:10px 0}.career-years{letter-spacing:0;font-size:10px}.career-list h3{font-size:12px;line-height:1.85}.career-list p{font-size:11px;line-height:1.85}.career-note{margin-left:0;font-size:9px;display:block}.sidebar{margin-top:22px;padding:18px;display:block}.sidebar>section+section{margin-top:24px}.sidebar .section-title h2{font-size:17px}.personal{display:block}.personal-topic{margin-top:12px}.articles{margin-top:24px}.article-list{grid-template-columns:1fr}.article-row{padding:17px 0 19px}.article-description h3{font-size:14px;line-height:1.85}.article-description p{font-size:13px;line-height:1.9}.article-media{gap:11px;font-size:12px}.article-media small{font-size:9px}.footer{padding:20px 0}.footer-message{margin-bottom:15px}.footer-message p{font-size:11px}.footer-details{gap:10px;font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{@page{size:A4;margin:13mm}body{color:#222;background:#fff}.header,.curiosity,.footer-message{display:none}.page,.footer{width:100%;max-width:none}.profile{padding:0 0 16px}.hero-copy{grid-template-columns:1fr 150px;gap:20px}.hero-copy h1{font-size:23px;line-height:1.5}.hero-text{font-size:10px}.hero-kicker{font-size:9px}.portrait-frame{width:65px;height:74px}.profile-person{flex-direction:column;gap:8px}.identity h2{font-size:16px}.identity p{white-space:normal;font-size:8px}.overview-grid{grid-template-columns:1.7fr 1fr;gap:18px;display:grid}.sidebar{background:#f5f5f2;margin:0;padding:12px;display:block}.sidebar>section+section{margin-top:15px}.section-title h2{font-size:14px}.section-title>span{font-size:8px}.sidebar .section-title h2{font-size:12px}.work-intro,.career-intro{font-size:9px}.role-row{break-inside:avoid;min-height:0;padding:8px 0}.role-row dt,.role-row dd{font-size:9px}.role-name+p{font-size:8px}.career{margin-top:14px}.career-list li{break-inside:avoid;grid-template-columns:55px 1fr;gap:8px;padding:6px 0}.career-years{font-size:8px}.career-list h3{font-size:9px}.career-list p,.career-note{font-size:8px}.experience-list li,.activity-list>div,.personal-topic{margin-top:8px}.experience-list h3,.activity-list dt,.personal-topic h3{font-size:9px}.experience-list p,.activity-list dd,.personal-topic p,.personal-topic ul,.hobby-tags span{font-size:8px}.personal{display:block}.articles{margin-top:17px}.article-list{gap:10px}.article-row{break-inside:avoid;padding:10px 0}.article-description h3{font-size:10px}.article-description p,.article-media{font-size:8px}.article-media small{font-size:7px}.footer-details{font-size:8px}}.profile{border-bottom:1px solid var(--line);margin-bottom:26px;padding:22px 0 23px}.hero-copy{display:block}.profile-person{flex-direction:row;align-items:center;gap:22px;margin:0;display:flex}.portrait-frame{flex-shrink:0;width:91px;height:100px}.profile .identity h1{letter-spacing:.03em;align-items:baseline;gap:16px;margin:0;font-size:28px;font-weight:500;line-height:1.6;display:flex}.profile .identity h1>span{letter-spacing:.02em;color:var(--sub);font-family:Arial,sans-serif;font-size:12px;font-weight:400}.identity p{white-space:normal;max-width:none;margin-top:5px;font-size:12px;line-height:1.85}@media (max-width:600px){.profile{margin-bottom:22px;padding:20px 0}.profile-person{gap:15px}.portrait-frame{width:73px;height:84px}.profile .identity h1{gap:12px;font-size:23px}.profile .identity h1>span{font-size:10px}.identity p{max-width:220px;font-size:10px}}@media print{.profile{margin-bottom:16px;padding:0 0 14px}.profile-person{flex-direction:row;gap:14px}.portrait-frame{width:55px;height:62px}.profile .identity h1{font-size:20px}.identity p{font-size:9px}}.domain-tags{flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0;list-style:none;display:flex}.domain-tags li{color:var(--accent);background:var(--panel);border:1px solid var(--line);white-space:nowrap;border-radius:3px;padding:3px 9px;font-size:11px;line-height:1.7}@media (max-width:600px){.domain-tags{gap:6px;margin-top:16px}.domain-tags li{padding:3px 8px;font-size:11px}}@media print{.domain-tags{gap:5px;margin-top:10px}.domain-tags li{padding:2px 6px;font-size:8px}}.contact-links{color:var(--accent);flex-wrap:wrap;align-items:center;gap:4px 18px;margin-top:8px;font-size:12px;line-height:1.8;display:flex}.contact-links a{text-underline-offset:3px;white-space:nowrap;-webkit-text-decoration:underline #b4c1b7;text-decoration:underline #b4c1b7}.contact-links a:hover{text-decoration-color:currentColor}@media (max-width:600px){.contact-links{gap:3px 14px;margin-top:7px;font-size:11px}}@media print{.contact-links{margin-top:4px;font-size:8px}}.contact-open{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #b4c1b7;text-decoration:underline #b4c1b7}.contact-open:hover{text-decoration-color:currentColor}.contact-dialog{box-sizing:border-box;border:1px solid var(--line);background:var(--paper);width:min(520px,100% - 36px);max-height:calc(100dvh - 44px);color:var(--ink);border-radius:4px;margin:auto;padding:25px 27px;overflow-y:auto;box-shadow:0 16px 70px #17221b26}.contact-dialog::backdrop{background:#25332b66}.contact-dialog-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:14px;display:flex}.contact-dialog h2{font-size:20px;font-weight:600}.contact-close{cursor:pointer;width:32px;height:32px;color:var(--sub);background:0 0;border:0;font-size:27px;line-height:1}.contact-form{flex-direction:column;gap:16px;display:flex}.contact-form label{flex-direction:column;gap:7px;font-size:13px;display:flex}.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #bbc4bc;border-radius:3px;padding:9px 11px;font-size:16px;line-height:1.6}.contact-form textarea{resize:vertical;min-height:140px}:is(.contact-form input:focus-visible,.contact-form textarea:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.contact-submit{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:3px;align-self:flex-start;padding:10px 24px;font-size:13px}.contact-submit:disabled{opacity:.5;cursor:default}.contact-status{color:#8e3a2f;font-size:13px;line-height:1.9}.contact-status:empty{display:none}.contact-status.is-sent{color:var(--accent)}.contact-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (max-width:600px){.contact-dialog{padding:21px 20px}.contact-dialog-heading{margin-bottom:17px}.contact-form{gap:15px}}@media print{.contact-open,.contact-dialog{display:none}}
