@charset "UTF-8";
:root{--ink:#20221f;--paper:#fafaf7;--line:#d9dbd3;--accent:#d6ef49;--muted:#64675e;--pad:clamp(24px,5.3vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #657500;outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--accent);padding:12px}.skip:focus{top:10px}.header{padding:25px var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.logo{font-size:43px;line-height:1;font-weight:800;letter-spacing:-2.7px}.logo span{color:var(--ink)}.header nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:600}.header nav a:not(.nav-contact):hover{opacity:.6}.nav-contact{border:1px solid var(--ink);padding:13px 23px;border-radius:30px;transition:.2s}.nav-contact:hover{background:var(--ink);color:white}.menu-button{display:none}.mobile-nav[hidden]{display:none}.hero{padding:43px var(--pad) 0}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center}.eyebrow,.edition,.section-label,.photo-index,.marketing-process,.side-note,.back-top{font-family:Arial,"Yu Gothic",sans-serif;font-size:12px;letter-spacing:.1em;font-weight:600}.eyebrow{margin:0}.edition{color:var(--muted)}h1{font-size:clamp(54px,7.8vw,126px);letter-spacing:-.065em;line-height:1.3;margin:47px 0 20px;font-weight:800}.second-line{padding-left:12vw}.outline{color:transparent;-webkit-text-stroke:1.5px var(--ink)}.hero-bottom{padding-bottom:42px}.hero-bottom>p{font-size:16px;line-height:1.9;margin:0}.round-link{border-radius:100%;border:1px solid var(--ink);width:94px;height:94px;display:grid;align-content:center;text-align:center;line-height:1.5;font-size:12px;letter-spacing:.08em;transition:.3s}.round-link:hover{background:var(--accent);transform:rotate(-8deg)}.hero-images{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.hero-photo{margin:0;position:relative;min-height:350px;height:31vw;max-height:510px;overflow:hidden}.hero-photo img{object-position:center 53%;transition:transform 1.2s}.hero-photo:hover img{transform:scale(1.03)}.hero-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0008)}figcaption{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;color:#fff;z-index:1}.hero-side{background:var(--accent);padding:35px;display:flex;flex-direction:column;justify-content:space-between}.hero-side>p{font-size:clamp(40px,5.6vw,88px);font-weight:600;line-height:1;letter-spacing:-.065em;margin:0}.side-note{display:flex;justify-content:space-between;line-height:1.8;gap:15px}.section{margin:0 var(--pad);padding:112px 0}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:18px;gap:20px}.section-label span:last-child{font-size:13px;letter-spacing:.04em}.about{display:grid;grid-template-columns:1fr 2fr;gap:9vw;padding-top:135px}.about .section-label{flex-direction:column;justify-content:flex-start;gap:14px}.about-body h2{font-size:clamp(36px,4.4vw,68px);line-height:1.5;letter-spacing:-.04em;margin:26px 0 35px}.about-copy{font-size:16px;line-height:2.3;max-width:680px}.about-copy p+p{margin-top:25px}.business{padding-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:60px 0 70px}.section-heading h2{font-size:clamp(40px,5.4vw,84px);letter-spacing:-.055em;line-height:1.02;margin:0;font-weight:500}.section-heading h2 span{color:#75796f}.section-heading p{font-size:14px;margin-bottom:4px}.business-row{display:grid;grid-template-columns:1.13fr 1fr;gap:6vw;margin-top:85px;align-items:center}.business-row.reverse{direction:rtl}.business-row.reverse>*{direction:ltr}.business-media,.marketing-visual{position:relative;height:520px;overflow:hidden}.business-media img{transition:transform .8s}.business-media:hover img{transform:scale(1.035)}.photo-index{position:absolute;bottom:0;left:0;background:var(--paper);padding:15px 24px 0 0}.business-copy h3{font-size:clamp(30px,3vw,46px);line-height:1.55;letter-spacing:-.045em;margin:20px 0}.business-name{font-weight:700;font-size:16px;margin:0 0 24px}.business-copy>p:not(.eyebrow):not(.business-name){font-size:16px;color:#50554d;line-height:2;margin:0}.tags{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:25px 0 36px}.tags li{font-size:12px;border:1px solid var(--line);border-radius:20px;padding:7px 12px}.text-link{padding:18px 0;border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:14px;font-weight:600}.text-link span{font-size:12px;letter-spacing:.08em;color:var(--muted)}.text-link:hover{border-color:#829421;color:#657500}.marketing-visual{background:var(--ink);color:var(--paper);padding:35px 40px}.marketing-type{font-size:clamp(56px,7vw,110px);line-height:1.05;letter-spacing:-.06em;margin-top:30px}.marketing-type em{color:var(--accent);font-style:normal}.marketing-process{display:flex;gap:22px;margin-top:27px;padding-top:18px;border-top:1px solid #64675e;font-size:13px}.marketing-visual .photo-index{color:var(--ink)}.statement{background:var(--ink);color:var(--paper);padding:85px var(--pad);overflow:hidden;position:relative}.statement>.eyebrow{color:var(--accent)}.statement>p:not(.eyebrow){position:relative;z-index:1;font-size:clamp(35px,5.5vw,84px);font-weight:700;line-height:1.5;letter-spacing:-.035em;margin:40px 0}.statement>span{position:absolute;right:2vw;bottom:-50px;line-height:1;font-size:clamp(120px,27vw,420px);letter-spacing:-.09em;font-weight:800;color:#30332d;user-select:none}.company{display:grid;grid-template-columns:1fr 2fr;gap:9vw}.company .section-label{flex-direction:column;justify-content:flex-start;gap:14px}.company h2{font-size:clamp(35px,4vw,60px);font-weight:500;letter-spacing:-.04em;margin:0 0 40px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:110px 1fr;padding:25px 0;border-top:1px solid var(--line);font-size:14px;line-height:2}.company dt{color:var(--muted)}.company dd{margin:0}.contact{background:var(--accent);margin:0;padding:65px var(--pad) 85px}.contact-body{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.contact-body h2{font-size:clamp(42px,5vw,76px);line-height:1.5;letter-spacing:-.05em;margin:50px 0 0}.contact-body p{font-size:16px;line-height:1.9}.contact-button{display:block;background:var(--ink);color:white;border-radius:50px;padding:22px 40px;margin-top:30px;text-align:center;font-size:15px;transition:.2s}.contact-button:hover{background:#414737}footer{display:flex;gap:30px;align-items:center;padding:50px var(--pad)}footer p{font-size:12px;letter-spacing:.08em}footer small{font-size:12px;color:var(--muted);margin-left:auto}.back-top{font-size:12px}.mobile-nav{position:absolute;z-index:15;background:var(--paper);padding:20px var(--pad) 35px;width:100%;border-bottom:1px solid var(--line)}.mobile-nav a{display:block;padding:14px 0}.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.js-reveal{opacity:0;transform:translateY(24px);transition:opacity .65s,transform .65s}.js-reveal.in-view{opacity:1;transform:none}}@media(min-width:1600px){body{max-width:1920px;margin:auto}}@media(max-width:1000px){.header nav{gap:20px}.business-row{gap:35px}.business-media,.marketing-visual{height:450px}.marketing-type{font-size:75px}.section-heading{align-items:flex-start;flex-direction:column}.hero-side{padding:25px}.about,.company{gap:45px;grid-template-columns:1fr 2fr}.side-note{flex-direction:column}.desktop-break{display:none}}@media(max-width:700px){html{scroll-padding-top:25px}.header{padding:23px var(--pad)}.logo{font-size:35px}.header nav{display:none}.menu-button{display:flex;align-items:center;gap:17px;background:none;border:0;padding:7px 0;font-size:12px;letter-spacing:.06em}.menu-button span{font-size:21px}.hero{padding-top:24px}.edition{display:none}.hero-top .eyebrow{font-size:12px}h1{font-size:clamp(41px,10vw,68px);margin:36px 0 24px;line-height:1.45;letter-spacing:-.07em}.second-line{padding-left:0;white-space:nowrap}.outline{-webkit-text-stroke:1px var(--ink)}.hero-bottom>p{font-size:13px}.round-link{width:74px;height:74px;font-size:12px}.hero-bottom{padding-bottom:30px}.hero-images{grid-template-columns:1fr;gap:0}.hero-photo{min-height:0;height:340px}.hero-photo figcaption{left:18px;right:18px;font-size:12px}.hero-side{flex-direction:row;gap:20px;padding:25px;align-items:flex-end}.hero-side>p{font-size:43px}.side-note{font-size:12px;max-width:130px}.section{padding:68px 0}.about,.company{grid-template-columns:1fr;gap:42px}.about .section-label,.company .section-label{flex-direction:row;justify-content:space-between}.about-body h2{font-size:37px;margin:22px 0}.about-copy{font-size:16px;line-height:2.2}.business{padding-top:10px}.section-heading{margin:40px 0}.section-heading h2{font-size:44px}.section-heading p{font-size:13px;line-height:1.8}.business-row,.business-row.reverse{grid-template-columns:1fr;gap:32px;margin-top:55px;direction:ltr}.business-media,.marketing-visual{height:360px}.business-copy h3{font-size:32px;margin:18px 0}.business-copy>p:not(.eyebrow):not(.business-name){font-size:16px}.business-name{margin-bottom:18px}.tags{margin:22px 0}.tags li{font-size:12px}.marketing-visual{padding:28px}.marketing-type{font-size:75px;margin-top:20px}.marketing-process{margin-top:17px;padding-top:12px}.marketing-visual>.eyebrow{font-size:12px}.statement{padding:60px var(--pad)}.statement .eyebrow{font-size:12px;line-height:1.8}.statement>p:not(.eyebrow){font-size:36px;margin:30px 0}.statement>span{bottom:-15px}.company dl>div{grid-template-columns:75px 1fr;gap:16px;font-size:13px}.contact{padding:45px var(--pad) 60px}.contact-body{display:block}.contact-body h2{font-size:42px;margin:35px 0}.contact-body p{font-size:15px}.contact-button{padding:20px 24px}.section-label{font-size:12px}.section-label span:last-child{font-size:12px}footer{padding:40px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:24px}footer p{display:none}footer small{margin-left:0;grid-column:1;font-size:12px}.back-top{grid-column:2;grid-row:1/3;text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Company and careers */
.recruit{padding-top:15px}.recruit-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin:55px 0}.recruit-heading h2{font-size:clamp(32px,3.8vw,58px);letter-spacing:-.045em;line-height:1.5;margin:22px 0 0}.recruit-heading>p,.recruit-bottom p{font-size:16px;line-height:2}.career-fields{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.career-fields article{padding:32px 30px 32px 0}.career-fields article+article{border-left:1px solid var(--line);padding-left:30px}.career-fields article>span{font-size:12px;letter-spacing:.08em;color:var(--muted)}.career-fields h3{font-size:21px;line-height:1.6;margin:25px 0 16px}.career-fields p{font-size:16px;line-height:2;color:#50554d;margin:0}.recruit-bottom{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-top:30px}.recruit-bottom .contact-button{margin:0;flex-shrink:0}.contact-address{display:block;text-align:center;margin-top:18px;font-size:16px;overflow-wrap:anywhere}.contact-mail-note{font-size:14px!important;text-align:center}.company dd a{overflow-wrap:anywhere}.header nav{gap:25px}@media(max-width:1000px){.header nav{gap:16px}.career-fields h3{font-size:18px}.recruit-heading{align-items:flex-start;flex-direction:column;gap:20px}}@media(max-width:700px){.recruit{padding-top:5px}.recruit-heading{margin:38px 0}.recruit-heading h2{font-size:30px}.career-fields{grid-template-columns:1fr}.career-fields article,.career-fields article+article{padding:28px 0;border-left:0}.career-fields article+article{border-top:1px solid var(--line)}.career-fields h3{font-size:22px;margin:18px 0 12px}.recruit-bottom{display:block}.recruit-bottom .contact-button{margin-top:25px}.recruit-bottom p{font-size:16px}}

.job-list{margin-top:58px}.jobs-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.jobs-heading h3{font-size:26px}.jobs-heading p,.jobs-note{font-size:13px;color:var(--muted);line-height:1.8}.job-row{display:grid;grid-template-columns:36px 1fr 175px;gap:25px;padding:30px 0;border-top:1px solid var(--line);align-items:center}.job-number{font-size:13px;align-self:start;padding-top:4px}.job-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted)}.job-row h4{font-size:21px;line-height:1.6;margin:12px 0}.job-row p{font-size:16px;line-height:1.9;margin:0}.job-link{font-size:14px;text-align:right;text-decoration:underline;text-underline-offset:5px}.job-link span{display:block;font-size:12px;color:var(--muted);margin-top:10px}.job-link:hover{color:#657500}@media(max-width:700px){.job-row{grid-template-columns:25px 1fr;gap:14px}.job-link{grid-column:2;text-align:left;margin-top:10px}.job-row h4{font-size:20px}.jobs-heading{align-items:flex-start}.jobs-heading h3{font-size:24px}.jobs-heading p{font-size:12px}.job-meta{font-size:12px}.job-list{margin-top:35px}}

/* Recruitment hierarchy: division > business > role */
.division-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:42px 0 65px}.division-nav a{border:1px solid var(--line);padding:24px 20px;font-size:16px;font-weight:700;line-height:1.7}.division-nav a:hover{background:var(--accent);border-color:var(--ink)}.division-nav a>span{display:block;font-size:12px;letter-spacing:.1em;margin-bottom:18px;color:var(--muted)}.division-nav small{display:block;font-size:13px;font-weight:400;margin-top:12px}.career-division{margin-top:65px;padding-top:30px;border-top:2px solid var(--ink)}.division-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.division-heading h3{font-size:clamp(25px,2.6vw,38px);line-height:1.5;letter-spacing:-.03em;margin:16px 0 0}.division-heading>p{font-size:12px;color:var(--muted)}.division-intro{font-size:16px;line-height:1.9;margin:22px 0 35px}.career-business{margin:35px 0 45px;padding-left:28px;border-left:3px solid var(--accent)}.business-job-heading{padding:20px 24px;background:#eef0e9;margin-bottom:5px}.business-job-heading p{font-size:13px;color:var(--muted);margin:0 0 8px}.business-job-heading h4{font-size:23px;line-height:1.5;margin:0;overflow-wrap:anywhere}.job-row h5{font-size:21px;line-height:1.6;margin:12px 0}.division-inquiry{display:flex;justify-content:space-between;align-items:center;gap:35px;margin:30px 0}.division-inquiry h4{font-size:20px;line-height:1.7;margin:0 0 16px}.division-inquiry p{font-size:16px;line-height:2;margin:0}.division-inquiry .job-link{flex-shrink:0}.recruit-bottom{padding-top:25px;border-top:1px solid var(--line);margin-top:50px}@media(max-width:900px){.division-nav{grid-template-columns:1fr}.division-nav a{display:grid;grid-template-columns:30px 1fr;gap:5px 12px;padding:18px}.division-nav a>span{margin:3px 0 0}.division-nav small{grid-column:2;margin:0}.division-inquiry{display:block}.division-inquiry .job-link{display:inline-block;text-align:left;margin-top:25px}}@media(max-width:700px){.division-nav{margin:30px 0 42px}.career-division{margin-top:45px}.division-heading{display:block}.division-heading h3{font-size:25px}.division-heading>p{margin-top:20px}.career-business{padding-left:14px;margin:28px 0 35px}.business-job-heading{padding:18px 15px}.business-job-heading h4{font-size:20px}.job-row{grid-template-columns:1fr;padding:24px 0}.job-number{display:none}.job-row h5{font-size:19px}.job-link{grid-column:1}.division-inquiry h4{font-size:19px}}


/* Bespoke calligraphy hero */
.header{background:#fff;color:#191b18;border-color:#e3e4df}.header .logo span,.site-footer .logo span{color:#c94630}.header .nav-contact{border-color:#191b18}.header .nav-contact:hover{background:#191b18;color:white}.header .menu-button{color:#191b18}.mobile-nav{background:white;color:#191b18}
.hero-art{position:relative;background:#fff;padding:28px var(--pad) 0;min-height:700px;height:calc(100svh - 100px);max-height:1080px;display:flex;flex-direction:column;isolation:isolate;overflow:hidden}.art-topline{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.13em}.art-topline p{margin:0}.art-topline span{color:#73766e}.art-stage{display:grid;grid-template-columns:.95fr 1.3fr;align-items:center;flex:1;position:relative;min-height:0}.art-copy{position:relative;z-index:2;padding:48px 0}.art-copy .eyebrow{color:#b23b28;letter-spacing:.16em}.hero-art h1{font-family:Arial,"Yu Gothic",Meiryo,sans-serif;font-weight:600;font-size:clamp(34px,3.5vw,56px);letter-spacing:-.035em;line-height:1.7;margin:30px 0}.art-description{font-size:16px;line-height:2.1;color:#5d6259;margin:0}.art-figure{position:relative;margin:0;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0}.calligraphy-svg{width:100%;height:100%;max-height:730px;overflow:visible;display:block}.art-figure figcaption{position:absolute;color:#777c72;bottom:28px;left:auto;right:10px;top:auto;font-size:11px;letter-spacing:.15em;writing-mode:vertical-rl}.art-footer{display:grid;grid-template-columns:1fr 1.7fr;gap:35px;border-top:1px solid #d9ddd4;padding:26px 0 30px;align-items:center}.art-controls{display:flex;align-items:center;gap:20px}.art-controls button{font:inherit;font-size:12px;letter-spacing:.06em;background:none;border:0;border-bottom:1px solid #999e93;padding:8px 0;cursor:pointer;color:#444a40;min-height:40px}.art-controls button:hover{color:#b23b28;border-color:#b23b28}.art-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.art-fields a{font-size:13px;font-weight:600;letter-spacing:.04em;line-height:1.8}.art-fields a span{color:#b23b28;font-size:12px;margin-right:10px}.art-fields small{display:block;color:#70766a;font-weight:400;font-size:12px;letter-spacing:0;margin-top:4px}.art-fields a:hover{color:#b23b28}.trace-stroke{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.calligraphy-complete{opacity:1}.art-controls{visibility:hidden}.draw-ready .art-controls{visibility:visible}
@media(prefers-reduced-motion:no-preference){.draw-ready .trace-stroke{opacity:0;stroke-dashoffset:1;animation:draw-ink var(--duration) var(--delay) cubic-bezier(.35,0,.25,1) forwards}.draw-ready .calligraphy-complete{opacity:0;animation:ink-settle .2s 4.7s forwards}.hero-art.motion-paused *{animation-play-state:paused!important}@keyframes draw-ink{0%{opacity:0;stroke-dashoffset:1}1%{opacity:1}100%{opacity:1;stroke-dashoffset:0}}@keyframes ink-settle{to{opacity:1}}}
@media(max-width:1000px){.hero-art{height:auto;min-height:700px}.art-stage{grid-template-columns:1fr 1.1fr;min-height:500px}.art-footer{grid-template-columns:1fr}.art-controls{justify-content:flex-end}.art-copy{padding:25px 0}.hero-art h1{font-size:34px}}
@media(max-width:700px){.hero-art{height:auto;min-height:calc(100svh - 79px);padding-top:22px}.art-topline{font-size:10px;letter-spacing:.04em;gap:12px}.art-topline p{max-width:160px}.art-topline span{white-space:nowrap}.art-stage{display:flex;flex-direction:column;min-height:0;align-items:stretch}.art-copy{padding:32px 0 0}.art-copy .eyebrow{font-size:11px}.hero-art h1{font-size:28px;line-height:1.65;margin:15px 0}.art-description{font-size:14px;line-height:1.9}.art-figure{height:330px;margin:-10px -10px 0;align-self:auto}.calligraphy-svg{max-height:none}.art-figure figcaption{font-size:10px;right:5px;bottom:30px}.art-footer{padding:12px 0 24px;gap:20px}.art-controls{justify-content:space-between}.art-fields{grid-template-columns:.8fr 1.35fr 1.2fr;gap:10px}.art-fields a{font-size:11px}.art-fields a span{display:block;margin:0 0 3px}.art-fields small{font-size:11px;word-break:keep-all}}
@media(prefers-reduced-motion:reduce){.art-controls{display:none}.trace-stroke{stroke-dashoffset:0}.calligraphy-complete{opacity:1}}


/* Expressive original brushwork with restrained editorial typography */
.hero-refined #hero-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
.hero-refined .art-stage{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:center;min-height:430px}
.hero-refined .art-figure{height:100%;min-height:400px;width:110%;margin-left:-5%}
.hero-refined .calligraphy-svg{min-height:400px;max-height:660px}
.refined-message{position:relative;padding-bottom:10px}
.refined-lead{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,4.2vw,66px);font-weight:500;line-height:1.6;letter-spacing:.09em;margin:0 0 25px}
.refined-marketing{font-family:Arial,"Yu Gothic",Meiryo,sans-serif;font-size:clamp(29px,3.7vw,58px);font-weight:500;line-height:1.6;letter-spacing:-.03em;margin:0;white-space:nowrap}
.refined-dot{color:#b23b28;margin-left:.12em}
.refined-english{color:#b23b28;letter-spacing:.19em;font-size:12px;margin:35px 0 0}
.phrase-caption{padding:0 0 24px}.phrase-caption p{font-size:14px;line-height:1.9;margin:0;color:#62675d}.phrase-caption>span{display:none}
@media(prefers-reduced-motion:no-preference){.hero-refined.draw-ready .calligraphy-complete{animation:ink-settle .18s 2.85s forwards}.hero-refined.draw-ready .refined-lead{animation:refined-appear .9s 2.25s both}.hero-refined.draw-ready .refined-marketing{animation:refined-appear 1s 2.8s both}.hero-refined.draw-ready .refined-english{animation:refined-appear .9s 3.15s both}.hero-refined.draw-ready .art-fields{animation:refined-appear .7s 3.6s both}.hero-refined .art-fields:focus-within{animation:none!important;opacity:1!important;transform:none!important}@keyframes refined-appear{from{opacity:0;transform:translateY(14px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}}
@media(max-width:1000px){.hero-refined .art-stage{min-height:430px;gap:12px}.refined-lead{font-size:36px}.refined-marketing{font-size:30px}.hero-refined .art-figure{min-height:350px}.hero-refined .calligraphy-svg{min-height:350px}}
@media(max-width:700px){.hero-refined{min-height:calc(100svh - 79px);height:auto}.hero-refined .art-stage{display:flex;flex-direction:column;gap:0;min-height:0;padding:12px 0 30px;flex:1}.hero-refined .art-figure{height:290px;min-height:0;width:95%;margin:0 auto;align-self:center;flex:none}.hero-refined .calligraphy-svg{min-height:0;height:290px}.refined-message{align-self:center;text-align:center;padding:0}.refined-lead{font-size:31px;letter-spacing:.13em;margin:0 0 8px}.refined-marketing{font-size:clamp(26px,7.5vw,34px);letter-spacing:.025em}.refined-english{font-size:11px;margin:18px 0 0}.phrase-caption{padding-bottom:18px}.phrase-caption p{font-size:13px}.art-fields{grid-template-columns:.8fr 1.35fr 1.2fr}.art-fields small{word-break:keep-all}}
/* Self-hosted Zen Old Mincho contrasts with the original calligraphy. */
@font-face{font-family:"Cresc Zen";src:url("assets/zen-old-mincho-hero.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
.refined-lead,.refined-marketing{font-family:"Cresc Zen","Yu Mincho",serif;font-weight:500}
.refined-lead{font-size:clamp(40px,4.6vw,72px);letter-spacing:.06em;line-height:1.5;margin-bottom:32px}
.refined-marketing{font-size:clamp(27px,3vw,47px);letter-spacing:.13em;line-height:1.7}
.refined-english{margin-top:40px;font-size:11px;letter-spacing:.23em}
@media(prefers-reduced-motion:no-preference){.hero-refined.draw-ready .calligraphy-complete{animation:ink-settle .15s 4s forwards}.hero-refined.draw-ready .refined-lead{animation:refined-appear 1s 3.9s both}.hero-refined.draw-ready .refined-marketing{animation:refined-appear 1s 4.3s both}.hero-refined.draw-ready .refined-english{animation:refined-appear .9s 4.6s both}}
@media(max-width:1000px){.refined-lead{font-size:40px}.refined-marketing{font-size:29px;letter-spacing:.08em}}
@media(max-width:700px){.refined-message{width:100%;max-width:440px}.refined-lead{font-size:37px;margin-bottom:16px;letter-spacing:.08em}.refined-marketing{font-size:27px;letter-spacing:.1em}.refined-english{margin-top:25px}}
/* Multi-page navigation and content layouts */
.page-shell{max-width:1440px;padding:0 var(--pad);margin:0 auto 95px}.breadcrumbs{padding:28px 0 0;font-size:12px;color:var(--muted)}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:9px;line-height:1.8}.breadcrumbs li+li:before{content:'/';margin-right:9px;color:#a3a79b}.breadcrumbs a:hover{text-decoration:underline}.page-heading{padding:65px 0 55px}.page-heading .eyebrow{color:#a43b2d}.page-heading h1{font-family:"Yu Mincho",serif;font-size:clamp(36px,4.4vw,66px);font-weight:500;line-height:1.5;letter-spacing:-.025em;margin:22px 0;overflow-wrap:anywhere}.page-intro{max-width:760px;font-size:16px;line-height:2;color:#5d6259}.header a[aria-current=page]{text-decoration:underline;text-underline-offset:9px}.page-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 48px}.page-tabs a{font-size:14px;padding:14px 22px;border:1px solid var(--line);border-radius:30px}.page-tabs a[aria-current=page],.page-tabs a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.block-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.block-heading h2{font-size:clamp(25px,2.7vw,38px);font-weight:500;margin:14px 0 0;line-height:1.6}.block-heading>a,.block-heading>span{font-size:13px;flex-shrink:0}.business-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.business-card{display:block}.card-visual{height:280px;background:#20221f;position:relative;overflow:hidden}.card-visual img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.business-card:hover img{transform:scale(1.04)}.card-wordmark{display:block;font-size:58px;line-height:1.05;padding:24px;color:white;letter-spacing:-.05em}.card-wordmark em{color:var(--accent);font-style:normal}.card-index{position:absolute;bottom:0;left:0;padding:10px 14px;background:var(--paper);font-size:11px;letter-spacing:.08em}.business-card h3{font-size:20px;display:flex;justify-content:space-between;gap:14px;line-height:1.6;margin:24px 0 12px}.business-card p{font-size:14px;line-height:1.9;color:#62675d}.card-action{display:block;font-size:13px;padding-top:18px;border-top:1px solid var(--line);margin-top:25px}.business-detail .business-row{margin:0;gap:5vw}.business-detail h2{font-size:clamp(30px,3vw,44px);line-height:1.5;margin:20px 0}.business-detail .business-media,.business-detail .marketing-visual{height:450px}.detail-actions{display:flex;align-items:center;gap:30px;margin:55px 0 10px;flex-wrap:wrap}.detail-actions>a:not(.solid-link){font-size:14px}.solid-link{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:21px 30px;background:var(--ink);color:white;font-size:14px;line-height:1.7;border:1px solid var(--ink);border-radius:2px;text-align:left;cursor:pointer}.solid-link:hover{background:#444b3d}.solid-link span{font-size:18px}.page-cta{padding:60px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:35px;background:#e9eddf}.page-cta h2{font-size:clamp(25px,3vw,40px);font-weight:500;margin:18px 0 0}.site-footer{flex-wrap:wrap}.site-footer nav{display:flex;gap:24px;flex-wrap:wrap;font-size:12px}.site-footer nav .nav-contact{border:0}.site-footer small{margin-left:auto}.home-intro{padding-top:95px;max-width:960px;text-align:center}.home-intro h2{font-size:clamp(35px,4vw,57px);font-weight:500;line-height:1.65;margin:25px 0}.home-intro>p:not(.eyebrow){line-height:2.2;color:#62675d}.home-intro .text-link{max-width:340px;margin:32px auto 0;text-align:left}.home-business{margin-bottom:100px}.home-recruit{padding-top:50px;padding-bottom:50px;display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-recruit h2{font-size:clamp(28px,3vw,42px);line-height:1.6;font-weight:500;margin:22px 0}.home-recruit p{font-size:14px}.step-label{font-size:13px;line-height:2;margin:0 0 28px}.step-label span{color:#72786c}.division-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.division-card{padding:35px 26px;background:white;border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .2s}.division-card:hover,.store-card:hover{border-color:#20221f}.division-card h2{font-size:23px;line-height:1.65;margin:32px 0 18px}.division-card p{font-size:14px;color:#62675d;line-height:1.9;flex:1}.status-label{font-size:12px;margin-top:25px;color:#5d674b}.careers-help{margin-top:60px;padding:35px;background:#eff1e9}.careers-help h2{font-size:23px;line-height:1.7;font-weight:500}.careers-help p{line-height:1.9;font-size:14px;margin-bottom:25px}.store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.store-card{display:flex;flex-direction:column;background:white;padding:32px;border:1px solid var(--line)}.store-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#6b715f}.store-card h2{font-size:27px;line-height:1.5;margin:27px 0 18px;overflow-wrap:anywhere}.store-card p{font-size:15px;line-height:1.7;margin:0 0 12px}.employment-label{font-size:12px!important;color:#68715c}.store-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;margin-top:auto;border-top:1px solid var(--line);font-size:13px}.back-link{display:inline-block;margin-top:30px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.job-summary{display:flex;gap:20px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);font-size:13px;color:#68715c}.store-jobs .job-row{grid-template-columns:1fr 190px;padding:35px 0}.store-jobs h2{font-size:24px;line-height:1.6;margin:18px 0 12px}.store-jobs .job-link{grid-column:auto}.inquiry-panel{background:white;padding:45px;border:1px solid var(--line)}.inquiry-panel h2{font-size:27px;line-height:1.7;margin:25px 0}.inquiry-panel p:not(.eyebrow){font-size:15px;line-height:2;margin-bottom:30px}.form-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:70px}.form-layout aside h2{font-size:23px;line-height:1.6;font-weight:500}.form-layout aside p{font-size:14px;line-height:2;color:#68715c}.form-field{display:block;font-size:14px;font-weight:600;margin-bottom:26px}.form-field>span,.consent>span{color:#a43b2d}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;margin-top:12px;padding:15px 16px;border:1px solid #bfc5b5;border-radius:2px;background:white;color:var(--ink);font:400 16px/1.7 Arial,"Yu Gothic",sans-serif}.form-field textarea{resize:vertical;min-height:180px}.form-field small{display:block;font-size:12px;font-weight:400;margin-top:8px;color:#68715c}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-privacy{font-size:13px;line-height:1.9;color:#60665b}.consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.9;margin:24px 0}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:#20221f}.form-submit{width:100%}.form-note{font-size:12px;line-height:1.8;color:#68715c}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status:not(:empty){padding:20px;border:1px solid #a43b2d;background:#fff4ee;margin-bottom:25px;font-size:14px;line-height:1.9}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a43b2d;outline-offset:4px}
@media(max-width:1000px){.business-cards{gap:18px}.card-visual{height:230px}.card-wordmark{font-size:46px}.division-cards{grid-template-columns:1fr}.division-card{padding:28px}.division-card h2{margin:18px 0 8px}.division-card .status-label{margin-top:12px}.form-layout{gap:35px;grid-template-columns:1fr 2fr}.site-footer nav{width:100%}.store-card h2{font-size:23px}}
@media(max-width:700px){.page-shell{margin-bottom:60px}.breadcrumbs{padding-top:22px;font-size:11px}.page-heading{padding:38px 0 28px}.page-heading h1{font-size:34px;margin:20px 0;line-height:1.55}.page-intro{font-size:14px}.page-tabs{gap:8px;margin-bottom:32px}.page-tabs a{font-size:12px;padding:10px 15px}.business-cards{grid-template-columns:1fr;gap:40px}.card-visual{height:260px}.card-wordmark{font-size:56px}.business-card h3{font-size:22px;margin-top:20px}.block-heading{display:block}.block-heading>a,.block-heading>span{display:inline-block;margin-top:18px}.block-heading h2{font-size:25px}.business-detail .business-media,.business-detail .marketing-visual{height:340px}.business-detail .business-row{gap:25px}.detail-actions{display:block;margin-top:35px}.detail-actions>a{margin-bottom:20px}.detail-actions .solid-link{display:flex}.detail-actions .back-link{margin-top:0}.page-cta{padding:42px var(--pad);display:block}.page-cta h2{font-size:27px;line-height:1.5;margin-bottom:25px}.solid-link{padding:18px 22px;font-size:13px}.home-intro{padding-top:60px}.home-intro h2{font-size:35px}.home-intro>p:not(.eyebrow){font-size:14px}.home-recruit{display:block;padding-top:35px;padding-bottom:35px}.home-recruit .solid-link{margin-top:15px}.site-footer{display:flex;align-items:center;gap:28px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:12px}.site-footer small{margin:0}.site-footer .back-top{margin-left:auto;font-size:11px}.step-label span{display:block}.careers-help{padding:25px}.careers-help h2{font-size:21px}.store-grid{grid-template-columns:1fr;gap:18px}.store-card{padding:24px}.store-meta{font-size:11px}.store-card h2{font-size:24px}.store-bottom{font-size:12px}.store-jobs .job-row{grid-template-columns:1fr;gap:20px}.store-jobs h2{font-size:23px}.store-jobs .job-link{text-align:left}.job-summary{gap:12px;font-size:12px}.inquiry-panel{padding:25px}.inquiry-panel h2{font-size:23px}.form-layout{display:block}.form-layout aside{margin-bottom:30px}.form-two{grid-template-columns:1fr;gap:0}.form-field{margin-bottom:24px}.contact-page .page-heading h1{font-size:37px}}
/* Hero plays once; business shortcuts remain the only footer items. */
.hero-art .art-footer{grid-template-columns:1fr}
.hero-art .art-fields{width:100%;max-width:800px;margin-left:auto}
@media(max-width:700px){.hero-art .art-fields{max-width:none}}

/* Recruitment: one role, with employment and location conditions inside it. */
.career-category-nav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:50px}.career-category-nav a{border-bottom:1px solid var(--ink);padding:12px 0;margin-right:20px;font-size:14px}.career-category-nav span{color:var(--muted);font-size:12px;margin-left:10px}.career-category{margin:55px 0}.category-intro{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:28px}.career-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.career-card{display:flex;flex-direction:column;border:1px solid var(--line);background:white;padding:30px;transition:border-color .2s}.career-card:hover{border-color:var(--ink)}.career-card h3{font-size:25px;line-height:1.5;margin:22px 0 15px}.career-card>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#62675d}.career-card .career-role{font-weight:600;color:var(--ink)!important;margin:0 0 8px}.career-card .card-action{margin-top:auto;padding-top:22px}.career-tags{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 24px}.career-tags span{font-size:12px;padding:6px 10px;background:#edf0e5;border-radius:3px}.career-card .card-action span{float:right}.career-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px;align-items:start}.job-section{margin:38px 0}.job-section>h2{font-size:25px;margin:0 0 23px}.job-section>p,.job-section li{font-size:15px;line-height:2}.job-section ul{padding-left:1.3em}.job-section li+li{margin-top:10px}.employment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.employment-panel{background:white;border:1px solid var(--line);padding:25px}.employment-panel h3{font-size:20px;line-height:1.6;margin:0 0 20px}.employment-panel dl{margin:0}.employment-panel dl>div{padding:15px 0;border-top:1px solid var(--line)}.employment-panel dt{font-size:12px;color:var(--muted);margin-bottom:8px}.employment-panel dd{font-size:14px;line-height:1.9;margin:0}.application-card{position:sticky;top:30px;background:#eef1e6;padding:28px}.application-card h2{font-size:22px;line-height:1.7;margin:20px 0}.application-card>p{font-size:13px;line-height:1.9}.application-card .solid-link{display:flex;padding:16px 20px;gap:12px}.application-card .back-link{font-size:12px}#application-fields{padding:24px;margin:0 0 28px;border:1px solid var(--line);background:#f0f2ea}#application-fields[hidden]{display:none}#application-fields legend{font-size:14px;font-weight:600;padding:0 8px}#application-fields .form-field{margin-bottom:0}
@media(max-width:1000px){.career-detail-layout{grid-template-columns:1fr;gap:20px}.application-card{position:static}.application-card .solid-link{max-width:350px}}
@media(max-width:700px){.career-grid,.employment-grid{grid-template-columns:1fr}.career-card{padding:25px}.career-card h3{font-size:23px}.career-category{margin:38px 0}.career-category-nav{gap:8px;margin-bottom:32px}.career-category-nav a{font-size:12px;margin-right:8px}.career-category-nav span{font-size:11px}.employment-panel{padding:22px}.job-section>h2{font-size:23px}.job-section{margin:30px 0}.application-card{padding:25px}#application-fields{padding:20px}#application-fields .form-two{gap:22px}}
/* Dedicated inquiry paths and real people photography */
.form-switch{display:grid;grid-template-columns:1fr 1fr;margin:0 0 64px;border-bottom:1px solid #cdc9c0;gap:24px}.form-switch a{padding:20px 0;text-align:center;color:#777}.form-switch a[aria-current]{color:#171914;border-bottom:3px solid #527858;font-weight:700}.recruit-photo-lead{margin:0 0 70px;position:relative}.recruit-photo-lead>img{display:block;width:100%;height:clamp(280px,40vw,520px);object-fit:cover;object-position:50% 45%}.recruit-photo-lead>div{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #cbc7be;font-size:12px;letter-spacing:.1em}.recruit-photo-lead a{font-size:14px;font-weight:700;letter-spacing:0}.life-section{padding:100px 0 35px}.life-section .block-heading p{font-size:14px;line-height:2}.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.life-photo{margin:0}.life-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.life-photo:nth-child(3) img{object-position:center 30%}.life-photo:nth-child(5) img{object-position:center 30%}.life-photo figcaption{display:flex;gap:16px;padding-top:16px}.life-photo figcaption>span{font-size:11px;color:#71826e}.life-photo strong{display:block;font-size:16px;font-weight:500}.life-photo small{display:block;font-size:12px;color:#777;margin-top:6px}.photo-note{font-size:11px;color:#777;margin-top:24px}.president-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:90px 0;border-top:1px solid #d9d5cd;margin-top:64px}.president-section figure{margin:0}.president-section img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.president-section h2{font-family:var(--serif,serif);font-size:clamp(25px,3vw,42px);line-height:1.7;font-weight:500}.president-section p{line-height:2}.president-name{margin-top:30px;font-size:26px}.president-name small,.president-name span{display:block;font-size:12px;letter-spacing:.12em}.president-name span{color:#777;font-size:10px}.job-photo{margin:0 0 32px}.job-photo img{width:100%;max-height:440px;object-fit:cover;display:block}#openings{scroll-margin-top:110px}@media(max-width:700px){.form-switch{gap:12px;margin-bottom:36px}.form-switch a{font-size:12px}.life-grid{grid-template-columns:1fr 1fr;gap:28px 14px}.life-photo strong{font-size:13px}.life-photo small{font-size:11px}.life-photo figcaption{gap:8px}.life-section{padding-top:65px}.president-section{grid-template-columns:1fr;gap:32px;padding:50px 0;margin-top:40px}.president-section figure{max-width:420px}.recruit-photo-lead>div{gap:14px;font-size:9px}.recruit-photo-lead a{font-size:12px}.life-section .block-heading{display:block}}
.life-photo figcaption{position:static;color:var(--ink);justify-content:flex-start;letter-spacing:0}.life-photo img{height:auto}.job-photo img{height:auto}#life,#president{scroll-margin-top:100px}
.president-section img{aspect-ratio:auto;object-position:center top}.recruit-photo-lead>img{object-position:center 42%}
/* Consistent footer links: remove the header CTA padding from footer navigation. */
.site-footer{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:48px;row-gap:26px;align-items:center}
.site-footer>.logo{grid-column:1;grid-row:1}
.site-footer>nav{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(4,auto);gap:12px 28px;align-items:stretch;justify-content:end;width:auto}
.site-footer>nav a,.site-footer>nav .nav-contact{display:flex;align-items:center;min-height:44px;padding:0;border:0;border-radius:0;line-height:1.6;background:none;text-align:left}
.site-footer>nav .nav-contact:hover{background:none;color:var(--ink);opacity:.6}
.site-footer>small{grid-column:1;grid-row:2;margin:0}
.site-footer>.back-top{grid-column:2;grid-row:2;justify-self:end;margin:0;min-height:44px;display:flex;align-items:center}
@media(max-width:1000px){.site-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:18px}.site-footer>.logo{grid-column:1/-1}.site-footer>nav{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;gap:12px 24px}.site-footer>small,.site-footer>.back-top{grid-row:3}}
@media(max-width:700px){.site-footer>nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.site-footer>nav a{min-height:44px;font-size:12px}.site-footer>.back-top{white-space:nowrap}}
