/**
 * ノナラボ: 作品詳細（single-works.php）
 * 方針: SWELLに馴染む / 表紙左・情報右（PC） / スマホは1カラム
 */

.nonalabo-workNotice{
	padding:14px 16px;
	border-radius:12px;
	margin:16px 0;
	border:1px solid rgba(0,0,0,.08);
	background:rgba(0,0,0,.03);
	color:rgba(0,0,0,.82);
}
.nonalabo-workNotice--warn{
	border-color:rgba(234,88,12,.32);
	background:rgba(234,88,12,.06);
}
.nonalabo-workNotice code{
	font-size:12px;
}

.nonalabo-workHead{
	margin:8px 0 22px;
	padding:16px 14px;
	border-radius:14px;
	background:#fff;
	box-shadow:0 6px 22px rgba(0,0,0,.08);
}
.nonalabo-workHead__grid{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
	align-items:start;
}
@media (min-width: 768px){
	.nonalabo-workHead__grid{
		grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
		gap:20px;
	}
}

.nonalabo-workHead__cover{
	width:100%;
	aspect-ratio: 2 / 3;
	border-radius:12px;
	overflow:hidden;
	background:#f3f5f9;
	border:1px solid rgba(0,0,0,.1);
	box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.nonalabo-workHead__coverImg{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.nonalabo-workHead__coverPlaceholder{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:12px;
	letter-spacing:.06em;
	color:rgba(0,0,0,.45);
	background:linear-gradient(145deg, rgba(0,0,0,.07), rgba(0,0,0,.02));
}

.nonalabo-workHead__title{
	margin:0!important;
	padding:0;
	border:none!important;
	box-shadow:none!important;
	background:none!important;
	font-weight:900;
	letter-spacing:-.02em;
	line-height:1.22;
	font-size:clamp(20px, 3.4vw, 30px);
}
.nonalabo-workHead__lead{
	margin:10px 0 0;
	color:rgba(0,0,0,.72);
	line-height:1.75;
	font-size:14px;
}

.nonalabo-workHead__verdict{
	margin-top:12px;
}
.nonalabo-workHead__verdictBadge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 14px;
	border-radius:10px;
	font-size:13px;
	font-weight:800;
	color:#fff;
	background:#2563eb;
}

.nonalabo-workReview{
	margin-top:14px;
	padding:12px 14px;
	border-radius:12px;
	border:1px solid rgba(0,0,0,.06);
	background:rgba(0,0,0,.045);
}
.nonalabo-workReview__label{
	font-size:12px;
	font-weight:800;
	color:rgba(0,0,0,.62);
	letter-spacing:.02em;
	margin:0 0 8px;
}
.nonalabo-workReview__text{
	margin:0;
	font-size:15px;
	line-height:1.75;
	color:rgba(0,0,0,.82);
}

.nonalabo-workBasic{
	margin-top:12px;
}
.nonalabo-workBasic__label{
	font-size:12px;
	font-weight:800;
	color:rgba(0,0,0,.7);
	margin:0 0 8px;
}
.nonalabo-workBasic__list{
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
	margin:0;
}
@media (min-width: 520px){
	.nonalabo-workBasic__list{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}
.nonalabo-workBasic__item{
	margin:0;
	padding:10px 12px;
	border-radius:12px;
	background:linear-gradient(165deg, rgba(248,250,252,.95) 0%, rgba(241,245,249,.98) 100%);
	border:1px solid rgba(226,232,240,.92);
}
.nonalabo-workBasic__term{
	font-size:11px;
	font-weight:800;
	color:rgba(100,116,139,.92);
	letter-spacing:.05em;
	margin:0 0 6px;
}
.nonalabo-workBasic__desc{
	margin:0;
	font-size:13px;
	font-weight:600;
	color:rgba(30,41,59,.95);
	line-height:1.55;
	word-break:break-word;
}
.nonalabo-workBasic__desc .nonalabo-workBasic__creatorLink{
	text-decoration:underline;
	text-underline-offset:2px;
}

.nonalabo-workAttrs{
	margin-top:12px;
}
.nonalabo-workAttrs--full{
	margin-top:14px;
	padding-top:14px;
	border-top:1px solid rgba(0,0,0,.06);
}
.nonalabo-workAttrs__label{
	font-size:12px;
	font-weight:800;
	color:rgba(0,0,0,.7);
	margin:0 0 8px;
}
.nonalabo-workAttrs__group + .nonalabo-workAttrs__group{
	margin-top:10px;
}
.nonalabo-workAttrs__groupLabel{
	font-size:11px;
	font-weight:900;
	letter-spacing:.05em;
	color:rgba(100,116,139,.92);
	margin:0 0 6px;
}
.nonalabo-workAttrs__badges{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.nonalabo-workAttrs__badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 12px;
	font-size:12px;
	font-weight:700;
	border-radius:999px;
	border:1px solid rgba(37,99,235,.35);
	background:rgba(37,99,235,.06);
	color:rgba(29,78,216,.95);
}
.nonalabo-workAttrs__link{
	color:inherit;
	text-decoration:none;
}
.nonalabo-workAttrs__link:hover{
	text-decoration:underline;
	text-underline-offset:2px;
}
.nonalabo-workAttrs__link:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
	border-radius:999px;
}

/* 控えめなタイプ別色分け（属性ページの雰囲気に寄せる） */
.nonalabo-workAttrs__badge--genre{
	border-color:rgba(37,99,235,.35);
	background:rgba(37,99,235,.06);
	color:rgba(29,78,216,.95);
}
.nonalabo-workAttrs__badge--attribute{
	border-color:rgba(234,88,12,.28);
	background:rgba(234,88,12,.06);
	color:rgba(194,65,12,.95);
}
.nonalabo-workAttrs__badge--info{
	border-color:rgba(16,185,129,.28);
	background:rgba(16,185,129,.06);
	color:rgba(5,150,105,.95);
}
.nonalabo-workAttrs__badge--other{
	border-color:rgba(100,116,139,.26);
	background:rgba(100,116,139,.06);
	color:rgba(51,65,85,.95);
}

.nonalabo-workSection{
	margin:22px 0;
	padding:0;
}
.nonalabo-workSection__title{
	margin:0 0 10px!important;
	font-size:18px;
	font-weight:900;
	letter-spacing:-.01em;
}
.nonalabo-workSection__body{
	border-radius:14px;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	padding:14px 16px;
	box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.nonalabo-editorialSummary{
	border-radius:12px;
	border:1px solid rgba(0,0,0,.06);
	background:rgba(0,0,0,.03);
	padding:12px 14px;
}
.nonalabo-editorialSummary__p{
	margin:0;
	line-height:1.85;
	color:rgba(0,0,0,.78);
}
.nonalabo-editorialSummary__p + .nonalabo-editorialSummary__p{
	margin-top:10px;
}
.nonalabo-newsList{
	display:grid;
	gap:12px;
	margin:0;
}
.nonalabo-newsSection{
	/* 他セクションと揃える（詰めすぎない程度） */
	margin-block:22px;
}
.nonalabo-newsSection .nonalabo-workSection__title{
	margin-bottom:8px!important;
}
.nonalabo-newsSection .nonalabo-workSection__body{
	padding:12px 14px;
}
.nonalabo-newsCard{
	margin:0;
}
.nonalabo-newsCard__inner{
	display:flex;
	gap:12px;
	align-items:flex-start;
	padding:10px 12px;
	border-radius:10px;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.nonalabo-newsCard__inner:hover{
	box-shadow:0 2px 8px rgba(0,0,0,.06);
	border-color:rgba(0,0,0,.1);
}
.nonalabo-newsCard__thumb{
	flex:0 0 auto;
	width:92px;
	aspect-ratio: 16 / 10;
	border-radius:8px;
	overflow:hidden;
	background:#f3f5f9;
	border:1px solid rgba(0,0,0,.08);
}
.nonalabo-newsCard__thumbImg{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.nonalabo-newsCard__main{
	min-width:0;
	flex:1 1 auto;
}
.nonalabo-newsCard__meta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:4px;
	font-size:12px;
	color:rgba(0,0,0,.55);
}
.nonalabo-newsCard__dot{
	color:rgba(0,0,0,.35);
}
.nonalabo-newsCard__title{
	margin:6px 0 0!important;
	font-size:14px;
	font-weight:900;
	line-height:1.5;
	letter-spacing:-.01em;
	color:rgba(0,0,0,.92);
}
.nonalabo-newsCard__titleLink{
	color:inherit;
	text-decoration:none;
}
.nonalabo-newsCard__titleLink:hover{
	text-decoration:underline;
	text-underline-offset:2px;
}
.nonalabo-newsCard__titleLink:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
	border-radius:6px;
}
.nonalabo-newsCard__date{
	font-variant-numeric:tabular-nums;
}
.nonalabo-newsCard__source{
	font-weight:700;
}
.nonalabo-newsCard__summary{
	margin:8px 0 0;
	font-size:12.5px;
	line-height:1.75;
	color:rgba(0,0,0,.68);
}
.nonalabo-newsCard__read{
	margin-top:8px;
}
.nonalabo-newsCard__readLink{
	font-size:12px;
	font-weight:700;
	color:rgba(29,78,216,.95);
	text-decoration:none;
	border-bottom:1px solid rgba(29,78,216,.25);
	padding-bottom:1px;
}
.nonalabo-newsCard__readLink:hover{
	border-bottom-color:rgba(29,78,216,.55);
}
.nonalabo-newsCard__readLink:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
	border-radius:6px;
}
@media (max-width: 520px){
	.nonalabo-newsCard__inner{
		flex-direction:column;
	}
	.nonalabo-newsCard__thumb{
		width:100%;
	}
}
.nonalabo-workProse{
	margin:0;
	line-height:1.85;
	color:rgba(0,0,0,.78);
}
.nonalabo-workMuted{
	margin:0;
	color:rgba(0,0,0,.55);
	line-height:1.7;
}

.nonalabo-volume-gallery{
	display:flex;
	gap:10px;
	padding:2px;
	margin:0 0 12px;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	scroll-snap-type:x mandatory;
	scroll-padding-inline:10px;
}
.nonalabo-volume-gallery__item{
	flex:0 0 auto;
	width:64px;
	text-decoration:none;
	color:inherit;
	scroll-snap-align:start;
	display:flex;
	flex-direction:column;
	gap:6px;
}
.nonalabo-volume-gallery__img{
	width:64px;
	height:96px;
	border-radius:10px;
	border:1px solid rgba(0,0,0,.08);
	background:#f3f5f9;
	object-fit:cover;
	display:block;
	box-shadow:0 2px 10px rgba(0,0,0,.06);
}
.nonalabo-volume-gallery__num{
	font-size:11px;
	font-weight:800;
	color:rgba(0,0,0,.68);
	white-space:nowrap;
	text-align:center;
}
.nonalabo-volume-more--gallery{
	margin-top:0;
	margin-bottom:14px;
}
.nonalabo-volume-more--gallery .nonalabo-volume-gallery{
	margin-bottom:0;
}

.nonalabo-volume-list{
	display:grid;
	gap:10px;
	margin:0;
}
.nonalabo-volume-item{
	display:flex;
	flex-direction:column;
	gap:10px;
	padding:10px 12px;
	border-radius:12px;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	box-shadow:0 1px 5px rgba(0,0,0,.04);
}
@media (min-width: 768px){
	.nonalabo-volume-item{
		flex-direction:row;
		align-items:center;
		justify-content:space-between;
		gap:16px;
	}
}
.nonalabo-volume-main{
	min-width:0;
}
.nonalabo-volume-title{
	font-size:14px;
	font-weight:800;
	line-height:1.4;
	color:rgba(0,0,0,.88);
	word-break:break-word;
}
.nonalabo-volume-isbn{
	margin-top:4px;
	font-size:12px;
	color:rgba(0,0,0,.6);
	font-variant-numeric:tabular-nums;
}
.nonalabo-volume-links{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
	justify-content:flex-start;
}
@media (min-width: 768px){
	.nonalabo-volume-links{
		justify-content:flex-end;
		flex-shrink:0;
	}
}
.nonalabo-volume-linkBtn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:30px;
	padding:0 10px;
	font-size:12px;
	font-weight:800;
	border-radius:10px;
	text-decoration:none;
	border:1px solid rgba(0,0,0,.12);
	background:rgba(0,0,0,.03);
	color:rgba(0,0,0,.78);
	transition:background .15s ease, border-color .15s ease, transform .1s ease;
}
.nonalabo-volume-linkBtn:hover{
	background:rgba(0,0,0,.06);
	border-color:rgba(0,0,0,.18);
	transform:translateY(-1px);
}
.nonalabo-volume-linkBtn:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
}
.nonalabo-volume-linkBtn--amazon{
	border-color:rgba(255,153,0,.28);
	background:rgba(255,153,0,.06);
}
.nonalabo-volume-linkBtn--rakuten{
	border-color:rgba(191,0,0,.22);
	background:rgba(191,0,0,.05);
}
.nonalabo-volume-linkBtn--bookwalker{
	border-color:rgba(0,102,204,.22);
	background:rgba(0,102,204,.05);
}
.nonalabo-volume-more{
	margin-top:12px;
	border-radius:12px;
	border:1px solid rgba(0,0,0,.06);
	background:rgba(0,0,0,.02);
	padding:8px 10px;
}
.nonalabo-volume-more > summary{
	cursor:pointer;
	font-weight:800;
	font-size:13px;
	color:rgba(0,0,0,.78);
}
.nonalabo-volume-more[open]{
	background:rgba(0,0,0,.015);
}
.nonalabo-volume-more .nonalabo-volume-list{
	margin-top:10px;
}

.nonalabo-volumeList{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:12px;
}
.nonalabo-volume{
	margin:0;
}
.nonalabo-volume__grid{
	display:grid;
	grid-template-columns: minmax(0, 92px) minmax(0, 1fr);
	gap:12px;
	align-items:start;
}
@media (min-width: 768px){
	.nonalabo-volume__grid{
		grid-template-columns: minmax(0, 110px) minmax(0, 1fr);
		gap:14px;
	}
}
.nonalabo-volume__cover{
	width:100%;
	aspect-ratio: 2 / 3;
	border-radius:10px;
	overflow:hidden;
	background:#f3f5f9;
	border:1px solid rgba(0,0,0,.1);
}
.nonalabo-volume__coverImg{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.nonalabo-volume__coverPlaceholder{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:11px;
	letter-spacing:.06em;
	color:rgba(0,0,0,.45);
	background:linear-gradient(145deg, rgba(0,0,0,.07), rgba(0,0,0,.02));
}
.nonalabo-volume__titleRow{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:baseline;
}
.nonalabo-volume__number{
	font-size:12px;
	font-weight:900;
	color:rgba(0,0,0,.74);
}
.nonalabo-volume__title{
	font-size:14px;
	font-weight:800;
	color:rgba(0,0,0,.9);
}
.nonalabo-volume__meta{
	margin-top:6px;
	display:flex;
	flex-wrap:wrap;
	gap:8px 12px;
	color:rgba(0,0,0,.6);
	font-size:12px;
}
.nonalabo-volume__stores{
	margin-top:10px;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.nonalabo-volume__storeBtn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:34px;
	padding:0 13px;
	font-size:12px;
	font-weight:800;
	border-radius:10px;
	text-decoration:none;
	border:1px solid rgba(0,0,0,.12);
	background:rgba(0,0,0,.03);
	color:rgba(0,0,0,.82);
	transition:background .15s ease, border-color .15s ease, transform .1s ease;
}
.nonalabo-volume__storeBtn:hover{
	background:rgba(0,0,0,.06);
	border-color:rgba(0,0,0,.18);
	transform:translateY(-1px);
}
.nonalabo-volume__storeBtn--amazon{
	border-color:rgba(255,153,0,.35);
	background:rgba(255,153,0,.08);
}
.nonalabo-volume__storeBtn--rakuten{
	border-color:rgba(191,0,0,.25);
	background:rgba(191,0,0,.06);
}

