@charset "UTF-8";

/* font-family: 'Noto Sans JP', sans-serif; */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap');

/* commom　ここから　------------------------------------ */
html{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 62.5%;
	font-weight: 400;
	letter-spacing: 0rem;
	color: #3B4043;
}
body{font-size: 1.6rem;}
.hide{display: none!important;}
img{ max-block-size: unset;}
.mt_-50{margin-top: -5rem;}
.mt_-55{margin-top: -5.5rem;}
.mt_10{margin-top: 1rem;}
.mt_15{margin-top: 1.5rem;}
.mt_30{margin-top: 3rem;}
.mt_30i{margin-top: 3rem !important;}
.mb-0{margin-bottom: 0!important;}
.mb-5{margin-bottom: 0.5rem!important;}
.mb-15{margin-bottom: 1.5rem!important;}
.mb-25{margin-bottom: 2.5rem!important;}
.mr_5{margin-right: 0.5rem;}
.mr_10{margin-right: 1rem!important;}
.mr_15{margin-right: 1.5rem!important;}
.mr_25{margin-right: 2.5rem;}
.mr_30{margin-right: 3rem;}
.ml_15{margin-left: 1.5rem;}
.ml_30{margin-left: 3rem;}
.p_0{padding: 0!important;}
.pb_05{padding-bottom: 0.5rem!important;}

.center{text-align: center;}
.left{text-align: left!important;}

.fw_bold,
.bold{font-weight: 500;}

.border_b{border-bottom: 0.1rem solid #E9E9E9;}
.border_none{border: none!important;}

.bg_none{background: none!important;}

.mw-unset{max-width: unset!important;}
.wfit{width: fit-content;}
.w18{width: 1.8rem;}
.w200{width: 20rem;}
.w_100{width: 100%;}
.w_75{width: 75%!important;}
.w_70{width: 70%!important;}
.w_40{width: 40%!important;}
.w_30{width: 30%!important;}
.w_20{width: 20%!important;}

.mw_80{max-width: 80rem !important;}
.f_10{font-size: 1rem;}
.f_12{font-size: 1.2rem;}
.f_14{font-size: 1.4rem;}
.f_16{font-size: 1.6rem;}

.red{color: #DC1E32;}
.green{color: #228B22;}

.pointer{cursor: pointer;}

.ws_normal{white-space: normal;}
.ws_no{white-space: nowrap;}

/* 見出し */
.header_title{
	color: #3498DB;
	font-size: 2.2rem;
}
h1{
	font-size: 2.8rem;
	font-weight: 500;
}
h2{
	color: #3498DB;
	font-weight: 500;
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
}


/* ボタン */
[class*="btn-"]{
	display: block;
	border-radius: 2.4rem;
	text-align: center;	
	padding: 0 4rem;
	line-height: 4.4rem;
	width: fit-content;
	min-width: fit-content;
	white-space: nowrap;
	border: 0.2rem solid #3498DB;
	background: #3498DB;
	color: #FFFFFF;
	cursor: pointer;
}
/* ボタン　table内 */
table [class*="btn-"]{
	padding: 0 1rem;
	line-height: 1.8rem;
	display: inline-block;
}
/* 幅固定 */
[class*="btn-"][class*="-w5"] {
	width: 5rem;
	padding: 0 2rem;
}
[class*="btn-"][class*="-w10"] {
	width: 10rem;
	padding: 0 2rem;
}
[class*="btn-"][class*="-w19"] {
	width: 19rem;
	padding: 0 2rem;
}
[class*="btn-"][class*="-w20"] {
	width: 20rem;
	padding: 0 2rem;
}
[class*="btn-"][class*="-w27"] {
	width: 27rem;
	padding: 0 2rem;
}
/* 色別 */
[class*="btn-green"]{
	border: 0.2rem solid #00ACC1;
	background: #00ACC1;
}
[class*="btn-orange"]{
	border: 0.2rem solid #F2994A;
	background: #F2994A;
}
[class*="btn-red"]{
	border: 0.2rem solid #DC1E32;
	background: #DC1E32;
}
[class*="btn-border"]{
	color: #004BB1;
	border: 0.2rem solid #004BB1;
	background: #FFFFFF;
}
/* ボタンhover */
[class*="btn-"]:hover{
	border: 0.2rem solid #004BB1;
	background: #004BB1;
}
[class*="btn-green"]:hover{
	border: 0.2rem solid #008CC1;
	background: #008CC1;
}
[class*="btn-orange"]:hover{
	border: 0.2rem solid #F27E4A;
	background: #F27E4A;
}
[class*="btn-red"]:hover{
	border: 0.2rem solid #a30011;
	background: #a30011;
}
[class*="btn-border"]:hover{
	color: #98A6B5;
	border: 0.2rem solid #98A6B5;
	background: #FFFFFF;
}
/* 角丸四角ボタン */
[class*="btn-"][class*="-br5"]{
	border-radius: 0.5rem;
}
/* 見積書・納品書・指示書ボタン */
[class*="btn-"][class*="-paper"]{
	border-radius: 0.2rem;
	border: 0.1rem solid #7F7F7F;
	background: #FFFFFF;
	color: #3B4043;
	width: 7.6rem;
	height: 3.2rem;
	padding: 0;
	font-size: 1.2rem;
	line-height: 3.2rem;
}
[class*="btn-"][class*="-paper"]:hover{
	background: #FAFAFA;
}

/* リンク装飾 */
.link_lightblue{
	color: #00A2E9;
	text-decoration: underline;
	cursor: pointer;
}
.link_lightblue_nodeco{
	color: #00A2E9;
	cursor: pointer;
	width: fit-content;
}
.link_lightblue:hover,
.link_lightblue_nodeco:hover{opacity: 0.7;}


/* エラー　成功 */
.error_message,
.success_message{
	font-size: 1.6rem;
	width: 100%;
	margin: 1rem auto;
}
/* エラー */
.error_message{
	color: #DC1E32;
}
/* 成功 */
.success_message{
	color: #3498DB;
}

/* システムメッセージ */
[class*="system-message-"]{
	width: 100%;
	line-height: 6rem;
	color: #FFFFFF;
	text-align: center;
	margin: 1.2rem 0 0.9rem;
	position: relative;
}
.system-message-complete{
	background: #3498DB;
	padding-left: 5rem;
	padding-right: 5rem;
}
.system-message-editcomplete{
	background: #00ACC1;
	padding-left: 5rem;
	padding-right: 5rem;
}
.system-message-error{
	background: #DC1E32;
}
.system-message-complete img,
.system-message-editcomplete img{
	cursor: pointer;
	display: block;
	position: absolute;
	top: 0; right: 2rem; bottom: 0;
	margin: auto;
}

/* ヘッダー */
header{
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	white-space: nowrap;
	width: 100%;
	height: 6rem;
	line-height: 6rem;
	padding: 0 2.5rem;
	z-index: 1500;
	background: #FAFAFA;
	box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.5);
	font-size: 1.6rem;
	border-top: 0.5rem solid #3498DB;
}
.header_right_wrap{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
}
.header_right_wrap>*{
	display: block;
	width: fit-content;
	margin-left: 2rem;
}
.header_right_wrap img{
	display: inline-block;
	margin-right: 0.5rem;
	vertical-align: middle;
}


/* 確認画面　確認モーダル */
/* ログアウトボタン 削除ボタン　編集破棄ボタン */
#logout-open,
#delete-open,
#cancel-opne,
#invoice_status-open,
#status-open{
	cursor: pointer;
}
/* ログアウトボタン */
#logout-open:hover{
	color: #3498DB;
}
.header_right_wrap #logout-open:hover img{
	margin-left: 0.3rem;
	margin-right: 0.2rem;
	transition: 0.3s ;
}
/* 確認モーダル */
.modal.active,
.logout-modal.active,
.delete-modal.active,
.cancel-modal.active{
	display: block;
}
.modal,
.logout-modal,
.delete-modal,
.cancel-modal{
	display: none;
	position: fixed;
	z-index: 99999999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	line-height: 1em;
	margin: 0;
	padding: 0;
	background: rgba(0, 0, 0, 70%);
}
.modal>div,
.logout-modal>div,
.delete-modal>div,
.cancel-modal>div{
	background: #FAFAFA;
	border: 0.5rem solid #E9E9E9;
	width: 95%;
	min-width: 32rem;
	max-width: 80rem;
	margin: 15rem auto 0;
	text-align: center;
}
span.modal-close{
	background: #111111;
	color: #FFFFFF;
	display: block;
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	text-align: center;
	margin: 0 0 0 auto;
	font-size: 2.4rem;
	cursor: pointer;
}
.logout-btn_wrap,
.delete-btn_wrap,
.cancel-btn_wrap,
.status-btn_wrap{
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	margin: 3.8rem auto 4rem;
}
.logout-btn_wrap a:last-child,
.delete-btn_wrap a:last-child,
.cancel-btn_wrap a:last-child{
	margin-left: 3rem;
}


/* 固定フッター */
footer{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8rem;
	padding-left: 26rem;
	z-index: 1000;
	background: #FAFAFA;
	box-shadow: 0px -1px 6px 0px rgba(0, 0, 0, 0.5);
	font-size: 1.6rem;
}


/* コンテンツ */
main{
	padding-top: 6rem;
	min-height: 100vh;
	width: 100%;
	background: #FDFDFD;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: stretch;
}


/* 左メニュー */
aside{
	display: block;
	padding-top: 9rem;
	width: 22rem;
	border-right: 0.1rem solid #E9E9E9;
	position: sticky;
	top: 6rem;
	left: 0;
	height: calc(100vh - 6rem);
}
.menu_wrap{
	width: 100%;
}
.menu_wrap li,
.menu_wrap li a{
	display: block;
	width: 100%;
	height: 100%;
	line-height: 6rem;
	font-size: 1.8rem;
}
.menu_wrap li a{
	padding: 0 0 0 1.5rem;
}
.menu_wrap li a:hover,
.menu_wrap li.current{
	border-left: 1rem solid #3498DB;
	color: #3498DB;
	padding-left: 0.5rem;
	background: #F9FBFF;
}
.menu_wrap li.current a{
	border-left: none;
	color: unset;
	padding-left: 0;
	background: unset;
}
.menu_wrap li img{
	display: inline-block;
	width: 2.5rem;
	height: 1.8rem;
	object-fit: contain;
	margin: 0 1rem;
	vertical-align: text-bottom;
}
.menu_wrap li a:hover img,
.menu_wrap li.current img{
	stroke: #3498DB;
	fill: #3498DB!important;
	color: #3498DB;
}


/* コンテンツ枠 */ 
.contents_wrap{
	width: 100%;
	padding-left: 22rem;
	margin-bottom: 15rem;
}
main.nomenu_page .contents_wrap{
	padding-left: 0;
}
main.menu_page .contents_wrap{
	width: calc(100% - 22rem);
	padding-left: 0;
}
.contents_wrap .content_head{
	width: 100%;
	height: 9rem;
	padding: 0 3.5rem;
	border-bottom: 0.1rem solid #E9E9E9;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	white-space: nowrap;
}
.content_head_right{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
}
/* エラー　成功 */
.contents_wrap .content_head .error_message,
.contents_wrap .content_head .success_message{
	font-size: 1.6rem;
	line-height: 4rem;
	width: 100%;
	max-width: unset;
	margin: 0 0 0 3rem;
	text-align: center;
}
.contents_wrap .content_head .error_message::before,
.contents_wrap .content_head .success_message::before{
	content: "!";
	display: inline-block;
	border-radius: 50%;
	text-align: center;
	width: 1.6rem;
	height: 1.6rem;
	line-height: 1.6rem;
	font-size: 1.2rem;
	font-weight: 500;
	margin-right: 0.5rem;
}
/* エラー */
.contents_wrap .content_head .error_message{
	color: #DC1E32;
	background: #FDEBEB;
}
.contents_wrap .content_head .error_message::before{
	background: #DC1E32;
	color: #FFFFFF;
}
/* 成功 */
.contents_wrap .content_head .success_message{
	color: #3498DB;
	background: #e1f3ff;
}
.contents_wrap .content_head .success_message::before{
	background: #3498DB;
	color: #FFFFFF;
}

.contents_wrap>section{
	max-width: 150rem;
}
main.nomenu_page .contents_wrap>section{
	max-width: unset;
}
.page_text{
	padding: 2.8rem 4rem 2.9rem;
}



/* フォーム要素form　詳細画面detail_wrap */
form dl,
.detail_wrap dl{
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	/* margin-bottom: 4.5rem; */
	padding: 0.8rem 0;
}
form dl:nth-child(2n),
.detail_wrap dl:nth-child(2n){
	background: #F7F5F5;
}
form dl dt,
.detail_wrap dl dt{
	line-height: 5rem;
	width: 25rem;
	padding: 0 1rem 0 4rem;
	font-size: 1.4rem;
	font-weight: 500;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
form dl dt .icon_required{
	display: block;
	background: #DC1E32;
	color: #FFFFFF;
	font-size: 1.1rem;
	line-height: 1.7rem;
	height: 1.7rem;
	padding: 0 0.9rem;
	border-radius: 1rem;
}
form dl dd,
.detail_wrap dl dd{
	width: calc(100% - 29rem);
	max-width: 69rem;
	padding-right: 4rem;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
textarea{
	border: 0.1rem solid #98A6B5;
	background: #FFFFFF;
	padding: 0 2rem;
	line-height: 4.8rem;
	width: 100%;
}
textarea{
	padding: 1rem 2rem;
	line-height: 1.5em;
}
input::placeholder{
	color: #CDD6DD;
}
input[type="date"]{
	position: relative;
}
input[type="date"]::-webkit-inner-spin-button{
	-webkit-appearance: none;
}
input[type="date"]::-webkit-clear-button{
	-webkit-appearance: none;
}
input[type=date]::-webkit-calendar-picker-indicator {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
}

input.w150{
	max-width: 15rem;
}

select{
	background: #FFFFFF;
	border: 0.1rem solid #98A6B5;
	padding: 0 5rem 0 2rem;
	width: 100%;
	white-space: nowrap;
}
.select_wrap{
	padding: 0;
	line-height: 4.8rem;
	width: 100%;
	max-width: fit-content;
	position: relative;
}
.select_wrap::after{
	content: '';
	position: absolute;
	right: 1rem;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	width: 1rem;
	height: 0.7rem;
	background-image: url(../../img/select.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	pointer-events: none;
}

.flx_en{
	align-items: flex-end !important;
}

.seam_table{
	width: 20rem !important;
}
.seam_wrap table th{
	text-align: center;
	border: 0.1rem solid #C6CDD6;
	padding: 0.2rem 1rem;
}

.seam_wrap table td{
	text-align: center;
	border: 0.1rem solid #C6CDD6;
	padding: 0.5rem 1rem;
	line-height: 2.6rem;
}

.seam_wrap table td .seam_input{
	border: none;
	line-height: 1.5rem;
	padding: 0;
}

.d-flex{
	display: flex;
}
.flex-col{
	flex-direction: column;
}
.flex-center{
	justify-content: center;
	align-items: center;
}
.flx_1{
	flex: 1;
}
.flxg_1{
	flex-grow: 1;
}

.order_print_wrap{
	width: 297mm;
	height: 210mm;
	border: 0.1rem solid #7F7F7F;
	padding: 5mm 3mm 0mm;
	margin: 3mm auto 0;
	background: #FFFFFF;
	page: order_print_wrap;
}

.header_row1{
	width: 100%;
}
.issue_title{
	font-size: 2.5rem;
	font-weight: bold;
}
.issue_date{
	align-items: flex-end;
	justify-content: center;
}
.order_print_wrap .page_no_wrap{
	align-items: flex-end;
	justify-content: flex-end;
}
.order_print_wrap .order_number{
	width: 28mm;
	margin-right: 8mm;
	text-align: right;
}
.page_no{
	align-items: flex-end;
	justify-content: flex-end;
}
.order_print_wrap .page_no{
	width: 18mm;
}

.header_row2{
	justify-content: space-between;
	height: 31mm;
}
.header_row2 .name1_wrap{
	width: 80mm;
}
.header_row2 .name1_wrap div:nth-child(2) {
	line-height: 16px;
}
.header_row2 .name2_wrap{
	width: 40mm;
}
.header_row2 .name3_wrap{
	width: 35mm;
}
.header_row2 .name2_wrap div:nth-child(2),
.header_row2 .name3_wrap div:nth-child(2){
	width: 100%;
	min-width: 0;
}
.header_row2 .name2_wrap span,
.header_row2 .name3_wrap span{
	display: block;
	width: 100%;
	min-width: 0;
	padding: 0 2mm;
	box-sizing: border-box;
	white-space: pre-line;
	overflow-wrap: anywhere;
	line-height: 1.4;
	text-align: center;
}
.header_row2 .address_wrap{
	width: 100mm;
}
.header_row2 .address_wrap div:nth-child(2){
	justify-content: space-between !important;
	line-height: 16px;
	padding-bottom: 1mm;
}
.header_row2 .address_wrap div:nth-child(2) span:first-child{
	width: 100%;
	text-align: start;
}
.header_row2 .address_wrap div:nth-child(2) span:nth-child(2){
	width: 100%;
	text-align: start;
}
.header_row2 .address_wrap div:nth-child(2) span:last-child{
	width: 100%;
	padding-left: 1rem;
}

.header_row2 .etc_column{
	width: 40mm;
}
.header_row2 .etc_wrap{
	width: 40mm;
	height: 15mm;
	border: 0.2rem solid #7F7F7F;
	text-align: center;
	font-size: 2.8rem;
}
.header_row2 .etc_column .etc_wrap + .etc_wrap{
	margin-top: 2mm;
}
.header_row3{
	height: 15mm;
	margin-bottom: 5mm;
}

.header_row3 .finishdate_wrap{
	width: 80mm;
}
.header_row3 .finishdate_wrap div:first-child{
	text-align: start;
	padding-left: 1rem;
}
.header_row3 .finishdate_wrap div:last-child{
	text-align: center;
}

.header_row3 .deliverymethod_wrap{
	width: 40mm;
}
.header_row3 .manager_wrap{
	width: 35mm;
}
.header_row3 .manager_wrap div:first-child{
	text-align: start;
	padding-left: 1rem;
}
.header_row3 .manager_wrap div:last-child{
	text-align: center;
}

.header_row3 .address_name_wrap{
	width: 100mm;
}

.po_detail_header{
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	height: 15mm;
}
.po_detail_header div{
	align-content: center;
}

.po_detail_wrap{
	margin-bottom: 5mm;
}

.po_detail_content_row{
	height: 10mm;
	font-size: 12px;
	word-break: break-all;
}
.po_detail_content_row div{
	align-content: center;
	text-align: center;
}

.po_detail_footer{
	height: 27mm;
}

.col1{
	width: 28mm;
}
.col2{
	width: 18mm;
}
.col3{
	width: 14mm;
}
.col4{
	width: 11mm;
}
.col5{
	width: 12mm;
}
.col6{
	width: 17mm;
}
.col7{
	width: 20mm;
}
.col8{
	width: 17mm;
}
.col9{
	width: 12mm;
}
.col10{
	width: 12mm;
}
.col11{
	width: 11mm;
}
.col12{
	width: 14mm;
}
.col13{
	width: 18mm;
}
.col14{
	width: 11mm;
}
.col15{
	width: 14mm;
}
.col16{
	width: 12mm;
}
.col17{
	width: 17mm;
}
.col18{
	width: 38mm;
}
.col19{
	width: 5mm;
}


.s-col1{
	width: 33mm;
}
.s-col2{
	width: 33mm;
}
.s-col3{
	width: 39mm;
}
.s-col4{
	width: 17mm;
}
.s-col5{
	width: 13mm;
}
.s-col6{
	width: 16mm;
}
.s-col7{
	width: 6mm;
}
.s-col8{
	width: 16mm;
}
.s-col9{
	width: 13mm;
}
.s-col10{
	width: 13mm;
}
.s-col11{
	width: 17mm;
}
.s-col12{
	width: 18mm;
}
.s-col13{
	width: 18mm;
}
.s-col14{
	width: 39mm;
}


.bt-2{
	border-top: 0.2rem solid #7F7F7F;
}
.bl-2{
	border-left: 0.2rem solid #7F7F7F;
}
.br-2{
	border-right: 0.2rem solid #7F7F7F;
}
.bb-2{
	border-bottom: 0.2rem solid #7F7F7F;
}

.cont_cen{
	align-content: center;
}

.order_preview_wrap{
	display: none;
}

.preview_wrap {
	/* width: calc(100% - 6rem); */
	height: fit-content;
	padding: 2rem 0;
	margin: 0 3rem 10rem;
	background: #C6CDD6;
}
/* 日付入力 */
.search_date_wrap{
	position: relative;
	width: 15rem;
	display: inline-block;
}
.search_date_wrap input[type="date"]{
	padding-left: 3rem!important;
}
.search_date_wrap::after{
	content: '';
	position: absolute;
	top: 0; left: 1rem; bottom: 0;
	margin: auto;
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-image: url(../../img/date.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	pointer-events: none;
}

/* チェックボックス　ラジオボタン */
input[type='checkbox']{
	display: none;
}
input[type=checkbox] + label,
input[type=radio] + label{
	position: relative;
	display: inline-flex;
	vertical-align: middle;
	width: fit-content;
	min-height: 5rem;
	line-height: 5rem;
	margin-right: 2rem;
	transition: 0.4s;
	cursor: pointer;
	white-space: nowrap;
}
input[type=checkbox] + label:before,
input[type=radio] + label:before{
	/* position: absolute;
	top: 0;
	bottom: 0;
	left: 0; */
	margin: auto;
	display: inline-block;
	border: 1px solid #777777;
	border-radius: 0.3rem;
	background: #fff;
	content: '';
	width: 1.8rem;
	height: 1.8rem;
	margin-right: 1rem;
}
input[type=radio] + label:before{
	border-radius: 50%;
}
/* チェックボックス　ラジオボタン　選択時 */
input[type=checkbox] + label:after{
	content: '';
	position: absolute;
	top: 1.5rem;
	left: 0;
	width: 17px;
	height: 11px;
	transform: rotate(-45deg);
	display: block;
	border-bottom: 2px solid #004BB1;
	border-left: 2px solid #004BB1;
	opacity: 0;
	z-index: 2;
}
input[type=radio] + label:after{
	content: '';
	position: absolute;
	top: 1.9rem;
	left: 0.3rem;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	display: block;
	background: #004BB1;
	opacity: 0;
	z-index: 2;
}
input[type=checkbox]:checked + label:after,
input[type=radio]:checked + label:after{
	opacity: 1;
}
input[type=radio]:disabled + label{
	color: #35353530;
	text-decoration: line-through;
}
/* 一覧のチェックボックス */
.list_table input[type=checkbox] + label,
.list_table input[type=radio] + label,
.list_table input[type=checkbox] + label:before,
.list_table input[type=radio] + label:before{
	margin-right: 0rem;
	min-height: unset;
	line-height: unset;
}
.list_table input[type=checkbox] + label:after{
	top: 0;
}

.radio_wrap input[type=radio]{
	display: none;
}

.radio_wrap input[type=radio] + label:before{
	content: none;
}

.radio_wrap input[type=radio] + label:after{
	content: none;
}

.radio_wrap [class*="btn-"]{
	border: 0.2rem solid #111111;
	background: #FFFFFF;
	color: #111111;
	justify-content: center;
}

.radio_wrap input[type="radio"]:checked + label {
	border: 0.2rem solid #004BB1;
	background: #004BB1;
	color: #ffffff;
}

/* ボタン風チェックボックス */
.btn_check_wrap{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
}
.btn_check_wrap label{
	display: block;
	margin-right: 0.7rem;
}
.btn_check_wrap label span{
	display: block;
	border: 0.1rem solid #98A6B5;
	background: #FFFFFF;
	line-height: 2.8rem;
	padding: 0 1rem;
	border-radius: 0.5rem;
	cursor: pointer;
}
.btn_check_wrap label input:checked + span{
	background: #98A6B5;
	color: #FFFFFF;
}
/* 外枠付きチェックボックス */
.border_check_wrap{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-items: center;
}
.border_check_wrap label{
	display: block;
	margin-right: 0.7rem;
}
.border_check_wrap label span{
	display: block;
	border: 0.1rem solid #98A6B5;
	background: #FFFFFF;
	font-size: 1.4rem;
	line-height: 2.8rem;
	padding: 0 1rem;
	border-radius: 0.5rem;
	cursor: pointer;
	white-space: nowrap;
	position: relative;
}
.border_check_wrap label span:before{
	content: '';
	display: inline-block;
	width: 1.3rem;
	height: 1.3rem;
	border: 0.1rem solid #777777;
	background: #FFFFFF;
	border-radius: 0.3rem;
	margin-right: 0.5rem;
}
.border_check_wrap label input:checked + span{
	border: 0.3rem solid #32A2CD;
	background: #FFFFFF;
	line-height: 2.4rem;
	padding: 0 0.8rem;
}
.border_check_wrap label input:checked + span:before{
	border: 0.1rem solid #32A2CD;
	background: #32A2CD;
}
.border_check_wrap label input:checked + span::after{
	content: '';
	display: block;
	width: 1rem;
	height: 0.6rem;
	border-left: 0.2rem solid #FFFFFF;
	border-bottom: 0.2rem solid #FFFFFF;
	transform: rotate(-45deg);
	position: absolute;
	top: 0.8rem; bottom: auto;
	left: 1rem; right: auto;
}

/* ボタンチェックボックス センターver */
.btn_check_wrap_center{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
}
.btn_check_wrap_center label{
	display: block;
	margin-right: 0.7rem;
}
.btn_check_wrap_center label span{
	display: block;
	border: 0.1rem solid #98A6B5;
	background: #FFFFFF;
	line-height: 2.8rem;
	padding: 0 1rem;
	border-radius: 0.5rem;
	cursor: pointer;
}
.btn_check_wrap_center label input:checked + span{
	background: #98A6B5;
	color: #FFFFFF;
}

input.error,
select.error{
	border-color: #DC1E32;
}
.input_error{color: #DC1E32;}
.input_error::before{
	content: "!";
	background: #DC1E32;
	color: #FFFFFF;
	display: inline-block;
	border-radius: 50%;
	text-align: center;
	width: 1.6rem;
	height: 1.6rem;
	line-height: 1.6rem;
	font-size: 1.2rem;
	font-weight: 500;
	margin-right: 0.5rem;
}


/* 検索枠 */
.search_wrap{
	padding: 2.5rem;
	display: flex;
	flex-flow: row nowrap;
}
.search_keyword_wrap{
	position: relative;
	width: 34rem;
}
.search_keyword_wrap::after{
	content: '';
	position: absolute;
	right: 1rem;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-image: url(../../img/search.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	pointer-events: none;
}


/* 検索オプション */
#search_option{
	/* position: relative; */
}
#search_option.active .search_option_wrap,
#search_option .search_option-toggle_btn{
	background: #F8F9FB;
	border: 0.3rem solid #C6CDD6;
	opacity: 1;
}
#search_option .search_option_wrap{
	height: 0;
	overflow: hidden;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	padding: 0;
	border: 0 solid #C6CDD6;
	opacity: 0;
}
#search_option.active .search_option_wrap{
	height: fit-content;
	padding: 3.5rem 0;
}
#search_option .search_option,
#search_option .search_option_btn_wrap{
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 100rem;
	margin: 0 auto;
}
#search_option .search_option>div{
	width: 45%;
}
#search_option .search_option dl{
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	padding: 0;
	margin-bottom: 1.5rem;
	background: unset;
}
#search_option .search_option dl dt,
#search_option .search_option dl dd{
	padding: 0;
	max-width: unset;
	line-height: 1.5em;
}
#search_option .search_option dl dt{
	width: 10rem;
}
#search_option .search_option dl dd{
	width: calc(100% - 10rem);
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}

#search_option .search_option_btn_wrap{
	align-items: center;
	margin-top: 2rem;
}
.search_option_clear_btn{
	color: #00ACC1;
	font-weight: 500;
	cursor: pointer;
}
.search_option_clear_btn:hover{
	opacity: 0.7;
}
#search_option .search_option_btn_wrap a{
	background: #3B4043;
	color: #FFFFFF;
	border-radius: 0.5rem;
	border: none;
	width: 20rem;
	line-height: 5rem;
}

#search_option .search_option-toggle_btn{
	padding: 0.5rem 3.5rem 1rem;
	width: fit-content;
	margin: 0 auto 2rem;
	border-top: none;
	border-radius: 0 0 1rem 1rem;
	margin-top: 0rem;
	position: relative;
	cursor: pointer;
}
#search_option.active .search_option-toggle_btn{
	margin-top: -0.3rem;
}
#search_option .search_option-toggle_btn:after{
	content: '▼';
	color: #C6CDD6;
	display: inline-block;
	margin-left: 1rem;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	pointer-events: none;
}
#search_option.active .search_option-toggle_btn:after{
	content: '▼';
	transform: rotate(180deg);
}

#search_option .search_option input[type="text"],
#search_option .search_option input[type="date"]{
	line-height: 2.8rem;
	font-size: 1.6rem;
	padding: 0 1.5rem;
}






/* ページャ */
.pager{
	position: fixed;
	bottom: 4.5rem;
	right: 4.5rem;
	z-index: 1100;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
	background: rgba(255, 255, 255, 90%);
	border-radius: 1rem;
	font-size: 1.8rem;
}
.pager li{
	display: block;
	margin-left: 2.5rem;
	text-align: center;
}
.pager-arrow:first-child{
	margin-left: 0;
	margin-right: 1rem;
}
.pager-arrow:last-child{
	margin-left: 3.5rem;
}
.pager-arrow{
	width: 5rem;
	height: 5rem;
	line-height: 5rem;
	background: #FAFAFA;
	border: 0.2rem solid #E9E9E9;
	border-radius: 1rem;
	position: relative;
}
.pager-arrow img{
	display: block;
	width: fit-content;
	height: fit-content;
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	margin: auto;
}
.pager .pager-number,
.pager li.current{
	line-height: 5rem;
}
.pager .pager-number{
	width: fit-content;
}
.pager li.current{
	color: #004BB1;
}
.pager a{
	display: block;
	width: 100%;
	height: 100%;
	color: #98A6B5;
}
.pager a:hover{
	opacity: 0.7;
}

/* commom　ここまで　------------------------------------ */



/* ログイン画面 */
main.login_page{
	position: relative;
}
main.login_page .login_wrap{
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	margin: auto;
	display: block;
	width: 100%;
	max-width: 64rem;
	height: fit-content;
}
main.login_page .login_wrap>div{
	background: #FFFFFF;
	border: 0.2rem solid #E9E9E9;
	padding: 4rem 4rem 0;
}
main.login_page .login_wrap .header_title{
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 4rem;
}
#login_form dl{
	padding: 0 0 4.5rem;
	background: #FFFFFF;
}
#login_form dl dt{
	width: 22rem;
	padding: 0;
}
#login_form dl dd{
	width: calc(100% - 22rem);
	max-width: unset;
	padding: 0;
}
#login_form dl dd input{
	width: 100%;
}
main.login_page .login_wrap a{
	margin: 4rem auto;
}
main.login_page .logout_message{
	text-align: center;
	color: #20B2AA;
	padding: 1rem;
	margin-bottom: 3rem;
	/* font-weight: 500; */
}


/* 一覧ページ */
table a:hover,
table a:hover *{
	color: #3498DB!important;
}
table{
	width: 100%;
}
table tr{
	border-bottom: 0.1rem solid #E9E9E9;
}
table tr.table_sticky{
	position: sticky;
	top: 6rem;
	z-index: 500;
}
table th{
	font-size: 1.3rem;
	font-weight: 500;
	padding: 1rem 0 1rem 3.5rem;
	background: #F7F5F5;
	white-space: nowrap;
	vertical-align: middle;
}
table td{
	font-size: 1.5rem;
	line-height: 2.1rem;
	padding: 1.5rem 0 1.5rem 3.5rem;
	background: #FFFFFF;
	vertical-align: middle;
}
table td span.companyname_ruby{
	display: block;
	font-size: 1.2rem;
	color: #7F7F7F;
}
table td.nowrap{
	white-space: nowrap;
}

/* 各種　詳細画面 */
.detail_wrap dl{
	align-items: center;
}


/* 案件管理表一覧 */
#case_list .case_day_of_week{}
#case_list .orderdate{}
#case_list .finishingdate_wrap{
}
#case_list .finishingdate_wrap .finishingdate{
	margin-left: 1rem;
}
[class*="day_of_week-"]{
	display: inline-block;
	width: 2.1rem;
	line-height: 2.1rem;
	text-align: center;
	color: #FFFFFF;
	margin-left: 1rem;
}
[class*="day_of_week-"][class*="-border"]{
	position: relative;
	z-index: 0;
	width: fit-content;
	text-align: left;
	color: unset;
	background: unset!important;
}
[class*="day_of_week-"][class*="-border"]:before{
	content: '';
	display: block;
	width: 100%;
	height: 0.5rem;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
[class*="day_of_week-"][class*="-sun"][class*="-border"]:before,
[class*="day_of_week-"][class*="-sun"]{
	background: #FF4500;
}
[class*="day_of_week-"][class*="-mon"][class*="-border"]:before,
[class*="day_of_week-"][class*="-mon"]{
	 background: #87CEFA;
	}
[class*="day_of_week-"][class*="-tue"][class*="-border"]:before,
[class*="day_of_week-"][class*="-tue"]{
	 background: #FFA07A;
	}
[class*="day_of_week-"][class*="-wed"][class*="-border"]:before,
[class*="day_of_week-"][class*="-wed"]{
	 background: #20B2AA;
	}
[class*="day_of_week-"][class*="-thu"][class*="-border"]:before,
[class*="day_of_week-"][class*="-thu"]{
	 background: #FFD700;
	}
[class*="day_of_week-"][class*="-fri"][class*="-border"]:before,
[class*="day_of_week-"][class*="-fri"]{
	 background: #4682B4;
	}
[class*="day_of_week-"][class*="-sat"][class*="-border"]:before,
[class*="day_of_week-"][class*="-sat"]{
	background: #6A5ACD;
}
#case_list th:last-child{
	padding: 1rem 1rem 1rem 1rem;
	width: 8rem;
}
#case_list td:last-child{
	padding: 1.5rem 1rem 1.5rem 1rem;
	width: 8rem;
}

.table_link_list{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
}
.table_link_list li{
	margin-right: 1rem;
}
.table_link_list li:last-child{
	margin-right: 0;
}
.table_link_list li a{
	white-space: nowrap;
	color: #3498DB;
	text-decoration: underline;
}
.table_link_list li a:hover{
	opacity: 0.7;
}
.web_companyname_wrap{
	/* display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center; */
	padding-left: 4rem;
	text-indent: -2.8rem;
}
.web_companyname_wrap .icon_web_wrap{
	display: inline-block;
	width: 1.5rem;
	height: 1.5rem;
	margin-right: 0.9rem;
	vertical-align: middle;
}
.web_companyname_wrap .icon_web_wrap img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.web_companyname_wrap span{
	display: block;
}



/* トグルメニュー */
#layer_wrap,
#layer_wrap .open-layer{
	display: flex;
	flex-flow: row nowrap;
	justify-content: stretch;
	align-items: stretch;
}
#layer_wrap{
	width: 100%;
	/* overflow: hidden; */
	height: calc(100% - 9rem);
}
#layer_wrap .open-layer{
	width: 54.2rem;
}
#layer_wrap .open-layer>div{
	border-right: 0.1rem solid #E9E9E9;
	padding: 1.5rem 1.5rem 0;
}
.main-layer{
	width: calc(100% - 54.2rem);
	overflow-x: hidden;
}
.main-layer>*{
	padding: 0 2.4rem;
}
.main-layer table{
	width: 100%;
	min-width: unset;
	max-width: unset;
	overflow-x: auto;
	margin-right: 2rem;
}
.main-layer table th,
.main-layer table td{
	border: 0.1rem solid #C6CDD6;
	text-align: center;
}
.main-layer table th{
	padding: 0.5rem 1rem;
}
.main-layer table td{
	padding: 1rem 2.5rem;
}
/* トグルボタン */
.main-layer{
	position: relative;
}
#layer-toggle_btn{
	position: absolute;
	top: 1.3rem;
	/* left: 0.5rem; */
	left: 1rem;
	display: flex;
	flex-flow: column nowrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 3rem;
	height: 2rem;
	padding: 0;
}
#layer-toggle_btn span{
	display: block;
	background: #3B4043;
	height: 0.3rem;
}
#layer-toggle_btn span:first-child{
	width: 2.1rem;
}
#layer-toggle_btn span:nth-child(2){
	width: 1.5rem;
}
#layer-toggle_btn span:nth-child(3){
	width: 2.1rem;
}
#layer-toggle_btn span:nth-child(4){
	width: 1.2rem;
	position: absolute;
	top: 1.2rem;
	left: 1.7rem;
	transform: rotate(45deg);
}
#layer-toggle_btn span:last-child{
	width: 1.2rem;
	position: absolute;
	bottom: 1.2rem;
	left: 1.7rem;
	transform: rotate(-45deg);
}
/* 開閉時　トグルボタン */
#layer-toggle_btn.layer_active{
	align-items: flex-end;
}
#layer-toggle_btn.layer_active span:nth-child(4){
	left: auto;
	right: 1.7rem;
	transform: rotate(-45deg);
}
#layer-toggle_btn.layer_active span:last-child{
	left: auto;
	right: 1.7rem;
	transform: rotate(45deg);
}
/* 開閉時　枠伸縮 */
aside,
aside .menu_wrap li img,
main.menu_page .contents_wrap,
.contents_wrap #layer_wrap .open-layer,
.contents_wrap .main-layer{
	transition: 0.8s;
	white-space: nowrap;
	overflow-x: hidden;
}
aside.layer_active,
.contents_wrap.layer_active #layer_wrap .open-layer{
	transition: 0.8s;
}
aside.layer_active{
	width: 5rem;
}
aside.layer_active .menu_wrap li img{
	margin: 0 1.5rem 0 0.5rem;
}
main.menu_page .contents_wrap.layer_active{
	width: calc(100% - 5rem);
}
.contents_wrap.layer_active #layer_wrap .open-layer{
	width: 0;
}
.contents_wrap.layer_active .main-layer{
	width: 100%;
}
/* .contents_wrap.layer_active .main-layer table{
	white-space: initial;
	margin-right: 0;
} */



/* 案件管理　詳細 */
/* caselayer_menu_wrap caselayer_case_wrap 共通 */
.caselayer_menu_wrap li,
.caselayer_case_wrap li{
	border: 0.1rem solid #E9E9E9;
	border-radius: 0.5rem;
	margin-bottom: 0.5rem;
	padding: 1rem 1.2rem;
}
.caselayer_menu_wrap li.current,
.caselayer_case_wrap li.current,
.caselayer_menu_wrap li:hover,
.caselayer_case_wrap li:hover{
	border: 0.3rem solid #32A2CC;
	padding: 0.8rem 1rem;
}
/* caselayer_menu_wrap */
.caselayer_menu_wrap{}
.caselayer_menu_wrap li.current,
.caselayer_menu_wrap li a{
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}
.caselayer_menu_wrap li{
	width: 19rem;
}
.caselayer_menu_wrap li span{
	color: #C6CDD6;
}
/* caselayer_case_wrap */
.caselayer_case_wrap{
}
.caselayer_case_wrap>p{
	color: #858C90;
}
.caselayer_case_wrap ul{
	margin-top:2.5rem;
	height: calc(100vh - 21.4rem);
	overflow-y: auto;
}
.caselayer_case_wrap li{
	width: 29rem;
}
.caselayer_companyname{
	color: #008CC1;
	font-size: 1.5rem;
	line-height: 2.1rem;
	margin-bottom: 0.5rem;
	font-weight: 500;
}
.caselayer_casename{
	font-size: 1.2rem;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-end;
}
.caselayer_casename>div{
	display: flex;
	flex-flow: column nowrap;
}


#case_detail{
	background: #FFFFFF;
	height: calc(100vh - 19.8rem);
	overflow-y: auto;
}
/* 複製・削除　枠 */
#main-layer_header{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
	height: 4.8rem;
	z-index: 5;
}
/* ボタン枠 */
.case_detail_btn_wrap,
.invoice_detail_btn_wrap{
	padding-top: 2.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 0.1rem solid #E9E9E9;
}
.case_detail_btn_wrap .select_wrap,
.invoice_detail_btn_wrap .select_wrap{
	line-height: 3.2rem;
	margin-right: 3rem;
}
.case_detail_btn_wrap .select_wrap select,
.invoice_detail_btn_wrap .select_wrap span{
	display: block;
	padding: 0 3rem 0 1rem;
	background: #008CC1;
	color: #FFFFFF;
	border: 0;
	border-radius: 0.2rem;
	font-size: 1.2rem;
}
.select_wrap.select_white::after{
	background-image: url('../../img/select_white.png');
}
.case_detail_link_list a,
.case_detail_link_list img,
.invoice_detail_link_list a,
.invoice_detail_link_list img{
	display: block;
	height: 3.2rem;
}
.case_detail_link_list li,
.invoice_detail_link_list li{
	margin-left: 0.5rem;
}
.flex_between{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}
.flex_start{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
}
.flex-nowrap{
	flex-wrap: nowrap;
}
/* 基本情報 受注内容 共通 */
.case_detail_header,
.invoice_detail_header{
	position: relative;
}
.case_detail_header>a,
.invoice_detail_header>a{
	display: block;
	position: absolute;
	top: 0;
	right: 0;
}
.case_detail_header>a img,
.invoice_detail_header>a img{
	display: block;
	width: 13rem;
	height: 3.2rem;
	object-fit: contain;
}
/* 基本情報 */
.case_detail_wrap,
.invoice_detail_wrap{
	padding: 1.5rem 0;
	border-bottom: 0.1rem solid #E9E9E9;
}
.case_detail_wrap .companyname,
.invoice_detail_wrap .companyname{
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
}
.case_detail,
.invoice_detail{
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	white-space: nowrap;
	align-items: flex-start;
	max-width: 100rem;
}
.case_detail dl,
.invoice_detail dl{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	max-width: 30rem;
}
.case_detail dl dt,
.invoice_detail dl dt{
	width: 9.5rem;
	font-size: 1.4rem;
	line-height: 2.8rem;
	color: #858C90;
}
.case_detail dl dd,
.invoice_detail dl dd{
	width: calc(100% - 9.5rem);
	font-size: 1.5rem;
	line-height: 2.8rem;
}
.invoice_detail_case_wrap .invoice_detail dl dd{
	white-space: normal;
	padding-right: 1rem;
}
.case_detail>div{
	width: 10rem;
	font-size: 1.5rem;
	line-height: 2.8rem;
}
/* 受注内容 */
.case_detail_order_wrap,
.invoice_detail_order_wrap{
	padding: 1.5rem 0;
}
.case_detail_price_wrap,
.invoice_detail_price_wrap{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	padding: 0 0 1.5rem;
	border-bottom: 0.1rem solid #E9E9E9;
	margin-bottom: 1.5rem;
}
.case_detail_price_wrap dl,
.invoice_detail_price_wrap dl{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	white-space: nowrap;
}
.case_detail_price_wrap dl dt,
.invoice_detail_price_wrap dl dt{
	font-size: 1.4rem;
	color: #858C90;
	margin-right: 0.5rem;
}
.case_detail_price_wrap dl dd,
.invoice_detail_price_wrap dl dd{
	font-size: 1.8rem;
	line-height: 3.6rem;
}
.case_detail_price_wrap dl.total_price dd,
.invoice_detail_price_wrap dl.total_price dd,
.invoice_detail_price_wrap dl.carryover_price dd{
	font-size: 2.4rem;
	font-weight: 500;
	margin-right: 2rem;
}
.invoice_detail_price_wrap dl.carryover_price{
	margin-left: 3rem;
}

.order_table_wrap{
	width: 100%;
	overflow-x: auto;
	white-space: nowrap;
	padding-bottom: 2rem;
}
#order_table{
	position: relative;
}
#order_table tr:first-child{
	position: sticky;
	top: 0;
	border: 0.1rem solid #C6CDD6;
}
#order_table th{
	font-size: 1.2rem;
}
#order_table td{
	font-size: 1.4rem;
}

.spec1-modal .select_wrap,
.spec2-modal .select_wrap,
.curtain_treatment_type-modal .select_wrap,
.shade_treatment_type-modal .select_wrap,
.spec1-modal input,
.spec2-modal input,
.curtain_treatment_type-modal input,
.shade_treatment_type-modal input{
	max-width: 50%;
	margin: 0 auto 1.5rem;
}

.tassel-modal .select_wrap,
.tassel-modal input{
	max-width: 30%;
	margin: 0 auto 1.5rem;
}

.spec1-modal select,
.spec2-modal select,
.curtain_treatment_type-modal select,
.tassel-modal select,
.shade_treatment_type-modal select,
.spec1-modal input,
.spec2-modal input,
.curtain_treatment_type-modal input,
.tassel-modal input,
.shade_treatment_type-modal input{
	padding: 0 2rem;
}

.curtain_treatment_type-modal > div{
	max-width: 120rem;
	margin-top: 10vh;
}

.spec1-modal > div{
	margin-top: 10vh;
}

.spec2-modal > div{
	margin-top: 10vh;
}

.shade_treatment_type-modal > div{
	margin-top: 10vh;
}

/* 案件管理　案件新規登録　見積金額入力 */
/* 基本情報　受注内容　共通 */
.casemanagement_registration_form h2{
	font-size: 1.4rem;
	font-weight: 500;
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 0.1rem solid #E9E9E9;
}
.casemanagement_registration_form h2:first-child{
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

/* 案件新規登録-基本情報 */
.casemanagement_form_wrap{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: stretch;
}
.casemanagement_form_wrap>div{
	width: 50%;
	padding: 2.5rem 4rem;
}
.casemanagement_form_wrap>div:first-child{
	border-right: 0.1rem solid #E9E9E9;
}
.casemanagement_form_wrap h2{
	color: #3B4043;
}
.casemanagement_form_wrap dl{
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
}
form dl:nth-child(2n), .detail_wrap dl:nth-child(2n){
	background: unset;
}
.casemanagement_form_wrap dt{
	width: fit-content;
	padding: 0;
	line-height: 3rem;
	font-size: 1.2rem;
	color: #858C90;
}
.casemanagement_form_wrap dt .icon_required{
	margin-left: 1rem;
}
.casemanagement_form_wrap dd{
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	width: 100%;
	max-width: unset;
	padding-right: 0;
}
.casemanagement_form_wrap .select_wrap{
	max-width: unset;
}


/* 受注内容　見積金額入力　共通 */
.casemanagement_detail{
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	position: relative;
}
.casemanagement_detail .companyname{
	font-size: 1.6rem;
	font-weight: 500;
	margin: 0 0 1.3rem;
}
.casemanagement_detail_wrap{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	width: 100%;
	max-width: 78rem;
}
.casemanagement_detail_wrap dl{
	width: 26rem;
	padding: 0.4rem 0;
	max-width: unset;
	white-space: nowrap;
}
.casemanagement_detail_wrap dt{
	width: 10rem;
	padding: 0;
	font-size: 1.4rem;
	line-height: 2rem;
	color: #858C90;
}
.casemanagement_detail_wrap dd{
	width: calc(100% - 10rem);
	padding: 0 1rem 0 0;
	font-size: 1.5rem;
	line-height: 2rem;
	white-space: normal;
}

.casemanagement_order_detail{}
.casemanagement_order_detail_table_head{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 2rem;
}
.casemanagement_order_detail_table_head .select_wrap{
	line-height: 3.6rem;
}
.casemanagement_order_detail_table_head .btn-paper{
	line-height: 3.6rem;
	height: 3.8rem;
	margin-left: 0.6rem;
}
.casemanagement_order_detail_table_head dt,
.casemanagement_order_detail_table_head dd{
	padding-right: 1em;
	line-height: 2.5rem;
}
.casemanagement_order_detail_table_head dt{
	width: fit-content;
	padding-left: 0;
	font-size: 1.4rem;
	line-height: 4rem;
	color: #858C90;
}
.casemanagement_order_detail_table_head dd{
	width: 10rem;
	padding-right: 0;
}
.casemanagement_order_detail_table_head dd .js_change_allunit_price{
	line-height: 4rem;
}

.input_table_wrap table{
	width: fit-content;
}
.input_table_wrap table tr{
	border: none;
}
.input_table_wrap th,
.input_table_wrap td{
	text-align: center;
	border: 0.1rem solid #C6CDD6;
}
.input_table_wrap th{
	padding: 0.5rem 1rem;
}
.input_table_wrap td{
	padding: 0.5rem;
}
.input_table_wrap input{
	padding: 0 0.5rem;
	/* width: fit-content; */
}
.input_table_wrap input,
.input-text__dummy{
	font-size: 1.2rem;
}
.input_table_wrap td.border_none.bg_none{
	width: fit-content;
}
.input_table_wrap td.border_none.bg_none label{
	margin: 0;
}
.input_table_wrap select{
	width: fit-content;
	padding: 0 3rem 0 0.5rem;
}
.input_table_wrap input,
.input_table_wrap select{
	border: none;
	border-bottom: 0.1rem dashed #98A6B5;
}
.input_table_wrap input:focus,
.input_table_wrap select:focus{
  outline: none;
	border-bottom: 0.1rem dashed #00ACC1;
}

.tr_sort_duplication_btn_wrap{
	display: flex;
	flex-flow: column nowrap;
	width: 1.8rem;
}
.tr_sort_duplication_btn_wrap img{
	display: block;
	margin: 0 auto;
	cursor: pointer;
	width: 1.8rem;
	height: 1.8rem;
	object-fit: contain;
}
.tr_sort_duplication_btn_wrap>div{
	position: relative;
}
.tr_sort_duplication_btn_wrap>div ul{
	visibility: hidden;
	position: absolute;
	top: 0; right: 2.2rem;
	z-index: 500;
	border: 0.1rem solid #98A6B5;
	border-radius: 0.5rem;
	background: #FFFFFF;
	padding: 1rem 1rem;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	opacity: 0;
}

.tr_sort_duplication_btn_wrap>div ul.note_view_only{
	width: 500px;
}

.tr_sort_duplication_btn_wrap>div ul.note_view_only li{
	white-space: normal;
}

.tr_sort_duplication_btn_wrap>div:hover ul{
	visibility: visible;
	opacity: 1;
}
.tr_sort_duplication_btn_wrap>div ul li{
	color: #777777;
	cursor: pointer;
}
.tr_sort_duplication_btn_wrap>div ul li:hover{
	opacity: 0.7;
}
.tr_duplication_btn_wrap{
	margin-top: 0.3rem;
}

/* 案件新規登録-受注内容 */
.casemanagement_detail_edit_btn{
	position: absolute;
	right: 0;
	top: 0;
}
.casemanagement_order_base_detail{
	padding-right: min(64rem, 50vw);
}
.casemanagement_order_base_memo{
	position: absolute;
	top: 5.7rem;
	right: 0;
	display: block;
	width: fit-content;
	min-width: 22rem;
	max-width: min(60rem, 48vw);
	max-height: 12rem;
	box-sizing: border-box;
	overflow-y: auto;
	padding: 1rem 1.2rem;
	background: #F8F8F8;
	border-radius: 0.5rem;
}
.casemanagement_order_base_memo dt{
	width: auto;
	padding: 0;
	margin-bottom: 0.4rem;
	font-size: 1.3rem;
	line-height: 1.8rem;
	color: #858C90;
}
.casemanagement_order_base_memo dd{
	width: auto;
	padding: 0;
	font-size: 1.4rem;
	line-height: 2rem;
	color: #3B4043;
	white-space: normal;
	overflow-wrap: anywhere;
}
@media screen and (max-width: 1100px){
	.casemanagement_order_base_detail{
		padding-right: 0;
	}
	.casemanagement_order_base_memo{
		position: static;
		margin: 1.2rem 0 0 auto;
		max-width: 60rem;
		max-height: 12rem;
	}
}
.casemanagement_order_wrap{
	padding: 1.5rem 3.7rem;
	max-width: unset!important;
	display: block!important;
}

/* 案件新規登録-見積金額入力 */
.casemanagement_estimate_wrap{
	padding: 1.5rem 3.7rem;
}
.estimate_price_wrap dl,
.estimate_price_wrap dt,
.estimate_price_wrap dd{
	width: fit-content;
}
.estimate_price_wrap dt,
.estimate_price_wrap dd{
	padding-right: 1em;
	line-height: 2.5rem;
}
.estimate_price_wrap dt{}
.estimate_price_wrap dd{
	font-size: 1.8rem;
}
.estimate_price_wrap dl:first-child dd{
	font-size: 2.4rem;
	font-weight: 500;
}
.estimate_table{
	width: fit-content;
	min-width: 71.5rem;
}
.estimate_table .estimate_table_h2{
	padding: 2.5rem 0 0.5rem;
	font-size: 1.2rem;
	color: #858C90;
}

/* input入力と同時に幅の可変をするjs用CSS */
.input-text__item {
  position: relative;
}
.input-text__dummy {
  display: inline-block;
  overflow: hidden;
  min-width: 1em;
  padding: 3px 1rem;
  white-space: nowrap;
  opacity: 0;
}
.input-text__dummy::before {
  content: '';
}
.input-text__dummy:empty::before {
  content: attr(data-placeholder);
}
.input-text{
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  box-sizing: border-box;
  width: calc(100% - 1rem)!important;
}





/* -----------------　請求書　----------------- */
.invoice_list_wrap{
	width: 100%;
	overflow-x: auto;
}

/* タブ */
.invoice_list_tab_wrap,
.order_tab_wrap{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
}
.order_tab_wrap{
	border-bottom: 0.1rem solid #e9e9e9;
	margin-bottom: 2rem;
}
.invoice_list_tab_wrap>div:not(.total_sales_amount_wrap),
.order_tab_wrap>div{
	padding: 0;
	border: 0.1rem solid #e9e9e9;
	border-left: none;
	/* border-bottom: none; */
	color: #3498DB;
	width: 8em;
	text-align: center;
	cursor: pointer;
	line-height: 4.4rem;
}
.order_tab_wrap>div{
	border-bottom: none;
}
.invoice_list_tab_wrap>div>a,
.order_tab_wrap>div>a{
	display: block;
	line-height: 4.2rem;
}
.invoice_list_tab_wrap>div:not(.total_sales_amount_wrap):hover,
.order_tab_wrap>div:hover{
	background: #F7F5F5;
	color: #000000;
}
.invoice_list_tab_wrap>div.active,
.order_tab_wrap>div.active{
	background: #F7F5F5;
	border-bottom: none;
	color: #000000;
	cursor: unset;
}

.invoice-detail_wrap{
	padding: 0 2.4rem;
}

.total_sales_amount_wrap{
	line-height: 4.4rem;
    margin-left: auto;
    padding-right: 2rem;
}

.invoice_detail_list_wrap li{
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
	border: 0.1rem solid #C6CDD6;
}
.invoice_detail_case_wrap{
	/* flex: 1; */
	width: calc(100% - 7.6rem);
	padding-right: 3.5rem;
}
.invoice_detail_case_wrap>.invoice_detail{
	width: 100%;
}
.invoice_detail_case_wrap>.invoice_detail.border_b{
	padding-bottom: 0.5rem;
}
.invoice_detail_case_wrap .invoice_detail_price_wrap{
	border: none;
	transform: scale(0.9);
	transform-origin: left;
	margin-bottom: 0;
	padding-bottom: 0;
}
.main-layer table.invoice_detail_table{
	margin-right: 0;
}
.main-layer table.invoice_detail_table td:first-child{
	text-align: left;
}
.invoice_detail_btn_paper_wrap{
	display: flex;
	flex-flow: column nowrap;
	width: 7.6rem;
}
.invoice_detail_btn_paper_wrap a{
	margin-bottom: 1rem;
}



.w_fit{
	width: fit-content;
}

.disp_cent{
	margin: 4rem auto 0;
}

.disp_right{
	margin:0 2rem 0 auto;
}

.pb_4r{
	padding-bottom: 4rem !important;
}


/* フラグ色分け */
.invoice_flag{
	border: 0.1rem solid #E9E9E9;
	padding: 0.5rem 1rem;
	font-size: 1.3rem;
	line-height: 1.3rem;
	color: #FFFFFF;
}
/*未入金 未請求*/
.invoice_flag.not_deposited,
.invoice_flag.unclaimed{
	border-color: #DC1E32;
	background: #DC1E32;
}
/*入金済 請求済*/
.invoice_flag.deposited,
.invoice_flag.claim{
	border-color: #008CC1;
	background: #008CC1;
}

/* 請求詳細ページ　ボタン色分け */
#status-open>span,
#invoice_status-open>span{
	display: block;
	padding: 0 3rem 0 1rem;
	color: #FFFFFF;
	border: 0;
	border-radius: 0.2rem;
	font-size: 1.2rem;
}
/*未入金 未請求*/
#status-open>span.not_deposited,
#invoice_status-open>span.unclaimed{
	background: #DC1E32;
}
/*入金済 請求済*/
#status-open>span.deposited,
#invoice_status-open>span.claim{
	background: #008CC1;
}


.invoice_order_table_wrap{
	border: 0.1rem solid #C6CDD6;
	padding: 1.5rem;
	margin-bottom: 2.5rem;
	width: fit-content;
}





/* ページトップへのボタン */
#go_top_btn{
	position: fixed;
	bottom: 3.5rem;
	right: 3.5rem;
	margin: 0;
	padding: 0;
	cursor: pointer;
	display: none;
}
#go_top_btn:hover{
	opacity: 0.7;
}
#go_top_btn img{
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	object-fit: contain;
}

/* 案件一覧 */
#case_list tr.unconfirmed td {
	background: #FFF4B8;
}