@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.business-card:not(.animate-in),.post-card:not(.animate-in),.contact-card:not(.animate-in){min-height:inherit;opacity:0;will-change:opacity, transform;contain:layout style paint;visibility:hidden;transition:opacity .4s ease-out,transform .4s ease-out;transform:translateY(20px)}@media (width>=769px){.business-card:not(.animate-in),.post-card:not(.animate-in),.contact-card:not(.animate-in){transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(30px)}}.business-card.animate-in,.post-card.animate-in,.contact-card.animate-in{opacity:1;will-change:auto;visibility:visible;transform:translateY(0)}html{color:#000;background:#fff}a,body,div,h1,h2,h3,li,p,ul{margin:0;padding:0}ul{list-style:none}h1,h2,h3{font-size:100%;font-weight:400}a{color:inherit;text-decoration:none}*,:after,:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}:root{--header-height:70px;--hub-container-width-header:1000px;--hub-container-width-content:800px;--hub-container-width-posts:700px;--hub-container-width-cards:900px;--hub-primary:#667eea;--hub-secondary:#764ba2;--hub-accent:#38a169;--color-pianist:#3182ce;--color-studio:#38a169;--color-lab:#ed8936;--color-text-dark:#1a202c;--color-text-light:#fff;--color-text-muted:#a0aec0;--color-text-muted-accessible:#a0aec0;--color-bg-light:#fff;--color-focus:#667eea;--font-size-base:18px;--font-size-large:20px;--min-touch-area:44px;--font-base:"Yu Gothic Medium", "Meiryo", "メイリオ", "Segoe UI", arial, sans-serif}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.u-sr-only.u-skip-link:focus{z-index:10000;background:var(--hub-primary);color:var(--color-text-light);border-radius:.25rem;font-size:1rem;font-weight:600;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;margin:0!important;padding:.5rem 1rem!important;position:fixed!important;top:10px!important;left:10px!important}.l-container-header{width:100%;margin-inline:auto}@media (width>=769px){.l-container-header{width:min(90%, var(--hub-container-width-header,1000px));max-width:1000px}}.l-container-content{width:100%;margin-inline:auto;padding-inline:1rem}@media (width>=769px){.l-container-content{width:min(90%, var(--hub-container-width-content,800px));max-width:800px;padding-inline:0}}.l-container-posts{width:100%;margin-inline:auto;padding-inline:1rem}@media (width>=641px){.l-container-posts{width:min(95%, var(--hub-container-width-posts,700px));max-width:700px;padding-inline:0}}@media (width>=769px){.l-container-posts{width:min(90%, var(--hub-container-width-posts,700px))}}.l-container-cards{width:100%;min-block-size:130px;margin-inline:auto;padding-inline:1rem}@media (width>=481px){.l-container-cards{width:95%;padding-inline:1rem}}@media (width>=769px){.l-container-cards{width:min(90%, var(--hub-container-width-cards,900px));max-width:900px}}.l-section{padding-block:2rem}@media (width>=769px){.l-section{padding-block:3rem}}@media (width>=1025px){.l-section{padding-block:4rem}}.l-header{border-bottom:none;padding-block:0;padding-inline:1rem;transition:background .3s ease-out,box-shadow .3s ease-out}@media (width>=769px){.l-header{padding-inline:2rem}}.l-header .l-header__logo{color:var(--color-text-light);text-shadow:0 1px 4px #0006}.l-header.scrolled{backdrop-filter:blur(20px);background:#fffffffa;box-shadow:0 4px 6px -1px #0000001a}.l-header.scrolled .l-header__logo{color:var(--color-text-dark);text-shadow:none}.l-header__logo{min-width:var(--min-touch-area);min-height:var(--min-touch-area);color:var(--color-text-dark);font-size:var(--font-size-base);white-space:nowrap;border-radius:.25rem;align-items:center;padding-inline:.5rem;font-weight:700;transition:color .2s ease-out;display:inline-flex}@media (width>=1025px){.l-header__logo{font-size:22px}}.l-header__logo:hover{color:var(--hub-primary)}.l-header__logo-family{margin-inline-end:.25em}.l-footer{background:var(--color-bg-light);color:var(--color-text-dark);text-align:center;border-top:1px solid #00000014;padding-block:2rem;padding-inline:0}@media (width>=1025px){.l-footer{padding-block:3rem}}.l-footer__nav{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);place-items:center;gap:.25rem;width:100%;max-width:280px;margin-block:0 1.5rem;margin-inline:auto;display:grid}@media (width>=481px){.l-footer__nav{flex-direction:row;justify-content:center;gap:.5rem;width:auto;max-width:none;display:flex}}@media (width>=769px){.l-footer__nav{gap:1.5rem}}@media (width>=1025px){.l-footer__nav{gap:2rem;margin-block-end:2rem}}.l-footer__nav-link{min-width:var(--min-touch-area);min-height:var(--min-touch-area);color:var(--color-text-dark);font-size:var(--font-size-base);white-space:nowrap;border-radius:.25rem;justify-content:center;align-items:center;padding-inline:.5rem;font-weight:500;transition:color .2s ease-out;display:inline-flex}@media (width>=481px){.l-footer__nav-link{padding-inline:.75rem}}@media (width>=769px){.l-footer__nav-link{padding-inline:1rem;font-size:20px}}.l-footer__nav-link:hover{color:var(--hub-primary)}.l-footer__copyright{color:#404851;border-top:1px solid #0000001a;padding-block-start:1.5rem;font-size:1rem}@media (width>=1025px){.l-footer__copyright{padding-block-start:2rem}}.c-section-header{text-align:center;margin-block-end:2rem}@media (width>=1025px){.c-section-header{margin-block-end:4rem}}.c-section-header__title{color:var(--color-text-dark);margin-block-end:1rem;font-size:1.6rem;font-weight:300}@media (width>=1025px){.c-section-header__title{margin-block-end:1.5rem;font-size:1.875rem}}.c-section-header__description{color:#404851;font-size:var(--font-size-base)}.c-card{-webkit-backdrop-filter:blur(6px);color:var(--color-text-dark);contain:layout style paint;background:#ffffff29;border:1px solid #ffffff3d;border-radius:1rem;padding:1.25rem;transition:transform .3s ease-out,box-shadow .3s ease-out;transform:translateZ(0);box-shadow:0 10px 18px -8px #0000001f}.c-card:hover{transform:translateY(-4px)scale(1.01);box-shadow:0 20px 25px -5px #0000001a}@media (width>=769px){.c-card:hover{transform:translateY(-8px)scale(1.02)}}.c-card__icon{background:#0000000d;border-radius:50%;transition:transform .2s ease-out,background .2s ease-out}.c-card:hover .c-card__icon{background:#fff3;transform:scale(1.1)}.c-button{min-width:var(--min-touch-area);min-height:var(--min-touch-area);font-size:var(--font-size-base);border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:transform .2s ease-out,box-shadow .2s ease-out;display:inline-flex}@media (width>=1025px){.c-button{padding:1rem 2rem}}.c-button--pianist{color:var(--color-text-light);background:linear-gradient(135deg,#3182ce 0,#2c5aa0 100%)}.c-button--studio{color:var(--color-text-light);background:linear-gradient(135deg,#276749 0,#22543d 100%)}.c-button--lab{color:var(--color-text-light);background:linear-gradient(135deg,#c05621 0,#9c4221 100%)}.c-button--pianist:hover,.c-button--studio:hover,.c-button--lab:hover{transform:scale(1.05);box-shadow:0 10px 15px -3px #0000001a}.hero{background-color:#0000;background-image:linear-gradient(115deg,#ffffff0f 0%,#ffffff04 42%,#ffffff14 100%),radial-gradient(circle at 88% 18%,#fff4dc24 0%,#fff4dc0f 20%,#fff4dc00 42%),url(../public/images/hero-image.webp?v=2);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.hero .l-container-content{z-index:3;opacity:0;padding-block-start:5rem;animation:1s .5s forwards fade-in-up;position:relative}.hero__title{letter-spacing:.1em;text-shadow:2px 2px 8px #0009;margin-block-end:1rem;font-family:Yu Mincho,游明朝,YuMincho,Hiragino Mincho ProN,HG明朝E,serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600}@media (width>=1025px){.hero__title{margin-block-end:1.5rem}}.hero__family-name{margin-inline-end:.5em}.hero__subtitle{letter-spacing:.2em;text-transform:uppercase;text-shadow:1px 1px 3px #00000080;margin-block-end:1.5rem;font-size:clamp(1rem,3vw,1.25rem);font-weight:400}@media (width>=1025px){.hero__subtitle{margin-block-end:2rem}}.hero__description{backdrop-filter:blur(10px);font-size:var(--font-size-base);text-align:justify;text-shadow:2px 2px 2px #000000b3;background:#0003;border:1px solid #ffffff1a;border-radius:1rem;margin-block-end:3rem;padding:1.5rem;line-height:1.7}@media (width>=1025px){.hero__description{margin-block-end:4rem;padding:2rem;font-size:1.125rem}}.business-section{content-visibility:auto;contain-intrinsic-size:450px}@media (width>=481px){.business-section{contain-intrinsic-size:420px}}@media (width>=769px){.business-section{contain-intrinsic-size:360px}}@media (width>=1025px){.business-section{contain-intrinsic-size:340px}}.business-card{color:#fff;text-align:center;border:1px solid #ffffff24;border-radius:1.25rem;flex-direction:column;align-items:center;gap:.9rem;padding:1.5rem 1.25rem 1.4rem;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px -14px #0006,inset 0 1px #ffffff2e}.business-card:before{content:"";pointer-events:none;background:radial-gradient(at 26% 18%,#ffffff38 0%,#ffffff14 28%,#0000 60%),linear-gradient(#ffffff0f 0%,#0000 45%,#0000001f 100%);position:absolute;inset:0}.business-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -12px #00000080,inset 0 1px #ffffff38}.business-card--pianist{background:linear-gradient(135deg,#4a6aa3 0%,#2e4678 50%,#1c2e56 100%)}.business-card--studio{background:linear-gradient(135deg,#6b7d60 0%,#4a5c45 50%,#33402f 100%)}.business-card--lab{background:linear-gradient(135deg,#c8834c 0%,#a36432 50%,#75421f 100%)}.business-card .c-card__icon{color:#fff;-webkit-backdrop-filter:blur(4px);background:#ffffff29;border:1px solid #ffffff38;border-radius:50%;width:58px;min-width:58px;height:58px;min-height:58px;position:relative;box-shadow:inset 0 1px #ffffff2e}.business-card .c-card__icon svg{width:26px;height:26px}.business-card .c-card__content{min-width:0;position:relative}.business-card .c-card__title{color:#fff;letter-spacing:.04em;font-size:1.05rem;font-weight:600}.business-card .c-card__description{color:#ffffffc2;margin-top:.35rem;font-size:.9rem;line-height:1.55}.business-card__cta{color:#fff;letter-spacing:.03em;background:#0000002e;border:1px solid #ffffff29;border-radius:.8rem;justify-content:center;align-items:center;gap:.3rem;min-height:38px;margin-top:auto;padding:.45rem 1.2rem;font-size:.92rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff1a,0 4px 10px #00000024}.business-card__cta:after{content:"→";font-size:.9rem;transition:transform .2s}.business-card:hover .business-card__cta{background:#00000042;border-color:#ffffff42}.business-card:hover .business-card__cta:after{transform:translate(3px)}@media (width>=1025px){.business-card{padding:2.25rem 1.5rem}.business-card .c-card__icon{width:72px;min-width:72px;height:72px;min-height:72px;margin-inline:auto}.business-card .c-card__icon svg{width:32px;height:32px}}.highlight-section{scroll-margin-top:var(--header-height);background:linear-gradient(#0000 0%,#f5f5f366 80px,#f5f5f3 200px);margin-top:-200px;padding-top:260px;position:relative}.posts-list{flex-direction:column;gap:1.5rem;display:flex}@media (width>=1025px){.posts-list{gap:2rem}}.posts-list__item{display:flex}.posts-list__item>.post-card{width:100%}.post-card{text-align:center;border-inline-start:3px solid #0000;flex-direction:column;gap:1rem;padding:1.5rem}@media (width>=641px){.post-card{text-align:start;flex-direction:row;gap:1.5rem;padding:2rem}.post-card .c-card__content{text-align:start}.post-meta{justify-content:flex-start}}.post-card--pianist{border-inline-start-color:var(--color-pianist)}.post-card--pianist:hover{background:#3182ce1a;border-inline-start-color:#2c5aa0}.post-card--studio{border-inline-start-color:var(--color-studio)}.post-card--studio:hover{background:#38a1691a;border-inline-start-color:#2f855a}.post-card--lab{border-inline-start-color:var(--color-lab)}.post-card--lab:hover{background:#ed89361a;border-inline-start-color:#dd6b20}.post-meta{justify-content:center;align-items:center;gap:1rem;margin-block-end:.5rem;display:flex}.post-category{text-transform:uppercase;letter-spacing:.5px;border-radius:.5rem;padding:.35rem .6rem;font-size:1rem;font-weight:700}.post-card--pianist .post-category{color:var(--color-text-light);background:#2c5aa0}.post-card--studio .post-category{color:var(--color-text-light);background:#22543d}.post-card--lab .post-category{color:var(--color-text-light);background:#c05621}.post-date{color:#404851;font-size:1rem}.post-card .c-card__icon{width:50px;height:50px;margin-inline:auto;font-size:1.25rem}.contact-section,#contact{scroll-margin-top:var(--header-height)}.contact-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=1025px){.contact-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.contact-grid__item{display:flex}.contact-grid__item>.contact-card{width:100%}.contact-card{text-align:center;border:1px solid #0000000d;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.contact-card .c-button{margin-block-start:auto}.contact-card:before{content:"";block-size:4px;inline-size:100%;transition:inset-inline-start .3s ease-out;position:absolute;inset-block-start:0;inset-inline-start:-100%}.contact-card:hover:before{inset-inline-start:0}.contact-card--pianist{background:linear-gradient(135deg,#3182ce0f 0%,#2c5aa01f 100%)}.contact-card--pianist:before{background:linear-gradient(135deg,#3182ce 0,#2c5aa0 100%)}.contact-card--studio{background:linear-gradient(135deg,#38a1690f 0%,#2767491f 100%)}.contact-card--studio:before{background:linear-gradient(135deg,#38a169 0,#2f855a 100%)}.contact-card--lab{background:linear-gradient(135deg,#ed89360f 0%,#c056211f 100%)}.contact-card--lab:before{background:linear-gradient(135deg,#ed8936 0,#dd6b20 100%)}.l-header__logo:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;background:#667eea1a}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.c-card:hover,.c-card:hover .c-card__icon{transform:none}.js-animate,.business-card,.post-card,.contact-card{opacity:1!important;will-change:auto!important;visibility:visible!important;transform:none!important}.hero .l-container-content{opacity:1!important;animation:none!important}}@media (prefers-contrast:high){.l-header{border-bottom:2px solid var(--color-text-dark)}.l-header__logo{font-weight:600}}@media print{.l-header,.l-footer{display:none}.hero{color:#000;page-break-after:always;background:0 0}.business-card,.post-card,.contact-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}}@keyframes skeleton-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-line{user-select:none;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/1200px 100%;border-radius:4px;min-height:1em;animation:1.5s linear infinite skeleton-shimmer;display:block;color:#0000!important}.post-card--loading{pointer-events:none;cursor:default;text-decoration:none}.post-card--loading .c-card__title.skeleton-line{width:75%;min-height:1.5em;margin-block-end:.5em}.post-card--loading .c-card__description.skeleton-line{width:100%;min-height:3em}.post-card--loading .post-category.skeleton-line{width:4em;min-height:1.2em}@media (prefers-reduced-motion:reduce){.skeleton-line{background:#ebebeb;animation:none}}.c-card__icon svg{stroke-width:1.5px;width:32px;height:32px}@media (width>=1025px){.c-card__icon svg{width:40px;height:40px}}.post-card--pianist .c-card__icon,.contact-card--pianist .c-card__icon{color:var(--color-pianist);background:#3182ce1f}.post-card--studio .c-card__icon,.contact-card--studio .c-card__icon{color:var(--color-studio);background:#38a1691f}.post-card--lab .c-card__icon,.contact-card--lab .c-card__icon{color:var(--color-lab);background:#ed89361f}.post-card--pianist:hover .c-card__icon,.post-card--studio:hover .c-card__icon,.post-card--lab:hover .c-card__icon,.contact-card--pianist:hover .c-card__icon,.contact-card--studio:hover .c-card__icon,.contact-card--lab:hover .c-card__icon{background:#fff3}html[lang=en] .hero__title{margin-block-end:3rem;font-family:Georgia,Times New Roman,Yu Mincho,serif;font-size:clamp(2.25rem,5vw,3.75rem)}@media (width>=1025px){html[lang=en] .hero__title{margin-block-end:3.5rem}}