:root{--text-main: #111;--text-sub: #555;--bg-body: #f8f8f8;--bg-footer: #0a0a0a;--font-main: "Futura", "Jost", "Noto Sans JP", sans-serif;--spacing-container: 24px;--spacing-container-md: 96px}*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg-body);overscroll-behavior-y:none;scroll-behavior:smooth}body{font-family:var(--font-main);background-color:var(--bg-body);color:var(--text-main);-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;overscroll-behavior-y:none;text-wrap:pretty}a{text-decoration:none;color:inherit}ul{list-style:none}a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid #b3592f;outline-offset:3px}.floating-nav{position:fixed;top:0;left:0;width:100%;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.5rem}@media(min-width:768px){.floating-nav{padding:1rem 3rem}}.nav-brand{font-size:.875rem;font-weight:600;letter-spacing:.05em;line-height:1.2}@media(min-width:768px){.nav-brand{font-size:1rem}}.nav-contact-btn{pointer-events:auto;display:inline-block;background-color:#f7e7de;color:#b3592f;padding:.55em 1.4em;border-radius:10px;font-size:.9rem;font-weight:600;letter-spacing:.02em;transition:background-color .3s ease}.nav-contact-btn:hover{background-color:#f0dccf}section[id]{scroll-margin-top:92px}.intro{position:fixed;inset:0;z-index:200;background-color:var(--bg-body);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.75rem;animation:introPanel 2.5s cubic-bezier(.19,1,.22,1) forwards}.intro-word{font-family:Comfortaa,sans-serif;font-weight:700;font-size:clamp(2.2rem,7vw,6rem);color:var(--text-main);line-height:1;white-space:nowrap;animation:introWord 2.5s cubic-bezier(.19,1,.22,1) both}.intro-rule{width:min(30vw,260px);height:1px;background-color:#b3592f;transform-origin:center;animation:introRule 2.5s cubic-bezier(.19,1,.22,1) both}@keyframes introPanel{0%,68%{transform:translateY(0);visibility:visible}99.9%{transform:translateY(-101%);visibility:visible}to{transform:translateY(-101%);visibility:hidden}}@keyframes introWord{0%{opacity:0;letter-spacing:.44em;padding-left:.44em}46%,to{opacity:1;letter-spacing:.02em;padding-left:.02em}}@keyframes introRule{0%,10%{transform:scaleX(0)}58%,to{transform:scaleX(1)}}.site-nav{position:fixed;top:0;left:0;width:100%;z-index:100;display:flex;justify-content:flex-end;align-items:center;gap:1.75rem;padding:1.5rem 3rem;background-color:#f8f8f8e0;backdrop-filter:blur(10px)}.site-nav-links{display:flex;align-items:center;gap:2rem}.site-nav-link{font-size:.7rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#6b7280;transition:color .3s ease}.site-nav-link:hover{color:var(--text-main)}.site-nav-sep{width:1px;height:14px;background-color:#e5e7eb}.site-nav-icons{display:flex;align-items:center;gap:1.1rem}.site-nav-icon{display:inline-flex;align-items:center;justify-content:center;color:#6b7280;transition:color .3s ease}.site-nav-icon:hover{color:var(--text-main)}.site-nav-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;color:#6b7280;margin:0 -.5rem}.site-nav-toggle-bar{display:block;width:20px;height:1.5px;background-color:currentColor;transition:transform .3s ease,opacity .3s ease}.site-nav-toggle[aria-expanded=true] .site-nav-toggle-bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.site-nav-toggle[aria-expanded=true] .site-nav-toggle-bar:nth-child(2){opacity:0}.site-nav-toggle[aria-expanded=true] .site-nav-toggle-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.hero{position:relative;width:100%;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8rem 3rem 6rem}.hero-welcome{position:absolute;left:3rem;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.hero-welcome-text{font-family:Quicksand,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:.12em;color:#b3592f;writing-mode:vertical-rl}.hero-welcome-rule{width:1px;height:4.5rem;background-color:#d8d3cf}.hero-kv-wrap{position:relative;z-index:10;width:min(62vw,880px,86vh)}.hero-kv{width:100%;aspect-ratio:16 / 9;background-color:#e5e7eb;overflow:hidden}.kv-tone{position:relative}.kv-tone img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) contrast(.94) sepia(.1) brightness(1.02)}.kv-tone:after{content:"";position:absolute;inset:0;background-color:#b3592f;opacity:.07;mix-blend-mode:multiply;pointer-events:none;z-index:2}.slideshow{position:relative}.slideshow .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out}.slideshow .slide.is-active{opacity:1}.sec{position:relative;z-index:20;padding:8rem 96px}.sec-white{background-color:#fff}.sec-base{background-color:var(--bg-body)}.sec-head{display:flex;align-items:center;gap:2rem;margin-bottom:4.5rem}.sec-title{font-size:1.6rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--text-main)}.sec-rule{flex:1;height:1px;background-color:#e5e7eb}.body-jp{font-family:Zen Old Mincho,serif;font-size:.9rem;line-height:1.95;letter-spacing:.15em;color:var(--text-sub);font-weight:400;word-break:keep-all;overflow-wrap:anywhere}.body-jp,.body-en{text-wrap:wrap}.body-jp p+p,.body-en p+p{margin-top:.7em}.body-en{font-family:EB Garamond,serif;font-size:1rem;line-height:1.95;letter-spacing:.06em;color:var(--text-sub);font-weight:400}.about-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.5fr);gap:3.5rem;align-items:stretch;min-height:570px;width:min(78vw,1150px);max-width:100%;margin:0 auto}.about-col{display:flex;flex-direction:column;height:100%}.about-name-row{display:flex;align-items:baseline;gap:1.1em;margin-bottom:3rem;flex-shrink:0}.about-name{font-size:1.5rem;font-weight:500;letter-spacing:.12em;color:var(--text-main);white-space:nowrap;flex-shrink:0}.about-name-rule{flex:1 1 0;min-width:2rem;height:1px;background-color:#e5e7eb}.about-wordmark{font-family:Comfortaa,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.06em;color:#9ca3af;user-select:none;white-space:nowrap;flex-shrink:0}.about-spacer{flex:1;min-height:2.5rem}.about-photo-spacer{flex:1;min-height:0}.about-photo{flex:none;aspect-ratio:3 / 2;width:100%;background-color:#e5e7eb;overflow:hidden;margin-bottom:1.5rem}.about-photo img{width:100%;height:100%;object-fit:cover;display:block}.about-background{--frame-padding: 1.4rem;flex-shrink:0;width:fit-content;max-width:100%;margin-left:auto;margin-right:0;border:1px solid rgba(179,89,47,.55);border-radius:4px;padding:0 var(--frame-padding) var(--frame-padding)}.about-background-title{display:block;width:fit-content;font-size:.9rem;line-height:1;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#b3592f;background-color:#fff;padding-right:.5em;transform:translateY(-50%);margin-bottom:-.45rem;margin-left:calc(var(--frame-padding) / -2);padding-left:calc(var(--frame-padding) / 2)}.about-background-list{--row-gap: 1.15rem;display:flex;flex-direction:column;gap:var(--row-gap);margin-top:1.1rem}.about-background-card{display:grid;grid-template-columns:2.4rem 1fr;gap:.9rem;align-items:baseline}.about-background-year{font-family:EB Garamond,serif;font-size:.8rem;font-weight:400;letter-spacing:.06em;color:#6b7280;font-variant-numeric:tabular-nums}.about-background-jp{font-family:Zen Old Mincho,serif;font-size:.8rem;line-height:1.6;letter-spacing:.08em;color:#4b5563;font-weight:400}.about-background-en{font-family:EB Garamond,serif;font-size:.75rem;line-height:1.6;letter-spacing:.03em;color:#6b7280;font-weight:400}.jrow-list{max-width:900px;margin:0;display:flex;flex-direction:column}.jrow{display:grid;grid-template-columns:130px 1fr auto;gap:2rem;align-items:center;padding:1.75rem 0;border-bottom:1px solid #e7e3dc;color:var(--text-main)}.jrow-date{font-size:.7rem;font-weight:500;letter-spacing:.16em;color:#6b7280;font-variant-numeric:tabular-nums}.jrow-title{font-family:Noto Sans JP,sans-serif;font-size:.9rem;font-weight:400;color:var(--text-main);transition:transform .5s cubic-bezier(.19,1,.22,1)}.jrow:hover .jrow-title{transform:translate(10px)}.jrow-category{display:inline-block;margin-left:.9em;background-color:#f7e7de;color:#b3592f;font-size:.7rem;font-weight:500;line-height:1.6;padding:.1em .65em;border-radius:4px}.jrow-arrow{font-size:.65rem;letter-spacing:.2em;color:#b3592f;opacity:0;transition:opacity .4s ease}.jrow:hover .jrow-arrow{opacity:1}.jgal-scroller{margin:-1.25rem -96px -2rem 0;padding:1.25rem 0 2rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.jgal-scroller::-webkit-scrollbar{display:none}.jgal-list{display:flex;align-items:flex-start;gap:1.5rem;width:max-content;padding-right:96px}.jgal-item{flex:0 0 auto;width:74vw;max-width:340px;scroll-snap-align:start}.jgal-card{display:block;padding:.75rem;background-color:#faf8f4;color:var(--text-main);box-shadow:0 0 18px #1c19170f,0 4px 6px -1px #1c19170d}.jgal-image{position:relative;aspect-ratio:3 / 2;width:100%;background-color:#ece7de;overflow:hidden}.jgal-image img{width:100%;height:100%;object-fit:cover;display:block}.jgal-overlay{display:none;position:absolute;inset:0;flex-direction:column;justify-content:space-between;padding:1.1rem;background-color:#3a1e12ad;color:#faf8f4;opacity:0;transition:opacity .45s ease}.jgal-overlay-date{font-size:.7rem;font-weight:500;letter-spacing:.16em;font-variant-numeric:tabular-nums}.jgal-overlay-category{font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.06em}.jgal-meta{margin-top:.9rem;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.jgal-metaline{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5em}.jgal-date{font-size:.7rem;font-weight:500;letter-spacing:.16em;color:#6b7280;font-variant-numeric:tabular-nums}.jgal-title{--jgal-title-line-height: 1.6;--jgal-title-lines: 2;font-family:Noto Sans JP,sans-serif;font-size:.9rem;font-weight:400;line-height:var(--jgal-title-line-height);min-height:calc(1em * var(--jgal-title-line-height) * var(--jgal-title-lines));display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--jgal-title-lines);line-clamp:var(--jgal-title-lines);overflow:hidden;align-self:stretch;color:var(--text-main);transition:color .3s ease}.jgal-card:hover .jgal-title{color:#b3592f}.jgal-viewall-item{display:flex;align-self:stretch;width:auto;min-width:11rem}.jgal-viewall-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;width:100%;color:var(--text-main);transition:color .3s ease}.jgal-viewall-label{font-size:.8rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.jgal-viewall-arrow{font-size:.9rem;line-height:1;transition:transform .3s ease}.jgal-viewall-link:hover{color:#b3592f}.jgal-viewall-link:hover .jgal-viewall-arrow{transform:translate(.35rem)}.jgal-list[data-observed] .jgal-viewall-item{opacity:0;transform:translate(1.5rem);transition:opacity 1.1s ease,transform 1.1s ease}.jgal-list[data-observed] .jgal-viewall-item.is-visible{opacity:1;transform:none}@media(hover:hover){.jgal-overlay{display:flex}.jgal-card:hover .jgal-overlay,.jgal-card:focus-visible .jgal-overlay{opacity:1}.jgal-meta .jgal-metaline{display:none}}@media(prefers-reduced-motion:reduce){.jgal-title,.jgal-overlay,.jgal-viewall-arrow{transition:none}.jgal-scroller{scroll-behavior:auto}.jgal-list[data-observed] .jgal-viewall-item{opacity:1;transform:none;transition:none}}.site-footer{position:relative;z-index:20;background-color:#fff;padding:0 96px 2.5rem}.site-copyright{font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:.1em;text-align:right}@media(max-width:1024px){.sec{padding:6rem 48px}.site-footer{padding:0 48px 2.5rem}.jgal-scroller{margin-right:-48px}.jgal-list{padding-right:48px}.about-grid{grid-template-columns:1fr;min-height:0;width:100%;gap:2.5rem}.about-spacer{flex:none;min-height:2rem}.about-photo-spacer{flex:none}}@media(max-width:767px){.sec{padding:5rem 24px}.site-footer{padding:0 24px 2rem}.jgal-scroller{margin-right:-24px}.jgal-list{padding-right:24px}.sec-head{gap:1.25rem;margin-bottom:2.5rem}.sec-title{font-size:1.15rem;letter-spacing:.22em}.site-nav{padding:1rem 1.25rem;gap:1rem}.site-nav-toggle{display:flex}.site-nav-links{display:none;position:absolute;top:100%;left:0;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:0 1.25rem .5rem;background-color:#f8f8f8e0;backdrop-filter:blur(10px);border-top:1px solid #e5e7eb}.site-nav-links.is-open{display:flex}.site-nav-links .site-nav-link{padding:.95rem 0;border-bottom:1px solid #e5e7eb;text-align:right}.site-nav-links .site-nav-link:last-child{border-bottom:none}.site-nav-links+.site-nav-sep{display:none}.hero{padding:7rem 4.25rem 4rem}.hero-welcome{left:1.25rem;gap:1rem}.hero-welcome-text{font-size:1rem}.hero-welcome-rule{height:2rem}.hero-kv-wrap{width:min(100%,640px)}.about-name-row{margin-bottom:2rem;flex-wrap:wrap}.jrow{grid-template-columns:1fr auto;gap:.5rem 1rem;padding:1.25rem 0}.jrow-date{grid-column:1 / -1}}.wcard-list{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width:768px){.wcard-list{grid-template-columns:repeat(3,1fr);gap:2rem}}.wcard{display:block;padding:.75rem;background-color:#faf8f4;color:var(--text-main);overflow:hidden;box-shadow:0 0 18px #1c19170f,0 4px 6px -1px #1c19170d;transition:box-shadow .5s ease}.wcard:hover{box-shadow:0 0 28px #1c191714,0 20px 25px -5px #1c19171a}.wcard-image{aspect-ratio:3 / 2;width:100%;background-color:#ece7de;overflow:hidden}.wcard-image img{width:100%;height:100%;object-fit:cover;display:block}.wcard-title{margin-top:.9rem;font-size:.9rem;font-weight:500;letter-spacing:.16em;color:var(--text-main);transition:color .3s ease}.wcard:hover .wcard-title{color:#b3592f}.wcard-image{transform-origin:top center}@keyframes wcardImageSway{0%{transform:rotate(0)}5%{transform:rotate(-.402deg)}10%{transform:rotate(-.764deg)}15%{transform:rotate(-1.052deg)}20%{transform:rotate(-1.236deg)}25%{transform:rotate(-1.3deg)}30%{transform:rotate(-1.236deg)}35%{transform:rotate(-1.052deg)}40%{transform:rotate(-.764deg)}45%{transform:rotate(-.402deg)}50%{transform:rotate(0)}55%{transform:rotate(.402deg)}60%{transform:rotate(.764deg)}65%{transform:rotate(1.052deg)}70%{transform:rotate(1.236deg)}75%{transform:rotate(1.3deg)}80%{transform:rotate(1.236deg)}85%{transform:rotate(1.052deg)}90%{transform:rotate(.764deg)}95%{transform:rotate(.402deg)}to{transform:rotate(0)}}@media(hover:hover){.wcard:hover .wcard-image{will-change:transform;animation:wcardImageSway 2.8s linear infinite}}@media(prefers-reduced-motion:reduce){.wcard{transition:none}.wcard:hover .wcard-image{animation:none!important;will-change:auto!important}}.journal-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.journal-row{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;align-items:center;padding:1rem 0;border-bottom:1px solid #e5e7eb;color:var(--text-main);transition:opacity .3s ease,transform .3s ease}.journal-row:last-child{border-bottom:none}.journal-row:hover{opacity:.7;transform:translate(8px)}@media(max-width:767px){.journal-row{grid-template-columns:1fr;gap:.25rem;padding:.75rem 0}}.journal-date{font-size:.9rem;font-weight:500;color:var(--text-sub)}@media(max-width:767px){.journal-date{font-size:.85rem}}.journal-title{font-size:.95rem;font-weight:500;color:var(--text-main)}@media(max-width:767px){.journal-title{font-size:.9rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
