:root{--ink:#171713;--muted:#6e6c63;--paper:#fbfaf5;--surface:#fff;--line:#dedcd2;--red:#e84c3d;--green:#176b4d;--yellow:#f2d84b;--navy:#193450;--shadow:0 14px 36px rgba(29,28,22,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;line-height:1.6}a{color:inherit}button,input,select{font:inherit}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);background:rgba(251,250,245,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:9px;font-size:1.1rem;font-weight:900;text-decoration:none;letter-spacing:-.04em}.brand span{background:var(--red);color:#fff;border-radius:5px;padding:3px 6px;font-size:.68rem;letter-spacing:.08em;transform:rotate(-2deg)}.site-header nav{display:flex;gap:26px;font-size:.86rem;font-weight:700}.site-header nav a{text-decoration:none}.hero{padding:84px 0 74px;position:relative}.hero:after{content:"50%";position:absolute;right:0;top:28px;font-weight:1000;font-size:clamp(7rem,17vw,13rem);line-height:1;color:#efede3;z-index:-1}.kicker{margin:0 0 10px;color:var(--red);font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.hero h1,.series-hero h1,.volume-hero h1{margin:0;letter-spacing:-.055em;line-height:1.1}.hero h1{font-size:clamp(3rem,7vw,5.8rem)}.search{display:flex;width:min(720px,100%);margin-top:34px;background:#fff;border:2px solid var(--ink);border-radius:12px;padding:6px;box-shadow:7px 7px 0 var(--yellow)}.search input{flex:1;min-width:0;border:0;outline:0;padding:13px 15px}.search button,.header-search button{border:0;background:var(--ink);color:#fff;border-radius:7px;padding:10px 22px;font-weight:800;cursor:pointer}.search-note{margin:17px 4px;color:var(--muted);font-size:.8rem}.shelf{padding:46px 0 64px}.shelf-tint{background:#f0eee4}.section-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-title h2{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.045em;line-height:1.2;margin:0}.section-title>a{font-size:.8rem;font-weight:800}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.book-card{text-decoration:none;min-width:0}.cover{aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;padding:17px;color:white;border-radius:5px 12px 12px 5px;box-shadow:var(--shadow),inset -8px 0 rgba(255,255,255,.13);position:relative;overflow:hidden}.cover:before{content:"";position:absolute;width:110px;height:110px;border:18px solid rgba(255,255,255,.15);border-radius:50%;right:-35px;top:-25px}.cover b{font-size:1.05rem;line-height:1.4;position:relative}.cover small{opacity:.8;margin-top:7px;position:relative}.coral{background:linear-gradient(145deg,#e36557,#a93338)}.blue{background:linear-gradient(145deg,#3d739e,#1d3557)}.green{background:linear-gradient(145deg,#50866a,#1f4938)}.purple{background:linear-gradient(145deg,#805d91,#44304e)}.book-info{padding:12px 3px}.book-info h3{font-size:.94rem;line-height:1.45;margin:0 0 6px}.price-row{display:flex;align-items:center;gap:7px}.price-row strong{font-size:1.25rem}.old{font-size:.72rem;color:var(--muted);text-decoration:line-through}.badge{background:var(--red);color:#fff;padding:2px 6px;border-radius:4px;font-size:.68rem;font-weight:900}.stores{margin:4px 0 0;color:var(--muted);font-size:.72rem}.search-results{padding:46px 0 80px}.search-title{border-bottom:1px solid var(--line);padding-bottom:18px}.text-button{border:0;background:none;text-decoration:underline;cursor:pointer;color:var(--muted)}.result-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;font-size:.8rem}.segmented{display:flex;background:#ebe9df;padding:4px;border-radius:9px}.segmented button{border:0;background:transparent;padding:8px 16px;border-radius:6px;cursor:pointer}.segmented button.active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);font-weight:800}.segmented span{color:var(--muted);margin-left:4px}.result-controls select,.section-title select{border:1px solid var(--line);border-radius:7px;padding:7px;background:#fff}.series-results{display:grid;gap:14px}.series-row{display:grid;grid-template-columns:78px 1fr auto;gap:18px;align-items:center;padding:15px;border:1px solid var(--line);background:#fff;border-radius:12px;text-decoration:none}.series-row .cover{width:78px;padding:8px}.series-row h3{margin:0;font-size:1.1rem}.series-row p{margin:4px 0;color:var(--muted);font-size:.8rem}.series-stats{text-align:right}.series-stats strong{display:block;font-size:1.2rem;color:var(--red)}.header-search{display:flex;max-width:470px;flex:1;border:1px solid var(--line);background:#fff;padding:3px;border-radius:8px}.header-search input{min-width:0;flex:1;border:0;outline:0;padding:7px 10px}.header-search button{padding:7px 15px}.detail-main{padding-top:24px}.breadcrumb{display:flex;gap:9px;color:var(--muted);font-size:.75rem;margin:8px 0 35px}.series-hero,.volume-hero{display:grid;grid-template-columns:210px 1fr;gap:42px;align-items:center;padding-bottom:52px;border-bottom:1px solid var(--line)}.cover-large{width:210px;padding:22px}.cover-large b{font-size:1.3rem}.series-hero h1,.volume-hero h1{font-size:clamp(2.2rem,5vw,4.2rem)}.byline{color:var(--muted)}.lead{max-width:660px}.summary-pills{display:flex;gap:9px;flex-wrap:wrap;margin:23px 0}.summary-pills span{padding:7px 12px;border-radius:99px;background:#ece9df;font-size:.8rem}.summary-pills b{margin-right:4px}.detail-section{padding:54px 0;border-bottom:1px solid var(--line)}.volume-list{display:grid;gap:12px}.volume-row{display:grid;grid-template-columns:54px 1fr 1fr auto;align-items:center;gap:18px;padding:16px 18px;border:1px solid var(--line);background:#fff;border-radius:10px;text-decoration:none}.volume-number{font-size:1.2rem;font-weight:900}.sale-state{font-size:.76rem;color:var(--muted)}.sale-state strong{display:block;color:var(--red);font-size:1rem}.volume-price{text-align:right}.volume-price strong{font-size:1.15rem}.arrow{font-size:1.4rem}.prose-block{max-width:820px}.prose-block h2{font-size:1.7rem}.prose-block dl{border-top:1px solid var(--line)}.prose-block dl div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--line);padding:10px}.prose-block dt{color:var(--muted)}.prose-block dd{margin:0}.best-price{display:flex;align-items:center;gap:12px;margin-top:24px}.best-price span{font-size:.78rem;color:var(--muted)}.best-price strong{font-size:2.5rem}.best-price em{font-style:normal;background:var(--red);color:#fff;padding:3px 7px;border-radius:5px;font-weight:900;font-size:.75rem}.checked{color:var(--muted);font-size:.75rem}.offer-list{display:grid;gap:12px}.offer-row{display:grid;grid-template-columns:170px 1fr 150px;gap:22px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.store-name{font-weight:900}.offer-detail strong{font-size:1.5rem;margin-right:9px}.offer-detail p{margin:3px 0;color:var(--muted);font-size:.77rem}.store-button{background:var(--ink);color:#fff;text-align:center;text-decoration:none;border-radius:8px;padding:11px;font-size:.82rem;font-weight:800}.fine-print{font-size:.72rem;color:var(--muted)}.book-grid.compact{grid-template-columns:repeat(3,170px)}footer{padding:35px 0;background:var(--ink);color:#d5d2c8;font-size:.74rem;margin-top:70px}footer span{float:right}
@media(max-width:760px){.shell{width:min(100% - 28px,1180px)}.site-header{height:60px;padding:0 14px}.site-header nav{display:none}.hero{padding:54px 0}.hero:after{font-size:8rem;top:35px}.book-grid{grid-template-columns:repeat(2,1fr);gap:14px}.section-title{align-items:start}.result-controls{align-items:start;gap:14px;flex-direction:column}.series-row{grid-template-columns:60px 1fr}.series-row .cover{width:60px}.series-stats{grid-column:2;text-align:left}.series-hero,.volume-hero{grid-template-columns:100px 1fr;gap:18px;align-items:start}.cover-large{width:100px;padding:10px}.cover-large b{font-size:.72rem}.series-hero h1,.volume-hero h1{font-size:1.75rem}.summary-pills{grid-column:1/-1}.volume-row{grid-template-columns:42px 1fr auto}.sale-state{grid-column:2}.offer-row{grid-template-columns:1fr}.book-grid.compact{grid-template-columns:repeat(3,1fr)}.header-search{max-width:190px}.header-search button{display:none}.detail-section{padding:38px 0}footer span{display:block;float:none;margin-top:5px}}

.brand span{width:31px;height:31px;display:grid;place-items:center;padding:0;border-radius:8px 8px 8px 3px;font-size:.82rem;letter-spacing:0}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.category-grid a{padding:21px 22px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:900}.category-grid a:after{content:"→";float:right;color:var(--red)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article-card{padding:23px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none}.article-card span{color:var(--red);font-size:.72rem;font-weight:900}.article-card h3{margin:8px 0;font-size:1.05rem}.article-card p{margin:0;color:var(--muted);font-size:.8rem}footer a{color:#d5d2c8}.page-head{padding:62px 0 30px}.page-head h1{margin:0;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.12;letter-spacing:-.055em}.page-head p:last-child{max-width:720px;color:var(--muted)}.blog-list{display:grid;gap:14px;padding:20px 0 70px}.blog-row{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none}.blog-label{display:grid;place-items:center;min-height:100px;padding:12px;background:var(--navy);color:#fff;border-radius:8px;font-weight:900;text-align:center}.blog-row h2{margin:6px 0;font-size:1.2rem}.blog-row p{margin:0;color:var(--muted);font-size:.82rem}.article-date{color:var(--red);font-size:.72rem;font-weight:800}@media(max-width:760px){.category-grid{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:1fr}.blog-row{grid-template-columns:1fr}.blog-label{min-height:62px}}
.hero{padding:42px 0 30px}.hero:after{display:none}.hero h1{font-size:clamp(2rem,4vw,3.2rem)}.search{margin-top:20px}.policy-copy{max-width:780px;padding-bottom:70px}.policy-copy h2{margin-top:38px}.policy-copy p{color:var(--muted)}

/* Discovery shelves: compact horizontal rails; search results stay as grids. */
.shelf .book-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:#c8c5ba transparent}.shelf .book-card{flex:0 0 calc((100% - 90px)/6);scroll-snap-align:start}.shelf-actions{display:flex;align-items:center;gap:8px}.shelf-actions>a{font-size:.8rem;font-weight:800;margin-left:5px}.rail-button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;font-size:1.15rem;line-height:1}.rail-button:hover{border-color:var(--ink)}.rail-button:disabled{opacity:.3;cursor:default}
@media(max-width:980px){.shelf .book-card{flex-basis:calc((100% - 54px)/4)}}
@media(max-width:760px){.shelf .book-grid{gap:12px;margin-right:-14px;padding-right:14px;scrollbar-width:none}.shelf .book-grid::-webkit-scrollbar{display:none}.shelf .book-card{flex-basis:42vw;max-width:180px}.rail-button{display:none}.shelf-actions>a{margin-left:0}.shelf .section-title{align-items:end}}

.regular-price{display:block;color:var(--muted);font-size:.7rem;line-height:1.3}.regular-price s{margin-left:3px}.store-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.store-chip{padding:2px 6px;border:1px solid var(--line);border-radius:99px;background:#fff;color:#55534c;font-size:.62rem;white-space:nowrap}.filter-panel{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:12px;align-items:end;padding:18px;margin-bottom:13px;border:1px solid var(--line);border-radius:12px;background:#f2f0e7}.filter-panel label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:700}.filter-panel select{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;padding:9px}.filter-panel .check-filter{display:flex;align-items:center;min-height:39px;color:var(--ink);font-size:.76rem}.reset-filter{grid-column:1/-1;justify-self:start;border:0;background:none;padding:0;color:var(--muted);font-size:.72rem;text-decoration:underline;cursor:pointer}.result-summary{margin:0 0 20px;color:var(--muted);font-size:.78rem}.empty-results{padding:50px 20px;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted)}.series-kind{display:inline-block;margin-bottom:5px;color:var(--red);font-size:.68rem;font-weight:900}.series-thumbs{display:flex}.series-thumbs .cover{width:50px;margin-right:-22px;border:2px solid #fff}.series-thumbs .cover:last-child{margin-right:0}.series-row{grid-template-columns:112px 1fr auto}.series-row-note{color:var(--ink)!important}.comparison-note{font-size:.76rem!important}.offer-heading{display:grid;grid-template-columns:180px 170px 1fr 150px;gap:18px;padding:0 20px 8px;color:var(--muted);font-size:.68rem}.offer-row{grid-template-columns:160px 170px 1fr 150px}.offer-row.best{border:2px solid var(--red);position:relative}.offer-row.best:before{content:"掲載最安";position:absolute;left:14px;top:-11px;padding:2px 7px;background:var(--red);color:#fff;border-radius:4px;font-size:.64rem;font-weight:900}.store-name small{display:block;margin-top:4px;color:var(--muted);font-weight:400;font-size:.68rem}.offer-price strong{display:block;font-size:1.5rem;line-height:1.2}.offer-price .discount-text{color:var(--red);font-size:.72rem;font-weight:900}.offer-benefit{font-size:.76rem}.offer-benefit strong{display:block}.offer-benefit p{margin:3px 0;color:var(--muted)}
@media(max-width:900px){.filter-panel{grid-template-columns:repeat(2,1fr)}.offer-heading{display:none}.offer-row{grid-template-columns:130px 150px 1fr}.store-button{grid-column:3}.series-row{grid-template-columns:100px 1fr}.series-stats{grid-column:2;text-align:left}}
@media(max-width:760px){.filter-panel{grid-template-columns:1fr 1fr;padding:13px;gap:10px}.result-controls{margin-bottom:14px}.segmented button{padding:8px 10px}.offer-row{grid-template-columns:1fr 1fr;gap:12px}.offer-benefit{grid-column:1/-1}.store-button{grid-column:1/-1}.series-row{grid-template-columns:82px 1fr}.series-thumbs .cover{width:42px;margin-right:-20px}.series-stats{grid-column:2}.book-info h3{font-size:.86rem}.store-chip{font-size:.58rem}}
.offer-row.best:before{content:"セール中"}

.offer-heading{grid-template-columns:140px 100px 120px minmax(180px,1fr) 130px 145px}.offer-row{grid-template-columns:120px 100px 120px minmax(180px,1fr) 130px 145px}.offer-regular{color:var(--muted);font-size:.78rem}.offer-sale strong{display:block;font-size:1.35rem}.offer-sale span{color:var(--red);font-size:.7rem;font-weight:900}.offer-perk,.offer-end{font-size:.75rem}.offer-perk strong{display:block}.offer-perk small,.offer-end small{display:block;color:var(--muted)}.offer-end time{font-weight:800}[hidden]{display:none!important}@media(max-width:1000px){.offer-heading{display:none}.offer-row{grid-template-columns:120px 100px 120px 1fr}.offer-end{grid-column:2}.store-button{grid-column:4;grid-row:1/3;align-self:center}}
@media(max-width:760px){.offer-row{grid-template-columns:1fr 1fr}.offer-regular{grid-column:1}.offer-sale{grid-column:2}.offer-perk,.offer-end{grid-column:1/-1}.store-button{grid-column:1/-1;grid-row:auto}}

/* D1-backed pages */
.hero{padding:58px 0 52px}.hero h1{font-size:clamp(2.6rem,6vw,5rem)}
.cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.cover-link{display:block;text-decoration:none}.cover-source{position:absolute;right:7px;bottom:7px;z-index:2;padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.92);color:#8b0000;font-size:.58rem;font-weight:900;line-height:1.4}
.book-card .cover{background:linear-gradient(145deg,#3d739e,#1d3557)}
.book-card:nth-child(4n+2) .cover{background:linear-gradient(145deg,#e36557,#a93338)}
.book-card:nth-child(4n+3) .cover{background:linear-gradient(145deg,#50866a,#1f4938)}
.book-card:nth-child(4n+4) .cover{background:linear-gradient(145deg,#805d91,#44304e)}
.book-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.shelf .book-grid{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;padding:4px 2px 18px}
.shelf .book-card{flex:0 0 calc((100% - 72px)/5);scroll-snap-align:start}
.shelf-tint{padding:1px 0;background:#f0eee4}
.segmented a{display:inline-block;padding:8px 16px;border-radius:6px;text-decoration:none}.segmented a.active{background:#fff;box-shadow:0 2px 8px #0001;font-weight:800}
.filter-panel{grid-template-columns:repeat(2,minmax(130px,1fr)) repeat(2,auto) auto;align-items:end}
.filter-panel .check-filter{align-self:center;white-space:nowrap}
.filter-submit{border:0;border-radius:7px;background:var(--ink);color:#fff;padding:10px 15px;font-weight:800;cursor:pointer}
.pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin:36px 0;font-size:.82rem}.pagination a{font-weight:800}
.series-row .cover{height:104px}.series-stats small{display:block;color:var(--muted)}
.volume-row{grid-template-columns:68px 1fr minmax(130px,190px) 20px}.volume-row>strong{min-width:0}.volume-row .sale-state{white-space:normal}
.volume-hero .best-price{flex-wrap:wrap}.volume-hero .best-price strong{font-size:clamp(1.4rem,3vw,2.5rem)}
.offer-row{grid-template-columns:110px 95px 130px minmax(90px,1fr) 110px 135px;gap:14px}.offer-row .store-button{padding:10px 6px}.offer-sale .muted{font-size:.8rem;font-weight:500}
.muted{color:var(--muted)}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.related-grid a{padding:13px 16px;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none}
@media(max-width:1100px){.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.shelf .book-card{flex-basis:calc((100% - 54px)/4)}.offer-row{grid-template-columns:110px 90px 120px 1fr}.offer-row .store-button{grid-column:4;grid-row:1/3}.offer-end{grid-column:2}}
@media(max-width:760px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shelf .book-card{flex-basis:42vw;max-width:190px}.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-submit{grid-column:1/-1}.volume-row{grid-template-columns:56px 1fr 20px}.volume-row .sale-state{grid-column:2}.offer-row{grid-template-columns:1fr 1fr}.offer-row .store-button{grid-column:1/-1;grid-row:auto}.offer-end{grid-column:1/-1}.related-grid{grid-template-columns:1fr}.site-header .header-search{max-width:180px}}

/* Search is for finding a known work; browsing shelves stay on the home page. */
.search-page{padding:48px 0 84px;max-width:1000px}.search-page-head h1{font-size:clamp(2.4rem,5vw,4.4rem)}.search-page-head>p:last-child{margin:12px 0 0;color:var(--muted)}.search-main{max-width:none;margin:28px 0 14px}.search-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#f0eee4;font-size:.82rem}.search-controls label{display:flex;align-items:center;gap:7px;font-weight:700}.search-controls select{border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px}.search-controls button{margin-left:auto;border:0;border-radius:7px;background:var(--ink);color:#fff;padding:9px 14px;font-weight:800;cursor:pointer}.search-guidance{margin-top:30px;padding:24px;border:1px dashed var(--line);border-radius:12px;background:#fff;color:var(--muted)}.search-output{margin-top:48px}.search-output-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}.search-output-head h2{font-size:clamp(1.7rem,3vw,2.4rem)}.search-series-results{display:grid;gap:13px;margin-top:22px}.search-series-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.search-series-card .cover{width:76px;height:104px;padding:8px}.search-series-card h2,.search-volume-card h2{margin:0;font-size:1.08rem;line-height:1.45}.search-series-card h2 a,.search-volume-card h2 a{color:inherit;text-decoration:none}.search-series-card h2 a:hover,.search-volume-card h2 a:hover{text-decoration:underline}.search-series-card p,.search-volume-card p{margin:4px 0;color:var(--muted);font-size:.78rem}.search-series-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.search-series-meta span{padding:4px 8px;border-radius:99px;background:#f0eee4;font-size:.7rem;font-weight:800}.search-open{font-size:.78rem;font-weight:900;white-space:nowrap}.search-volume-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.search-volume-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.search-volume-card .cover{height:98px;padding:8px}.search-volume-price{display:grid;gap:2px;margin:10px 0}.search-volume-price span{font-size:.72rem;color:var(--muted)}.search-volume-price strong{font-size:1.02rem}
@media(max-width:760px){.search-page{padding-top:30px}.search-controls{align-items:flex-start;display:grid;grid-template-columns:1fr 1fr}.search-controls label:first-of-type{grid-column:1/-1}.search-controls select{flex:1}.search-controls button{margin:0;grid-column:1/-1}.search-output-head{align-items:start;flex-direction:column}.search-series-card{grid-template-columns:62px minmax(0,1fr)}.search-series-card .cover{width:62px;height:88px}.search-open{grid-column:2}.search-volume-results{grid-template-columns:1fr}.search-volume-card{grid-template-columns:62px minmax(0,1fr)}.search-volume-card .cover{height:88px}}

.series-volume-results{margin-top:0}
.volume-card-link,.volume-card-link:hover,.series-card-link,.series-card-link:hover{color:inherit;text-decoration:none!important}.volume-card-link *,.series-card-link *{text-decoration:none!important}.volume-card-link,.series-card-link{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.volume-card-link:hover,.series-card-link:hover{transform:translateY(-2px);border-color:var(--ink);box-shadow:0 8px 18px #00000012}.volume-card-link:focus-visible,.series-card-link:focus-visible{outline:3px solid var(--red);outline-offset:3px}.series-all-link{display:inline-flex;align-items:center;margin-top:22px;padding:9px 13px;border:1px solid var(--ink);border-radius:8px;background:#fff;text-decoration:none;font-size:.8rem;font-weight:900}.series-all-link:hover{background:var(--ink);color:#fff}.related-volume-results{margin-top:0}
.affiliate-note{height:32px;padding:6px 16px;background:var(--ink);color:#fff;text-align:center;font-size:.78rem;line-height:20px}.site-header{height:70px;padding:0 max(20px,calc((100vw - 1120px)/2));gap:24px}.brand{gap:10px;font-size:1.25rem}.brand span{width:34px;height:34px;padding:0;background:var(--green);border-radius:10px 10px 10px 3px;font-size:.82rem;letter-spacing:0;transform:none;box-shadow:inset -5px 0 rgba(255,255,255,.12)}.site-header nav{gap:18px;white-space:nowrap}.search-page{min-height:calc(100vh - 242px);padding:30px 0 84px}@media(max-width:760px){.affiliate-note{height:auto;min-height:32px;padding:5px 16px;font-size:.78rem;line-height:20px}.site-header{padding:0 20px}.search-page{padding-top:22px}}

/* Volume cards: the saving is the primary scan target; the former price is supporting evidence. */
.volume-deal{display:grid;gap:4px;margin:10px 0 8px}.volume-discount{color:var(--red);font-size:1rem;font-weight:1000;line-height:1;letter-spacing:-.04em}.price-comparison{display:flex;align-items:baseline;gap:7px;line-height:1.15}.price-comparison>span{color:var(--muted);font-size:.73rem;white-space:nowrap}.price-comparison s{text-decoration-thickness:1.5px}.price-comparison i{color:var(--muted);font-size:.9rem;font-style:normal}.price-comparison strong{color:var(--red);font-size:1.24rem;letter-spacing:-.04em;white-space:nowrap}.volume-deal.normal-price{margin-top:10px}.volume-deal.normal-price strong{font-size:.9rem;font-weight:700}

/* 新しいトップ・ジャンル・巻（公開データ ebooksale-v2） */
.listing{padding:26px 0 70px}.listing h1{margin:0;font-size:clamp(1.6rem,3.4vw,2.4rem);letter-spacing:-.045em;line-height:1.2}.listing-note{margin:6px 0 0;color:var(--muted);font-size:.76rem}
.genre-buttons{margin-bottom:26px}.genre-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}.genre-row a{flex:0 0 auto;padding:7px 14px;border:1px solid var(--line);border-radius:99px;background:#fff;text-decoration:none;font-size:.8rem;font-weight:700;white-space:nowrap}.genre-row a.active{background:var(--ink);border-color:var(--ink);color:#fff}.genre-children a{font-size:.74rem;padding:5px 11px;font-weight:400}.genre-children small{margin-left:5px;color:var(--muted)}.genre-children a.active small{color:#d5d2c8}
.cover-badge{position:absolute;left:7px;top:7px;z-index:2;padding:2px 7px;border-radius:4px;background:var(--red);color:#fff;font-size:.66rem;font-weight:900}.work-meta{margin:0;color:var(--muted);font-size:.76rem}
.hint{display:inline-block;position:relative;margin-left:6px;font-weight:400;vertical-align:middle}.hint summary{list-style:none;cursor:pointer;width:18px;height:18px;border-radius:50%;border:1px solid var(--muted);display:grid;place-items:center;font-size:.66rem;color:var(--muted)}.hint summary::-webkit-details-marker{display:none}.hint>div{position:absolute;z-index:20;left:0;top:24px;width:min(300px,80vw);padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);font-size:.74rem;line-height:1.6;color:var(--ink)}.hint a{display:inline-block;margin-left:4px}
.reference-price{margin:10px 0 0;color:var(--muted);font-size:.86rem}
.offer-list .offer-row{grid-template-columns:200px 1fr 130px 145px}.offer-sale small{display:block;color:var(--muted);font-size:.7rem}
@media(max-width:760px){.offer-list .offer-row{grid-template-columns:1fr 1fr}.offer-list .store-button{grid-column:1/-1}.listing{padding-top:16px}}
@media(max-width:980px){.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.site-header{gap:12px}.header-search{min-width:0}}

/* 11/1 見直し：表紙は切り抜かずに全体を見せる。ジャンルは折り返す。どれだけ安いかを大きく見せる */
.cover:has(img){background:#ecebe4!important;padding:0}.cover:has(img):before{display:none}.cover img{object-fit:contain}
.genre-row{flex-wrap:wrap;overflow-x:visible}.genre-more{margin:2px 0 6px}.genre-more summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--muted);padding:4px 2px;list-style:none}.genre-more summary::-webkit-details-marker{display:none}.genre-more summary:after{content:" ▾"}.genre-more[open] summary:after{content:" ▴"}
.deal{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:2px 0 4px}.deal-price{font-size:1.15rem;line-height:1.2}.deal-off{color:var(--red);font-weight:900;font-size:.8rem}.deal-reference{color:var(--muted);font-size:.72rem}.deal-reference s{margin-left:2px}
.deal-large .deal-price{font-size:2.6rem;letter-spacing:-.03em}.deal-large .deal-off{font-size:1.1rem;background:var(--red);color:#fff;padding:2px 8px;border-radius:5px}.deal-large .deal-reference{font-size:1rem;flex-basis:100%}
.hero-deal{margin-top:20px}.hero-deal-label{display:block;color:var(--muted);font-size:.8rem}.deal-saving{margin:2px 0 0;color:var(--green);font-weight:800}.reference-basis{margin-top:8px;color:var(--muted);font-size:.74rem}
.cover-badge{font-size:.78rem;padding:3px 8px}
@media(max-width:760px){.series-hero,.volume-hero{grid-template-columns:140px 1fr}.cover-large{width:140px}.deal-large .deal-price{font-size:2rem}.genre-row a{padding:6px 11px;font-size:.76rem}}
.work-all{color:var(--red);font-weight:800}.work-stores{margin:2px 0 0;color:var(--muted);font-size:.7rem}.summary-pills .pill-all{background:var(--red);color:#fff}

/* 11/1 見直し2：価格は赤、割引率も赤（任天堂のセール一覧を参考に）。書影には重ねない。ジャンルは親子が分かる形に */
.deal-price{color:var(--red)}.deal-off{color:var(--red)}.deal-large .deal-off{background:none;color:var(--red);padding:0;font-size:1.3rem}
.not-on-sale{margin:4px 0 0;color:var(--muted);font-size:.8rem}
.genre-nav{margin-bottom:22px}.genre-row{flex-wrap:nowrap;overflow-x:auto}
.genre-all{margin:4px 0}.genre-all summary{display:inline-block;cursor:pointer;list-style:none;padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:.8rem;font-weight:700}.genre-all summary::-webkit-details-marker{display:none}.genre-all summary:after{content:" ▾"}.genre-all[open] summary:after{content:" ▴"}
.genre-groups{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 20px}
.genre-group{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.genre-parent{flex-basis:100%;font-weight:800;font-size:.86rem;text-decoration:none}.genre-child{font-size:.76rem;color:var(--muted)}
.genre-subs{margin:8px 0 0;font-size:.8rem;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.genre-subs span{color:var(--muted)}.genre-subs a.active{font-weight:800;text-decoration:none;border-bottom:2px solid var(--ink)}
/* 書影の画像は重ねて置かず、枠いっぱいに普通に置く（iOSのSafariで、重ねた遅延読み込みの画像が出ないことがあった） */
.cover:has(img){display:block}.cover img{position:static;display:block;width:100%;height:100%;object-fit:contain}

/* 11/1 見直し3（トップ）：題名は出さず、表紙の下に参考価格 → 価格と割引率の順でそろえる。割引率は赤枠に白文字。ジャンルは折り返す */
.work-card .cover-link{color:inherit;text-decoration:none}.work-card .deal{margin-top:8px}
.deal{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.deal-now{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.deal-off,.deal-large .deal-off{background:var(--red);color:#fff;font-weight:800;font-size:.72rem;padding:1px 6px;border-radius:3px;line-height:1.5}
.deal-large .deal-off{font-size:1rem;padding:2px 8px}.deal-large .deal-reference{flex-basis:auto}
.deal-reference{font-size:.72rem;color:var(--muted)}
.work-meta{margin:2px 0 0;font-size:.74rem}
.genre-row{flex-wrap:wrap;overflow-x:visible}
.genre-nav{position:relative}.genre-row{gap:6px}.genre-row a,.genre-all summary{padding:5px 10px;font-size:.74rem}.genre-all{margin:0}.genre-all .genre-groups{position:absolute;left:0;right:0;z-index:20;box-shadow:var(--shadow)}

/* 11/1 見直し4（上部）：ヘッダーはスクロールで隠れ、ジャンルの帯だけが上に残る。検索はアイコンから検索の画面へ */
.affiliate-note{font-size:.68rem;padding:4px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-header{position:static;height:54px}.search-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--ink)}.search-icon:hover{background:#ece9df}
.genre-bar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px max(14px,calc((100vw - 1180px)/2));background:rgba(251,250,245,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.genre-picker summary{list-style:none;cursor:pointer;display:inline-block;padding:7px 14px;border:1px solid var(--ink);border-radius:99px;background:#fff;font-size:.82rem;font-weight:800}.genre-picker summary::-webkit-details-marker{display:none}.genre-picker summary:after{content:" ▾"}.genre-picker[open] summary:after{content:" ▴"}
.genre-picker .genre-groups{position:absolute;left:0;right:0;top:100%;max-height:70vh;overflow-y:auto;margin:0;border-radius:0 0 12px 12px;box-shadow:var(--shadow);z-index:20}
.genre-parent.active,.genre-child.active{color:var(--red)}
.to-top{font-size:.76rem;color:var(--muted);text-decoration:none;white-space:nowrap}
.genre-subs{margin:-8px 0 18px}
.search-box{display:flex;gap:8px;margin:20px 0}.search-box input{flex:1;min-width:0;font-size:1.05rem;padding:12px 14px;border:2px solid var(--ink);border-radius:10px;background:#fff}.search-box button{border:0;background:var(--ink);color:#fff;border-radius:10px;padding:0 18px;font-weight:800}
/* 11/1 見直し5：ジャンルの一覧は親だけを2列で。サブジャンルは親のページの絞り込みの行に、多いものは「ほか」にしまう */
.genre-list{position:absolute;left:0;right:0;top:100%;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:12px max(14px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.genre-list a{padding:9px 4px;font-size:.86rem;font-weight:700;text-decoration:none;border-bottom:1px solid #f0eee6}.genre-list a.active{color:var(--red)}
.genre-subs{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}.genre-subs details{display:contents}.genre-subs summary{cursor:pointer;color:var(--muted);list-style:none}.genre-subs summary::-webkit-details-marker{display:none}.genre-subs details[open] summary{display:none}
.genre-pickers{display:flex;gap:8px}.genre-picker{position:static}.genre-bar{position:sticky}
/* 11/1 見直し6（シリーズ）：巻もトップと同じ格子にして書影を大きく。題名は出さず何巻かだけ */
.volume-card .cover-link{color:inherit;text-decoration:none}.volume-no{margin:8px 0 0;font-size:.74rem;color:var(--muted)}.volume-card .deal{margin-top:2px}
.not-on-sale{color:var(--muted);font-size:.86rem;font-weight:700}
/* 11/1 見直し7（シリーズの上部）：表紙をぼかした帯の上に、セールの要点を大きく */
.series-hero{position:relative;overflow:hidden;border-radius:16px;padding:22px;border-bottom:0;margin-bottom:8px;isolation:isolate}
.hero-backdrop{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;filter:blur(36px) saturate(1.2);opacity:.45;z-index:-1}
.series-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,250,245,.35),rgba(251,250,245,.75));z-index:-1}
.hero-summary{margin-top:14px}.hero-sale{margin:0;font-size:1.35rem;font-weight:900;letter-spacing:-.02em}.hero-all{color:var(--red)}
.hero-detail{margin:4px 0 0;color:var(--red);font-weight:800;font-size:1rem}
@media(max-width:760px){.series-hero{padding:16px;gap:16px}.series-hero h1{font-size:1.5rem}.hero-sale{font-size:1.15rem}.hero-detail{font-size:.9rem}}
.hero-backdrop{opacity:.7;filter:blur(40px) saturate(1.5)}.series-hero:after{background:linear-gradient(180deg,rgba(251,250,245,.2),rgba(251,250,245,.6))}
.hero-ends{margin:2px 0 0;font-size:.82rem;color:var(--muted);font-weight:700}
/* 11/1 見直し8（シリーズの上部）：暗い1色の帯に白い文字、左寄せ。数字を大きく、割引率は赤枠に白文字 */
.series-hero{background:#22201b;color:#fff;border-radius:16px;padding:18px;gap:16px;align-items:center;grid-template-columns:140px 1fr}
.series-hero:after{display:none}.series-hero .cover{box-shadow:0 10px 26px rgba(0,0,0,.35)}
.series-hero h1{font-size:1.15rem;line-height:1.35;letter-spacing:-.02em}.series-hero .byline{color:#b9b5a8;font-size:.76rem;margin:6px 0 0}
.hero-summary{margin-top:14px;display:grid;gap:6px;justify-items:start}.hero-count{margin:0;font-size:.95rem;font-weight:800}.hero-big{font-size:2rem;font-weight:900;letter-spacing:-.03em;margin:0 2px}
.hero-off{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:.85rem;padding:2px 8px;border-radius:3px}
.series-hero .hero-ends{margin:0;color:#b9b5a8;font-size:.76rem;font-weight:400}
@media(min-width:761px){.series-hero{grid-template-columns:210px 1fr;padding:28px;gap:32px}.series-hero h1{font-size:2rem}}

/* 11/1 見直し9（巻の詳細）：上部はシリーズと同じ暗い帯。ストア別の価格は2行の細い行（行全体がリンク） */
.book-hero .hero-label{color:#b9b5a8;font-size:.74rem}.book-hero .deal-reference{color:#b9b5a8}.book-hero .deal-large .deal-price{font-size:2.2rem}
.book-hero .hero-reference{margin:0;font-size:1.1rem;font-weight:800}.book-hero .reference-basis{color:#b9b5a8;margin-top:10px}.book-hero .hint summary{border-color:#b9b5a8;color:#b9b5a8}
.offers-title{font-size:1.2rem;margin:0 0 10px}
.offer-lines{border-top:1px solid var(--line)}
.offer-line{display:grid;grid-template-columns:1fr auto 14px;gap:10px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.offer-line:hover{background:#f3f1ea}
.offer-store{font-weight:800;font-size:.92rem;line-height:1.35}.offer-store small{display:block;font-weight:400;color:var(--muted);font-size:.7rem;margin-top:2px}
.offer-best{display:inline-block;margin-right:6px;padding:0 5px;border:1px solid var(--red);color:var(--red);border-radius:3px;font-size:.66rem;vertical-align:1px}
.offer-price{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;text-align:right}.offer-price strong{font-size:1.15rem;color:var(--red)}.offer-price small{flex-basis:100%;color:var(--muted);font-size:.68rem}
.offer-plain .offer-price strong{color:var(--ink)}
.offer-go{color:var(--muted);font-size:1.3rem;line-height:1}
.detail-section .fine-print{margin-top:10px}
.book-hero .deal-large .deal-price{font-size:1.9rem}.book-hero .deal-now{flex-wrap:nowrap}
/* 11/1 見直し10（巻の詳細）：帯は何の本かだけ。参考価格はストアの行の上に1行。あらすじは数行で畳む */
.book-hero h1{font-size:1.1rem}
.offers-reference{font-size:.86rem;font-weight:700;margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.offers-reference small{font-weight:400;color:var(--muted);font-size:.72rem}
.caption-block h2{font-size:1.2rem}.caption-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}
.caption-block:has(.caption-more[open]) .caption-text{display:block;-webkit-line-clamp:unset}
.caption-more summary{cursor:pointer;color:var(--muted);font-size:.8rem;list-style:none}.caption-more summary::-webkit-details-marker{display:none}.caption-more[open] summary{display:none}
.breadcrumb{align-items:baseline;min-width:0}.breadcrumb>*{flex-shrink:0;white-space:nowrap}.breadcrumb>a:not(:first-child){flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* 11/1 見直し11：検索結果はトップと同じ格子に、題名を1行だけ。巻の詳細の、ストア別の価格とあらすじの間を詰める */
.hit-title{margin:8px 0 2px;font-size:.78rem;font-weight:700;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-output-head h1{font-size:1.2rem;margin:4px 0 14px}
.book-hero~.detail-section{padding:28px 0}.caption-block{border-bottom:0}
.search-output,.search-output-head{padding:0;border:0;background:none;box-shadow:none}.search-output .book-grid{border:0;padding:0}
.api-credit{margin:10px 0 0;font-size:.7rem}
