@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--ink:#272926;--muted:#777b74;--accent:#ed603e;--paper:#fafbf8;--line:#e5e7df;--soft:#f0f2eb;--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 'Noto Sans JP',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #ef603e;outline-offset:4px}header{height:94px;padding:0 4.3%;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:4%;background:#fff}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;line-height:1;letter-spacing:-1px;font-size:24px;font-weight:800}.brand b{display:flex;gap:5px}.brand b span{font-weight:400}.brand svg{height:34px;width:34px;fill:none;stroke:var(--accent);stroke-width:2.8}header nav{display:flex;gap:28px;height:100%;align-items:center}.nav{background:none;border:0;font-size:14px;padding:8px 0;white-space:nowrap}.nav.active{color:var(--accent);font-weight:700;position:relative}.nav.active:after{position:absolute;content:'';bottom:-25px;height:3px;background:var(--accent);left:0;right:0}.account-nav{margin-left:auto;display:flex;gap:24px;align-items:center}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:12px 22px;border-radius:7px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-1px)}.primary{background:var(--accent);color:white}.primary:hover{background:#d74e2d}.secondary{background:white;border-color:#d4d8cd}.small{padding:10px 18px}.button.full{width:100%;margin-top:12px}main{max-width:1480px;padding:0 4.3% 56px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;padding:45px 0 37px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:#73796c;margin:0 0 13px}h1{font-size:clamp(24px,2.6vw,38px);letter-spacing:.01em;margin:0 0 12px;font-weight:700;line-height:1.55}p{margin:0 0 12px}.muted{color:var(--muted);font-size:14px}.intro .muted{font-size:15px;margin:0}.intro-mark{font-family:serif;font-size:112px;line-height:1;color:var(--accent);margin-right:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}h2{font-size:20px;margin:0;letter-spacing:.02em;font-weight:600}.section-heading>.muted{font-size:12px}.categories{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.category{display:block;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s}.category:hover{transform:translateY(-4px);box-shadow:0 10px 20px #3333330c}.category img{display:block;width:100%;height:142px;object-fit:cover}.category div{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.category b{font-weight:500}.category div span{color:#8b9186}.category-section{padding-bottom:38px;border-bottom:1px solid var(--line)}.collection{padding-top:33px}.collection-title{display:flex;align-items:center;gap:13px}.count{font-size:12px;color:#767c6c;border:1px solid var(--line);border-radius:25px;padding:1px 10px}.sort-label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:12px}select{background:white;color:var(--ink);border:1px solid var(--line);padding:8px 28px 8px 12px;font-size:14px;border-radius:6px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.chip{border:1px solid var(--line);background:transparent;border-radius:24px;padding:7px 17px;font-size:13px}.chip:hover{background:#e9ede3}.chip.selected{background:#333b2e;color:white;border-color:#333b2e}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;align-items:start}.photo-card{position:relative;min-width:0}.photo-open{padding:0;display:block;text-align:left;width:100%;background:transparent;border:0}.photo-card img{width:100%;height:260px;object-fit:cover;display:block;border-radius:10px;transition:filter .25s;background:var(--soft)}.photo-open:hover img{filter:brightness(.9)}.photo-card:nth-child(3n+2) img{object-position:center 60%}.photo-caption{padding:12px 2px 0;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.photo-caption b{font-size:14px;font-weight:500}.photo-caption span{font-size:12px;color:var(--muted);white-space:nowrap}.sample-label{position:absolute;top:12px;left:12px;background:#ffffffde;font-size:11px;letter-spacing:1px;padding:3px 9px;border-radius:4px;pointer-events:none}.more{margin:32px auto 0;display:flex}[hidden]{display:none!important}footer{border-top:1px solid var(--line);padding:35px 4.3%;display:flex;align-items:center;gap:28px;flex-wrap:wrap;background:#f1f3ed}footer .brand{font-size:19px;gap:12px}.by{font-weight:400;font-size:11px;letter-spacing:0}footer p{font-size:12px;color:#606755;margin:0}footer>span{margin-left:auto;color:#777b74;font-size:11px}.text-button{background:none;border:0;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:5px}dialog{border:0;border-radius:16px;padding:32px;max-width:min(980px,94vw);width:900px;background:white;max-height:90vh;overflow-y:auto;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#20291fc0;backdrop-filter:blur(4px)}dialog .close{position:absolute;top:8px;right:12px;width:36px;height:36px;border:0;background:#f1f3ed;border-radius:50%;font-size:24px;z-index:1}.detail{display:grid;grid-template-columns:1.25fr 1fr;gap:30px}.detail-image{width:100%;height:440px;object-fit:contain;background:#f5f6f1;border-radius:8px}.detail h2{margin:24px 0 12px}.detail .eyebrow{margin-top:6px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.tag{font-size:12px;background:var(--soft);padding:4px 10px;border-radius:4px}dl{display:grid;grid-template-columns:100px 1fr;font-size:14px;border-top:1px solid var(--line);padding-top:16px}dt{color:var(--muted)}dd{margin:0}.note{background:#f6f4eb;padding:14px 16px;border-radius:8px;font-size:13px;color:#6c6650;margin:20px 0}.form-box{max-width:440px;margin:auto;padding:8px 0}.form-box h2{font-size:26px;margin:12px 0 18px}label.field{display:block;margin:16px 0 0;font-size:14px;font-weight:500}.field input,.field textarea,.field select{width:100%;display:block;border:1px solid #d9ddd3;border-radius:7px;padding:11px 12px;margin-top:7px;background:white;font-size:16px}.field textarea{min-height:100px}.form-error{color:#ad321a;font-size:14px;min-height:24px;margin-top:14px}.text-link{border:0;background:none;color:var(--accent);font-size:14px;padding:12px 0}.page{max-width:1000px;padding-top:45px;margin:0 auto;min-height:65vh}.page>h1{margin-bottom:18px}.panel{padding:28px;background:white;border:1px solid var(--line);border-radius:12px;margin:20px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.step-number{color:var(--accent);font-size:36px;font-weight:500}.steps h3{font-size:17px}.steps p{font-size:14px;color:var(--muted)}.plan-card{max-width:500px;margin:30px auto;border:1px solid #cfd7c5;padding:30px;background:white;border-radius:14px}.plan-card h2{font-size:25px}.price{font-size:36px;margin:20px 0 5px;font-weight:600}.plan-card ul{padding-left:22px;font-size:14px;line-height:2.5}.empty{grid-column:1/-1;text-align:center;padding:70px 20px;border:1px dashed #cbd2c1;border-radius:12px;color:var(--muted)}.status{display:inline-block;border-radius:25px;background:#eff2e7;color:#4c653d;font-size:12px;padding:3px 10px}.status.pending{background:#fff1de;color:#916618}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:500;font-size:12px}td .button{padding:7px 12px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.page-nav{display:flex;gap:10px;margin:24px 0}.success{color:#456c34}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#303b2c;color:white;padding:12px 24px;border-radius:8px;max-width:90%;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;font-size:14px}#toast.show{opacity:1}.source{font-size:12px;color:var(--muted);text-decoration:underline}.asset-row{display:flex;gap:15px;align-items:center;margin:15px 0;border-bottom:1px solid var(--line);padding-bottom:15px}.asset-row img{width:80px;height:60px;object-fit:cover;border-radius:5px}.asset-row>div{flex:1;min-width:0}.asset-row b{font-size:14px}.asset-row p{font-size:12px;color:var(--muted);margin:0}.asset-row .button{padding:7px 10px;gap:5px}.management-details{margin:15px 0}summary{cursor:pointer}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.category img{height:165px}.photo-card img{height:300px}}@media(max-width:1050px){header{gap:22px}header nav{gap:17px}.brand{font-size:20px}.account-nav{gap:14px}.intro-mark{font-size:85px;margin-right:0}.category img{height:120px}.category div{padding:12px 10px;font-size:12px}.photo-caption{display:block}.photo-caption span{display:block;margin-top:3px}.photo-card img{height:220px}footer>span{margin-left:0}}@media(max-width:760px){header{height:auto;min-height:78px;flex-wrap:wrap;padding:20px 5% 0;gap:12px}.brand{font-size:20px}.brand svg{width:28px;height:28px}header nav{order:3;width:100%;justify-content:center;gap:34px;border-top:1px solid var(--line);margin-top:8px;padding:8px 0}.nav.active:after{bottom:-8px}.account-nav{gap:14px}.account-nav .small{font-size:12px;padding:8px 12px;gap:10px}.account-nav .nav{font-size:12px}main{padding:0 5% 36px}.intro{padding:32px 0 28px}.intro h1{font-size:25px;max-width:300px}.intro .muted{font-size:13px;max-width:300px}.intro-mark{font-size:62px}.eyebrow{font-size:11px;letter-spacing:1.5px}.section-heading>.muted{display:none}.categories{grid-template-columns:repeat(3,1fr);gap:10px}.category img{height:100px}.category div{font-size:12px;padding:9px 8px}.category div span{display:none}.categories .category:nth-child(4),.categories .category:nth-child(5){display:block}.category-section{padding-bottom:25px}h2{font-size:18px}.collection{padding-top:24px}.filters{gap:6px;margin-bottom:20px}.chip{padding:6px 12px;font-size:12px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.photo-card img{height:185px}.photo-caption b{font-size:12px}.photo-caption span{font-size:11px}.sort-label{font-size:0;gap:0}select{font-size:12px}.count{font-size:11px}.sample-label{font-size:9px;left:8px;top:8px}.detail{display:block}.detail-image{height:260px}dialog{padding:30px 20px;max-width:94vw}.steps,.admin-grid{grid-template-columns:1fr}.steps{gap:0}.page{padding-top:30px}.panel{padding:20px}.plan-card{padding:22px}.inline-fields{grid-template-columns:1fr}footer{padding:28px 5%;gap:14px}footer p{width:100%}footer>span{font-size:11px}.asset-row{flex-wrap:wrap}.section-heading{gap:8px}.collection-title{gap:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.demo-tools{width:100%;display:flex;gap:16px;align-items:center;padding-top:12px;border-top:1px solid #dfe3d7;font-size:12px;color:#73796c}.demo-tools .text-button{font-size:12px}.photo-card .sample-label{font-size:10px}body{min-width:320px}
/* 小画面でもカテゴリと素材を同じ流れで閲覧できる横並び。 */
.chip{font-size:14px}
@media(max-width:760px){.intro-mark{display:none}.intro h1{max-width:100%;text-wrap:balance}.intro .muted{max-width:100%;font-size:14px}.categories{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:43%;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}.category{scroll-snap-align:start}.category img{height:110px}.category div{font-size:14px;padding:10px}.photo-caption b{font-size:14px}.chip{font-size:14px}.account-nav .nav{font-size:14px}.category-section{padding-bottom:20px}}

.intro h1 span{display:inline-block}
