body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--brand:#7ab7bc;--brand-dark:#5a9aa0;--surface:#f7f9fb;--text:#222;--text-inverse:#fff;--card:#fff;--shadow:0 10px 30px #00000014;--radius:14px}body,html{background:#f7f9fb;background:var(--surface);color:#222;color:var(--text);font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}.App{height:100vh;overflow-y:scroll;scroll-behavior:smooth;scroll-snap-type:y mandatory}.section{align-items:center;color:#222;color:var(--text);display:flex;flex-direction:column;font-size:calc(10px + 2vmin);gap:16px;height:100vh;justify-content:center;padding:24px;scroll-snap-align:start}.top{background:radial-gradient(1200px 600px at 80% -10%,#7ab7bc40,#7ab7bc00 60%),linear-gradient(180deg,#fff,#eef6f7)}.about{background-color:#7ab7bc;background-color:var(--brand);color:#fff;color:var(--text-inverse);font-size:16px}.about h2{font-size:1.6rem;margin-bottom:8px}.timeline{width:min(720px,92vw)}.timeline li{gap:12px;grid-template-columns:120px 1fr;padding:12px 0}.timeline li:before{left:110px}.timeline .time{font-size:.95rem}.timeline .title{font-size:1rem}.timeline .desc{font-size:.95rem}.timeline{list-style:none;margin:8px 0 0;padding:0;width:min(760px,92vw)}.timeline li{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:150px 1fr;padding:16px 0;position:relative}.timeline li:before{background:#ffffff80;bottom:0;content:"";left:140px;position:absolute;top:0;width:2px}.timeline .time{font-weight:600;opacity:.95}.timeline .content{background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff26;padding:12px 14px}.timeline .title{font-weight:700;margin-bottom:4px}.timeline .desc{opacity:.95}@media (max-width:768px){.timeline li{grid-template-columns:1fr}.timeline li:before{display:none}.timeline .time{margin-bottom:6px}}.skills{background-color:#fff}.skills-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);width:min(1000px,92vw)}.skill-card{background:#fff;background:var(--card);border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #00000014;box-shadow:var(--shadow);padding:14px}.skill-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.skill-name{font-weight:700}.skill-years{font-feature-settings:"tnum";background:#7ab7bc26;border-radius:999px;color:#5a9aa0;color:var(--brand-dark);font-variant-numeric:tabular-nums;opacity:.85;padding:2px 8px}.skill-desc{font-size:.95rem;opacity:.9}@media (max-width:1024px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.skills-grid{grid-template-columns:1fr}}.works{background-color:#7ab7bc;background-color:var(--brand);color:#fff;color:var(--text-inverse)}.works-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);width:min(1100px,92vw)}.work-card{background:#ffffff14;border:1px solid #ffffff2e;border-radius:14px;border-radius:var(--radius);box-shadow:inset 0 1px 0 #ffffff26;padding:14px}.work-title{font-weight:700;margin-bottom:8px}.work-meta{display:flex;flex-wrap:wrap;gap:8px}.badge{border-radius:999px;display:inline-block;font-size:.9rem;padding:4px 10px}.badge.tech{background:#0003}.badge.scope{background:#ffffff2e}@media (max-width:1024px){.works-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.works-grid{grid-template-columns:1fr}}.contact{background:#f0f4f6}.contact-links{display:flex;gap:14px}.contact-link{align-items:center;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000014;box-shadow:var(--shadow);color:inherit;display:inline-flex;gap:8px;padding:10px 14px;text-decoration:none}.contact-link svg{height:20px;width:20px}.contact-link:hover{transform:translateY(-1px)}.profile-image{border:6px solid #7ab7bc;border:6px solid var(--brand);border-radius:24px;box-shadow:0 10px 30px #00000014;box-shadow:var(--shadow);height:180px;object-fit:cover;width:180px}.header{-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:50}.nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1100px;padding:16px 24px}.logo{font-weight:700}.links a,.logo{color:#222;color:var(--text);text-decoration:none}.links a{margin-left:16px;opacity:.9}.links .nav-cta{background:#7ab7bc;background:var(--brand);border-radius:999px;color:#fff;color:var(--text-inverse);padding:8px 14px}.cta{display:flex;gap:12px}.button{border-radius:12px;display:inline-block;padding:12px 18px;text-decoration:none;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.button.primary{background:#7ab7bc;background:var(--brand);color:#fff;color:var(--text-inverse)}.button.primary,.button.secondary{box-shadow:0 10px 30px #00000014;box-shadow:var(--shadow)}.button.secondary{background:#fff;color:#222;color:var(--text)}.button:hover{transform:translateY(-1px)}.footer{background:#00000005;padding:16px;text-align:center}.personal{background:#fff}.personal-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);width:min(1100px,92vw)}.personal-card{align-items:center;background:#fff;background:var(--card);border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #00000014;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;padding:14px}.personal-logo-wrap{display:grid;height:120px;place-items:center;width:120px}.personal-logo{max-height:100%;max-width:100%;object-fit:contain}.personal-title{font-weight:700}.personal-desc{font-size:.95rem;opacity:.9;text-align:center}.personal-actions{margin-top:4px}@media (max-width:1024px){.personal-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.personal-grid{grid-template-columns:1fr}}.legal-container{background:#fff;border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #00000014;box-shadow:var(--shadow);margin:48px auto;padding:24px 28px;width:min(860px,92vw)}.legal-container h1{margin:0 0 8px}.legal-container .lead{margin-bottom:18px;opacity:.9}.legal-container h2{font-size:1.15rem;margin-bottom:8px;margin-top:22px}.legal-container p{line-height:1.8}.legal-container ul{margin:8px 0 12px;padding-left:20px}.legal-container li{margin:4px 0}.legal-note{font-size:.9rem;opacity:.8}@media (max-width:640px){.legal-container{margin:32px auto;padding:18px 16px}}@media (max-width:768px){.nav .links{display:none}.section{gap:12px;padding:16px}.profile-image{height:140px;width:140px}.about{font-size:14px}.about h2{font-size:1.4rem}.timeline{width:min(680px,94vw)}.timeline li{padding:10px 0}.timeline .time{font-size:.9rem}.timeline .title{font-size:.95rem}.timeline .desc{font-size:.9rem}}@media (max-width:640px){.section{height:auto;min-height:100svh}.cta{flex-direction:row;width:100%}.cta .button{text-align:center;width:80%}.contact-links{align-items:stretch;flex-direction:column}.contact-link{box-sizing:border-box;justify-content:center;width:100%}.works-grid{gap:12px;grid-template-columns:1fr}.work-card{padding:12px}.badge{font-size:.85rem;padding:3px 8px;white-space:normal;word-break:break-word}.work-meta{gap:6px}}
/*# sourceMappingURL=main.86e66c99.css.map*/