.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{color-scheme:light;--bg: #f7f5ef;--font-ui: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--paper: #fffdf7;--surface: #ffffff;--ink: #161616;--ink-soft: #5b5b5b;--line: #d6d1c4;--line-strong: #bbb3a3;--accent: #181818;--accent-soft: #f2eee3;--accent-sub: #8f6a36;--shadow: 0 14px 30px rgba(0, 0, 0, .06);--radius-lg: 10px;--radius-md: 8px;--radius-sm: 6px;--wrap: min(1240px, calc(100vw - 48px) )}*{box-sizing:border-box}html{color:var(--ink);font-family:var(--font-ui);line-height:1.82;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0,rgba(0,0,0,.03) 1px,transparent 1px,transparent 56px),repeating-linear-gradient(90deg,rgba(0,0,0,.03) 0,rgba(0,0,0,.03) 1px,transparent 1px,transparent 56px),linear-gradient(180deg,var(--paper) 0%,var(--bg) 100%);overflow-x:hidden;position:relative}a{color:inherit}.ambient-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 12%,rgba(0,0,0,.05),transparent 34%),radial-gradient(circle at 88% 17%,rgba(143,106,54,.08),transparent 30%);opacity:.5}.site-shell{width:var(--wrap);margin:0 auto;padding:18px 0 60px}.site-header,.hero-card,.panel,.section-card,.timeline article,.info-grid dl,.site-footer{border:1px solid var(--line)}.site-header{margin-bottom:30px;padding:14px 18px;background:#ffffffe6;border-radius:var(--radius-md);box-shadow:var(--shadow);position:sticky;top:10px;z-index:20;backdrop-filter:blur(8px)}.header-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.menu-mark{appearance:none;border:0;background:transparent;padding:0;color:var(--ink-soft);font-size:1.4rem;line-height:1;cursor:pointer}.page-menu{position:static}.page-menu-backdrop{position:fixed;inset:0;background:transparent;backdrop-filter:none;z-index:70}.page-menu-popover{position:fixed;top:22px;right:max(16px,calc((100vw - var(--wrap)) / 2 + 16px));width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 44px);overflow-y:auto;padding:18px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fffffffa;box-shadow:0 24px 56px #00000024;backdrop-filter:blur(12px);z-index:80}.page-menu-title{margin:0 0 12px;color:var(--ink-soft);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.page-menu-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.page-menu-list a{display:block;padding:10px 12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#f7f5efb8;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.page-menu-list a:hover{background:var(--accent-soft);border-color:var(--line-strong);transform:translate(-2px)}.brand{text-decoration:none}.brand strong,.brand-kicker{display:block}.brand strong{font-family:var(--font-ui);font-size:clamp(1.32rem,2.2vw,1.86rem);letter-spacing:.07em;font-weight:500;line-height:1.2}.brand-kicker{color:var(--ink-soft);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700}.nav-list{display:flex;flex-wrap:wrap;gap:18px;margin:10px 0 0;padding:0;list-style:none}.nav-list a{position:relative;display:inline-flex;align-items:center;text-decoration:none;color:var(--ink-soft);font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.nav-list a:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.nav-list a.is-active,.nav-list a:hover{color:var(--accent)}.nav-list a.is-active:after,.nav-list a:hover:after{transform:scaleX(1)}main{display:grid;gap:30px}main :is(h1,h2)[data-anchor-target]{scroll-margin-top:120px}body.menu-open{overflow:hidden}.hero-grid,.two-column,.card-grid,.info-grid{display:grid;gap:18px}.hero-grid{grid-template-columns:1.5fr 1fr;align-items:stretch}.hero-card{padding:52px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,rgba(143,106,54,.06),transparent 38%)}.hero-copy,.panel{position:relative;z-index:1}.panel{padding:30px;border-radius:var(--radius-md);background:#fffffff5;box-shadow:var(--shadow)}.eyebrow{margin:0;color:var(--accent-sub);font-size:.78rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}.hero-copy h1{margin:12px 0 0;font-family:var(--font-ui);font-size:clamp(2.8rem,6.4vw,5.4rem);line-height:1.1;font-weight:400;letter-spacing:.04em}.page-title h1{margin:12px 0 0;font-family:var(--font-ui);font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.2;font-weight:400;letter-spacing:.06em}.hero-copy .subhead{margin-top:22px;color:var(--ink-soft);font-size:1.2rem;letter-spacing:.22em;text-transform:uppercase}.lead{margin:0;color:var(--ink-soft);font-size:1.04rem;max-width:44rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;text-decoration:none;font-weight:700;transition:all .16s ease}.button{background:var(--accent);border:1px solid var(--accent);color:#f8f4ea}.button:hover{background:#000}.button:disabled{opacity:.7;cursor:wait}.button-secondary{background:transparent;border:1px solid var(--line-strong);color:var(--ink)}.button-secondary:hover{border-color:var(--accent)}.section-card{padding:30px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow)}.section-heading{display:grid;gap:8px;margin-bottom:18px}.section-heading h2,.panel h2,.section-card h2,.section-card h3{margin:0;font-family:var(--font-ui);font-weight:400;letter-spacing:.04em;line-height:1.3}.section-heading p,.page-title p,.muted{margin:0;color:var(--ink-soft)}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-column,.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid dl{margin:0;padding:16px;border-radius:var(--radius-sm);background:#fff}.info-grid dt{color:var(--ink-soft);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}.info-grid dd{margin:8px 0 0;font-weight:700}.list{margin:0;padding-left:1.2rem}.list li+li{margin-top:8px}.timeline{display:grid;gap:14px}.card-link{display:block;text-decoration:none}.card-link h3{transition:color .16s ease}.card-link:hover h3{color:var(--accent-sub)}.timeline article{padding:18px;border-radius:var(--radius-sm);background:#fff;border-left-width:3px;border-left-color:var(--accent-sub)}.timeline time{color:var(--ink-soft);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.link-hint{margin-top:10px;color:var(--ink-soft);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.page-title{display:grid;gap:14px;margin-bottom:8px}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--line);color:var(--ink-soft);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.contact-form{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{color:var(--ink-soft);font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.field input,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:12px 14px;font:inherit;color:var(--ink);background:#fff}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #00000014}.field textarea{min-height:138px;resize:vertical}.helper{margin:0;color:var(--ink-soft);font-size:.86rem}.helper-error{color:#b03a3a}.site-footer{margin-top:30px;padding:26px;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr .8fr;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.footer-block h3{margin:0 0 10px;font-family:var(--font-ui);font-size:1.18rem;letter-spacing:.06em;font-weight:400}.footer-block ul{margin:0;padding:0;list-style:none;color:var(--ink-soft)}.footer-block li+li{margin-top:6px}.footer-block a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .16s ease}.footer-block a:hover{border-color:var(--accent)}.copyright{margin:14px 0 0;font-size:.9rem;color:var(--ink-soft);text-align:center;letter-spacing:.04em}[data-reveal]{opacity:0;transform:translateY(20px);filter:blur(2px);transition:opacity .62s ease,transform .62s ease,filter .62s ease;will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:translateY(0);filter:blur(0)}@keyframes pageEnter{0%{opacity:0;transform:translateY(18px) scale(.995);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes pageLeave{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-10px) scale(.998);filter:blur(3px)}}::view-transition-old(root){animation:pageLeave .22s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:pageEnter .38s cubic-bezier(.22,1,.36,1) both}@media(max-width:980px){.site-header{position:static}.hero-grid,.two-column,.card-grid,.info-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){:root{--wrap: min(1240px, calc(100vw - 26px) )}.site-shell{padding-top:10px;padding-bottom:44px}.site-header,.hero-card,.section-card,.site-footer,.panel{padding:18px}.hero-copy h1{font-size:clamp(1.84rem,9vw,2.5rem)}.page-title h1{font-size:clamp(1.42rem,5.8vw,1.86rem)}.nav-list{gap:12px}.nav-list a{font-size:.78rem}.page-menu-popover{top:14px;right:14px;max-height:calc(100vh - 28px);padding:16px}.footer-grid{grid-template-columns:1fr;gap:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important;filter:none!important}}
