/* ROUND10B A: 防具 LABO — quiet atelier.  Kept entirely under .biz-a. */
@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Shippori+Mincho+B1:wght@400;500;600&display=swap");

body.biz-a { --a-paper:#eeece7; --a-ink:#494542; --a-dark:#262724; --a-line:#aaa59d; background:var(--a-paper); color:var(--a-ink); font-family:"Shippori Mincho B1",serif; overflow-x:hidden; }
body.biz-a main#main { margin:0; padding:0; max-width:none; background:var(--a-paper); }
body.biz-a main#main *, body.biz-a main#main *::before, body.biz-a main#main *::after { box-sizing:border-box; }
body.biz-a main#main img { display:block; max-width:100%; }
body.biz-a main#main a { color:inherit; text-decoration:none; }
body.biz-a .a-label { margin:0 0 18px; font:11px/1.4 "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
body.biz-a .a-button { min-height:48px; padding:13px 21px; display:inline-flex; align-items:center; justify-content:center; border:1px solid currentColor; border-radius:999px; font-family:"Shippori Mincho B1",serif; font-size:13px; transition:transform .25s ease,background .25s ease; }
body.biz-a .a-button:hover { transform:translateY(-3px); }
body.biz-a .a-hero { height:min(660px,calc(100vh - 80px)); min-height:520px; position:relative; overflow:hidden; color:#fff; display:grid; align-items:end; padding:58px 8vw 54px; background:#30322f; }
body.biz-a .a-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#30322f; filter:brightness(.65); }
body.biz-a .a-hero::after { content:""; position:absolute; left:8vw; right:8vw; bottom:44px; border-top:1px solid rgba(255,255,255,.7); }
body.biz-a .a-hero-copy { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:30px; }
body.biz-a .a-target { margin:0; font-size:13px; line-height:1.9; }
body.biz-a .a-target b { font-size:11px; letter-spacing:.1em; border-bottom:1px solid currentColor; padding-bottom:3px; }
body.biz-a .a-hero h1 { margin:0; font-size:clamp(54px,8vw,118px); font-weight:400; letter-spacing:.02em; line-height:1.15; }
body.biz-a .a-hero .a-button { color:#fff; }
body.biz-a .a-intro { padding:150px 8vw 170px; display:grid; grid-template-columns:minmax(270px,44%) 1fr; gap:9vw; position:relative; }
body.biz-a .a-intro figure { margin:0; padding-top:54px; position:relative; }
body.biz-a .a-intro figure::before { content:attr(data-number); position:absolute; top:19px; font:11px "DM Mono",monospace; letter-spacing:.08em; }
body.biz-a .a-intro figure img { width:100%; height:auto; }
body.biz-a .a-copy { padding-top:92px; max-width:500px; }
body.biz-a .a-copy h2 { margin:16px 0 35px; font-size:clamp(34px,3.4vw,49px); font-weight:400; line-height:1.35; }
body.biz-a .a-copy p { font-size:14px; line-height:2.25; }
body.biz-a .a-copy p + p { margin-top:1.35em; }
body.biz-a .a-copy .a-button { margin-top:16px; }
body.biz-a .a-studio { min-height:620px; padding:clamp(72px,10vw,150px) 8vw; display:grid; grid-template-columns:1fr 1.3fr; align-items:end; border-top:1px solid #c8c2ba; }
body.biz-a .a-studio > div { display:grid; grid-template-columns:minmax(220px,.8fr) 1fr; gap:42px; align-items:end; }
body.biz-a .a-studio img { width:100%; height:auto; }
body.biz-a .a-studio p:last-child, body.biz-a .a-quality p { max-width:470px; margin:0; font-size:14px; line-height:2.2; }
body.biz-a .a-quality { min-height:620px; padding:clamp(72px,10vw,150px) 8vw; background:#e5e2dc; display:flex; align-items:center; justify-content:space-between; gap:7vw; }
body.biz-a .a-quality > img { width:min(32vw,390px); height:auto; }
body.biz-a .a-quality .a-quality-copy { max-width:520px; }
body.biz-a .a-quality .a-quality-copy > p:last-child { font-size:clamp(20px,2.4vw,35px); line-height:1.7; }
body.biz-a .a-quality .a-button { margin-top:26px; }
body.biz-a .a-tools { min-height:500px; padding:clamp(72px,10vw,150px) 8vw; background:#252725; color:#f7f4ee; display:flex; align-items:end; justify-content:space-between; gap:40px; }
body.biz-a .a-tools img { width:min(34vw,440px); height:auto; }
body.biz-a .a-tools > div { margin-left:auto; text-align:right; }
body.biz-a .a-tools h2 { margin:0 0 30px; font-size:clamp(42px,7vw,104px); font-weight:400; line-height:1.05; }
body.biz-a .a-tools .a-button { color:#fff; }
body.biz-a .a-archive { min-height:680px; padding:120px 8vw; position:relative; background:var(--a-dark); color:#fff; }
body.biz-a .a-archive h2 { margin:0; font-size:clamp(42px,6vw,82px); font-weight:400; }
body.biz-a .a-archive figure { position:absolute; right:8vw; bottom:80px; width:min(48%,620px); margin:0; }
body.biz-a .a-archive figure img { width:100%; height:auto; }
body.biz-a .a-archive figcaption { margin-top:16px; padding-top:10px; border-top:1px solid #767773; font:11px "DM Mono",monospace; }
body.biz-a .a-case, body.biz-a .a-list { padding:clamp(70px,9vw,130px) 8vw; background:#f1efeb; }
body.biz-a .a-case h2, body.biz-a .a-list h2 { margin:0 0 35px; font-size:clamp(31px,4.3vw,62px); font-weight:400; }
body.biz-a .a-case a, body.biz-a .a-list a { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #9b978f; padding:25px 0; font-size:clamp(18px,2.1vw,30px); line-height:1.55; }
body.biz-a .a-case a:last-child, body.biz-a .a-list a:last-child { border-bottom:1px solid #9b978f; }
/* Keep phrase spans together; only the arrow occupies the opposite edge. */
body.biz-a .a-case > a > .link-text { min-width:0; text-align:left; }
body.biz-a .a-case > a > .link-text + span { flex-shrink:0; }
body.biz-a .a-list { padding-top:70px; padding-bottom:100px; background:var(--a-paper); }
body.biz-a .a-list .a-label { margin-bottom:18px; }
body.biz-a .a-list a { font-size:clamp(16px,1.7vw,23px); }
body.biz-a .a-list small { font-size:13px; line-height:1.75; opacity:.78; }
body.biz-a .a-flow { min-height:450px; padding:clamp(72px,9vw,140px) 8vw; background:#dedad3; }
body.biz-a .a-flow > p { max-width:680px; font-size:16px; line-height:2.1; }
body.biz-a .a-flow ol { margin:46px 0 0; padding:0; display:flex; gap:4vw; list-style:none; counter-reset:a-flow; }
body.biz-a .a-flow li { flex:1; counter-increment:a-flow; font-size:clamp(19px,2.2vw,30px); }
body.biz-a .a-flow li::before { content:"0" counter(a-flow); display:block; margin-bottom:14px; font:12px "DM Mono",monospace; }
body.biz-a .a-flow li p { margin:16px 0 0; font-size:14px; line-height:2; }
body.biz-a .a-greeting { min-height:430px; padding:70px 8vw; display:grid; place-items:center; text-align:center; }
body.biz-a .a-greeting p { margin:0; font-size:clamp(25px,3.7vw,53px); line-height:1.6; }
body.biz-a .a-contact { padding:clamp(80px,10vw,140px) 8vw; background:#343330; color:#fff; }
body.biz-a .a-contact-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:55px; }
body.biz-a .a-contact h2 { margin:0; font-size:clamp(32px,4vw,57px); font-weight:400; }
body.biz-a .a-contact form { max-width:820px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
body.biz-a .a-contact .field { display:grid; gap:8px; }
body.biz-a .a-contact .field:nth-of-type(4), body.biz-a .a-contact .field:nth-of-type(5), body.biz-a .a-contact .privacy, body.biz-a .a-contact button, body.biz-a .a-contact .demo-status { grid-column:1 / -1; }
body.biz-a .a-contact label { font-size:14px; }
body.biz-a .a-contact input, body.biz-a .a-contact select, body.biz-a .a-contact textarea { width:100%; border:1px solid #a7aaa4; border-radius:0; background:#fff; color:#262724; padding:13px; font:16px/1.5 "Shippori Mincho B1",serif; }
body.biz-a .a-contact select { appearance:auto; min-height:50px; }
body.biz-a .a-contact textarea { min-height:145px; resize:vertical; }
body.biz-a .a-contact .privacy, body.biz-a .a-contact .demo-status { margin:0; font-size:13px; color:#e2e2de; }
body.biz-a .a-contact button { width:max-content; min-height:50px; padding:12px 25px; border:1px solid #fff; border-radius:999px; background:transparent; color:#fff; font:14px "Shippori Mincho B1",serif; cursor:pointer; }
body.biz-a .a-contact button:hover { background:#fff; color:#343330; }

@media (max-width:700px) {
 body.biz-a .a-hero { height:580px; min-height:0; padding:34px 24px 30px; } body.biz-a .a-hero::after { left:24px; right:24px; bottom:24px; } body.biz-a .a-hero-copy { display:block; } body.biz-a .a-hero h1 { font-size:56px; margin-top:18px; } body.biz-a .a-hero .a-button { margin-top:22px; }
 body.biz-a .a-intro { display:block; padding:100px 24px; } body.biz-a .a-copy { padding-top:48px; } body.biz-a .a-copy h2 { font-size:35px; }
 body.biz-a .a-studio, body.biz-a .a-quality, body.biz-a .a-tools { min-height:0; display:block; padding:75px 24px; } body.biz-a .a-studio > div { display:block; margin-top:42px; } body.biz-a .a-studio img { margin-bottom:32px; } body.biz-a .a-quality > img { width:min(70vw,300px); margin:30px 0; } body.biz-a .a-tools img { width:100%; margin:35px 0; } body.biz-a .a-tools > div { text-align:left; margin:0; } body.biz-a .a-tools h2 { font-size:52px; }
 body.biz-a .a-archive { min-height:0; padding:80px 24px 350px; } body.biz-a .a-archive figure { left:24px; right:24px; bottom:50px; width:auto; }
 body.biz-a .a-case, body.biz-a .a-list, body.biz-a .a-flow, body.biz-a .a-greeting, body.biz-a .a-contact { padding-left:24px; padding-right:24px; } body.biz-a .a-case a, body.biz-a .a-list a { font-size:18px; }
 body.biz-a .a-flow ol { display:block; } body.biz-a .a-flow li + li { margin-top:32px; } body.biz-a .a-contact-head { display:block; margin-bottom:34px; } body.biz-a .a-contact h2 { margin-top:14px; } body.biz-a .a-contact form { grid-template-columns:1fr; } body.biz-a .a-contact .field { grid-column:1 / -1; }
}
@media (prefers-reduced-motion:reduce) { body.biz-a .a-button { transition:none; } }
/* 10/21 redo: photo-led atelier layout (photos large, uncropped; readable text) */
body.biz-a main#main p{font-size:15px;line-height:2.1}
body.biz-a .a-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
body.biz-a .a-button-fill{background:#f7f4ee;color:#262724 !important;border-color:#f7f4ee}
body.biz-a .a-hero2{display:grid;grid-template-columns:minmax(320px,.8fr) 1.2fr;align-items:stretch;background:var(--a-dark);color:#f7f4ee;min-height:min(720px,calc(100vh - 80px))}
body.biz-a .a-hero2-copy{padding:clamp(60px,7vw,110px) clamp(28px,6vw,90px);display:flex;flex-direction:column;justify-content:flex-end}
body.biz-a .a-hero2 h1{margin:0 0 34px;font-size:clamp(52px,6.4vw,104px);font-weight:400;line-height:1.1}
body.biz-a .a-hero2 .a-target{font-size:15px;line-height:1.9;margin:0}
body.biz-a .a-hero2 .a-button{color:#f7f4ee}
body.biz-a .a-hero2-photo{margin:0;display:flex;align-items:center;justify-content:center;background:#1d1e1c}
body.biz-a .a-hero2-photo img{width:100%;height:auto;max-height:calc(100vh - 80px);object-fit:contain}
body.biz-a .a-lead{display:grid;grid-template-columns:minmax(0,.9fr) 1fr;gap:clamp(40px,7vw,110px);align-items:center;padding:clamp(80px,10vw,150px) 8vw}
body.biz-a .a-lead-photo{margin:0}
body.biz-a .a-lead-photo img{width:100%;height:auto;max-height:86vh;object-fit:contain}
body.biz-a .a-lead h2{margin:0 0 34px;font-size:clamp(26px,2.6vw,40px);font-weight:400;line-height:1.7}
body.biz-a .a-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 8vw clamp(80px,10vw,150px)}
body.biz-a .a-pair figure{margin:0}
body.biz-a .a-pair img{width:100%;height:auto}
body.biz-a .a-shinai{display:grid;grid-template-columns:1fr minmax(0,.75fr);gap:clamp(40px,7vw,110px);align-items:center;padding:clamp(80px,10vw,150px) 8vw;background:#e5e2dc}
body.biz-a .a-shinai-photo{margin:0;justify-self:center}
body.biz-a .a-shinai-photo img{width:auto;max-width:100%;height:auto;max-height:84vh}
body.biz-a main#main .a-big{font-size:clamp(20px,2.1vw,30px);line-height:1.85;margin:0}
body.biz-a .a-quality2{display:grid;grid-template-columns:minmax(0,.9fr) 1fr;gap:clamp(40px,7vw,110px);align-items:center;padding:clamp(80px,10vw,150px) 8vw;background:var(--a-dark);color:#f7f4ee}
body.biz-a .a-quality2 figure{margin:0}
body.biz-a .a-quality2 img{width:100%;height:auto}
body.biz-a .a-case .a-actions .a-button{font-size:13px}
body.biz-a .a-case .a-actions .a-button-fill{background:#262724;color:#f7f4ee !important;border-color:#262724}
body.biz-a .a-contact form{max-width:760px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:20px}
body.biz-a .a-contact .a-contact-head{max-width:760px;margin:0 auto 44px;display:block}
@media (max-width:760px){
 body.biz-a .a-hero2,body.biz-a .a-lead,body.biz-a .a-shinai,body.biz-a .a-quality2{grid-template-columns:1fr}
 body.biz-a .a-hero2-copy{padding:44px 22px 36px;order:1} body.biz-a .a-hero2-photo{order:2} body.biz-a .a-hero2 h1{font-size:48px;margin-bottom:24px}
 body.biz-a .a-lead,body.biz-a .a-shinai,body.biz-a .a-quality2{padding:64px 22px;gap:32px}
 body.biz-a .a-pair{grid-template-columns:1fr;padding:0 22px 64px}
 body.biz-a .a-shinai-photo{order:2} body.biz-a .a-shinai-photo img{max-height:70vh}
 body.biz-a .a-contact{padding:64px 22px} body.biz-a .a-contact form{width:100%;max-width:100%}
 body.biz-a .a-contact input,body.biz-a .a-contact select,body.biz-a .a-contact textarea{max-width:100%}
}
body.round8.subpage.biz-a main#main{padding-top:80px}
@media(max-width:720px){body.round8.subpage.biz-a main#main{padding-top:68px}}
body.biz-a .a-button{white-space:nowrap;padding:13px 24px}
body.biz-a .a-hero2 h1{white-space:nowrap;font-size:clamp(46px,5vw,88px)}
body.biz-a .a-contact .field{width:100%}
body.biz-a .a-sub{margin:0 0 10px;font-size:13px !important;opacity:.8}
body.biz-a .a-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:clamp(80px,9vw,140px) 8vw}
body.biz-a .a-card{display:flex;flex-direction:column;position:relative;border-top:1px solid #9b978f;padding-top:18px}
body.biz-a .a-card figure,body.biz-a .a-steps figure{margin:0 0 18px;aspect-ratio:4/3;background:#e5e2dc;display:flex;align-items:center;justify-content:center;overflow:hidden}
body.biz-a .a-card img,body.biz-a .a-steps img{width:100%;height:100%;object-fit:contain}
body.biz-a .a-card h3,body.biz-a .a-steps h3{margin:6px 0 0;font-size:clamp(18px,1.6vw,23px);font-weight:400;line-height:1.6}
body.biz-a .a-card-no{font:12px "DM Mono",monospace;letter-spacing:.1em}
body.biz-a .a-card-arrow{position:absolute;right:0;bottom:4px}
body.biz-a .a-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:clamp(80px,9vw,140px) 8vw;background:#e5e2dc}
body.biz-a .a-steps figure{background:#d8d3cb}
body.biz-a .a-steps p{margin:14px 0 0}
body.biz-a .a-gallery{padding:clamp(80px,9vw,140px) 8vw}
body.biz-a .a-gallery h2,body.biz-a .a-shinai h2{margin:0 0 36px;font-size:clamp(28px,3.2vw,48px);font-weight:400}
body.biz-a .a-gallery-grid{columns:3;column-gap:16px}
body.biz-a .a-gallery-grid figure{margin:0 0 16px;break-inside:avoid}
body.biz-a .a-gallery-grid img{width:100%;height:auto}
body.biz-a .a-button-dark{background:#262724;color:#f7f4ee !important;border-color:#262724}
@media (max-width:760px){
 body.biz-a .a-cards,body.biz-a .a-steps{grid-template-columns:1fr;padding:64px 22px}
 body.biz-a .a-gallery{padding:64px 22px} body.biz-a .a-gallery-grid{columns:1}
}
body.biz-a .a-hero2 h1{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(40px,4.6vw,80px)}
body.biz-a.page-short-title .a-hero2 h1{white-space:nowrap}
@media(max-width:760px){body.biz-a .a-hero2 h1{font-size:clamp(32px,9vw,44px)}}

/* ROUND12: preserve A's alternating editorial sections; align repeated media. */
body.biz-a{--inquiry-bg:#343330;--inquiry-ink:#fff}
body.biz-a .a-hero2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.biz-a .a-hero2-copy{padding-inline:clamp(24px,4vw,64px);min-width:0}
body.biz-a .a-actions{align-items:flex-start}
body.biz-a .a-button{flex:0 0 auto;width:max-content;max-width:100%;min-height:48px;font:500 14px/1.6 "Noto Sans JP",sans-serif;padding:12px 20px;white-space:normal;overflow-wrap:anywhere}
body.biz-a .a-title-word{display:block;white-space:nowrap}
body.biz-a .a-hero2 h1:has(.a-title-word){font-size:clamp(32px,3.6vw,52px);line-height:1.4;letter-spacing:0}
body.biz-a .a-cards,body.biz-a .a-steps{grid-template-columns:repeat(3,minmax(0,1fr));padding-block:72px}
body.biz-a .a-card,body.biz-a .a-steps>article{min-width:0}
body.biz-a .a-card figure,body.biz-a .a-steps figure{width:100%;aspect-ratio:1/1;background:none;flex:none}
body.biz-a .a-card img,body.biz-a .a-steps img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 45%}
body.biz-a .a-pair{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:72px}
body.biz-a .a-pair img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
body.biz-a .a-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;columns:auto}
body.biz-a .a-gallery-grid figure{margin:0;background:#fff}
body.biz-a .a-gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
body.biz-a .a-lead,body.biz-a .a-shinai,body.biz-a .a-quality2,body.biz-a .a-gallery,body.biz-a .a-case,body.biz-a .a-list{padding-block:72px}
@media(max-width:760px){
 body.biz-a .a-hero2,body.biz-a .a-cards,body.biz-a .a-steps,body.biz-a .a-pair,body.biz-a .a-gallery-grid{grid-template-columns:minmax(0,1fr)}
 body.biz-a .a-hero2 h1:has(.a-title-word){font-size:34px}
 body.biz-a .a-lead,body.biz-a .a-shinai,body.biz-a .a-quality2,body.biz-a .a-gallery,body.biz-a .a-case,body.biz-a .a-list,body.biz-a .a-cards,body.biz-a .a-steps{padding-block:48px}
 body.biz-a .a-pair{padding-bottom:48px}
}
body.biz-a .a-case .a-actions .a-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid currentColor;font:500 14px/1.6 "Noto Sans JP",sans-serif}
body.biz-a .a-gallery-grid img{object-fit:cover!important;background:none!important}
/* hero photo fills its column, no dark gaps (10/22) */
body.biz-a .a-hero2-photo{position:relative;overflow:hidden;align-self:stretch;min-height:100%}
body.biz-a .a-hero2-photo img{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:50% 50%}
@media(max-width:760px){body.biz-a .a-hero2-photo{position:relative;aspect-ratio:4/3;min-height:0}}

/* ROUND13: phrases fit both the editorial column and narrow cards. */
body.biz-a .a-lead h2 .nw,body.biz-a .a-big .nw{display:inline-block;white-space:nowrap}
@media(max-width:760px){body.biz-a .a-lead h2{font-size:24px}}
/* The white product photograph becomes the complete light half of AFTER. */
body.biz-a .a-quality2{grid-template-columns:1fr 1fr;gap:0;padding:0;align-items:stretch}
body.biz-a .a-quality2>figure{display:flex;align-items:center;background:#fff}
body.biz-a .a-quality2 img{width:100%;height:auto;border-radius:0}
body.biz-a .a-quality2>div{align-self:center;padding:56px clamp(24px,5vw,80px)}
@media(max-width:760px){
 body.biz-a .a-quality2{grid-template-columns:minmax(0,1fr)}
 body.biz-a .a-quality2>div{padding:32px 22px 48px}
}
/* Landscape hero sources keep all people/products inside the existing split. */
@media(min-width:761px){
 body.biz-a:is([data-page="works-bogulabo"],[data-page="works-bogulabo-products"]) .a-hero2{min-height:0}
 body.biz-a:is([data-page="works-bogulabo"],[data-page="works-bogulabo-products"]) .a-hero2-copy{padding-block:32px}
 body.biz-a:is([data-page="works-bogulabo"],[data-page="works-bogulabo-products"]) .a-hero2-photo{min-height:0;aspect-ratio:4/3}
}
/* Prevent the grid's intrinsic aspect ratio from widening the mobile photo. */
body.biz-a .a-hero2-photo{min-width:0;width:100%;max-width:100%}
@media(max-width:760px){
 body.biz-a:is([data-page="works-bogulabo-flow"],[data-page="works-bogulabo-consultation"]) .a-hero2-photo{aspect-ratio:1/1}
 body.biz-a:is([data-page="works-bogulabo-flow"],[data-page="works-bogulabo-consultation"]) .a-hero2-photo img{object-position:50% 40%}
}
