:root{font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif;color:#3f4657;background:#fdfbf8;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #4d5772;--navy-2: #626d8c;--blue: #8da8c8;--sky: #f0f4f8;--teal: #568f8b;--ink: #3f4657;--muted: #73798a;--line: #e8e2e4;--paper: #fffefd;--warm: #fbf3ef;--pink: #e9a8b3;--pink-soft: #fbecef;--lavender: #b7b9d9;--lavender-soft: #f1f0f8;--shadow: 0 22px 65px rgba(88, 78, 101, .1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#fdfbf8;color:var(--ink);line-height:1.75;letter-spacing:.01em}section[id]{scroll-margin-top:94px}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{max-width:100%;display:block}.site-shell{min-height:100vh;overflow:hidden}.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.section-pad{padding:96px 0}.section-muted{background:linear-gradient(180deg,#fcf7f5,#f8f6fa)}.section-dark{background:linear-gradient(135deg,#515c78,#687791 58%,#708f91);color:#fff}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(232,226,228,.88);background:#fffdfbeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#7885a4,#6fa7a1);color:#fff;font-weight:800;letter-spacing:.05em;box-shadow:0 12px 30px #616c8929}.brand strong{display:block;font-size:15px;letter-spacing:.03em}.brand small{display:block;margin-top:3px;font-size:10px;color:var(--muted);letter-spacing:.08em}.desktop-nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700;color:#686f82}.desktop-nav a{transition:.2s ease}.desktop-nav a:hover{color:var(--teal)}.hero{position:relative;background:radial-gradient(circle at 84% 15%,rgba(183,185,217,.26),transparent 27%),radial-gradient(circle at 4% 88%,rgba(233,168,179,.2),transparent 28%),linear-gradient(180deg,#fffefd,#fcf8f7)}.hero:after{content:"";position:absolute;inset:auto -110px -140px auto;width:420px;height:420px;border:1px solid rgba(183,185,217,.23);border-radius:50%}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center;position:relative;z-index:1}.hero-badge,.project-kicker{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--teal);font-weight:800;font-size:13px;letter-spacing:.05em}.hero-badge{padding:9px 14px;background:#fbecefd1;border:1px solid #f0d8dd;border-radius:999px}.hero h1{margin:25px 0 21px;max-width:720px;font-family:Hiragino Maru Gothic ProN,Yu Gothic UI,Noto Sans JP,sans-serif;font-size:clamp(41px,4.75vw,61px);line-height:1.24;letter-spacing:-.035em;color:var(--navy);text-wrap:pretty;word-break:keep-all;overflow-wrap:anywhere}.hero h1 span{color:var(--teal)}.hero-lead{max-width:720px;margin:0;color:#676f80;font-size:16px;line-height:1.95}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}.button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 22px;border-radius:16px;font-weight:800;font-size:14px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg,#65718f,#668f91);color:#fff;box-shadow:0 14px 34px #58638033}.button-primary:hover{background:linear-gradient(135deg,#586580,#56817f)}.button-secondary{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:0 10px 28px #16324f14}.button-secondary:hover{border-color:#9ec3d4}.button-light{background:#fff;color:var(--navy);box-shadow:0 14px 34px #02131f33}.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:42px}.hero-facts div{padding:17px 14px;border:1px solid var(--line);border-radius:18px;background:#fffefdd6;box-shadow:0 9px 25px #5c53670b}.hero-facts strong{display:block;color:var(--navy);font-size:16px}.hero-facts span{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.hero-panel{background:#fffefdf0;border:1px solid #ebe2e5;border-radius:30px;padding:16px 24px 26px;box-shadow:var(--shadow)}.portrait-wrap{position:relative;overflow:hidden;margin:0 -8px 18px;aspect-ratio:1.45 / 1;border-radius:23px;background:linear-gradient(145deg,var(--pink-soft),var(--lavender-soft))}.portrait-image{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 31%}.portrait-decoration{position:absolute;z-index:2;border-radius:50%;pointer-events:none}.portrait-decoration-one{width:52px;height:52px;top:18px;right:18px;border:1px solid rgba(255,255,255,.85)}.portrait-decoration-two{width:17px;height:17px;bottom:20px;left:20px;background:#ffffffa6}.identity-card{display:flex;align-items:center;gap:13px;padding:0 2px 18px;border-bottom:1px solid var(--line)}.identity-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#7f8dab,#70a29e)}.identity-label{margin:0 0 4px;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.identity-card h2{margin:0;font-size:22px}.identity-card p:last-child{margin:5px 0 0;color:var(--muted);font-size:12px}.panel-title{display:flex;align-items:center;gap:9px;margin:20px 0 13px;font-weight:800}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.check-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;color:#445e72}.check-list svg{flex:0 0 auto;margin-top:2px;color:var(--teal)}.panel-note{margin:23px 0 0;padding:15px;border-radius:14px;background:#f5f8fa;color:var(--muted);font-size:11px;line-height:1.8}.section-heading{max-width:820px;margin-bottom:38px}.eyebrow{margin:0 0 12px;color:var(--teal);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.section-heading h2,.contact-card h2{margin:0;color:var(--navy);font-family:Hiragino Maru Gothic ProN,Yu Gothic UI,Noto Sans JP,sans-serif;font-size:clamp(30px,3.5vw,44px);line-height:1.35;letter-spacing:-.025em;text-wrap:balance}.section-intro{margin:15px 0 0;max-width:760px;color:var(--muted);font-size:15px;line-height:1.85}.section-dark .eyebrow{color:#93d5d2}.section-dark .section-heading h2{color:#fff}.section-dark .section-intro{color:#cae0e9}.card{background:var(--paper);border:1px solid var(--line);border-radius:26px;box-shadow:0 16px 48px #5c536711}.profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.profile-story,.target-card{padding:34px}.card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,var(--pink-soft),var(--lavender-soft));color:var(--teal)}.card h3{margin:21px 0 13px;color:var(--navy);font-size:22px}.profile-story p,.target-card p{color:#5a7182;line-height:1.95}.role-list{display:grid;gap:12px;margin-top:18px}.role-item{display:flex;gap:10px;padding:14px;border-radius:16px;background:#faf7f7}.role-item svg{flex:0 0 auto;color:var(--teal);margin-top:2px}.role-item strong{display:block;font-size:14px}.role-item span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.skill-card{padding:30px}.skill-card p{color:var(--muted);line-height:1.85;font-size:14px}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tag{display:inline-flex;align-items:center;min-height:29px;padding:5px 10px;border:1px solid #e5dfe5;border-radius:999px;background:#faf8fb;color:#596477;font-size:11px;font-weight:800}.featured-work-section{position:relative;overflow:hidden}.featured-work-section:before{content:"";position:absolute;width:430px;height:430px;right:-170px;top:-150px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 74px #ffffff06}.featured-work-section .section-heading{margin-bottom:30px}.excel-project{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:46px;align-items:center;padding:38px;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:#fffffff7;color:var(--ink);box-shadow:0 28px 80px #03192747}.excel-visual{min-width:0}.screen-card{position:relative;margin:0;padding:10px;overflow:hidden;border:1px solid #dce7ed;border-radius:20px;background:#fff;color:var(--navy);box-shadow:0 16px 42px #14395124}.screen-card img{width:100%;border:1px solid #e3ebef;border-radius:12px}.screen-label{position:absolute;z-index:2;top:20px;left:20px;padding:6px 9px;border-radius:999px;background:#16324fe6;color:#fff;font-size:9px;font-weight:900;letter-spacing:.12em}.screen-card figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 12px;padding:12px 8px 4px}.screen-card figcaption strong{font-size:13px;color:var(--navy)}.screen-card figcaption span{font-size:10px;color:var(--muted)}.excel-sub-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(130px,.75fr);gap:14px;margin-top:14px}.screen-secondary{align-self:stretch}.work-summary-card{display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:22px;border-radius:20px;background:linear-gradient(145deg,#626e8c,#689593);color:#fff;box-shadow:0 16px 36px #16324f33}.work-summary-card>span{color:#bfe6e3;font-size:10px;font-weight:900;letter-spacing:.14em}.work-summary-card strong{display:block;margin-top:8px;font-size:28px;line-height:1}.work-summary-card p{margin:11px 0 0;color:#d7ebed;font-size:10px;line-height:1.65}.excel-detail{min-width:0}.excel-detail .project-kicker{color:var(--teal)}.excel-detail h3{margin:16px 0 15px;color:var(--navy);font-size:clamp(27px,2.6vw,37px);line-height:1.38;letter-spacing:-.025em;text-wrap:balance}.excel-lead{margin:0;color:#587083;line-height:1.9;font-size:14px}.excel-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}.excel-metrics div{padding:14px 12px;border:1px solid #dbe7ec;border-radius:14px;background:#f5f9fa}.excel-metrics strong{display:block;color:var(--navy);font-size:20px;line-height:1}.excel-metrics span{display:block;margin-top:6px;color:var(--muted);font-size:10px}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.feature-item{display:flex;align-items:flex-start;gap:11px;min-height:83px;padding:14px;border:1px solid #dbe7ec;border-radius:15px;background:#fff}.feature-icon{display:grid!important;place-items:center;flex:0 0 auto;width:35px;height:35px;margin:0!important;border-radius:11px;background:var(--sky);color:var(--teal)!important}.feature-item strong{display:block;color:var(--navy);font-size:13px}.feature-item div>span{display:block;margin-top:4px;color:#647b8b;font-size:10px;line-height:1.55}.excel-tags{margin-top:18px}.excel-tags .tag{color:#3f6175;border-color:#d7e5eb;background:#f7fafb}.project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px}.button-accent{background:var(--teal);color:#fff;box-shadow:0 13px 30px #237d793b}.button-accent:hover{background:#196c69}.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-size:13px;font-weight:800}.excel-image-link{color:var(--navy)}.light-link{color:#cdebf0}.experience-card{display:grid;grid-template-columns:auto 1fr;gap:25px;padding:36px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.experience-marker{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;color:#fff;background:linear-gradient(145deg,#7e8ba8,#72a29e)}.experience-body h3{margin:12px 0;color:var(--navy);font-size:27px}.experience-body>p:not(.project-kicker){color:var(--muted);line-height:1.95}.experience-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:20px}.experience-points span{display:inline-flex;align-items:center;gap:7px;color:#45677a;font-size:12px;font-weight:800}.experience-points svg{color:var(--teal)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{display:flex;flex-direction:column;padding:28px}.project-card-top{display:flex;align-items:center;gap:12px}.project-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,var(--pink-soft),var(--lavender-soft));color:var(--teal)}.project-category{color:var(--teal);font-size:11px;font-weight:900}.project-card h3{font-size:20px}.project-card>p{margin:0;color:var(--muted);line-height:1.8;font-size:13px}.project-card ul{list-style:none;display:grid;gap:8px;padding:0;margin:20px 0 0}.project-card li{display:flex;align-items:flex-start;gap:8px;color:#526c7d;font-size:12px;line-height:1.6}.project-card li svg{flex:0 0 auto;color:var(--teal);margin-top:2px}.project-link{display:inline-flex;align-items:center;gap:7px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--navy);font-size:13px;font-weight:900}.qualification-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}.qualification-card{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.qualification-item{display:flex;align-items:center;gap:10px;padding:14px;border-radius:15px;background:#faf7f8;font-size:12px;font-weight:800;color:#596477}.qualification-item svg{color:var(--teal);flex:0 0 auto}.contact-section{background:#fffdfb}.contact-card{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;padding:48px;border-radius:30px;background:linear-gradient(135deg,#fbefef,#f2f1f8 55%,#f4f8f7);border:1px solid #e8dfe3;box-shadow:var(--shadow)}.contact-card p:not(.eyebrow){max-width:680px;color:var(--muted);line-height:1.9}.contact-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px}.contact-meta span{display:inline-flex;align-items:center;gap:7px;color:#496a7c;font-size:12px;font-weight:800}.contact-actions{display:grid;gap:12px}.contact-actions .text-link{justify-content:center;margin-top:5px}footer{padding:26px 0;background:#535d77;color:#d9deea}.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:11px}.footer-inner p{margin:0}.footer-inner a{font-weight:800;color:#fff}@media(max-width:980px){.desktop-nav{display:none}.hero-grid,.profile-grid,.excel-project,.qualification-layout,.contact-card{grid-template-columns:1fr}.excel-project{padding:30px}.excel-detail{max-width:760px}.hero-panel{max-width:620px}.hero-facts{grid-template-columns:repeat(2,1fr)}.excel-visual{max-width:820px}.project-grid{grid-template-columns:1fr}.qualification-card{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.container{width:min(100% - 28px,1160px)}.section-pad{padding:74px 0}.header-inner{height:69px}.brand small{display:none}.hero h1{font-size:clamp(36px,10.5vw,43px);line-height:1.28}.hero-lead{font-size:15px}.hero-actions,.project-actions{flex-direction:column;align-items:stretch}.button{width:100%}.hero-facts,.skills-grid,.feature-list,.qualification-card{grid-template-columns:1fr}.hero-panel{padding:13px 18px 23px}.profile-story,.target-card,.skill-card,.project-card{padding:24px}.portrait-wrap{margin:0 -5px 17px;aspect-ratio:1.3 / 1}.excel-project{padding:18px;border-radius:22px;gap:28px}.excel-sub-row{grid-template-columns:1fr}.work-summary-card{min-height:122px}.feature-list,.excel-metrics{grid-template-columns:1fr}.screen-label{display:none}.experience-card{grid-template-columns:1fr;padding:25px}.contact-card{padding:27px}.footer-inner{flex-direction:column}}
