:root{--paper:#f8f5ed;--cream:#eee7d8;--ink:#24201a;--muted:#62584b;--gold:#896021;--light:#e8c581;--rule:#ded3bf;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.85 var(--sans)}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a77a32;outline-offset:5px}
img{display:block;width:100%;height:auto}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3,.brand{font-family:var(--serif);font-weight:700}
.shell{width:min(1180px,calc(100% - 100px));margin:auto}
.skip{position:fixed;z-index:10;top:8px;left:8px;background:var(--paper);padding:8px 14px;transform:translateY(-150%)}
.skip:focus{transform:none}
header{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--rule)}
.head{width:min(1440px,calc(100% - 90px));min-height:80px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:19px;line-height:1.35;letter-spacing:.06em}
.brand img{width:45px;height:45px}
.brand small{display:block;color:var(--gold);font:700 9px/1.4 var(--sans);letter-spacing:.23em;margin-top:4px}
nav{display:flex;align-items:center;gap:clamp(18px,3vw,44px);font-size:13px;font-weight:700}
nav a:hover,.text-link:hover,footer a:hover{color:var(--gold)}
.nav-contact{border:1px solid #b68b45;padding:9px 17px}
.nav-contact span{margin-left:6px}
.toggle{display:none;color:var(--ink);background:transparent;border:1px solid var(--rule);padding:6px 10px;font:inherit}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:625px;display:grid;align-items:center;background:#1b1712;color:#fff8e9}
.hero>img,.hero::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero>img{object-fit:cover;object-position:78% center}
.hero::after{content:"";background:linear-gradient(90deg,#17130f66 0%,#17130f38 36%,transparent 68%),linear-gradient(0deg,#17130f55,transparent 25%)}
.hero-inner{padding-block:65px 76px}
.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.23em;font-weight:800;line-height:1.6}
.hero .eyebrow,.contact .eyebrow{color:var(--light)}
.hero .eyebrow::before{content:"";display:inline-block;vertical-align:middle;width:30px;height:1px;background:var(--light);margin-right:13px}
.hero h1{font-size:clamp(44px,4.9vw,74px);line-height:1.21;letter-spacing:.065em;margin:22px 0 24px}
.hero-copy{line-height:1.9;color:#f0e8dc;letter-spacing:.06em}
.button{display:inline-flex;gap:28px;align-items:center;background:var(--light);color:#21180d;padding:13px 19px;margin-top:25px;font-weight:800;font-size:13px}
.button:hover{background:#f8dda7}
.hero-index{position:absolute;right:4%;bottom:26px;display:flex;gap:12px;align-items:center;color:#f6dfb4;font-size:10px;letter-spacing:.19em}
.hero-index b{width:32px;height:1px;background:currentColor}
.band{background:#f3ead7;border-block:1px solid #dac9a9}
.band-inner{display:grid;grid-template-columns:repeat(3,1fr)}
.band a{padding:16px 8px;text-align:center;font-weight:700;border-inline-start:1px solid #dac9a9}
.band a:last-child{border-inline-end:1px solid #dac9a9}
.band a:hover{background:#ebdbba}
.band span{color:#74511b;margin-right:8px;font:700 12px Georgia,serif}
.section{padding-block:94px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:35px}
.section-head>p,.card-body>p:not(.eyebrow){color:var(--muted)}
h2{font-size:clamp(36px,5vw,56px);line-height:1.25;letter-spacing:.07em;margin-top:9px}
.business-grid,.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.business-grid article{border:1px solid var(--rule);background:#fcfaf5}
.tile{position:relative;aspect-ratio:16/9;background:#44311d;overflow:hidden}
.tile img{width:100%;height:100%;object-fit:cover}
.card-body{padding:23px 22px 28px}
.card-body h3{font-size:clamp(21px,2.3vw,28px);margin:4px 0 7px}
.text-link{display:inline-block;margin-top:10px;color:#74511b;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.locations{background:var(--cream)}
.location-grid{gap:23px 18px}
.location-grid figure,.tokyo{background:var(--paper);border-bottom:2px solid #b78a44}
.store-photo{display:block;background:#e4dccd}
.location-grid figure img{width:100%;aspect-ratio:4/5;object-fit:contain}
figcaption{padding:12px 16px 15px}
figcaption small{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.16em}
figcaption h3{font-size:20px;line-height:1.5}
figcaption h3 span{font-size:16px;margin-left:4px}
.tokyo{background:radial-gradient(ellipse at 82% 0%,#6c4d2b,#302419 73%);padding:23px;color:#fff7e8;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:210px}
.tokyo .eyebrow{color:var(--light);margin-top:18px}
.tokyo h3{font-size:39px;line-height:1.3}
.status{color:#ffdfa1;border:1px solid #bc995e;padding:3px 9px;font-size:12px}
.company{display:grid;grid-template-columns:1fr 1.8fr;gap:40px}
.company-mark{width:108px;margin:26px 0 0;opacity:.72}
dl{border-top:1px solid var(--rule)}
dl div{display:grid;grid-template-columns:7.5em 1fr;gap:12px;padding:13px 5px;border-bottom:1px solid var(--rule)}
dt{font-weight:700;color:#684a20}
details{margin-top:18px;border:1px solid var(--rule);background:#fcfaf5}
summary{cursor:pointer;padding:13px 15px;font-weight:700}
details ol{margin:0 20px 16px;padding-left:24px;color:var(--muted)}
details li{padding:3px 0}
.contact{background:#231b13;color:#fff8e9}
.contact-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:36px;padding-block:66px}
.contact h2{font-size:clamp(31px,4.3vw,50px);margin-bottom:10px}
.contact-inner p:not(.eyebrow){color:#e9ddca}
.contact-links{border-top:1px solid #77603f}
.contact-links a{border-bottom:1px solid #77603f;display:grid;grid-template-columns:4em 1fr auto;align-items:center;gap:8px;padding:14px 0;font-size:clamp(15px,2vw,24px);line-height:1.4}
.contact-links small{font-size:12px;color:var(--light)}
.contact-links a:hover,.contact-links span{color:var(--light)}
footer .shell{padding-block:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px}
@media(max-width:850px){.shell{width:calc(100% - 54px)}.head{width:calc(100% - 46px)}.hero{min-height:565px}.section{padding-block:68px}.business-grid{gap:10px}.card-body{padding:16px 13px}.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){html{scroll-padding-top:78px}.shell,.head{width:calc(100% - 36px)}.head{min-height:63px;gap:8px;flex-wrap:wrap}.brand{font-size:16px}.brand img{width:38px;height:38px}.toggle:not([hidden]){display:block}.toggle:not([hidden])[aria-expanded="false"]+nav{display:none}nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding-bottom:12px}nav a{padding:7px}.hero{min-height:530px}.hero-inner{padding-block:55px 75px}.hero>img{object-position:80% center}.hero::after{background:linear-gradient(90deg,#17130fc9,#17130f56 95%),linear-gradient(0deg,#17130fbc,transparent 45%)}.hero h1{font-size:clamp(39px,10vw,60px)}.hero-copy{font-size:13px}.band a{font-size:11px;line-height:1.55;padding:10px 3px}.band span{display:block;margin:0 0 3px}.section{padding-block:53px}.section-head{display:block;margin-bottom:23px}.section-head>p{margin-top:13px}.section-head br{display:none}.business-grid,.company,.contact-inner{grid-template-columns:1fr;gap:20px}.location-grid{gap:13px 9px}figcaption{padding:8px}figcaption h3{font-size:16px}figcaption h3 span{display:block;margin:0;font-size:13px}.tokyo{padding:12px;min-height:156px}.tokyo h3{font-size:28px}.tokyo p:last-child{font-size:12px}.company-mark{display:none}dl div{grid-template-columns:5.5em 1fr;gap:6px}.contact-links a{grid-template-columns:3em 1fr auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.languages{display:flex;flex-shrink:0;border:1px solid var(--rule);white-space:nowrap;font-size:12px;font-weight:700}
.languages a{padding:5px 8px}
.languages a[aria-current="page"]{background:#e9d1a3;color:var(--ink)}
.languages a:hover{box-shadow:inset 0 -2px var(--gold)}
:lang(zh-Hans){--serif:"Noto Serif SC","Songti SC",SimSun,serif;--sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
@media(min-width:851px){.head nav{margin-left:auto}}
@media(max-width:850px){
  .head{min-height:63px;gap:8px;flex-wrap:wrap}
  .languages{margin-left:auto}
  .toggle:not([hidden]){display:block;order:1;font-size:12px}
  .toggle:not([hidden])[aria-expanded="false"]+nav{display:none}
  .head nav{order:2;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding-bottom:12px}
  .head nav a{padding:7px}
}
@media(max-width:390px){
  .head .brand{gap:5px;font-size:14px}
  .head .brand img{width:31px;height:31px}
  .languages a{padding-inline:5px}
  .toggle{padding-inline:5px}
}


.tile-note{position:absolute;bottom:8px;right:8px;padding:2px 7px;background:#241b14;color:#fff8e9;font-size:10px}
.tokyo{position:relative;isolation:isolate;overflow:hidden}
.tokyo::before{content:"";position:absolute;z-index:-1;inset:8% 2% 7% auto;width:49%;background:url("assets/skytree.svg") center right/contain no-repeat;opacity:.85;pointer-events:none}
@media(max-width:650px){.tokyo::before{inset:12% -7% 6% auto;width:56%;opacity:.55}}
.business-grid a.tile{display:block}
.business-grid a.tile:hover img{filter:brightness(1.08)}
.business-detail{padding:30px 0 76px}
.detail-back{margin-bottom:23px}
.detail-lead,.detail-body,.detail-contact{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,70px)}
.detail-lead{padding:clamp(18px,4vw,52px);background:var(--cream);border-top:2px solid #b78a44}
.detail-lead h1{font-size:clamp(33px,4.5vw,63px);line-height:1.24;margin:8px 0 16px}
.detail-lead p+p{margin-top:12px}
.detail-photo{min-width:0;background:#fcfaf5;border:1px solid var(--rule)}
.detail-photo img{width:100%;aspect-ratio:16/9;object-fit:cover}
.detail-photo figcaption{font-size:12px;color:var(--muted)}
.detail-ranch .detail-photo{width:min(100%,355px);justify-self:center}
.detail-ranch .detail-photo img{aspect-ratio:4/5;object-fit:contain;background:#e4dccd}
.detail-body{padding-block:clamp(35px,6vw,80px)}
.detail-body h2,.detail-contact h2{font-size:clamp(27px,3.3vw,42px);letter-spacing:.025em}
.detail-list{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--rule)}
.detail-list li{display:grid;grid-template-columns:2em 1fr;gap:9px;padding:12px 0;border-bottom:1px solid var(--rule)}
.detail-list span{color:var(--gold);font-size:12px;font-weight:800}
.detail-list p{color:var(--muted)}
.detail-contact{background:#2c2218;color:#fff8e9;padding:clamp(18px,4vw,45px)}
.detail-contact .eyebrow,.detail-contact .text-link{color:var(--light)}
.detail-contact p:last-child{margin-top:10px}
.detail-contact>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.detail-contact .button,.detail-contact .text-link{margin-top:0}
.detail-next{margin-top:22px}
@media(max-width:650px){.detail-lead,.detail-body,.detail-contact{grid-template-columns:1fr}.business-detail{padding-bottom:45px}}
.detail-gallery{padding-top:clamp(30px,5vw,64px)}
.detail-gallery h2{font-size:clamp(27px,3.3vw,42px);margin-bottom:20px}
.detail-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.detail-gallery .detail-photo img{aspect-ratio:23/16;object-fit:contain;background:#2c2218}
.farm-scenes .detail-photo img{aspect-ratio:16/9;object-fit:cover}
.detail-gallery figcaption a{text-decoration:underline;text-underline-offset:2px}
.ranch-links{display:flex;flex-wrap:wrap;column-gap:20px;margin-bottom:18px}
.detail-body-single{grid-template-columns:1fr}
@media(max-width:650px){.detail-gallery-grid{grid-template-columns:1fr}}

.breed-gallery .detail-photo img{aspect-ratio:3/2}
.kitchen-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:clamp(30px,5vw,60px)}
.kitchen-guide section{padding:clamp(18px,3vw,34px);border:1px solid var(--rule);background:#fcfaf5}
.kitchen-guide h2{font-size:clamp(25px,3vw,38px);letter-spacing:.025em}
@media(max-width:650px){.kitchen-guide{grid-template-columns:1fr}}
.kitchen-products{display:block}
.kitchen-product-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:22px 0 0;padding:0}
.kitchen-product-grid>li{border:1px solid var(--rule);background:#fcfaf5}
.kitchen-product-grid .detail-photo{position:relative;border:0}
.kitchen-product-grid .detail-photo img{aspect-ratio:16/10}
.kitchen-product-copy{padding:clamp(15px,2.4vw,28px)}
.kitchen-product-copy h3{margin:4px 0 6px;font-size:clamp(20px,2.3vw,28px)}
.kitchen-product-copy p:last-child{color:var(--muted)}
@media(max-width:650px){.kitchen-product-grid{grid-template-columns:1fr}}
.hero-inner{max-width:1180px}
.location-grid figcaption{min-height:80px;display:grid;align-content:center;gap:3px}
.location-grid figcaption small{letter-spacing:.18em}
.tokyo .status{position:absolute;top:18px;left:18px;background:#342619}
.partner-note{margin:22px 0 17px;padding:13px 0 13px 16px;border-left:2px solid #b78a44}
.partner-note>p:nth-child(2){margin-top:5px}
.partner-note>p:last-child{margin-top:3px}
.partner-note .text-link{margin-top:0;font-size:13px}
.farm-scenes .detail-gallery-grid{gap:22px}
.breed-gallery .detail-gallery-grid{max-width:890px;margin-inline:auto}
.product-image-note{margin-top:8px;color:var(--muted);font-size:13px}
.kitchen-guide .detail-list li{padding-block:15px}
.company dl div{align-items:baseline}
.contact-links a[href^="mailto:"]{color:#f4d49b}
@media(max-width:650px){
  .hero h1{font-size:clamp(34px,8.7vw,53px)}
  .location-grid figcaption{min-height:73px}
  .tokyo .status{top:10px;left:10px}
}
