@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;600;700&display=swap');
:root{--ink:#4b332e;--paper:#f8f4ed;--clay:#9a5a47;--line:#d7c3b6;--cream:#f2e7d8;font-family:'Noto Sans JP',sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper)}a{color:inherit}.skip{position:absolute;left:12px;top:-80px;z-index:20;background:white;padding:8px}.skip:focus{top:8px}
.demo-note{margin:0;background:#593d38;color:#fff;text-align:center;padding:7px 14px;font-size:10px;line-height:1.6}.mast{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:13px clamp(20px,4vw,68px)}.brand{text-decoration:none;font-family:'Noto Serif JP',serif;font-weight:700;font-size:25px;white-space:nowrap}.brand span{display:block;font:9px 'Noto Sans JP',sans-serif;letter-spacing:.14em;margin-top:3px}.mast nav{display:flex;gap:clamp(13px,2vw,32px);font-size:12px}.mast nav a{text-decoration:none}.mast nav a:hover,.mast nav a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.hero{position:relative;padding:0 clamp(20px,4vw,68px) 90px}.hero-photo{position:relative;overflow:hidden;background:#d8b99e}.hero-photo img{width:100%;height:clamp(510px,56vw,790px);object-fit:cover;object-position:center 42%;display:block}.photo-label{position:absolute;top:20px;left:22px;color:#fff;background:rgba(69,42,37,.72);font-size:12px;padding:9px 13px;letter-spacing:.08em}.hero-card{position:relative;margin:-270px 5% 0 auto;width:min(580px,47%);background:var(--paper);padding:clamp(30px,4vw,65px);box-shadow:0 15px 45px rgba(57,29,20,.12)}.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--clay);font-weight:700}.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(45px,4.4vw,73px);line-height:1.2;margin:22px 0 16px;letter-spacing:-.04em}.hero-line{font-family:'Noto Serif JP',serif;font-size:clamp(25px,2.5vw,39px);line-height:1.5;margin:0}.hero-desc{font-size:13px;line-height:1.95;margin:26px 0}.hero-card a{display:inline-flex;justify-content:space-between;gap:30px;min-width:205px;border-bottom:1px solid var(--ink);text-decoration:none;padding:10px 0;font-size:12px}.hero-card a:hover{text-decoration:underline}
.conversation{display:grid;grid-template-columns:120px minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(25px,3vw,55px);align-items:center;padding:clamp(80px,10vw,145px) clamp(20px,6vw,100px);scroll-margin-top:25px}.section-label{font-size:10px;letter-spacing:.15em;color:var(--clay);align-self:start}.conversation h2,.table h2{font-family:'Noto Serif JP',serif;font-size:clamp(32px,4vw,62px);font-weight:600;line-height:1.45;margin:0 0 28px}.conversation p,.table p{font-size:14px;line-height:2.1}.conversation figure{margin:0;height:480px;overflow:hidden}.conversation img{width:100%;height:100%;object-fit:cover;object-position:25% center;display:block}
.table{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(35px,6vw,100px);background:var(--cream);padding:clamp(70px,9vw,130px) clamp(20px,6vw,100px);scroll-margin-top:25px}.table figure{margin:0}.table img{width:100%;height:clamp(360px,43vw,580px);object-fit:cover;display:block}.table-copy{max-width:460px}.table h2{margin-top:20px}.view-button{display:inline-flex;justify-content:space-between;gap:25px;min-width:230px;border:0;border-bottom:1px solid var(--ink);padding:12px 0;background:none;color:inherit;font:12px 'Noto Sans JP',sans-serif;cursor:pointer}.view-button:hover{text-decoration:underline}.about{display:grid;grid-template-columns:1fr 2fr 1fr;gap:25px;padding:60px clamp(20px,6vw,100px);font-size:12px}.about span{font-size:10px;letter-spacing:.15em}.about p{margin:0;line-height:1.9}.about a{text-align:right;text-decoration:none}footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(20px,4vw,68px);background:#533a35;color:#fff;font-size:11px}footer a{text-decoration:none}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:min(92vw,1100px);max-height:90vh;box-shadow:0 25px 100px #2417106b}dialog::backdrop{background:rgba(35,23,20,.78)}dialog img{display:block;width:100%;height:auto;max-height:calc(90vh - 52px);object-fit:contain}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 18px;font-size:12px}.dialog-head button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:7px}
@media(max-width:900px){.hero-card{width:min(560px,60%);margin-top:-200px}.conversation{grid-template-columns:80px 1fr 1fr}.conversation figure{height:410px}}
@media(max-width:700px){.mast{min-height:68px}.brand{font-size:19px}.mast nav a:nth-child(1),.mast nav a:nth-child(2){display:none}.hero{padding:0 0 65px}.hero-photo img{height:clamp(330px,88vw,570px)}.photo-label{left:20px;top:17px}.hero-card{width:calc(100% - 40px);margin:-45px auto 0;padding:30px 24px}.hero h1{font-size:clamp(40px,10vw,58px);margin:17px 0}.hero-line{font-size:26px}.hero-desc{margin:18px 0}.conversation{grid-template-columns:1fr;gap:18px;padding:65px 20px}.conversation figure{height:360px}.table{grid-template-columns:1fr;gap:27px;padding:65px 20px}.table img{height:350px}.table figure{order:2}.table-copy{order:1}.about{grid-template-columns:1fr}.about a{text-align:left}footer{flex-direction:column}}
@media(max-width:390px){.hero-card{padding:25px 20px}.hero h1{font-size:40px}.hero-photo img{height:340px}.hero-line{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
