:root{color:#352a24;background:#f7f0e2;font-family:"M PLUS Rounded 1c",ui-rounded,Hiragino Maru Gothic ProN,Yu Gothic UI,Meiryo,sans-serif;font-synthesis:none;--bean: #593b2c;--anko: #9b5141;--wafer: #e5b861;--wafer-light: #f3d997;--cream: #f7f0e2;--paper: #fffdf8;--matcha: #78845a;--ink-soft: #67574c;--line: rgba(76, 53, 41, .15);--shadow: 0 18px 50px rgba(71, 48, 36, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--cream);font-size:15px;letter-spacing:.018em;line-height:1.9}body::selection{color:#fff;background:var(--anko)}a{color:inherit}button{color:inherit;font:inherit}img{display:block;max-width:100%}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:8px 14px;color:#fff;background:var(--bean);transform:translateY(-150%)}.skip-link:focus{transform:none}.gallery-header{position:fixed;z-index:30;inset:0 0 auto;height:78px;border-bottom:1px solid var(--line);background:#fffdf8eb;backdrop-filter:blur(18px)}.header-inner{display:flex;height:100%;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none}.brand img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(70,44,28,.12))}.brand span{display:flex;align-items:baseline;gap:7px}.brand b{color:var(--bean);font-size:18px;font-weight:800;letter-spacing:.08em}.brand small{color:var(--anko);font-size:8px;font-weight:800;letter-spacing:.2em}nav{display:flex;align-items:center;gap:9px}nav a{padding:8px 12px;color:var(--ink-soft);border-radius:8px;font-size:11px;font-weight:700;text-decoration:none}nav a:hover{color:var(--bean);background:#f5eddf}.current{color:#fff;background:var(--bean)}.gallery-hero{position:relative;padding:166px 0 88px;overflow:hidden;background:#f4e6cb}.gallery-hero:before{position:absolute;inset:0;background:radial-gradient(circle at 88% 35%,rgba(229,184,97,.28),transparent 30%),linear-gradient(120deg,transparent 55%,rgba(255,255,255,.25));content:""}.hero-grain{position:absolute;inset:0;opacity:.16;background-image:radial-gradient(rgba(77,50,35,.5) .55px,transparent .7px);background-size:7px 7px}.hero-layout{position:relative;display:grid;grid-template-columns:1fr 430px;align-items:end;gap:9vw}.eyebrow{margin:0 0 12px;color:var(--anko);font-size:10px;font-weight:800;letter-spacing:.16em}h1{margin:0;color:var(--bean);font-size:clamp(42px,5.2vw,70px);font-weight:700;letter-spacing:-.035em;line-height:1.45}h1 span,h1 em{display:block;width:max-content;max-width:100%;white-space:nowrap}h1 em{color:var(--anko);font-style:normal}.hero-lead{margin:25px 0 0;color:var(--ink-soft);line-height:2.05}.gallery-post{padding:15px 18px 16px;border:1px solid var(--line);border-left:3px solid rgba(155,81,65,.65);border-radius:4px;background:#fffdf89e;font-family:MS PGothic,Yu Gothic UI,Meiryo,sans-serif}.gallery-post p,.gallery-post div{margin:0;color:#4f433b;font-size:13px;line-height:1.75}.gallery-post p{color:#76675d;font-size:12px}.gallery-post b{color:#52734f}.gallery-post a{color:var(--anko);font-weight:700;text-decoration:none}.gallery-section{padding:105px 0 120px;background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:47px}.section-heading h2{margin:4px 0 0;color:var(--bean);font-size:clamp(34px,4vw,50px);line-height:1.5}.section-heading>p{width:min(410px,40%);margin:0 0 7px;color:var(--ink-soft);font-size:13px}.gallery-grid{display:grid;grid-template-columns:1.38fr .82fr;gap:22px}.gallery-item{width:100%;padding:0;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:16px;background:#f8f1e5;box-shadow:0 10px 32px #47302412;cursor:zoom-in;transition:transform .25s,box-shadow .25s}.gallery-item:hover{box-shadow:0 20px 44px #47302426;transform:translateY(-5px)}.gallery-item:focus-visible{outline:3px solid var(--wafer);outline-offset:4px}.gallery-item.featured{grid-column:1 / -1}.photo{display:block;height:330px;overflow:hidden;background:#e8d9bf}.featured .photo{height:min(560px,48vw)}.photo.square,.photo.portrait{height:430px}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.gallery-item:hover .photo img{transform:scale(1.018)}.photo.portrait img{object-fit:contain;background:#eadfc9}.caption{display:flex;min-height:100px;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px}.caption span{display:block}.caption small{display:block;color:var(--anko);font-size:8px;font-weight:800;letter-spacing:.16em}.caption b{display:block;margin-top:3px;color:var(--bean);font-size:20px}.caption i{color:var(--anko);font-size:10px;font-style:normal;font-weight:700;white-space:nowrap}.gallery-closing{padding:62px 0;background:var(--wafer-light)}.closing-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.closing-inner img{width:96px;filter:drop-shadow(0 10px 15px rgba(70,43,25,.14))}.closing-inner p{margin:0;color:var(--anko);font-size:9px;font-weight:800;letter-spacing:.2em}.closing-inner h2{margin:3px 0 0;color:var(--bean);font-size:29px}.closing-inner a{display:inline-flex;min-height:50px;align-items:center;gap:23px;padding:11px 21px;color:#fff;border-radius:9px;background:var(--bean);font-size:12px;font-weight:700;text-decoration:none}footer{padding:28px 0;color:#aa958a;background:#2d211e;font-size:9px}footer .shell{display:flex;justify-content:space-between;gap:20px}footer a{color:#d4c0b6;text-decoration:none}.viewer{width:min(1040px,calc(100% - 36px));max-height:calc(100dvh - 36px);padding:0;overflow:hidden auto;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:#2d211e;box-shadow:0 30px 90px #00000073}.viewer::backdrop{background:#201613cc;backdrop-filter:blur(8px)}.viewer-inner{position:relative;padding:24px}.viewer-close{position:sticky;z-index:2;top:0;float:right;display:grid;width:42px;height:42px;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#2d211ee0;font-size:23px;cursor:pointer}.viewer figure{margin:0}.viewer figure>img{width:100%;max-height:68vh;object-fit:contain;border-radius:10px;background:#1c1513}.viewer figcaption{padding:20px 3px 8px;color:#fff}.viewer figcaption small{color:var(--wafer);font-size:9px;letter-spacing:.16em}.viewer figcaption h2{margin:4px 0;font-size:25px}.viewer figcaption p{margin:0;color:#cbb8ae}.viewer-nav{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.viewer-nav button{padding:8px 0;color:var(--wafer);border:0;background:transparent;font-size:11px;font-weight:700;cursor:pointer}@media(max-width:780px){.gallery-header{position:static;height:auto}.header-inner{min-height:74px;flex-wrap:wrap;padding:10px 0 13px}.header-inner nav{width:100%;overflow-x:auto;padding-top:9px;border-top:1px solid var(--line)}.gallery-hero{padding:84px 0 72px}.hero-layout{grid-template-columns:1fr;gap:36px}.gallery-post{max-width:500px}.section-heading{align-items:start;flex-direction:column;gap:15px}.section-heading>p{width:100%}.gallery-grid{grid-template-columns:1fr}.gallery-item.featured{grid-column:auto}.featured .photo,.photo.square,.photo.portrait{height:auto;aspect-ratio:16 / 10}.photo.portrait{aspect-ratio:4 / 4.3}}@media(max-width:560px){.shell{width:calc(100% - 24px)}.brand span{display:none}nav{gap:3px}nav a{padding-inline:8px;white-space:nowrap}.gallery-hero{padding-top:66px}h1{font-size:clamp(31px,10vw,43px)}.hero-lead br{display:none}.gallery-section{padding:76px 0 86px}.caption{min-height:88px;padding:16px}.caption b{font-size:17px}.caption i{display:none}.closing-inner{grid-template-columns:70px 1fr}.closing-inner img{width:70px}.closing-inner h2{font-size:20px}.closing-inner a{grid-column:1 / -1;justify-content:center}footer .shell{flex-direction:column;gap:5px}.viewer{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.viewer-inner{padding:12px}.viewer figure>img{max-height:60vh}.viewer figcaption h2{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-item,.photo img{transition:none}}
