INPUT[type=password], INPUT[type=text] {
	margin-left: initial;
	margin-right: initial;
	height: initial;
}
INPUT[type="text"],
INPUT[type="email"],
INPUT[type="url"],
SELECT,
TEXTAREA {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid #d0d0d0;
	border-radius: 0.5em;
	background: #fff;
	font-size: 1rem;
	line-height: 1.45;
	overflow-wrap: anywhere;
	word-break: break-word;
	transition: border-color .15s ease, box-shadow .15s ease;
	outline: 0;
	display: block;
	margin-top: 8px;
	background-color: #FFFFFF;
}
TEXTAREA {
	min-height: 14em;
	resize: vertical;
}

#IQF:required:invalid,
.iq-form:required:invalid {
	border-color: #e28080;
}
#IQF label:has(textarea),
.iq-form label:has(textarea) {
	grid-column: 1 / -1;
}


INPUT:focus,
SELECT:focus,
TEXTAREA:focus {
	border-color: #7aa7ff;
	outline: 0;
}

FORM LABEL {
	white-space: normal;
}
FORM LABEL.mainCB {
	font-weight: 600;
}
  
INPUT[type="checkbox"],
INPUT[type="radio"] {
	width: auto !important;
	display: inline-block !important;
	vertical-align: middle;
}
.input_invisible {
	opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1;
}
/** ■■■ フォーム入力 ■■■ **/
.memlistNDbox { align-items: center; margin-top:0.4em; line-height: 1.45; margin-left:initial!important; margin-right:initial!important; }
.modeChangeBtn { margin-right: 1vh; }
.modeChangeBtn INPUT, .btn INPUT { display: none; }
.modeChangeBtn {
    margin-right: 15px;
}
.modeChangeBtn INPUT {
    display: none;
}
.modeChangeBtn SPAN {
    color: #333;
    border: 1px solid #333;
    background-color: #FFFFFF;
    border-radius: 0.5em;
    padding: 5px 20px;
}
.modeChangeBtn INPUT:hover + SPAN {
    color: #FFF;
    background: #FBB;
    border: 1px solid #FBB;
}

.checkboxHover, .zeroCount {
    padding-right: 13px;
    padding-left: 12px;
    padding-bottom: -3px;
    padding-top: 1px;
    white-space: nowrap;
}
.checkboxHover:hover {
    color: #333;
    background: #FBB;
    border: 1px solid #FBB;
    border-radius: 0.5em;
}
.captionDiv {
	font-size: 2vw;
	font-weight: bold;
	text-align: center;
	padding: 10px;
/*    white-space: nowrap;*/

}
/* エラー処理 */
.breakers.off {
	display: none;
}
INPUT[id^="Breakers"] {
	background-color: #b3424a;
	padding-left: 10px;
}
INPUT[id^="Breakers"]::placeholder {
	color: #FFFFFF;
}
P.breakers {
	background-color: #b3424a;
	color: #FFFFFF;
	padding: 5px;
	margin-right: 1em;
}
.CbDiv {
	margin: 0.5vw;
	color: #b3424a;
}
.errorSpan {
	color: red;
	background-color: #fee;
	display: inline-block;
	border-radius: 0.5em;
	margin-left: 0.5em;
	padding: 1px 0.5em 1px 0.5em;
}
.errorSpan:empty { display: none; }

.formWindow {
	background-color: #F8F5E3;
	min-height: calc(var(--vh, 1vh) * 150);

}


/*dbmembers*/
.regiclass INPUT {
	position: absolute;
	white-space: nowrap;
	width: 1px;
	height: 1px;
	border: 0;
	margin: -1px;
	padding: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}
.dbSerachBtn SPAN, .modeChangeBtn SPAN {
	color: #333333;
	border: 1px solid #333;
	border-radius: 0.5em;
	padding: 0.5vh 1.5vh;
	white-space: nowrap;

}
.dbSerachBtn INPUT:hover + SPAN {
	background: -webkit-gradient(linear, left bottom, left top, from(#f1e767), to(#feb645));
	background: -webkit-linear-gradient(bottom, #f1e767 0%, #feb645 100%);
	background: linear-gradient(to top, #f1e767 0%, #feb645 100%);
	font-weight: bold;
}
.modeChangeBtn.on {
	background: -webkit-gradient(linear, left bottom, left top, from(#f1e767), to(#feb645));
	background: -webkit-linear-gradient(bottom, #f1e767 0%, #feb645 100%);
	background: linear-gradient(to top, #f1e767 0%, #feb645 100%);
	font-weight: bold;
}
#MODE_P.on, #MODE_C.on, #MODE_S.on {
	background: -webkit-gradient(linear, left bottom, left top, from(#f1e767), to(#feb645));
	background: -webkit-linear-gradient(bottom, #f1e767 0%, #feb645 100%);
	background: linear-gradient(to top, #f1e767 0%, #feb645 100%);
	font-weight: bold;
}


/*ボタン*/
.mainbtn { 
	padding-top: 1em;
	padding-bottom: 1em;
	width: 100%;
}
.subbtn { 
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	width: 100%;
}
/*子要素ありチェックボックスの開閉*/
.skills-parent { display:inline-block; }
.skills-sub { display:none; margin-left:0.6em; }
.skills-sub.appended { display:inline-block; }
.skills-sub label { display:inline-block; }

/* 外側で行内配置 */
#SKPD .PlusRow {
	display:inline-flex;
	align-items:stretch;
	gap:0;
	width: 100%;
}

/* 左: select（角丸は左のみ） */
#SKPD .PlusSelect {
	border: 1px solid #ccc;
	border-right: 0;
	border-radius: 0.5em 0 0 0.5em;
	padding: 0.4em 0.5em;
	width: 30%;
}

/* 右: input（角丸は右のみ） */
#SKPD .PlusInput {
	border: 1px solid #ccc;
	border-radius: 0 0.5em 0.5em 0;
	padding: 0.4em 0.6em;
	width: 70%;
}
#SFED {
	background-color: #FFFFFF;
	color:#000000;
}
#SFED[disabled] {
	background: rgba(255, 255, 255, 0.471);
	color: #FFFFFF;
}
DETAILS[open] .label-open {
display:block;
}
DETAILS .label-open {
	display:none;
}
DETAILS[open] .label-close {
	display:none;
}
DETAILS .label-close {
	display:block;
}
