:root{--ink:#202020;--muted:#626262;--line:#dedede;--paper:#fff;--soft:#f7f7f7;--nav-bg:#f0efec;--nav-ink:#202020;--content:960px;--section-gap:44px;--heading-panel:#f0efec;--heading-border:#d3d0ca;--body-font:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic","Meiryo",sans-serif}
*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body-font);font-size:16px;font-weight:400;line-height:1.85;letter-spacing:.01em;overflow-wrap:anywhere}h1,h2,h3,p,figure,dl{margin:0}h1,h2,h3{line-height:1.45;letter-spacing:.025em;font-weight:700}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}img{display:block;max-width:100%;height:auto}button,summary{font:inherit}:focus-visible{outline:3px solid #4778b5;outline-offset:4px}.skip-link{position:fixed;top:-100px;left:16px;padding:10px 16px;background:#fff;color:#111;z-index:300}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:100;background:var(--nav-bg);color:var(--nav-ink);border-bottom:1px solid var(--heading-border);box-shadow:0 6px 20px rgba(32,32,32,.07)}.nav{max-width:var(--content);margin:auto;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-name{text-decoration:none;font-size:16px;font-weight:700;letter-spacing:.045em;white-space:nowrap}.site-name span{font-size:12px;font-weight:400;margin-left:10px}.nav-menu,.submenu{list-style:none;margin:0;padding:0}.nav-menu{display:flex;align-items:center;gap:4px}.nav-menu a,.nav summary{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;padding:12px 13px;color:inherit;text-decoration:none;font-size:14px;font-weight:500;cursor:pointer}.nav-menu a::after,.nav summary::after{content:"";position:absolute;height:2px;left:13px;right:13px;bottom:5px;background:currentColor;opacity:0}.nav-menu a[aria-current="page"]::after,.nav summary[data-current]::after{opacity:1}.nav-menu a:hover,.nav summary:hover{background:#8882}.nav details{position:relative}.nav summary{list-style:none}.nav summary::-webkit-details-marker{display:none}.nav summary::before{content:"";width:6px;height:6px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin-top:-3px}.nav details[open] summary::before{transform:rotate(225deg);margin-top:3px}.submenu{position:absolute;top:100%;left:0;min-width:180px;padding:8px;background:var(--nav-bg);border:1px solid #8885;box-shadow:0 8px 20px #0001}.nav-toggle{display:none;min-height:44px;padding:6px 12px;background:transparent;color:inherit;border:1px solid #888;border-radius:2px}
.page{max-width:calc(var(--content) + 48px);margin:auto;padding:56px 24px 64px}.page-title,.contact-heading{font-size:clamp(25px,3vw,32px);margin-bottom:28px}.page-context{font-size:13px;color:var(--muted);margin-bottom:8px}.section{margin-top:var(--section-gap)}.section-title{display:flex;align-items:center;width:100%;padding:10px 14px;background:var(--heading-panel);border:1px solid var(--heading-border);font-size:19px;line-height:1.5;margin-bottom:28px}.note,.intro .small,.embed-link,.contact-mail{font-size:14px;color:var(--muted)}.note{margin-top:16px}.intro p+p{margin-top:8px}.intro>p:first-child{font-weight:600}.btn-request,.btn-secondary{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:10px 22px;border:1px solid var(--ink);border-radius:2px;text-decoration:none;font-size:14px;font-weight:600}.btn-request{background:var(--ink);color:var(--paper);margin-top:24px}.btn-secondary{background:transparent;color:var(--ink)}.btn-request:hover,.btn-secondary:hover{opacity:.8;text-decoration:none}
.profile{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px}.profile-figure{padding:24px;background:var(--soft);border:1px solid #eceae6}.profile-photo{width:160px;height:160px;object-fit:cover;margin-bottom:24px}.profile-name{font-size:30px;margin-bottom:20px}.profile-name .en{display:block;font-family:sans-serif;font-size:14px;font-weight:400;color:var(--muted);margin-top:4px;letter-spacing:.025em}.profile-meta{font-size:14px;color:var(--muted)}.profile-actions{margin-top:24px}.profile-body h2{width:100%;padding:10px 14px;background:var(--heading-panel);border:1px solid var(--heading-border);font-size:19px;line-height:1.5;margin-bottom:18px}.profile-body h2:not(:first-child){margin-top:36px}.profile-body p+p{margin-top:4px}.profile-body ul{list-style:none;padding:0;margin:0}.profile-body li{margin-top:10px}.profile-body li.activity-break{margin-top:20px}.news-items{min-height:48px}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.song-video{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;background:var(--soft)}.foriio-frame{width:100%;height:450px;border:0;display:block}.embed-link{margin-top:12px}.records .lead{font-size:14px;color:var(--muted);margin-bottom:24px}.records .group+.group{margin-top:32px}.records .year{display:inline-block;padding:3px 9px;background:var(--soft);border:1px solid var(--line);font-size:15px;margin-bottom:12px;font-variant-numeric:tabular-nums}.records ul{list-style:none;margin:0;padding:0}.records li{padding:12px 0;border-bottom:1px solid var(--line)}.work-title{display:block}.work-credit{display:block;margin-top:3px;color:var(--muted);font-size:13px}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cols .item{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);background:#fff}.cols .item h3{font-size:18px;margin-bottom:12px}.cols .item p{font-size:15px}.service-price{display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px 16px;margin-top:auto;padding-top:20px}.service-price dt{font-size:13px;color:var(--muted);align-self:center}.service-price dd{margin:0;font-size:15px;font-variant-numeric:tabular-nums}.service-price dd:first-of-type{font-size:20px;font-weight:600}.note-list{padding:0;margin:0;list-style:none}.note-list li+li{margin-top:16px}
.contact-lead{margin-bottom:24px}.template{padding:20px 24px;margin:0 0 28px;list-style:none;background:var(--soft);font-size:14px}.template .title{font-weight:600;margin-bottom:8px}.template li+li{margin-top:4px}.gform-frame{display:block;width:100%;border:0}.gform-embed{max-width:720px;margin:0 auto}.gform-embed p{font-size:14px;margin-top:12px}.contact-mail{margin-top:28px}.form-pending{padding:24px;background:var(--soft)}
.site-footer{max-width:var(--content);margin:0 auto;padding:24px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-name{font-size:13px;font-weight:600}.social{display:flex;flex-wrap:wrap;gap:20px}.social a{display:inline-flex;gap:8px;min-height:44px;align-items:center;font-size:13px;text-decoration:none}.social a:hover{text-decoration:underline}.social svg{width:18px;height:18px;fill:currentColor}.copyright{font-size:12px;color:var(--muted)}
@media(max-width:1008px){.nav{margin:0 24px}.site-name span{display:none}.site-footer{margin:0 24px}}
@media(max-width:760px){.nav{flex-wrap:wrap;gap:0;min-height:60px;margin:0 20px;padding:10px 0}.nav-toggle{display:block}.nav-menu{display:none;flex-direction:column;align-items:stretch;width:100%;margin-top:10px}.nav-menu.is-open{display:flex}.nav-menu>li{border-top:1px solid #8884}.nav-menu a,.nav summary{padding:12px 8px}.nav-menu a::after,.nav summary::after{left:8px;right:auto;width:28px;bottom:5px}.submenu{position:static;box-shadow:none;border:0;padding:0 0 4px 20px}.page{padding:32px 20px 40px}.profile{grid-template-columns:1fr;gap:32px}.profile-figure{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:20px;align-items:start}.profile-photo{width:96px;height:96px;grid-row:1/4;margin:0}.profile-name{font-size:25px;margin-bottom:12px}.profile-meta{grid-column:2;font-size:13px}.profile-actions{grid-column:1/-1;margin-top:20px}.section{margin-top:40px}.profile-body h2,.section-title{padding:9px 12px;font-size:18px}.section-title{margin-bottom:22px}.cols,.video-grid{grid-template-columns:1fr}.cols{gap:18px}.cols .item{padding:20px}.service-price{margin-top:0}.template{padding:16px}.site-footer{flex-direction:column;align-items:flex-start;gap:8px;margin:0 20px}}
@media(max-width:360px){.profile-figure{grid-template-columns:72px minmax(0,1fr);column-gap:16px;padding:16px}.profile-photo{width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
