@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600&family=Noto+Sans+JP:wght@400;500&family=Noto+Serif+JP:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--c-white: #ffffff;--c-snow: #fbf9f6;--c-pearl: #f5f1eb;--c-silk: #ece5db;--c-silver: #c9bdb0;--c-ash: #9c8e80;--c-slate: #6b5e52;--c-charcoal: #3a2a1f;--c-ink: #2b1d15;--c-black: #1a110b;--c-primary: #5c4033;--c-primary-light: #8b6f5e;--c-primary-pale: #d4c4b0;--c-primary-ghost: #f3ede7;--c-accent: #c8956c;--c-accent-light:#e8c9a8;--c-accent-pale: #faf3eb;--c-accent-hover:#b37d52;--c-success: #4a7c59;--c-warning: #c17f1a;--c-error: #a63a2a;--c-info: #5c6b82;--c-overlay: rgba(26, 17, 11, .75);--c-overlay-light: rgba(26, 17, 11, .3);--c-surface-glass: rgba(253, 248, 240, .72);--c-border-soft: rgba(236, 229, 219, .6);--c-on-dark: rgba(253, 248, 240, .95);--c-on-dark-strong: rgba(253, 248, 240, .9);--c-on-dark-muted: rgba(253, 248, 240, .75);--c-on-dark-soft: rgba(253, 248, 240, .2);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Plus Jakarta Sans", "Noto Sans JP", "Helvetica Neue", sans-serif;--font-serif: "Cormorant Garamond", "Noto Serif JP", Georgia, serif;--font-mono: "SF Mono", "Fira Code", Consolas, monospace;--font-serif-ja: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", serif;--font-serif-en: "Cormorant Garamond", "Cormorant", Georgia, serif;--font-body-ja: "Noto Sans JP", sans-serif;--font-body-en: "Plus Jakarta Sans", sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 1.875rem;--fs-3xl: 2.25rem;--fs-4xl: 3rem;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-snug: 1.375;--lh-normal: 1.5;--lh-relaxed: 1.625;--lh-loose: 1.75;--ls-tight: -.025em;--ls-normal: 0;--ls-wide: .025em;--ls-wider: .05em;--ls-widest: .1em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--sp-24: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--border-light: 1px solid var(--c-silk);--border-medium: 1px solid var(--c-silver);--border-accent: 2px solid var(--c-accent);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08), 0 4px 6px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 8px 10px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .15);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-card-hover: 0 10px 20px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--transition-base: all var(--duration-normal) var(--ease-default);--transition-fast: all var(--duration-fast) var(--ease-default);--transition-slow: all var(--duration-slow) var(--ease-default);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-drawer: 9999;--max-width: 1200px;--w-wide: 1080px;--content-width: 960px;--w-reading: 720px;--w-reading-narrow: 640px;--header-height: 72px}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;background:transparent}html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}nav ul{list-style:none}a{font-size:100%;vertical-align:baseline;background:transparent}table{border-collapse:collapse;border-spacing:0}input,select{vertical-align:middle}hr{display:block;height:1px;border:0;border-top:1px solid var(--c-silk);margin:1em 0;padding:0}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::selection{background:var(--c-accent-light);color:var(--c-ink)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fukuda-toast{position:fixed;bottom:var(--sp-6);left:50%;transform:translate(-50%,120%);background:var(--c-ink);color:var(--c-white);padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);box-shadow:var(--shadow-lg);z-index:var(--z-modal);pointer-events:none;opacity:0;max-width:calc(100vw - var(--sp-8));text-align:center;transition:transform var(--duration-normal) var(--ease-default),opacity var(--duration-normal) var(--ease-default)}.fukuda-toast.is-visible{transform:translate(-50%);opacity:1}.back-to-top{position:fixed;bottom:var(--sp-6);right:var(--sp-6);width:44px;height:44px;background:var(--c-primary);color:var(--c-white);border:0;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);transition:opacity var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default),background var(--duration-fast) var(--ease-default);z-index:var(--z-sticky);pointer-events:none}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:var(--c-accent-hover)}.back-to-top:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.modal-nav{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) 0;color:var(--c-slate);font-size:var(--fs-xs);letter-spacing:var(--ls-wide)}.modal-nav button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);border:1px solid var(--c-silk);background:var(--c-white);color:var(--c-charcoal);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);font-size:var(--fs-md);line-height:1}.modal-nav button:hover{background:var(--c-primary);color:var(--c-white);border-color:var(--c-primary)}.modal-nav button:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.modal-nav [data-nav-counter]{font-variant-numeric:tabular-nums;min-width:5ch;text-align:center}.copyable{cursor:pointer;position:relative;transition:color var(--duration-fast) var(--ease-default);border-radius:var(--radius-sm);padding:0 var(--sp-1);margin:0 calc(-1 * var(--sp-1))}.copyable:hover{background:var(--c-primary-ghost);color:var(--c-accent-hover)}.copyable:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.copyable:after{content:"\29c9";margin-left:var(--sp-1);opacity:.4;font-size:.85em;transition:opacity var(--duration-fast)}.copyable:hover:after{opacity:.9}.skip-link{position:absolute;top:0;left:var(--sp-2);transform:translateY(-120%);z-index:var(--z-drawer);padding:var(--sp-2) var(--sp-4);background:var(--c-primary);color:var(--c-white);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-radius:0 0 var(--radius-md) var(--radius-md);text-decoration:none;transition:transform var(--duration-fast) var(--ease-default)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--c-accent);outline-offset:2px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeInUp{animation:fadeInUp var(--duration-slow) var(--ease-out) both}.animate-fadeIn{animation:fadeIn var(--duration-normal) var(--ease-out) both}.animate-slideInRight{animation:slideInRight var(--duration-slow) var(--ease-out) both}.section-eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--c-accent);text-align:center;margin-bottom:var(--sp-4)}.section-title{color:var(--c-ink);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:1.05;margin-bottom:var(--sp-8);text-align:center}.section-title--hero{font-size:clamp(2.5rem,5.5vw,4rem)}.section-lead{max-width:var(--w-reading);margin:0 auto;text-align:center;line-height:var(--lh-relaxed)}.section-lead>span[lang=ja]{font-size:var(--fs-md);color:var(--c-charcoal)}.section-lead>span[lang=en]{margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--c-slate);letter-spacing:var(--ls-wide)}.section-lead--sub>span[lang=ja]{font-size:var(--fs-base)}.section-lead--sub>span[lang=en]{margin-top:var(--sp-2);font-size:var(--fs-xs)}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.page-enter{animation:fadeInUp var(--duration-slow) var(--ease-out) both;animation-delay:.1s}.card-stagger>*:nth-child(1){animation-delay:0s}.card-stagger>*:nth-child(2){animation-delay:.04s}.card-stagger>*:nth-child(3){animation-delay:.08s}.card-stagger>*:nth-child(4){animation-delay:.12s}.card-stagger>*:nth-child(5){animation-delay:.16s}.card-stagger>*:nth-child(6){animation-delay:.2s}.card-stagger>*:nth-child(7){animation-delay:.24s}.card-stagger>*:nth-child(8){animation-delay:.28s}.card-stagger>*:nth-child(n+9){animation-delay:.32s}
