:root{color-scheme:light;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#302e28;background:#f5f1e8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #735c43;outline-offset:4px}img{display:block;max-width:100%;height:auto}figure,blockquote{margin:0}h1,h2,h3,p{overflow-wrap:anywhere}.content-width{width:min(100% - 48px,1120px);margin-inline:auto}.skip-link{position:fixed;top:-80px;left:16px;z-index:20;padding:12px 16px;background:#302e28;color:#f5f1e8}.skip-link:focus{top:12px}
.company-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;padding:14px clamp(24px,5vw,70px);border-bottom:1px solid #d9d1c1;background:#f5f1e8}.wordmark{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:17px;letter-spacing:.18em}.company-header nav,.company-footer nav{display:flex;gap:clamp(18px,3vw,38px);font-size:12px;letter-spacing:.08em}.company-header nav a,.company-footer nav a{padding:10px 0;border-bottom:1px solid #a69883}.company-header nav a:hover,.company-footer nav a:hover{border-color:#302e28}
.eyebrow,.section-index,.business-number{color:#806b53;font-size:11px;font-weight:600;letter-spacing:.16em}.section-index{margin:0 0 30px}.section-title{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(32px,4vw,55px);font-weight:600;line-height:1.5;letter-spacing:.06em}.prose{font-size:15px;line-height:2.05;letter-spacing:.03em}.prose p{margin:0 0 22px}.section-pad{padding:clamp(84px,11vw,154px) 0}
.company-hero{padding-top:clamp(70px,9vw,126px)}.hero-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);column-gap:6%;align-items:start;padding-bottom:clamp(64px,8vw,115px)}.hero-copy .eyebrow{grid-column:1/-1;margin:0 0 16px;font-size:15px}.company-hero h1{grid-column:1;grid-row:2;margin:0 0 25px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,3.6vw,52px);font-weight:600;letter-spacing:.03em;line-height:1.35}.hero-lead{grid-column:1;grid-row:3;margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(20px,2.2vw,31px);line-height:1.75;letter-spacing:.06em}.hero-body{grid-column:2;grid-row:2/span 2;padding-top:8px}.hero-visual{grid-column:1/-1;grid-row:4;width:100%;margin:clamp(64px,8vw,115px) auto 0}.hero-visual img{width:100%;max-height:650px;object-fit:cover;object-position:center 52%}
.philosophy{background:#eee8da}.statement{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10%;padding:clamp(58px,8vw,100px) 0;border-top:1px solid #c9bfab}.statement-mission{margin-top:0}.statement h3{margin:22px 0 0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(25px,2.6vw,38px);font-weight:600;line-height:1.7;letter-spacing:.04em}.statement .prose{padding-top:4px}.thought-visual{width:72%;margin:8px 0 88px auto}.thought-visual img{width:100%;max-height:540px;object-fit:cover}.philosophy blockquote{margin:30px 0 0 12%;padding-left:32px;border-left:1px solid #aa9174;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(19px,2vw,28px);line-height:1.9;letter-spacing:.05em}
.business-intro{max-width:710px;margin:45px 0 70px}.business-list{border-top:1px solid #d4c8b6}.business-list article{display:grid;grid-template-columns:27% 1fr;gap:30px;padding:42px 0;border-bottom:1px solid #d4c8b6}.business-list h3{margin:0 0 18px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(24px,2.5vw,34px);font-weight:600}.business-list p{max-width:720px;margin:0 0 15px;font-size:15px;line-height:1.95}.text-link{display:inline-block;margin-top:7px;padding-bottom:6px;border-bottom:1px solid #917a62;font-size:13px}.gather-visual{width:80%;margin:85px 0 0 auto}.gather-visual img{width:100%;max-height:550px;object-fit:cover}
.people{background:#f0ede5}.people .section-title{font-size:clamp(28px,3.1vw,42px)}.people-intro{max-width:700px;margin:38px 0 92px}.profile{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);align-items:center;gap:clamp(35px,8vw,115px);padding:65px 0;border-top:1px solid #d0c9bb}.profile:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,40%)}.profile:nth-child(even) figure{grid-column:2;grid-row:1}.profile:nth-child(even) .profile-text{grid-column:1;grid-row:1}.profile figure{display:flex;align-items:center;justify-content:center;min-height:360px;background:#f8f6ef}.profile img{width:100%;max-height:500px;object-fit:contain}.profile h3{margin:15px 0 38px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,3vw,43px);font-weight:600;letter-spacing:.05em}.profile h3 small{display:block;margin-top:8px;color:#726b60;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:12px;font-weight:600;letter-spacing:.1em}.profile dl,.company-facts dl{margin:0}.profile dl div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;padding:11px 0;border-top:1px solid #d6d0c4;font-size:13px;line-height:1.8}.profile dt,.company-facts dt{color:#716a5c}.profile dd,.company-facts dd{min-width:0;margin:0;overflow-wrap:anywhere}.profile dd a{border-bottom:1px solid #a69883}
.facts-layout{display:grid;grid-template-columns:36% minmax(0,1fr);gap:8%}.company-facts dl{border-top:1px solid #d4c8b6}.company-facts dl div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:20px;padding:23px 0;border-bottom:1px solid #d4c8b6;font-size:14px;line-height:1.8}
.consultation{padding:clamp(90px,11vw,150px) 0;background:#ddd7c6}.consultation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,42%);gap:8%;align-items:center}.consultation .prose{margin:40px 0}.consultation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}.primary-action{display:inline-flex;align-items:center;gap:26px;min-height:54px;padding:13px 22px;background:#4f5d48;color:#fff;font-size:14px}.primary-action:hover{background:#3d4a37}.secondary-action{display:inline-flex;flex-direction:column;gap:4px;padding:7px 0;border-bottom:1px solid #756d5f;font-size:14px}.secondary-action small{color:#676255;font-size:11px}.consultation figure img{width:100%;height:min(580px,50vw);object-fit:cover;object-position:center}.company-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:45px clamp(24px,5vw,70px);background:#302f29;color:#eee9dc;font-size:12px;letter-spacing:.07em}.company-footer nav a{border-color:#8a8578}
@media(max-width:760px){.content-width{width:min(100% - 40px,560px)}.company-header{min-height:70px;padding:12px 20px}.wordmark{font-size:13px}.company-header nav{gap:12px;font-size:10px}.company-header nav a{white-space:nowrap}.company-hero{padding-top:78px}.hero-copy{display:block;padding-bottom:50px}.hero-copy .eyebrow{margin-bottom:20px}.company-hero h1{margin-bottom:18px}.hero-lead{margin-bottom:34px}.hero-body{padding:0}.hero-visual{width:calc(100% + 40px);margin:0 -20px 34px}.hero-visual img{height:280px}.section-pad{padding:78px 0}.section-index{margin-bottom:20px}.statement,.facts-layout,.consultation-layout{display:block}.statement-mission{margin-top:0}.statement{padding:44px 0}.statement .prose{margin-top:25px}.thought-visual{width:100%;margin:0 0 55px}.thought-visual img{max-height:320px}.philosophy blockquote{margin:15px 0 0;padding-left:18px}.business-intro{margin:27px 0 45px}.business-list article{grid-template-columns:1fr;gap:8px;padding:35px 0}.gather-visual{width:100%;margin-top:55px}.people-intro{margin:25px 0 50px}.profile,.profile:nth-child(even){display:block;padding:45px 0}.profile figure,.profile:nth-child(even) figure{min-height:0;margin-bottom:30px}.profile img{max-height:390px}.profile h3{margin-bottom:28px}.facts-layout dl{margin-top:35px}.consultation figure{margin-top:55px}.consultation figure img{height:280px}.company-footer{padding:35px 20px;flex-wrap:wrap}.company-footer nav{gap:24px}}
@media(max-width:410px){.company-header{gap:10px}.wordmark{font-size:12px;letter-spacing:.11em}.company-header nav{gap:8px;font-size:10px}.profile dl div{grid-template-columns:72px minmax(0,1fr)}.company-facts dl div{grid-template-columns:96px minmax(0,1fr);gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.mobile-break{display:none}
@media(max-width:760px){.mobile-break{display:initial}}
