:root{--color-ink: #1d2420;--color-brand: #24533a;--color-forest: #173b28;--color-sage: #e6eee8;--color-turmeric: #f0b323;--color-turmeric-soft: #fcf0cf;--color-paper: #f6f3ec;--color-white: #ffffff;--color-muted: #59625c;--color-body: #3a443e;--color-line: #ddd8cc;--color-line-soft: #ece8de;--color-on-dark-muted: #d8e4db;--color-on-dark-subtle: #c3d2c7;--color-line-on-dark: #3b5e48;--color-line-icon: #06c755;--font-display: "Zen Kaku Gothic New", sans-serif;--font-body: "Noto Sans JP", sans-serif;--font-label: "DM Sans", sans-serif;--text-size-xs: .75rem;--text-size-label: .8125rem;--text-size-sm: .875rem;--text-size-body: 1rem;--text-size-lg: 1.125rem;--text-size-xl: 1.25rem;--text-size-2xl: 1.5rem;--text-size-3xl: 1.875rem;--text-size-4xl: 2.25rem;--text-size-5xl: 3rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.25rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 2.5rem;--space-4xl: 3rem;--space-5xl: 4rem;--space-6xl: 5rem;--space-7xl: 6rem;--content-max: 1200px;--gutter: clamp(16px, 4vw, 40px);--section-space: clamp(64px, 8vw, 112px);--section-space-small: clamp(48px, 6vw, 88px);--section-space-large: clamp(72px, 9vw, 120px);--radius-control: 8px;--radius-card: 16px;--radius-panel: 24px;--radius-pill: 999px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-size-body);line-height:1.8;color:var(--color-ink);background:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--color-brand);outline-offset:3px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.35;margin-bottom:var(--space-md)}h1{font-size:clamp(36px,5vw,60px);font-weight:900;line-height:1.25}h2{font-size:clamp(28px,3.4vw,44px);font-weight:900}h3{font-size:var(--text-size-2xl)}h4{font-size:var(--text-size-xl)}h5{font-size:var(--text-size-lg)}h6{font-size:var(--text-size-body)}p{margin-bottom:var(--space-md)}a{color:var(--color-brand);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.2em}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.container{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-space)}.section--small{padding-block:var(--section-space-small)}.section--large{padding-block:var(--section-space-large)}body{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:48px;max-width:100%;padding:10px 24px;border:2px solid transparent;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-white);font-family:var(--font-body);font-size:var(--text-size-sm);font-weight:700;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.btn--primary{background:var(--color-brand);color:var(--color-white)}.btn--primary:hover{background:var(--color-forest)}.btn--amazon{background:var(--color-turmeric);color:var(--color-ink)}.btn--amazon:hover{background:var(--color-turmeric-soft);border-color:var(--color-turmeric)}.btn--outline{border-color:var(--color-ink);background:transparent;color:var(--color-ink)}.btn--outline:hover{background:var(--color-paper)}.btn--dark{background:var(--color-ink);color:var(--color-white)}.btn--dark:hover{background:var(--color-forest)}.btn--white{background:var(--color-white);color:var(--color-ink)}.btn--white:hover{background:var(--color-paper)}.btn:hover{text-decoration:none}.btn--small{min-height:44px;padding:8px 18px}.btn--large{min-height:56px;padding:14px 30px;font-size:var(--text-size-body)}.btn--block{display:flex;width:100%}.btn svg{flex-shrink:0}.btn:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.u-ml-2{margin-left:var(--space-xs)}.u-mr-2{margin-right:var(--space-xs)}.u-mt-2{margin-top:var(--space-xs)}.u-mb-2{margin-bottom:var(--space-xs)}.u-text-center{text-align:center}.u-flex{display:flex}.u-gap-2{gap:var(--space-xs)}.u-gap-4{gap:var(--space-md)}.site-header{background:var(--color-white);border-bottom:1px solid var(--color-line)}.header-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-top:14px;padding-bottom:var(--space-2xs)}.header-brand{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;color:var(--color-ink)}.header-brand:hover{text-decoration:none}.header-brand-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--color-brand)}.header-brand-mark img{width:24px;height:24px;object-fit:contain}.header-brand-copy{display:flex;flex-direction:column;gap:2px;line-height:1.1}.header-brand-name{font-family:var(--font-label);font-size:19px;font-weight:700;letter-spacing:.16em}.header-brand-tagline{font-size:11px;letter-spacing:.12em;color:var(--color-muted)}.header-navigation{overflow-x:auto}.header-links{display:flex;gap:28px;width:max-content}.header-links a{display:inline-flex;align-items:center;min-height:48px;border-bottom:3px solid transparent;color:var(--color-ink);font-size:15px;font-weight:500;white-space:nowrap}.header-links a:hover,.header-links a[aria-current=page]{border-bottom-color:var(--color-turmeric);text-decoration:none}.header-links a[aria-current=page]{font-weight:700}.header-links a:focus-visible{outline-offset:-3px}.site-footer{background:var(--color-forest);color:var(--color-white)}.site-footer :focus-visible{outline-color:var(--color-turmeric)}.footer-line{background:var(--color-brand)}.footer-line-content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-lg) var(--space-3xl);padding-block:var(--space-3xl)}.footer-line-copy{display:flex;flex-direction:column;flex:1 1 420px;min-width:0;gap:6px}.footer-line-copy p,.footer-content p,.footer-bottom p{margin:0}.footer-line-eyebrow{font-family:var(--font-label);font-size:var(--text-size-label);font-weight:700;letter-spacing:.18em;color:var(--color-turmeric)}.footer-line-title{font-family:var(--font-display);font-size:clamp(20px,2.4vw,26px);font-weight:700;line-height:1.5}.footer-line-lead{color:var(--color-on-dark-muted);font-size:var(--text-size-sm)}.footer-line-button{min-height:52px;gap:10px;padding-inline:28px;font-size:15px}.footer-line-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:6px;background:var(--color-line-icon);color:var(--color-white);font-family:var(--font-label);font-size:9px;font-weight:700}.footer-content{display:flex;flex-wrap:wrap;gap:var(--space-3xl) var(--space-5xl);padding-top:56px;padding-bottom:var(--space-2xl)}.footer-brand{display:flex;flex-direction:column;flex:1 1 280px;gap:var(--space-md)}.footer-brand-link{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;color:var(--color-white)}.footer-brand-link img{width:36px;height:36px;object-fit:contain}.footer-brand-link span{font-family:var(--font-label);font-size:22px;font-weight:700;letter-spacing:.16em}.footer-brand p{font-size:var(--text-size-sm);line-height:1.9;color:var(--color-on-dark-muted)}.footer-navigation{flex:2 1 360px;min-width:0}.footer-navigation ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:var(--space-2xs) var(--space-xl)}.footer-navigation a,.footer-contact p a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-white)}.footer-navigation a{font-size:var(--text-size-sm)}.footer-contact{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 240px;gap:var(--space-sm)}.footer-contact p{color:var(--color-on-dark-muted);font-size:var(--text-size-label)}.footer-bottom{border-top:1px solid var(--color-line-on-dark);padding-top:var(--space-lg);padding-bottom:28px}.footer-bottom p{color:var(--color-on-dark-subtle);font-size:var(--text-size-xs)}
