body{margin:0}#root{width:100%}:root{--color-bg:#faf7f2;--color-bg-alt:#fff;--color-text:#29231f;--color-text-light:#8a8078;--color-accent:#ec7f52;--color-accent-dark:#cf6237;--color-accent-soft:#fbe9de;--color-soft:#f5ddce;--color-soft-2:#efcdb8;--color-dark:#2a2320;--border-radius:2px;--max-width:1120px;--font-serif:"Shippori Mincho", "Yu Mincho", serif;--font-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);letter-spacing:.01em;margin:0;font-size:15.5px;line-height:2}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-serif);letter-spacing:.03em;font-weight:600}.container{max-width:var(--max-width);margin:0 auto;padding:0 32px}.site-header{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#faf7f2f0;border-bottom:1px solid #29231f14;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:76px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand img{width:auto;height:48px}.brand-name{font-family:var(--font-serif);letter-spacing:.03em;color:var(--color-text);white-space:nowrap;font-size:.92rem;font-weight:600;line-height:1.4}.nav-toggle{cursor:pointer;background:0 0;border:none;padding:8px;display:none}.nav-toggle span{background:var(--color-text);width:22px;height:1px;margin:6px 0;transition:all .2s;display:block}.main-nav ul{gap:38px;margin:0;padding:0;list-style:none;display:flex}.main-nav a{letter-spacing:.08em;border-bottom:1px solid #0000;padding:6px 1px;font-size:.82rem;font-weight:500;transition:border-color .25s,color .25s}.main-nav a:hover,.main-nav a.active{color:var(--color-accent-dark);border-color:var(--color-accent)}.hero{min-height:78vh;color:var(--color-text);background:linear-gradient(155deg, #ffffff80, #ffffff38), linear-gradient(135deg, var(--color-soft) 0%, var(--color-soft-2) 100%);align-items:center;display:flex;position:relative}.hero .container{padding-top:80px;padding-bottom:80px}.hero-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--color-accent-dark);opacity:1;margin-bottom:22px;font-size:.78rem;font-weight:600}.hero h1{color:var(--color-text);margin:0 0 28px;font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:600;line-height:1.9}.hero p.lead{max-width:520px;color:var(--color-text-light);margin-bottom:36px;font-size:.95rem;line-height:1.9}.btn{letter-spacing:.14em;text-transform:uppercase;border-radius:var(--border-radius);border:1px solid #0000;padding:15px 38px;font-size:.82rem;font-weight:500;transition:background .25s,color .25s,border-color .25s;display:inline-block}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.btn-outline{border-color:var(--color-text);color:var(--color-text);background:0 0}.btn-outline:hover{background:var(--color-text);color:#fff}.btn-outline-dark{border-color:var(--color-text);color:var(--color-text)}.btn-outline-dark:hover{background:var(--color-text);color:#fff}section{padding:108px 0}section.alt{background:var(--color-bg-alt)}.section-head{text-align:center;max-width:620px;margin:0 auto 56px}.section-eyebrow{color:var(--color-accent-dark);letter-spacing:.24em;text-transform:uppercase;margin-bottom:14px;font-size:.76rem;font-weight:500}.section-head h2{margin:0 0 16px;font-size:clamp(1.5rem,2.6vw,1.95rem)}.section-head p{color:var(--color-text-light);margin:0;line-height:1.9}.grid{gap:44px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:0 0;border:none;border-radius:0;transition:opacity .25s;overflow:visible}.card:hover{opacity:.85}.card img{aspect-ratio:4/3;object-fit:cover;background:#eee2d8;width:100%;margin-bottom:22px}.card-body{padding:0}.card-body h3{margin:0 0 10px;font-size:1.02rem;font-weight:600}.card-body p{color:var(--color-text-light);margin:0;font-size:.88rem;line-height:1.85}.tag{color:var(--color-accent-dark);letter-spacing:.14em;margin-bottom:12px;font-size:.72rem;font-weight:600;display:inline-block}table.schedule{border-collapse:collapse;background:0 0;width:100%}table.schedule th,table.schedule td{text-align:left;border-bottom:1px solid #29231f1f;padding:18px 20px;font-size:.9rem}table.schedule th{color:var(--color-text);letter-spacing:.06em;border-bottom:1px solid var(--color-text);background:0 0;font-weight:600}.cta{background:linear-gradient(135deg, var(--color-soft) 0%, var(--color-soft-2) 100%);color:var(--color-text);text-align:center}.cta h2{margin:0 0 18px;font-size:clamp(1.35rem,2.6vw,1.75rem)}.cta p{color:var(--color-text-light);margin:0 0 32px}form.contact-form{gap:24px;max-width:560px;margin:0 auto;display:grid}.form-row label{letter-spacing:.05em;color:var(--color-text-light);margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.form-row input,.form-row textarea,.form-row select{background:0 0;border:none;border-bottom:1px solid #29231f40;border-radius:0;width:100%;padding:13px 16px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--color-accent);outline:none}.form-row textarea{resize:vertical;min-height:120px}.site-footer{background:var(--color-dark);color:#ffffffad;padding:64px 0 32px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:44px;display:grid}.footer-grid h4{color:#fff;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:500;font-family:var(--font-sans);margin:0 0 20px}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid li{margin-bottom:12px;font-size:.86rem}.footer-grid a:hover{color:var(--color-accent)}.social-links{gap:16px;display:flex}.social-links a{letter-spacing:.02em;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.72rem;display:inline-flex}.social-links a:hover{border-color:var(--color-accent);color:var(--color-accent)}.footer-bottom{text-align:center;color:#ffffff6b;letter-spacing:.04em;border-top:1px solid #ffffff1f;padding-top:24px;font-size:.76rem}.footer-bottom .credit{color:#ffffff4d;margin-top:6px;font-size:.72rem;display:block}.site-credit{text-align:center;letter-spacing:.06em;color:var(--color-text-light);margin:40px 0 0;font-size:.76rem}.post-list{gap:40px;display:grid}.post-item{background:0 0;border-bottom:1px solid #29231f1f;border-radius:0;grid-template-columns:240px 1fr;gap:32px;padding-bottom:40px;display:grid;overflow:visible}.post-item img{object-fit:cover;background:#eee2d8;width:100%;height:100%;min-height:150px}.post-item .card-body{padding:4px 0}.post-date{letter-spacing:.1em;color:var(--color-accent-dark);margin-bottom:10px;font-size:.76rem;font-weight:600}.page-header{background:linear-gradient(135deg, var(--color-soft) 0%, var(--color-soft-2) 100%);color:var(--color-text);text-align:center;padding:88px 0 72px}.page-header h1{margin:0 0 14px;font-size:clamp(1.6rem,3vw,2.1rem)}.page-header p{color:var(--color-text-light);margin:0;font-size:.92rem}.logo-story{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.logo-story figure{margin:0}.logo-story img{border:1px solid #29231f1a;width:100%}.logo-story figcaption{color:var(--color-text-light);letter-spacing:.06em;text-align:center;margin-top:12px;font-size:.76rem}@media (width<=860px){.grid-3{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.logo-story{grid-template-columns:1fr;gap:32px}.brand-name{display:none}}@media (width<=640px){.nav-toggle{display:block}.main-nav{background:var(--color-bg-alt);border-bottom:1px solid #29231f14;display:none;position:absolute;top:76px;left:0;right:0}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:0;padding:8px 32px 24px}.main-nav a{border-bottom:1px solid #29231f14;padding:14px 0;display:block}.grid-3,.grid-2,.post-item{grid-template-columns:1fr}section{padding:72px 0}}
