.printareab:has(.print_slots_wrap) > .selectb{
	display:none;
}

.printareab.has-print-slots > .selectb{
	display:none;
}

.printareab.has-print-slots .printareaimg .yaji{
	padding-top:0;
}

.printareab.has-print-slots .printareaimg .yaji .lb,
.printareab.has-print-slots .printareaimg .yaji .rb{
	display:none;
}

.printareab.has-print-slots .printareaimg .areas{
	display:none;
}

.print_slots_wrap{
	margin-top:12px;
	margin-bottom:8px;
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:12px;
	align-items:start;
}

.print_slot{
	border:1px solid #ddd;
	border-radius:6px;
	padding:10px 10px 12px;
	background:#fafafa;
}

.print_pos_select{
	width:100%;
	max-width:none;
	margin-bottom:10px;
	padding:9px 10px;
	font-size:1.3rem;
	line-height:1.3;
	box-sizing:border-box;
	border:1px solid #cfcfcf;
	border-radius:4px;
	background:#fff;
}

.print_pos_preview{
	display:none;
	width:100%;
	max-width:180px;
	height:auto;
	margin:0 0 10px;
	padding:4px;
	border:1px solid #ddd;
	border-radius:4px;
	background:#fff;
	box-sizing:border-box;
}

.print_pos_preview.is-visible{
	display:block;
}

.print_slot .selectbox{
	margin-top:6px;
}

.print_slot .selectbox h3{
	font-size:1.3rem;
	margin:0 0 8px;
	line-height:1.4;
}

.print_slot .selectbox h3.select1{
	display:none;
}

.print_slot .selectbox table{
	width:100%;
}

.print_slot .selectbox table th{
	font-size:1.2rem;
	padding:6px 6px 4px 0;
	white-space:nowrap;
}

.print_slot .selectbox table td{
	font-size:1.2rem;
	padding:4px 0;
}

.print_slot .selectbox table td select{
	width:100%;
	font-size:1.2rem;
	padding:7px 8px;
	border:1px solid #cfcfcf;
	border-radius:4px;
	box-sizing:border-box;
}

.print_slot_add_row{
	margin:0;
	grid-column:1 / -1;
}

.print_slot_add{
	padding:10px 16px;
	font-size:1.4rem;
	cursor:pointer;
	border-radius:4px;
	background:#cb241e;
	color:#fff;
}

.print_slot_remove{
	margin-top:8px;
	padding:6px 12px;
	font-size:1.4rem;
	cursor:pointer;
	border-radius:4px;
	background:#253494;
	color:#fff;
}

.print_slots_wrap:not(.print_slots_wrap--multi) .print_slot_remove{
	display:none !important;
}

.print_slots_wrap.print_slots_wrap--multi .print_slot_remove{
	display:inline-block !important;
}

.print_picker_modal,
.print_color_modal{
	display:none;
	position:fixed;
	inset:0;
	align-items:center;
	justify-content:center;
	padding:12px;
	box-sizing:border-box;
}
/* プリント方法のみ: オーバーレイ全面・パネル余白なし（下で .print_method_modal_panel を定義） */
.print_method_modal{
	display:none;
	position:fixed;
	inset:0;
	align-items:stretch;
	justify-content:stretch;
	padding:0;
	box-sizing:border-box;
}

.print_picker_modal{ z-index:3000; }
.print_method_modal{ z-index:3001; }
.print_color_modal{ z-index:3002; }

.print_picker_modal.is-open,
.print_color_modal.is-open{
	display:flex;
}
.print_method_modal.is-open{
	display:flex;
}

.print_picker_modal_overlay,
.print_method_modal_overlay,
.print_color_modal_overlay{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.45);
}

.print_picker_modal_panel,
.print_color_modal_panel{
	position:relative;
	z-index:1;
	width:min(760px, calc(100vw - 24px));
	max-height:calc(100vh - 24px);
	background:#fff;
	border:1px solid #ddd;
	border-radius:8px;
	box-shadow:0 10px 30px rgba(0,0,0,.22);
	overflow:hidden;
}
/* プリント方法: 画面幅・高さいっぱい（パネル外周に余白なし） */
.print_method_modal_panel{
	position:relative;
	z-index:1;
	width:100%;
	max-width:none;
	height:100%;
	max-height:none;
	min-height:0;
	background:#fff;
	border:0;
	border-radius:0;
	box-shadow:none;
	overflow:hidden;
	display:flex;
	flex-direction:column;
}

.print_picker_modal_head{
	display:grid;
	grid-template-columns:1fr auto;
	align-items:center;
	gap:8px;
	padding:10px 12px;
	border-bottom:1px solid #eee;
	background:#f8f8f8;
}

.print_picker_modal_title{
	margin:0;
	font-size:1.4rem;
	font-weight:bold;
	grid-column:1 / span 2;
	text-align:center;
}

.print_picker_modal_side_switch{
	display:flex;
	gap:10px;
	justify-content:center;
	grid-column:1 / span 2;
}

.print_picker_side_btn{
	border:1px solid #253494;
	background:#fff;
	color:#253494;
	border-radius:999px;
	padding:10px 18px;
	min-width:170px;
	font-size:1.5rem;
	font-weight:bold;
	cursor:pointer;
}

.print_picker_side_btn.is-active{
	background:#253494;
	color:#fff;
}

.print_picker_modal_close{
	grid-column:2;
	justify-self:end;
	border:0;
	background:transparent;
	font-size:2.2rem;
	line-height:1;
	cursor:pointer;
	color:#333;
	padding:0 4px;
}

.areas_thumb_strip.print_picker_modal_list{
	max-height:55vh;
	overflow-y:auto;
	overflow-x:hidden;
	margin:0;
	padding:8px;
	background:#fff;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:flex-start;
	align-content:flex-start;
	list-style:none;
}

.areas_thumb_strip.print_picker_modal_list li.is-side-hidden{
	display:none !important;
}

.areas_thumb_strip.print_picker_modal_list li{
	width:130px;
	padding:4px;
	border:2px solid #ccc;
	border-radius:4px;
	background:#fff;
	text-align:center;
	box-sizing:border-box;
	cursor:pointer;
}

.areas_thumb_strip.print_picker_modal_list li img{
	display:block;
	width:100%;
	height:auto;
	margin:0 auto 4px;
}

.print_method_modal_head,
.print_color_modal_head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:10px 12px;
	border-bottom:1px solid #eee;
	background:#f8f8f8;
}

.print_method_modal_title,
.print_color_modal_title{
	margin:0;
	font-size:1.4rem;
	font-weight:bold;
}

.print_method_modal_close,
.print_color_modal_close{
	border:0;
	background:transparent;
	font-size:2.2rem;
	line-height:1;
	cursor:pointer;
	color:#333;
	padding:0 4px;
}

.print_color_modal_body{
	padding:10px;
	max-height:60vh;
	overflow:auto;
}
.print_method_modal_body{
	padding:10px;
	flex:1 1 auto;
	min-height:0;
	max-height:none;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}

.print_method_modal_list{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:8px;
	list-style:none;
	margin:0;
	padding:0;
}

.print_method_option{
	display:block;
	width:100%;
	border:1px solid #253494;
	background:#fff;
	color:#253494;
	border-radius:6px;
	padding:10px 8px;
	font-size:1.3rem;
	line-height:1.4;
	cursor:pointer;
	text-align:center;
	touch-action:manipulation;
}

.print_method_option.is-selected{
	background:#253494;
	color:#fff;
}

.print_color_modal_footer{
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	gap:8px;
	padding:10px 12px;
	border-top:1px solid #eee;
	background:#fafafa;
}

.print_color_nav_btn{
	border:1px solid #253494;
	background:#fff;
	color:#253494;
	border-radius:6px;
	padding:7px 12px;
	font-size:1.2rem;
	line-height:1.2;
	cursor:pointer;
}

.print_color_nav_btn[disabled]{
	opacity:.45;
	cursor:default;
}

.print_color_step_text{
	margin:0;
	text-align:center;
	font-size:1.2rem;
	color:#333;
}

.print_color_group + .print_color_group{
	margin-top:10px;
}

.print_color_group_title{
	margin:0 0 6px;
	font-size:1.3rem;
	font-weight:bold;
}

.print_color_modal_list{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:8px;
	list-style:none;
	margin:0;
	padding:0;
}

.print_color_option{
	display:block;
	width:100%;
	border:1px solid #253494;
	background:#fff;
	color:#253494;
	border-radius:6px;
	padding:10px 8px;
	font-size:1.3rem;
	line-height:1.4;
	cursor:pointer;
	text-align:center;
}

.print_color_option.is-selected{
	box-shadow:0 0 0 2px #253494 inset;
	outline:2px solid #253494;
	outline-offset:0;
}

.print_slots_wrap[data-enable-print-color="0"] .tr3{
	display:none;
}


.areas_thumb_label{
	display:block;
	font-size:1.1rem;
	line-height:1.3;
	word-break:break-all;
}

.areas_legacy_checkboxes{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

.areas_legacy_checkboxes ul{
	list-style:none;
	margin:0;
	padding:0;
}

.areas_legacy_checkboxes_item{
	margin:0;
	padding:0;
}

.printareaimg .areas_legacy_checkboxes ul{
	width:auto !important;
	float:none !important;
}

.printareaimg .areas_legacy_checkboxes li{
	float:none !important;
	width:auto !important;
	padding:0 !important;
}

@media only screen and (max-width: 767px){
	.print_picker_modal,
	.print_color_modal{
		padding:6px;
	}
	.print_method_modal{
		padding:0;
	}
	.print_slots_wrap{
		grid-template-columns:1fr;
	}
	.print_slot{
		padding:10px;
	}
	.print_pos_preview{
		max-width:160px;
	}
	.print_picker_modal_panel,
	.print_color_modal_panel{
		width:calc(100vw - 12px);
		height:calc(100vh - 12px);
		max-height:calc(100vh - 12px);
		border-radius:10px;
	}
	.print_method_modal_panel{
		width:100%;
		height:100%;
		max-height:none;
		border-radius:0;
	}
	.print_color_modal_body{
		max-height:calc(100vh - 140px);
	}
	.print_method_modal_body{
		max-height:none;
	}
	.print_picker_modal_head{
		grid-template-columns:1fr auto;
	}
	.print_picker_modal_title{
		grid-column:1 / span 2;
	}
	.print_picker_modal_side_switch{
		grid-column:1 / span 2;
		order:3;
	}
	.print_picker_side_btn{
		min-width:0;
		flex:1 1 auto;
		padding:8px 10px;
		font-size:1.3rem;
	}
	.areas_thumb_strip.print_picker_modal_list{
		max-height:calc(100vh - 170px);
		display:grid;
		grid-template-columns:repeat(3, minmax(0, 1fr));
		gap:8px;
		overflow-y:auto;
		overflow-x:hidden;
		flex-wrap:initial;
		padding-right:4px;
	}
	.areas_thumb_strip.print_picker_modal_list li{
		width:100%;
		min-width:0;
	}
	.print_method_modal_list{
		grid-template-columns:1fr 1fr;
	}
	.print_method_option{
		font-size:1.2rem;
		padding:9px 6px;
	}
	.print_color_modal_list{
		grid-template-columns:1fr 1fr;
	}
	.print_color_option{
		font-size:1.2rem;
		padding:9px 6px;
	}
	.print_color_modal_footer{
		padding:8px 10px;
	}
	.print_color_nav_btn{
		padding:6px 10px;
		font-size:1.1rem;
	}
}
