:root{--paper:#f8f7f3;--ink:#20231f;--muted:#62675e;--line:#dedfd6;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid #636e54;outline-offset:6px}
img{display:block;max-width:100%}
p,h1,h2,h3,figure{margin:0}
.content-width{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:16px;z-index:10;padding:8px 16px;background:var(--paper);border:1px solid var(--ink);opacity:0;pointer-events:none}
.skip-link:focus{top:12px;opacity:1;pointer-events:auto}
.site-header{border-bottom:1px solid var(--line)}
.header-inner{width:min(1480px,calc(100% - 96px));min-height:112px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand-group{display:flex;align-items:center;gap:25px;flex-shrink:0}
.wordmark{font:64px/1 Georgia,"Times New Roman",serif;letter-spacing:-4px;padding:8px 4px 12px 0}
.brand-description{font-size:12px;letter-spacing:.12em;line-height:1.6}
.operator{font-family:var(--sans);font-size:11px;letter-spacing:.045em;color:var(--muted);margin-top:5px;line-height:1.5}
.header-nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.04em}
.header-nav a{min-height:44px;display:flex;align-items:center;gap:12px;border-bottom:1px solid transparent}
.header-nav a:hover{border-bottom-color:var(--ink)}
.header-nav span{font-size:17px}
.hero-copy{padding-top:58px;padding-bottom:38px}
.hero-headline{font-family:var(--serif);font-weight:500;font-size:clamp(40px,4.7vw,72px);letter-spacing:.035em;line-height:1.55}
.hero h1{font-family:var(--serif);font-size:20px;line-height:1.7;letter-spacing:.12em;font-weight:500;margin-top:7px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:44px;font-size:13px;letter-spacing:.1em;border-bottom:1px solid #777e70;margin-top:21px;padding-bottom:2px}
.text-link span{font-size:22px;line-height:1;transition:transform .2s}
.text-link:hover span{transform:translateX(5px)}
.hero-photo{width:100%;max-width:1860px;margin:auto;background:#c4c2b5}
.hero-photo img{width:100%;height:auto;aspect-ratio:1860/846;object-fit:cover}
.introduction{padding-block:70px 52px}
.introduction h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.65vw,40px);line-height:1.8;letter-spacing:.04em}
.introduction>p{margin-top:22px;max-width:850px;font-size:14px;line-height:2.1;color:#50574c}
.jobs-section{border-top:1px solid var(--line);padding-top:31px;padding-bottom:76px}
.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:22px}
.section-title h2{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:.045em;line-height:1.65}
.section-label{font-size:10px;letter-spacing:.18em;color:var(--muted);white-space:nowrap}
.preview-notice{font-size:12px;color:var(--muted);margin-top:-12px;margin-bottom:20px}
.jobs-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 24px}
.job-card{min-width:0;grid-column:span 2}
.job-card:nth-child(-n+2){grid-column:span 3}
.sheet-photo{position:relative;overflow:hidden;aspect-ratio:2/1;background:#d7d6ce}
.sheet-photo>img{position:absolute;max-width:none;width:300%;height:200%;left:0;top:0;object-fit:fill}
.cell-1>img{left:-100%}.cell-2>img{left:-200%}.cell-3>img{top:-100%}.cell-4>img{left:-100%;top:-100%}.cell-5>img{left:-200%;top:-100%}
.job-photo{width:100%;aspect-ratio:2/1;object-fit:cover}
.job-category{font-size:10px;letter-spacing:.1em;margin-top:12px;color:#596051}
.job-card h3{font-family:var(--serif);font-size:23px;font-weight:500;line-height:1.5;margin-top:3px;letter-spacing:.04em}
.job-card p.job-summary{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.8}
.job-card a{display:block}
.job-card a:hover h3{text-decoration:underline;text-underline-offset:5px}
.job-meta{font-size:12px;margin-top:6px;color:var(--muted)}
.empty-state{grid-column:1/-1;padding:40px 0 24px;font-family:var(--serif);font-size:22px}
.empty-state small{display:block;font-family:var(--sans);font-size:13px;color:var(--muted);margin-top:10px}
.owners-section{position:relative;isolation:isolate;overflow:hidden;background:#252a24;color:#f7f6ef}
.owners-photo{position:absolute;right:0;top:0;bottom:0;width:64%;height:100%;aspect-ratio:auto;z-index:-2}
.owners-section::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#252a24 0%,rgba(37,42,36,.97) 30%,rgba(37,42,36,.63) 62%,rgba(37,42,36,.1) 100%);z-index:-1}
.owners-inner{padding-block:52px 56px}
.eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:14px}
.owners-section h2{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.7;letter-spacing:.06em}
.owner-invitation{font-family:var(--serif);font-size:21px;letter-spacing:.04em;margin-top:5px}
.owner-status{font-size:12px;color:#dedfd6;margin-top:14px}
.site-footer{padding-block:32px 22px}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px}
.footer-brand{font:40px/1 Georgia,"Times New Roman",serif;letter-spacing:-2px;display:block;padding-block:5px}
.footer-brand span{display:block;font-family:var(--sans);font-size:9px;line-height:1.8;letter-spacing:.1em;text-align:center;margin-top:5px}
.footer-company{text-align:right;font-size:11px;color:var(--muted);letter-spacing:.025em;line-height:1.8}
.copyright{margin:0;white-space:nowrap}
.image-note{font-size:11px;line-height:1.7;color:#777c72;margin-top:22px;font-weight:400;letter-spacing:0;text-align:left;max-width:100%;overflow-wrap:anywhere}
.job-detail{padding-block:60px 70px;max-width:980px}
.job-detail h1{font:500 38px/1.6 var(--serif);margin-block:10px 28px}
.job-detail h2{font:500 25px/1.7 var(--serif);margin-top:38px;margin-bottom:16px}
.job-detail .job-photo{margin-block:28px}
.job-detail dl{border-top:1px solid var(--line)}
.job-detail dl>div{display:grid;grid-template-columns:160px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
.job-detail dt{color:var(--muted)}
.job-detail dd{margin:0;white-space:pre-line}
.job-detail .apply-link{display:inline-flex;background:var(--ink);color:var(--paper);padding:14px 30px;margin-top:32px}
@media(min-width:1600px){.hero-copy{padding-top:72px;padding-bottom:45px}}
@media(max-width:1050px){.header-inner{width:calc(100% - 56px);gap:20px}.brand-group{gap:16px}.brand-description{font-size:11px;letter-spacing:.03em}.header-nav{gap:20px;font-size:11px}.content-width{width:calc(100% - 72px)}.hero-headline{font-size:48px}.owners-section h2{font-size:29px}.section-title h2{font-size:27px}}
@media(max-width:760px){
  body{font-size:14px}.content-width{width:calc(100% - 40px)}
  .header-inner{width:calc(100% - 40px);min-height:0;display:block;padding-top:17px}
  .brand-group{gap:19px}.wordmark{font-size:52px;padding:4px 3px 9px 0;letter-spacing:-3px}
  .brand-description{font-size:10px;letter-spacing:.035em}.operator{font-size:10px;margin-top:4px}
  .header-nav{gap:24px;border-top:1px solid var(--line);margin-top:13px;justify-content:space-between;font-size:10px}
  .header-nav a{gap:7px;min-height:45px}.header-nav span{font-size:14px}
  .hero-copy{padding-top:32px;padding-bottom:26px}.hero-headline{font-size:clamp(22px,6.4vw,42px);line-height:1.7;letter-spacing:.01em;white-space:nowrap}
  .hero h1{font-size:13px;letter-spacing:.06em;margin-top:5px}.text-link{font-size:12px;min-height:44px;gap:42px;margin-top:14px}
  .hero-photo img{object-fit:contain;width:100%;height:auto;aspect-ratio:1860/846}
  .introduction{padding-block:35px 30px}.introduction h2{font-size:clamp(17px,4.1vw,27px);letter-spacing:.01em;line-height:1.9}
  .introduction>p{font-size:13px;line-height:2;margin-top:18px}.jobs-section{padding-top:25px;padding-bottom:42px}
  .section-title{margin-bottom:16px}.section-title h2{font-size:22px;letter-spacing:0}.section-label{display:none}
  .preview-notice{font-size:11px;margin-top:-5px;margin-bottom:18px}.jobs-grid{grid-template-columns:1fr;gap:27px}
  .job-card,.job-card:nth-child(-n+2){grid-column:1}.job-card h3{font-size:22px}.job-category{font-size:10px;margin-top:10px}.job-card p.job-summary{font-size:12px}
  .owners-photo{width:100%;opacity:.5}.owners-section::before{background:linear-gradient(90deg,rgba(37,42,36,.96),rgba(37,42,36,.5))}
  .owners-inner{padding-block:35px 38px}.owners-section h2{font-size:24px;letter-spacing:.02em}.owner-invitation{font-size:18px}.owner-status{font-size:12px;margin-top:12px}
  .site-footer{padding-top:26px;padding-bottom:22px}.footer-brand{font-size:36px}.footer-company{font-size:10px}.image-note{font-size:11px;line-height:1.7;margin-top:19px}
  .job-detail{padding-block:30px 45px}.job-detail h1{font-size:27px}.job-detail dl>div{grid-template-columns:1fr;gap:4px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.text-link span{transition:none}}
