@charset "UTF-8";

/* インプット系 */
.ctl
	{
	display: block;
	border: 1px solid #ced4da;
	border-radius: 3px;
	}
input[type="date"]{
	width: max-content;
	min-width: 6em; 
}
input[type="time"]{
	width: max-content;
	min-width: 3em; 
}
input[type="datetime-local"]{
	width: max-content;
	min-width: 9em;
}
input[type="month"]{
	width: max-content;
	min-width: 6em;
}

input[type="date"].ctl, input[type="time"].ctl,
input[type="datetime-local"].ctl, input[type="month"].ctl
	{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	}

input[type="text"],input[type="password"],input[type="date"],input[type="time"],
input[type="datetime-local"], input[type="month"], input[type="number"], select,textarea
	{
	border-radius:3px;
	border: 1px solid #999;
	padding: 4px;
	display:inline-block;
	}

input[type="text"],input[type="password"],input[type="date"],input[type="time"],
input[type="datetime-local"], input[type="month"], input[type="number"], select
	{
	height:26px;
	margin:0;
	padding:0 4px;
	line-height:22px;
	font-size:100%;
	vertical-align: middle;
	outline:0;
	max-width: 100%; /* 枠はみ出し防止 */
	}
/* ナンバー */
input[type="number"]
	{
	text-align: right;
	}

input:read-only,
textarea:read-only
	{
	border-color: #ccc;
	}

/* ラジオボタン, チェックボックス */
input[type="radio"], input[type="checkbox"]
	{
	box-sizing: border-box;
	padding: 0;
	}

/* select reset解除 */
select
	{
	-moz-appearance: menulist;
	-webkit-appearance: menulist;
	}
select::-ms-expand
	{
	display: block;
	}

/* input と icon が1セットの場合 */
/* text-box:icon */
.icon_input
	{
	float:left;
	}
.icon_input input
	{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	width: 100%;
	min-width: 80px; /* おしつぶされないように最低限確保 */
	}
.icon_tag
	{
	float:left;
	display: flex; /* 高さをそろえるため。 */
	}
.icon_tag a
	{
	color:#000;
	line-height:16px;
	margin-left:0;
	border-left:0;
	display:block;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	width:40px;
	padding: 5px;
	}
.icon_tag.square a
	{
	border-radius: 0;
	}

input.date_hm
    {
	width: 40px;
	margin-left: 3px;
	margin-right: 3px;
	text-align: center;
    }

input.num
	{
	text-align: right;
	}

input.error,
textarea.error,
select.error
	{
	background-color: #fcc;
	}
.error .icon_input > input
	{
	background-color: #fcc;
	}

.minmax_sep
	{
	display: inline-block;
	margin-left: 3px;
	margin-right: 3px;
	}

/* ---- カスタムコンポーネント ------------------------------- */
iwu-select,
iwu-date,
iwu-rel-input,
iwu-file-upload,
iwu-file-upload-multi
	{
	width: 100%;
	}
iwu-date.wauto
	{
	width: auto;
	}

iwu-checkbox-simple
	{
	display: inline-block;
	margin: 3px 0;
	}
.iw_ym_inner
	{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	}
.iw_ym_inner input.ym_y
	{
	width: 60px;
	text-align: center;
	}
.iw_ym_inner input.ym_m
	{
	}
.iw_ym_inner .ym_label
	{
	margin: 0 3px;
	}

.iw_select_multi_label
	{
	border: solid 1px #999;
	border-radius: 3px;
	margin-left: 10px;
	vertical-align: middle;
	}

.iw_select_multi_icon
	{
	font-size: 0.7em;
	margin-left: 5px;
	}	

.iw_select_multi_span
	{
	display: inline-block;
	width: 18px
	}		