:root{color:#18181b;background:#fff;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.app{min-height:100vh;background:#fff}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgb(228 228 231 / .85);background:#ffffffeb;backdrop-filter:blur(12px)}.nav-inner,.footer-inner,.container,.section,.link-stack{width:min(100% - 48px,1180px);margin:0 auto}.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px}.brand{color:#27272a;font-size:.82rem;font-weight:700;letter-spacing:.2em}.nav-links{display:flex;gap:26px}.nav-links a{color:#5f5f66;font-size:.9rem;transition:color .18s ease}.nav-links a:hover,.nav-links a.active{color:#111113}.home-hero,.page-hero{border-bottom:1px solid #e4e4e7;background:linear-gradient(180deg,#fafafae6,#fff),radial-gradient(circle at top left,rgb(6 95 70 / .08),transparent 38%)}.home-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;width:min(100% - 48px,1180px);margin:0 auto;padding:72px 0}.eyebrow{margin:0;color:#047857;font-size:.78rem;font-weight:700;letter-spacing:.24em}.hero-copy h1{margin:18px 0 0;color:#111113;font-size:clamp(3rem,6vw,5.4rem);font-weight:700;line-height:1.05}.hero-lead{max-width:660px;margin:28px 0 0;color:#3f3f46;font-size:1.55rem;line-height:1.65}.hero-role{margin:18px 0 0;color:#52525b;font-size:1.05rem;font-weight:600}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;padding:0 24px;font-size:.93rem;font-weight:700;transition:border-color .18s ease,background .18s ease,color .18s ease}.button.primary{border:1px solid #18181b;background:#18181b;color:#fff}.button.primary:hover{background:#3f3f46}.button.secondary{border:1px solid #d4d4d8;color:#27272a}.button.secondary:hover{border-color:#71717a}.hero-photo,.profile-photo,.project-photo{overflow:hidden;border:1px solid #e4e4e7;border-radius:28px;background:#fff;box-shadow:0 18px 55px #18181b14}.hero-photo img,.profile-photo img{width:100%;height:530px;object-fit:cover}.hero-photo img{object-position:center 28%}.profile-photo img{height:500px;object-position:center 18%;transform:scale(1.08);transform-origin:center 18%}.section{padding:72px 0}.section-muted{width:100%;max-width:none;border-top:1px solid #e4e4e7;border-bottom:1px solid #e4e4e7;background:#fafafa}.narrow{max-width:820px}.intro-text{margin-top:28px;color:#52525b;font-size:1.08rem;line-height:1.95}.intro-text p{margin:0 0 18px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.value-card,.feature-card,.work-card,.contact-card{border:1px solid #e4e4e7;background:#fff;box-shadow:0 12px 34px #18181b0d}.value-card{border-radius:22px;padding:28px}.value-card h2,.split h2,.work-card h2,.project-layout h2{margin:0;color:#18181b;font-size:1.45rem}.value-card p,.work-card p,.project-copy,.closing-text{color:#5f5f66;line-height:1.8}.link-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}.feature-card{display:grid;grid-template-rows:220px 1fr;overflow:hidden;border-radius:28px;height:100%}.feature-image{min-height:0;height:220px}.feature-image img,.work-card>img,.gallery-item img,.project-photo img{width:100%;height:100%;object-fit:cover}.feature-image-profile img{object-position:center 22%}.feature-body{display:flex;flex-direction:column;padding:28px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{border-radius:999px;background:#f4f4f5;color:#5f5f66;padding:7px 12px;font-size:.78rem;font-weight:700}.feature-body h3{margin:24px 0 0;color:#18181b;font-size:2rem}.feature-body p{margin:18px 0 0;color:#5f5f66;line-height:1.8;white-space:pre-line}.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:24px;color:#047857;font-size:.92rem;font-weight:700}.text-link:hover{color:#059669}.site-footer{border-top:1px solid #e4e4e7;background:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0;color:#71717a;font-size:.9rem}.footer-inner p{margin:0}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer-links a:hover{color:#27272a}.page-hero-inner{width:min(100% - 48px,900px);margin:0 auto;padding:76px 0}.page-hero h1{margin:18px 0 0;color:#18181b;font-size:clamp(2.5rem,5vw,4rem);line-height:1.15}.lead{max-width:780px;margin:24px 0 0;color:#5f5f66;font-size:1.08rem;line-height:1.9}.page-hero-action{margin-top:28px}.split,.profile-layout,.project-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px}.split .tag-list{margin-top:24px}.sns-block{margin-top:42px}.sns-block h3,.bio h3{margin:0 0 16px;color:#18181b}.social-links{display:flex;flex-wrap:wrap;gap:10px}.social-links a{border:1px solid #d4d4d8;border-radius:999px;padding:9px 16px;color:#52525b;font-size:.9rem}.social-links a:hover{border-color:#71717a;color:#18181b}.social-links a[href*="instagram.com"]{background:linear-gradient(45deg,#f58529,#dd2a7b 52%,#8134af 76%,#515bd4);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.gallery-item{height:250px;overflow:hidden;border:1px solid #e4e4e7;border-radius:22px}.closing-text{max-width:760px;margin:46px 0 0;font-size:1.08rem}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card{overflow:hidden;border-radius:22px}.work-card>img{height:180px}.work-card div{padding:24px}.work-card h2{font-size:1.25rem}.work-card p{margin:12px 0 0;font-size:.94rem}.profile-layout{align-items:start;grid-template-columns:.8fr 1.2fr}.profile-photo{align-self:start}.profile-name{margin:0 0 20px;color:#18181b;font-size:2.6rem}.profile-table{overflow:hidden;margin-top:40px;border:1px solid #e4e4e7;border-radius:22px}.profile-row{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:17px 22px;border-bottom:1px solid #e4e4e7;font-size:.95rem}.profile-row:last-child{border-bottom:0}.profile-row div:first-child{color:#71717a}.profile-row div:last-child{color:#27272a}.bio{margin-top:42px;color:#5f5f66;line-height:1.9}.bio p{margin:0 0 18px}.profile-experience{margin-top:44px;padding-top:36px;border-top:1px solid #e4e4e7}.experience-group{margin-top:28px}.experience-group h4{margin:0 0 10px;color:#27272a;font-size:1.05rem}.experience-group p{margin:0}.experience-group ul{margin:0;padding-left:1.25rem}.experience-group li{margin-bottom:8px;padding-left:4px}.project-layout{align-items:center;grid-template-columns:1fr 1fr}.project-layout h2{margin-top:16px;font-size:2.1rem}.project-copy p{margin:0 0 16px}.project-copy{margin-top:24px}.strong{color:#27272a;font-weight:700}.project-photo img{height:430px}.contact-section{max-width:820px}.contact-card{border-radius:28px;padding:42px;color:#52525b}.contact-card p{margin:0 0 10px}.contact-card .button{margin-top:18px}.contact-note{margin-top:26px;color:#71717a;font-size:.92rem}.contact-note a{color:#27272a;text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.nav-links{display:none}.home-hero-inner,.split,.profile-layout,.project-layout{grid-template-columns:1fr}.link-stack{grid-template-columns:1fr}.feature-card{grid-template-rows:240px 1fr}.feature-image{height:240px}.hero-copy{order:2}.hero-photo{order:1}.home-hero-inner{gap:32px;padding:42px 0 58px}.hero-photo img{height:420px}.profile-photo img{height:420px;object-position:center 16%;transform-origin:center 16%}.value-grid,.works-grid{grid-template-columns:1fr}}@media(max-width:640px){.nav-inner,.footer-inner,.container,.section,.link-stack,.home-hero-inner,.page-hero-inner{width:min(100% - 32px,1180px)}.section,.page-hero-inner{padding:52px 0}.hero-copy h1{font-size:3.1rem}.hero-lead{font-size:1.25rem}.hero-photo img,.project-photo img{height:360px}.profile-photo img{height:360px;object-position:center 15%;transform-origin:center 15%}.feature-body,.contact-card{padding:28px}.gallery-grid{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column}.profile-row{grid-template-columns:1fr;gap:6px}}
