:root{--nav-height:60px;--color-primary:#c62828;--color-primary-dark:#b71c1c;--color-text:#1a1a1a;--color-text-muted:#555;--color-border:#e4e4e4;--container-max:900px}*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{font-family:Noto Sans JP,sans-serif;font-weight:400;line-height:1.7;color:var(--color-text)}#__next{min-height:100%;display:flex;flex-direction:column}main{flex:1}h2,h3,h4{margin:0}nav{position:fixed;top:0;width:100%;height:var(--nav-height);background:rgba(18,18,18,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000}.nav-container{justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 24px 0 20px}.logo,.nav-container{display:flex;align-items:center}.logo img{display:block;height:30px;width:30px;object-fit:contain}.nav-menu,.nav-right{display:flex;align-items:center}.nav-menu{list-style:none;margin:0;padding:0;gap:4px}.nav-menu a{color:rgba(255,255,255,.82);text-decoration:none;font-size:.9rem;letter-spacing:.05em;padding:6px 16px;border-radius:4px;transition:color .2s ease,background .2s ease;display:block}.nav-menu a:hover{color:#fff;background:rgba(255,255,255,.1)}button.menu-toggle{background:none;border:none;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:5px;border-radius:4px}button.menu-toggle div{width:22px;height:2px;background:rgba(255,255,255,.9);border-radius:2px;transition:transform .25s ease,opacity .25s ease}.hero{background-image:url(/images/hero.jpg);background-size:cover;background-position:center 40%;min-height:100svh;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;text-align:center;padding:0}.hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45)}.hero .container{position:relative;z-index:1}.hero h1{font-size:clamp(1.6rem,4.5vw,2.8rem);font-weight:500;letter-spacing:.2em;margin:0;padding:.3em .8em;background:rgba(0,0,0,.35);border-radius:6px}section{padding:88px 0}section+section{border-top:1px solid var(--color-border)}.hero+section{border-top:none}section[id]{scroll-margin-top:var(--nav-height)}section h2{text-align:center;font-size:1.5rem;font-weight:700;letter-spacing:.08em;margin-bottom:48px;color:var(--color-text)}section p{color:var(--color-text-muted);font-size:.97rem;margin-top:0;text-align:center}.profile-text p{text-align:left}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px;width:100%}.profile-content{display:flex;align-items:center;gap:52px}.profile-content img{width:180px;height:180px;object-fit:cover;border-radius:50%;flex-shrink:0;box-shadow:0 4px 20px rgba(0,0,0,.12)}.profile-text{flex:1;text-align:left;line-height:1.95;letter-spacing:.04em;color:var(--color-text-muted)}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;justify-items:center}.skill-chart-item{width:100%;max-width:320px;text-align:center}.skill-chart-item h4{font-size:.92rem;font-weight:700;margin-bottom:4px;color:var(--color-text);letter-spacing:.05em}.skills-note{font-size:.82rem;color:var(--color-text-muted);line-height:1.9;text-align:left;margin:32px auto 0;padding:16px 20px;background:#f8f8f8;border-radius:8px;display:block;max-width:max-content}.works-button-wrapper{display:flex;justify-content:center;margin-top:24px}.works-thumbnail{display:inline-block;cursor:pointer;margin-top:8px}.works-thumbnail img{border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:transform .2s ease,box-shadow .2s ease;display:block}.works-thumbnail img:hover{transform:scale(1.03);box-shadow:0 8px 24px rgba(0,0,0,.2)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;justify-content:center;align-items:center;z-index:50;padding:20px}.modal-content{background:#fff;padding:28px;border-radius:10px;max-width:800px;width:100%;position:relative;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#999;padding:4px 8px;border-radius:4px;transition:color .15s ease,background .15s ease}.modal-close:hover{color:#333;background:#f0f0f0}.modal-title{font-size:1.1rem;font-weight:700;margin:0 0 16px}.modal-description{color:var(--color-text-muted);margin:12px 0 0;font-size:.95rem;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:#fff;text-decoration:none;padding:13px 40px;border-radius:6px;font-weight:700;font-size:1rem;letter-spacing:.05em;transition:background-color .2s ease,transform .15s ease}.button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.contact-link-container,footer{text-align:center}footer{background:#1a1a1a;color:#888;padding:20px 0;font-size:.85rem}@media (max-width:768px){section{padding:64px 0}section h2{font-size:1.3rem;margin-bottom:32px}.profile-content{flex-direction:column;align-items:center;gap:24px}.profile-content img{width:150px;height:150px}.profile-text{text-align:center;max-width:100%}.skills-grid{grid-template-columns:1fr}.skill-chart-item{max-width:300px}.skills-note{max-width:100%;text-align:left}}@media (max-width:600px){.nav-menu{display:none;flex-direction:column;background:rgba(18,18,18,.97);position:absolute;top:var(--nav-height);left:0;width:100%;padding:8px 0 16px;gap:0;border-top:1px solid rgba(255,255,255,.08)}.nav-menu.active{display:flex}.nav-menu li{width:100%}.nav-menu a{font-size:1rem;padding:14px 28px;border-radius:0;letter-spacing:.06em}.hero h1{letter-spacing:.12em;padding:.25em .6em}.modal-content{padding:20px 16px}}@media (min-width:601px){button.menu-toggle{display:none}}