@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@500;700;900&display=swap');
:root{--ink:#173631;--mint:#d8f0df;--cream:#fff6df;--orange:#e25c3b;--blue:#2b6988;font-family:'DM Sans','Noto Sans JP',sans-serif;color:var(--ink);background:#fffaf0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:300px}button,a{font:inherit}a{color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #b73a23;outline-offset:4px}.skip{position:absolute;top:-100px;left:12px;z-index:10;padding:12px;background:white}.skip:focus{top:12px}.fiction{margin:0;padding:8px clamp(18px,3vw,50px);background:#18332f;color:#f3efe3;font-size:10px;line-height:1.6}.head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(18px,4vw,68px);background:#fff8e7;border-bottom:1px solid #c9dfce}.logo{display:flex;align-items:baseline;gap:7px;text-decoration:none;font-weight:900}.logo span{font-size:26px;letter-spacing:-.12em;color:var(--orange)}.logo small{font-size:14px}.head nav{display:flex;gap:clamp(14px,3vw,42px);flex-wrap:wrap}.head nav a{text-decoration:none;font-size:12px;font-weight:700}.head nav a:hover{text-decoration:underline;text-underline-offset:5px}.hero{min-height:690px;display:grid;grid-template-columns:48% 52%;overflow:hidden}.hero-copy{background:var(--mint);padding:40px clamp(25px,5vw,90px) 60px;display:flex;flex-direction:column;align-items:flex-start}.hero-id{font-size:10px;letter-spacing:.16em;font-weight:700;border-bottom:1px solid #89a998;padding-bottom:17px;width:100%}.hero-label{font-size:13px;font-weight:700;background:#fff9e8;padding:7px 13px;margin:95px 0 15px}.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(70px,7vw,120px);font-weight:900;line-height:1.2;letter-spacing:-.12em;margin:0;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--orange)}.hero-copy>p:not(.hero-label){font-size:15px;line-height:2;max-width:470px;margin:35px 0}.hero-copy>a{display:flex;gap:45px;align-items:center;text-decoration:none;border-bottom:2px solid var(--ink);padding:15px 0;font-size:13px;font-weight:700;margin-top:auto}.hero-copy>a b{font-size:23px;font-weight:400}.hero-stage{position:relative;background:#e56643;overflow:hidden;isolation:isolate}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#fce7ca35 1px,transparent 1px),linear-gradient(90deg,#fce7ca35 1px,transparent 1px);background-size:45px 45px}.stage-cloth{position:absolute;width:105%;height:80%;left:5%;top:15%;background:repeating-linear-gradient(0deg,transparent 0 68px,#a731263f 68px 85px),repeating-linear-gradient(90deg,transparent 0 75px,#a731264d 75px 93px);transform:rotate(-16deg);border:8px solid #f5c7a8;box-shadow:15px 20px 0 #80362150}.stage-plate{position:absolute;width:min(74%,520px);aspect-ratio:1;left:16%;top:20%;border-radius:50%;background:#fff9e8;border:20px solid #f7ecd8;box-shadow:0 20px 0 #83372c4d,inset 0 0 0 6px #e7cdb7,inset 0 0 0 18px #fff9e8,inset 0 0 0 20px #e7cdb7;transform:rotate(-10deg)}.stage-plate:after{content:'S';position:absolute;left:37%;top:18%;font-family:'Noto Serif JP',serif;font-size:clamp(100px,18vw,280px);font-weight:900;color:#de6e4f;line-height:1}.stage-fork,.stage-knife{position:absolute;z-index:2;width:9px;height:54%;background:#2e685c;top:22%;border-radius:15px;transform:rotate(-20deg);box-shadow:7px 5px 0 #15433855}.stage-fork{left:10%}.stage-fork:before{content:'';position:absolute;left:-11px;top:-18px;width:31px;height:75px;border-left:6px solid #2e685c;border-right:6px solid #2e685c;border-radius:12px}.stage-knife{right:9%;transform:rotate(17deg)}.stage-knife:before{content:'';position:absolute;left:-8px;top:-8px;width:24px;height:105px;background:#2e685c;border-radius:60% 5% 5% 5%}.stage-stamp{position:absolute;left:30px;bottom:30px;z-index:3;color:#fff5db;font-size:10px;font-weight:900;line-height:1.7;letter-spacing:.13em}.stage-num{position:absolute;right:20px;top:-60px;color:#fff0d85c;font-size:180px;font-weight:900;letter-spacing:-.15em}.intro{display:grid;grid-template-columns:180px 1fr 1fr;gap:35px;align-items:end;padding:100px clamp(18px,4vw,68px);background:#fffaf0}.intro>span,.table-heading>span,.about>span{font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--orange)}.intro h2,.table-heading h2,.about h2{font-family:'Noto Serif JP',serif;font-size:clamp(52px,5.5vw,90px);line-height:1.2;letter-spacing:-.1em;margin:0}.intro p{font-size:14px;line-height:2;max-width:420px}.table-section{background:#173a35;color:#fff8e7;padding:90px clamp(18px,4vw,68px) 120px}.table-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:42px}.table-heading h2{max-width:550px}.table-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);border:1px solid #adc6b5;min-height:640px}.table-preview{position:relative;overflow:hidden;min-height:640px;isolation:isolate;background:#e2694b}.cloth{position:absolute;inset:-20%;background:repeating-linear-gradient(0deg,#a637296b 0 19px,transparent 19px 120px),repeating-linear-gradient(90deg,#ad3d2e70 0 19px,transparent 19px 120px);transform:rotate(-10deg);transition:background .35s,transform .5s}.plate{position:absolute;width:min(66%,480px);aspect-ratio:1;top:17%;left:17%;border-radius:50%;background:#fff9e9;border:15px solid #f4e7d4;box-shadow:10px 20px 0 #823d304d,inset 0 0 0 4px #e5ccb4,inset 0 0 0 17px #fff9e9,inset 0 0 0 19px #e5ccb4;transition:transform .5s}.plate-inner{position:absolute;inset:22%;border:2px solid #dfbaaa;border-radius:50%}.utensil{position:absolute;width:8px;height:55%;top:24%;background:#204d45;border-radius:12px;z-index:2}.utensil.fork{left:9%;transform:rotate(-10deg)}.utensil.fork:before{content:'';position:absolute;top:-14px;left:-9px;width:25px;height:70px;border-left:5px solid #204d45;border-right:5px solid #204d45;border-radius:10px}.utensil.knife{right:9%;transform:rotate(10deg)}.utensil.knife:before{content:'';position:absolute;left:-7px;top:-8px;height:95px;width:22px;background:#204d45;border-radius:50% 5% 5% 5%}.preview-label{position:absolute;left:24px;bottom:25px;color:#fff9e8;font-size:10px;font-weight:900;letter-spacing:.13em}.preview-label b{margin-left:15px}.table-preview[data-cloth=stripes]{background:#aecad4}.table-preview[data-cloth=stripes] .cloth{background:repeating-linear-gradient(0deg,#387e9d 0 18px,transparent 18px 76px);transform:rotate(10deg)}.table-preview[data-cloth=stripes] .plate{transform:translate(6%,-4%) scale(.9)}.table-preview[data-cloth=plain]{background:#91b495}.table-preview[data-cloth=plain] .cloth{background:#6b9a77;transform:rotate(-10deg);border:12px solid #bfd4b4}.table-preview[data-cloth=plain] .plate{transform:translate(-5%,3%) scale(.94)}.table-side{background:#fff9e9;color:var(--ink);padding:30px clamp(20px,3vw,46px);display:flex;flex-direction:column}.side-label{display:flex;justify-content:space-between;border-bottom:1px solid #c9d5c6;padding-bottom:20px;gap:15px;font-size:10px;font-weight:700;letter-spacing:.1em}.swatches{margin-top:20px}.swatches button{width:100%;display:flex;align-items:center;gap:18px;text-align:left;padding:16px 0;background:none;border:0;border-bottom:1px solid #d5ddd1;color:var(--ink)}.swatches button[aria-pressed=true]{color:var(--orange)}.swatches button:hover{color:var(--orange)}.swatches button span{display:flex;flex:1;flex-direction:column;gap:5px}.swatches button small{font-size:9px;letter-spacing:.12em;font-weight:700}.swatches button strong{font-family:'Noto Serif JP',serif;font-size:22px;letter-spacing:-.06em}.swatches button b{font-size:22px;font-weight:400}.swatch{display:block;flex:none;width:55px;height:55px;border:3px solid #fff;box-shadow:0 0 0 1px #bccbbe}.swatch.checks{background:repeating-linear-gradient(0deg,#aa392b 0 8px,#e68162 8px 21px)}.swatch.stripes{background:repeating-linear-gradient(0deg,#2f7393 0 6px,#b4ced5 6px 20px)}.swatch.plain{background:#6b9a77}.table-caption{margin-top:auto;padding-top:35px}.table-caption>span{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--orange)}.table-caption>span b{margin-left:12px}.table-caption h3{font-family:'Noto Serif JP',serif;font-size:36px;letter-spacing:-.08em;margin:16px 0}.table-caption p{font-size:13px;line-height:2;max-width:390px}.about{display:grid;grid-template-columns:180px 1fr;gap:35px;background:#e9eee2;padding:105px clamp(18px,4vw,68px)}.about>div{max-width:850px}.about p{font-size:14px;line-height:2.2;max-width:610px}.about a{display:inline-block;margin-top:22px;padding:12px 0;border-bottom:1px solid var(--ink);text-decoration:none;font-size:13px;font-weight:700}footer{background:#173631;color:#fff9e9;padding:28px clamp(18px,4vw,68px);display:flex;justify-content:space-between;gap:20px;font-size:11px}footer a{text-decoration:none}
@media(max-width:1100px){.hero{grid-template-columns:52% 48%}.hero-copy{padding-left:35px;padding-right:30px}.hero h1{font-size:clamp(60px,7vw,88px)}.intro{grid-template-columns:1fr 1fr}.intro>span{grid-column:1/-1}.table-workspace{grid-template-columns:minmax(0,1fr) 340px}.table-preview{min-height:570px}}
@media(max-width:750px){.head{flex-direction:column;align-items:flex-start;padding:16px 20px}.head nav{gap:15px}.head nav a{font-size:11px}.hero{display:block}.hero-copy{min-height:560px;padding:30px 20px 50px}.hero-label{margin-top:80px}.hero h1{font-size:clamp(58px,12vw,80px)}.hero-stage{height:470px}.stage-plate{width:66%;top:14%}.intro{display:block;padding:75px 20px}.intro h2{margin:18px 0}.table-section{padding:75px 20px 90px}.table-heading{display:block}.table-heading h2{margin-top:20px}.table-workspace{display:block}.table-preview{min-height:470px}.table-side{min-height:430px}.about{display:block;padding:80px 20px}.about h2{margin-top:20px}footer{padding:25px 20px;flex-wrap:wrap}}
@media(max-width:430px){.hero h1{font-size:57px}.hero-copy{min-height:530px}.hero-stage{height:380px}.stage-num{font-size:140px;top:-30px}.stage-plate{border-width:12px}.intro h2,.table-heading h2,.about h2{font-size:48px}.table-preview{min-height:340px}.plate{border-width:10px}.utensil{width:5px}.table-side{padding:22px}.swatches button{gap:12px}.swatch{width:47px;height:47px}.swatches button strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* The plate is the cover image; the second scene shows a complete table. */
.hero{grid-template-columns:minmax(0,60%) minmax(0,40%);min-height:670px}
.hero-stage{grid-column:1;grid-row:1;min-height:670px;background:#302018}
.hero-copy{grid-column:2;grid-row:1;min-width:0;padding:40px clamp(24px,4vw,70px) 58px}
.hero-stage:before,.hero-stage:after{display:none}
.yoshoku-photo{display:block;width:100%;height:100%;min-height:670px;object-fit:cover;object-position:45% center}
.photo-label{position:absolute;top:26px;left:26px;z-index:4;background:#fff9e8;color:#1b3e33;padding:10px 15px;font-size:14px;line-height:1.5;font-weight:900;max-width:calc(100% - 52px)}
.hero-label{margin:clamp(35px,6vw,100px) 0 18px}
.hero h1{font-size:clamp(56px,5.7vw,98px);white-space:normal;letter-spacing:-.09em}
.hero-copy>p:not(.hero-label){font-size:15px;line-height:1.9}
@media(max-width:1100px){.hero{grid-template-columns:56% 44%}.hero h1{font-size:clamp(50px,5.4vw,72px)}}
@media(max-width:750px){.hero{display:flex;flex-direction:column}.hero-stage{order:-1;width:100%;height:min(52vh,490px);min-height:350px}.yoshoku-photo{height:100%;min-height:0;object-position:43% center}.hero-copy{order:1;min-height:0;padding:35px 22px 50px}.hero-label{margin:34px 0 18px}.hero h1{font-size:clamp(55px,13vw,75px)}.photo-label{top:17px;left:17px;font-size:13px}.stage-stamp{left:18px;bottom:17px}}
@media(max-width:430px){.hero h1{font-size:56px}.hero-copy{min-height:0}}
