
:root { --red:#e62b21; --black:#101010; --white:#f7f5ef; --line:rgba(16,16,16,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:auto; }
body { margin:0; background:var(--white); color:var(--black); font-family:"Arial Narrow","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
#bejiya-corporate { position:relative; }
#bejiya-corporate > section, #bejiya-corporate > footer { position:relative; z-index:1; }
.manifesto,.message,.shop { background:var(--white); }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
p { line-height:2; letter-spacing:.05em; text-wrap:pretty; }
.headline-line { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.site-header { position:absolute; z-index:20; top:0; left:0; width:100%; height:94px; display:flex; align-items:center; gap:42px; padding:0 4vw; color:white; border-bottom:1px solid rgba(255,255,255,.45); }
.brand { display:flex; align-items:center; margin-right:auto; }
.brand-logo { width:auto; height:50px; }
.site-header>nav { display:flex; gap:24px; font-size:12px; font-weight:800; letter-spacing:.08em; }
.header-instagram{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto}.header-instagram img{width:22px;height:22px;object-fit:contain}
.header-fc { padding:15px 20px; color:var(--red); background:white; font-size:12px; font-weight:900; }
.mobile-menu{display:none}
.hero { position:relative; height:100svh; min-height:780px; overflow:hidden; background:var(--red); color:white; }
.hero-grid { position:absolute; top:114px; right:3vw; bottom:28px; left:3vw; display:grid; grid-template-columns:1.1fr .9fr 1fr; grid-template-rows:1fr 1fr; gap:14px; opacity:1; }
.hero-grid img { height:100%; object-fit:cover; }
.hero-grid img:nth-child(1){ grid-column:1; grid-row:1 / 3; object-position:center; }
.hero-grid img:nth-child(2){ grid-column:2 / 4; }
.hero-grid img:nth-child(3){ display:block; grid-column:2; object-position:center bottom; }
.hero-grid img:nth-child(4){ grid-column:3; object-position:center bottom; }
.hero-copy { position:absolute; z-index:2; left:5vw; top:auto; bottom:92px; width:82%; transform:none; }
.eyebrow,.kicker { margin:0 0 24px; font-size:12px; font-weight:900; letter-spacing:.24em; }
.light { color:white; }
.hero h1 { margin:0; font-size:clamp(46px,4.6vw,66px); line-height:1.22; letter-spacing:.01em; font-weight:900; }
.hero h1 span { display:block; width:max-content; padding:.02em .08em .09em 0; background:white; color:var(--red); }
.hero h1 span+span { margin-top:11px; background:var(--black); color:white; }
.hero-sub { width:max-content; max-width:100%; margin:28px 0 0; padding:11px 16px 13px; background:rgba(16,16,16,.9); color:white; font-size:clamp(16px,1.25vw,19px); line-height:1.85; font-weight:800; letter-spacing:.06em; text-shadow:0 1px 1px rgba(0,0,0,.35); }
.news-section { background:var(--white); }
.news-label { max-width:1280px; margin:0 auto 38px; }
.CMS-NEWS-INDEX { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; max-width:1280px; margin:auto; }
.CMS-NEWS-ITEM { min-width:0; }
.CMS-NEWS-ITEM a { display:block; transition:opacity .2s ease; }
.CMS-NEWS-ITEM a:hover { opacity:.68; }
.CMS-NEWS-THUMBNAIL { width:100%; aspect-ratio:16/10; object-fit:cover; background:#e8e5de; }
.CMS-NEWS-TIME { margin-top:18px; color:var(--red); font-size:11px; line-height:1.5; font-weight:900; letter-spacing:.08em; }
.CMS-NEWS-LINK { margin-top:8px; font-size:15px; line-height:1.75; font-weight:700; letter-spacing:.035em; }
.news-section .CMS-NEWS-MORE-READ { display:none!important; }
.news-more { display:flex; align-items:center; justify-content:center; gap:32px; width:min(100%,290px); margin:38px auto 0; padding:18px 22px; border:1px solid var(--black); font-size:13px; font-weight:900; letter-spacing:.08em; }
.news-more span { font-size:22px; line-height:1; }
.section-pad { padding:115px 7vw 125px; }
.section-label { display:flex; gap:16px; align-items:center; font-size:11px; letter-spacing:.2em; font-weight:900; margin-bottom:75px; }
.section-label span { display:grid; place-items:center; width:38px; height:38px; border:1px solid currentColor; border-radius:50%; letter-spacing:0; }
.section-label b { font-size:22px; line-height:1.4; letter-spacing:.08em; font-weight: 400; }
.on-dark { color:white; }
.manifesto { position:relative; }
.manifesto-content { max-width:1280px; margin:auto; }
.business h2,.philosophy h2,.manifesto h2,.message h2,.shop h2,.company h2 { margin:0; font-size:clamp(38px,4vw,56px); line-height:1.35; letter-spacing:.015em; font-weight:900; }
.manifesto h2 { width:max-content; background:var(--black); color:white; padding:.1em .15em .15em .08em; }
.manifesto-grid { display:grid; grid-template-columns:1fr 1fr; gap:10vw; padding:80px 0 0 14vw; }
.manifesto .lead { margin:0; font-size:clamp(25px,2.5vw,36px); line-height:1.55; letter-spacing:.035em; font-weight:800; }
.manifesto .lead strong { color:var(--red); font-weight:950; }
.body-copy { font-size:16px; }.body-copy p:first-child{font-size:18px;font-weight:800;line-height:1.9;}.red-line{color:var(--red);font-weight:800;font-size:18px;}
.dummy-note { margin:14px 0 0; color:#00deff; font-size:9px!important; line-height:1.5!important; letter-spacing:.04em; font-weight:700; }
.hero .dummy-note,.fc .dummy-note { display:inline-block; width:max-content; padding:3px 6px; background:var(--black); color:#00deff; }
.business-heading { display:grid; grid-template-columns:1.05fr .95fr; gap:9vw; align-items:end; max-width:1280px; margin:0 auto 70px; }
.business-heading>div:last-child>p:not(.dummy-note) { margin:0; font-size:16px; line-height:2; }
.business-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; max-width:960px; margin:auto; }
.business-cards article { background:#f0eee8; }
.business-cards img { height:260px; object-fit:cover; }
.business-cards article>div { padding:26px 28px 30px; }
.business-cards article span { color:var(--red); font-size:20px; line-height:1; font-weight:900; letter-spacing:.12em; }
.business-cards h3 { margin:9px 0 12px; font-size:23px; line-height:1.5; letter-spacing:.035em; }
.business-cards p { margin:0; font-size:14px; line-height:1.9; }
.philosophy { background:#eeeae2; }
.philosophy-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:center; max-width:1280px; margin:auto; }
.philosophy-layout>img { height:620px; object-fit:cover; }
.philosophy-copy>p:not(.kicker):not(.dummy-note) { margin-top:38px; font-size:16px; line-height:2.05; }
.story { background:var(--black); color:white; overflow:hidden; }
.story-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:80px; }
.story-heading p { font-size:11px; letter-spacing:.2em; font-weight:900; }
.story-heading h2 { margin:0; max-width:900px; font-size:clamp(38px,4vw,56px); font-weight:600; line-height:1.35; letter-spacing:.02em; }
.generations { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #555; border-bottom:1px solid #555; }
.generations article { position:relative; padding:42px 38px 55px; min-height:430px; border-right:1px solid #555; }.generations article:last-child{border:0;}
.generation-number { position:absolute; top:17px; right:26px; color:var(--red); font-family:"DIN Condensed","DIN Condensed Bold","Arial Narrow",sans-serif; font-size:96px; font-stretch:condensed; font-variant-numeric:tabular-nums; font-weight:700; letter-spacing:-.04em; opacity:.85; }
.generation-en { margin:0 0 120px; color:#888; font-size:10px; letter-spacing:.18em; font-weight:900; }
.generations h3 { font-size:23px; line-height:1.55; letter-spacing:.035em; margin:0 0 20px; }.generations article>p:last-child{color:#bbb;font-size:15px;line-height:2;}
.story-photo { position:relative; margin:90px 0 0 10vw; }.story-photo img{height:620px;object-fit:cover;filter:contrast(1.08);}
.story-photo figcaption { position:absolute; left:-7vw; bottom:48px; display:flex; flex-direction:column; align-items:flex-start; }
.story-photo figcaption span,.story-photo figcaption b { width:max-content; max-width:100%; white-space:nowrap; background:var(--red); padding:8px 14px; font-size:clamp(20px,2.1vw,30px); line-height:1.35; letter-spacing:.025em; }.story-photo figcaption b{background:white;color:var(--black);font-size:clamp(25px,2.7vw,39px);}
.message-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:center; }
.message-photo-wrap { position:relative; }.message-photo-wrap img{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;}.photo-tag{position:absolute;right:-22px;bottom:36px;background:var(--red);color:white;padding:15px 22px;font-size:11px;font-weight:900;letter-spacing:.18em;}
.message h2 { font-size:clamp(36px,3.7vw,52px); }.message h2 em{color:var(--red);font-style:normal;}.message-copy>p:not(.kicker){font-size:16px;line-height:2;max-width:660px;}
.signature { margin-top:40px; padding-top:22px; border-top:2px solid var(--black); display:flex; gap:20px; align-items:baseline; }.signature span{font-size:12px;}.signature strong{font-size:22px;}
.menu-section { background:var(--black); color:white; }
.menu-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:8vw; margin-bottom:70px; }.menu-heading h2{margin:0;font-size:clamp(42px,4.3vw,60px);font-weight:600;line-height:1.3;letter-spacing:.02em;}.menu-heading h2 span:last-child{color:var(--red);}.menu-heading p{color:#bbb;font-size:16px;line-height:2;max-width:550px;}
.menu-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:22px; }.menu-grid article{background:#1b1b1b;}.menu-grid img{height:390px;object-fit:cover;}.menu-main{grid-row:span 2;}.menu-main img{height:650px;}.menu-card-copy,.menu-options{padding:28px 32px 34px;}.menu-card-copy span,.menu-options>span{color:var(--red);font-size:10px;font-weight:900;letter-spacing:.18em;}.menu-card-copy h3,.menu-options h3{font-size:23px;line-height:1.55;letter-spacing:.035em;margin:8px 0;}.menu-card-copy p,.menu-options li{font-size:14px;line-height:1.9;color:#bbb;}.menu-options ul{list-style:none;padding:0;margin:24px 0 0;}.menu-options li{padding:12px 0;border-top:1px solid #444;}.text-link{display:inline-block;margin-top:45px;padding-bottom:8px;border-bottom:2px solid;font-size:13px;font-weight:900;letter-spacing:.08em;}.light-link{color:white;}
.menu-three { grid-template-columns:repeat(3,1fr); }
.menu-three img { height:300px; }
.menu-single { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:32px; align-items:stretch; }
.menu-single>img { height:100%; min-height:560px; object-fit:cover; object-position:center; }
.menu-list { display:flex; flex-direction:column; background:#1b1b1b; padding:12px 34px; }
.menu-list article { display:grid; grid-template-columns:42px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid #444; }
.menu-list article:last-of-type { border-bottom:0; }
.menu-list article>span { color:var(--red); font-size:20px; line-height:1.4; font-weight:900; letter-spacing:.08em; }
.menu-list h3 { margin:0 0 8px; font-size:23px; line-height:1.5; letter-spacing:.035em; }
.menu-list article p { margin:0; color:#bbb; font-size:14px; line-height:1.9; }
.shop-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; }.shop h2{font-size:clamp(36px,3.7vw,52px);}.shop-copy>p{font-size:16px;line-height:2;max-width:560px;}.shop-data{margin-top:45px;border-top:2px solid var(--black);}.shop-data p{display:grid;grid-template-columns:110px 1fr;margin:0;padding:18px 0;border-bottom:1px solid var(--line);line-height:1.8;}.shop-data span{font-size:11px;font-weight:900;letter-spacing:.08em;}.shop-data b{font-size:14px;}.shop-photos{display:grid;grid-template-columns:1fr;gap:16px;align-content:start;}.shop-photos img{height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;}.shop-photos img+img{height:auto;object-position:center;}
.company{background:var(--black);color:white;border-top:1px solid rgba(255,255,255,.55);}.company-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;}.company h2{font-size:clamp(38px,3.8vw,54px);}.company dl{margin:0;border-top:1px solid #555;}.company dl div{display:grid;grid-template-columns:150px 1fr;padding:23px 0;border-bottom:1px solid #444;}.company dt{color:#999;font-size:11px;font-weight:900;letter-spacing:.1em;}.company dd{margin:0;font-size:15px;line-height:1.9;letter-spacing:.04em;}
.fc { display:grid;grid-template-columns:.82fr 1.18fr;min-height:760px;background:var(--red);color:white;}.fc-photo img{height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);}.fc-content{padding:95px 6vw;display:flex;flex-direction:column;}.fc-label{margin-bottom:0}.fc h2{margin:60px 0;font-size:clamp(42px,4.4vw,62px);font-weight:600;line-height:1.32;letter-spacing:.02em;}.fc h2 span:last-child{color:var(--black);}.fc-bottom{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4vw;align-items:end;border-top:1px solid rgba(255,255,255,.5);padding-top:34px;}.fc-bottom>div>p:first-child{margin:0;font-size:15px;line-height:2;}.fc-bottom a{width:250px;min-height:88px;background:white;color:var(--black);padding:17px 20px;display:flex;flex-direction:column;justify-content:space-between;font-size:10px;letter-spacing:.05em;}.fc-bottom a b{font-size:16px;}
footer{background:var(--black);color:white;padding:65px 7vw 32px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}.footer-brand{display:flex;align-items:center}.footer-logo{width:auto;height:70px}.footer-links{display:flex;justify-self:end;gap:18px}.footer-links a{display:flex;flex-direction:column;align-items:center;gap:9px;width:68px;font-size:9px;font-weight:800;letter-spacing:.08em}.footer-icon{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.65);border-radius:12px}.instagram-icon img{width:25px;height:25px;object-fit:contain}.top-icon:before{content:"";position:absolute;left:50%;top:12px;width:10px;height:10px;border-top:2px solid white;border-left:2px solid white;transform:translateX(-50%) rotate(45deg)}.top-icon:after{content:"";position:absolute;left:50%;top:12px;width:2px;height:20px;background:white;transform:translateX(-50%)}footer small{grid-column:1/-1;color:#777;border-top:1px solid #333;padding-top:24px;margin-top:35px;}
@media (max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}
  .site-header{height:72px;padding:0 20px;gap:14px}.site-header>nav{display:none}.brand-logo{width:auto;height:42px}.header-instagram{width:42px;height:42px}.header-instagram img{width:32px;height:32px}.header-fc{display:none}.mobile-menu{display:block;flex:0 0 auto}.mobile-menu summary{position:relative;display:block;width:42px;height:42px;border:0;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:before,.mobile-menu summary:after,.mobile-menu summary span{content:"";position:absolute;left:5px;width:32px;height:3px;background:white;transition:transform .2s,top .2s,opacity .2s}.mobile-menu summary:before{top:10px}.mobile-menu summary span{top:19px}.mobile-menu summary:after{top:28px}.mobile-menu[open] summary:before{top:19px;transform:rotate(45deg)}.mobile-menu[open] summary span{opacity:0}.mobile-menu[open] summary:after{top:19px;transform:rotate(-45deg)}.mobile-menu nav{position:absolute;top:72px;right:0;left:0;display:flex;flex-direction:column;padding:28px 22px 36px;background:var(--black);border-top:1px solid rgba(255,255,255,.3);box-shadow:0 12px 24px rgba(0,0,0,.22)}.mobile-menu nav a{padding:16px 4px;border-bottom:1px solid #3d3d3d;font-size:14px;font-weight:800;letter-spacing:.1em}.mobile-menu nav .mobile-menu-fc{margin-top:16px;padding:17px 18px;border:0;background:white;color:var(--red)}
  .hero{height:auto;min-height:880px}.hero-grid{top:72px;right:16px;bottom:auto;left:16px;height:46%;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr .8fr;gap:8px}.hero-grid img:nth-child(1){grid-column:1 / 3}.hero-grid img:nth-child(2){grid-column:1}.hero-grid img:nth-child(3){display:none}.hero-grid img:nth-child(4){display:block;grid-column:2}.hero-copy{left:22px;top:auto;bottom:128px;width:calc(100% - 44px);transform:none}.hero h1{font-size:9vw}
  .section-pad{padding:80px 22px}.section-label{margin-bottom:50px}.section-label b{font-size:22px}.fc-label{margin-bottom:0}.news-label{margin-bottom:30px}.CMS-NEWS-INDEX{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 16px}.CMS-NEWS-TIME{margin-top:13px}.CMS-NEWS-LINK{font-size:14px}.news-more{margin-top:38px}
  .business h2,.philosophy h2,.manifesto h2{font-size:7.8vw}.business-heading,.philosophy-layout,.manifesto-grid,.message-layout,.menu-heading,.shop-layout,.company-layout{grid-template-columns:1fr;padding-left:0;gap:50px}.business-heading{margin-bottom:55px}.business-cards{grid-template-columns:1fr}.business-cards img{height:300px}.philosophy-layout>img{height:460px}.manifesto-grid{padding-top:55px}.manifesto .lead{font-size:28px}
  .story-heading{display:block}.story-heading p{margin-bottom:25px}.story-heading h2{font-size:7.8vw}.generations{grid-template-columns:1fr}.generations article{border-right:0;border-bottom:1px solid #555;min-height:360px}.generations article:last-child{border:0}.story-photo{margin:70px 0 0}.story-photo img{height:520px}.story-photo figcaption{left:-8px;bottom:25px}.story-photo figcaption span{font-size:4.8vw}.story-photo figcaption b{font-size:5.8vw}
  .message-photo-wrap img{height:auto;aspect-ratio:3/2}.message h2,.shop h2{font-size:7.8vw}.company h2{font-size:8.5vw}
  .menu-heading{gap:28px;margin-bottom:50px}.menu-heading h2{font-size:7.8vw}.menu-heading p{margin:0}.menu-grid,.menu-three,.menu-single{grid-template-columns:1fr}.menu-main{grid-row:auto}.menu-main img,.menu-grid img,.menu-three img{height:360px}.menu-single>img{height:auto;min-height:0;aspect-ratio:3/2}.menu-list{padding:8px 24px}.shop-photos{grid-template-columns:1fr}.shop-photos img,.shop-photos img+img{height:auto;aspect-ratio:16/10}
  .fc{grid-template-columns:1fr}.fc-photo{height:420px}.fc h2{font-size:9vw}.fc-bottom{grid-template-columns:1fr}.fc-bottom a{width:100%;min-height:84px}
  footer{grid-template-columns:1fr;gap:28px;overflow:hidden}.footer-logo{height:62px}.footer-links{grid-column:1;grid-row:2;justify-self:start;gap:14px}.footer-links a{width:76px}footer small{grid-column:1;grid-row:3;width:100%;margin-top:12px}
  .hero-copy{bottom:48px}
  .business-heading .kicker,.philosophy-copy .kicker,.shop-copy .kicker,.company-layout .kicker{margin-bottom:12px}
  .business-heading{gap:24px}
  .philosophy-copy>p:not(.kicker):not(.dummy-note){margin-top:20px}
  .shop{padding-bottom:32px}
  .menu-heading{gap:20px}.menu-section{padding-bottom:32px}
  .company-layout{gap:28px}.company{padding-bottom:32px}
  .fc-content{padding-top:48px;padding-bottom:40px}.fc h2{margin-bottom:24px}
  footer{padding-top:32px}
}
@media (max-width:520px){.hero{min-height:760px}.hero-grid{height:405px}.hero-copy{top:493px;bottom:auto}.hero-sub{font-size:15px}.CMS-NEWS-INDEX{grid-template-columns:1fr;gap:38px}.CMS-NEWS-THUMBNAIL{aspect-ratio:16/9}.story-photo img{height:420px}.message-photo-wrap img{height:auto}.shop-photos{display:block}.shop-photos img,.shop-photos img+img{height:auto;aspect-ratio:16/10;margin-bottom:14px}.company dl div{grid-template-columns:100px 1fr}.fc-photo{height:330px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
