:root{--cream:#fdfaf5;--gold:#b8860b;--gold-light:#d4a520;--gold-pale:#f0e0a0;--dark:#0f0e0c;--dark-mid:#1e1c18;--brown-bg:#1a1100;--line-green:#06c755;--font-display:"Cormorant Garamond", serif;--font-body:"Noto Sans JP", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--dark);font-family:var(--font-body);font-weight:300;line-height:1.8;overflow-x:hidden}.page-hero{background:var(--brown-bg);text-align:center;padding:100px 24px 72px;position:relative;overflow:hidden}.page-hero:before{content:"";pointer-events:none;background:radial-gradient(60% 80% at 50% 120%,#b8860b2e 0%,#0000 70%);position:absolute;inset:0}.page-hero-label{font-family:var(--font-display);letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;font-size:clamp(11px,1.5vw,13px)}.page-hero h1{font-family:var(--font-display);color:var(--cream);letter-spacing:.05em;font-size:clamp(32px,6vw,52px);font-weight:300;line-height:1.2}.page-hero-line{background:var(--gold);width:40px;height:1px;margin:24px auto 0}.section{max-width:900px;margin:0 auto;padding:80px 24px}.section+.section{padding-top:0}.company-page .section-label{font-family:var(--font-display);letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:12px;font-size:12px}.company-page .section-title{font-family:var(--font-display);letter-spacing:.02em;margin-bottom:40px;font-size:clamp(26px,4vw,38px);font-weight:300;line-height:1.3}.company-page .section-title span{letter-spacing:.25em;color:var(--gold);margin-bottom:8px;font-size:.55em;display:block}.founding{background:var(--dark-mid);color:var(--cream)}.company-page .founding .section{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}@media (max-width:680px){.founding .section{grid-template-columns:1fr;gap:40px}}.company-page .founding .section-title{color:var(--cream);margin-bottom:24px}.company-page .founding .section-label{color:var(--gold-light)}.founding-text p{color:#fdfaf5cc;margin-bottom:20px;font-size:clamp(14px,1.8vw,15px);line-height:2}.founding-text p:last-child{margin-bottom:0}.president-block{position:relative}.president-block img{aspect-ratio:3/4;object-fit:cover;object-position:top;filter:sepia(.08)brightness(.95);width:100%;display:block}.president-caption{text-align:center;background:linear-gradient(#0000,#0f0e0ce6);padding:40px 20px 20px;position:absolute;bottom:0;left:0;right:0}.president-caption .name-jp{font-family:var(--font-body);letter-spacing:.12em;color:var(--cream);font-size:13px}.president-caption .name-title{font-family:var(--font-display);letter-spacing:.25em;color:var(--gold-light);text-transform:uppercase;margin-bottom:4px;font-size:11px}.features-bg{background:var(--cream)}.features-grid{background:#b8860b26;border:1px solid #b8860b26;grid-template-columns:1fr 1fr;gap:2px;display:grid}@media (max-width:580px){.features-grid{grid-template-columns:1fr}}.feature-item{background:var(--cream);padding:36px 32px;position:relative}.feature-num{font-family:var(--font-display);color:#b8860b26;letter-spacing:-.02em;font-size:48px;font-weight:300;line-height:1;position:absolute;top:20px;right:24px}.feature-title{font-family:var(--font-body);letter-spacing:.1em;color:var(--gold);margin-bottom:12px;font-size:13px;font-weight:500}.feature-text{color:#3a3832;font-size:14px;line-height:1.9}.message-bg{background:#f5f0e8}.message-inner{grid-template-columns:180px 1fr;align-items:start;gap:56px;display:grid}@media (max-width:600px){.message-inner{grid-template-columns:1fr;gap:32px}.message-photo{max-width:140px}}.message-photo img{aspect-ratio:3/4;object-fit:cover;object-position:top;filter:sepia(.06);width:100%;display:block}.message-photo-caption{text-align:center;margin-top:10px}.message-photo-caption .role{letter-spacing:.2em;color:var(--gold);text-transform:uppercase;font-size:10px}.message-photo-caption .name{font-family:var(--font-body);color:var(--dark);letter-spacing:.08em;margin-top:4px;font-size:14px;font-weight:500}.message-body blockquote{font-family:var(--font-display);color:var(--dark);border-left:2px solid var(--gold);margin-bottom:28px;padding-left:20px;font-size:clamp(18px,2.5vw,24px);font-style:italic;font-weight:300;line-height:1.6}.message-body p{color:#3a3832;margin-bottom:18px;font-size:14px;line-height:2.1}.message-body p:last-child{margin-bottom:0}.overview-bg{background:var(--dark);color:var(--cream)}.company-page .overview-bg .section-title{color:var(--cream)}.company-table{border-collapse:collapse;width:100%}.company-table tr{border-bottom:1px solid #fdfaf514}.company-table tr:first-child{border-top:1px solid #fdfaf514}.company-table th{font-family:var(--font-body);letter-spacing:.15em;color:var(--gold-light);text-align:left;vertical-align:top;white-space:nowrap;width:140px;padding:18px 16px 18px 0;font-size:12px;font-weight:400}.company-table td{color:#fdfaf5d9;vertical-align:top;padding:18px 0;font-size:14px;line-height:1.9}.photos-bg{background:var(--dark-mid)}.photos-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}@media (max-width:560px){.photos-grid{grid-template-columns:1fr 1fr}.photos-grid figure:last-child{display:none}}.photos-grid figure{aspect-ratio:4/3;overflow:hidden}.photos-grid img{object-fit:cover;filter:brightness(.85)sepia(.05);width:100%;height:100%;transition:transform .6s,filter .6s;display:block}.photos-grid figure:hover img{filter:brightness(.95)sepia(.02);transform:scale(1.04)}.photos-grid figcaption{letter-spacing:.1em;color:#fdfaf580;text-align:center;padding:8px 2px 0;font-size:11px}.cta-section{background:var(--brown-bg);text-align:center;padding:80px 24px;position:relative;overflow:hidden}.cta-section:before{content:"";pointer-events:none;background:radial-gradient(50% 80% at 50% 100%,#b8860b1f 0%,#0000 70%);position:absolute;inset:0}.cta-label{font-family:var(--font-display);letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;font-size:11px}.cta-title{font-family:var(--font-display);color:var(--cream);margin-bottom:12px;font-size:clamp(24px,4vw,36px);font-weight:300;line-height:1.4}.cta-sub{color:#fdfaf599;margin-bottom:40px;font-size:13px;line-height:1.8}.cta-btn{background:var(--line-green);color:#fff;font-family:var(--font-body);letter-spacing:.1em;align-items:center;gap:10px;padding:16px 40px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.cta-btn:hover{opacity:.88;transform:translateY(-1px)}.cta-btn svg{flex-shrink:0;width:20px;height:20px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}
