@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_31542db1-module__KGCp_W__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_31542db1-module__KGCp_W__variable{--font-outfit:"Outfit", "Outfit Fallback"}
:root{--color-white:#fff;--color-green-primary:#3b5c46;--color-green-dark:#2a4332;--color-green-light:#e8efe9;--color-green-accent:#78a385;--color-green-emerald:#159b6c;--color-beige-bg:#f7f4ec;--color-beige-accent:#e3dccd;--color-text-main:#2e2e2b;--color-text-sub:#6b6960;--color-border:#ddd6c8;--color-gold:#9c7a2e;--color-gold-light:#c2a14d;--color-bg-light:#f4f2ec;--color-line:var(--color-green-emerald);--shadow-sm:0 1px 3px #2a43320f;--shadow-md:0 12px 30px -18px #2a433238;--shadow-lg:0 24px 50px -28px #2a43324d;--shadow-soft:0 18px 40px -24px #2a433242;--font-jp:var(--font-noto-sans-jp), "Noto Sans JP", sans-serif;--font-serif-jp:var(--font-noto-serif-jp), "Noto Serif JP", serif;--font-en:var(--font-outfit), "Outfit", sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--spacing-2xl:8rem;--spacing-xxl:8rem;--spacing-3xl:10rem}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-jp);color:var(--color-text-main);background-color:var(--color-beige-bg);scroll-behavior:smooth;letter-spacing:.02em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.85}body{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none;transition:all .3s cubic-bezier(.25,.46,.45,.94)}a:hover{opacity:.7}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif-jp);color:var(--color-text-main);letter-spacing:.03em;word-break:auto-phrase;line-break:strict;text-wrap:balance;font-weight:600;line-height:1.45}p{word-break:auto-phrase;line-break:strict;text-wrap:pretty}.container{width:100%;max-width:1200px;padding:0 var(--spacing-sm);margin:0 auto}@media (min-width:768px){.container{padding:0 var(--spacing-md)}}.text-en{font-family:var(--font-en)}.section-padding{padding:var(--spacing-xl) 0}@media (min-width:768px){.section-padding{padding:var(--spacing-3xl) 0}}.fade-in{opacity:0;animation:1.2s cubic-bezier(.22,1,.36,1) forwards fadeIn}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
