/*--------------------------------------*/
#cnt_1000{
	width:100%;
	height:100%;
	padding-top:40px;
	padding-bottom:10px;
	background-color:#f4f6f9;
}
#cnt_1001{
	width:100%;
	height:0%;
	display:block;
	overflow:hidden;
	position:fixed;
	top:0;
	left:0;
	z-index:20000;
	transition-property:background-color;
	transition-delay:0s;
    transition-duration:0.3s;
	background-color:rgba(0,0,0,0);
}
#cnt_10011{
	width:100%;
	height:0%;
	display:block;
	overflow:hidden;
	position:fixed;
	top:0;
	left:0;
	z-index:20000;
	transition-property:background-color;
	transition-delay:0s;
    transition-duration:0.3s;
	background-color:rgba(0,0,0,0);
}

#cnt_1002{
	width:100%;
	height:40px;
	position:fixed;
	top:0;
	left:0;
	z-index:10000;
}
#cnt_1003{
	width:100%;
	height:100%;
	display:table;
	table-layout:fixed;
}
#cnt_1004{
	width:100%;
	position:fixed;
	bottom:0px;
	left:0;
}

/*--------------------------------------*/
#cnt_1001_dialog{
	max-width:900px;
	width:80%;
	min-height:200px;
	height:auto;
	max-height:calc(100% - 140px);
	background-color:#ffffff;
	margin:0 auto;
	margin-top:40px;
	overflow:scroll;
	border-radius: 6px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
#cnt_1001_close{
	margin:20px 20px 0 auto;
	width:20px;
	height:20px;
	cursor:pointer;
	position:relative;
	top:0px;
	right:0px;
}
#cnt_1001_close .btn_close{
	background-color:#333;
	height:2px;
}
#cnt_1001_close .btn_close::after{
	background-color:#333;
	height:2px;
}

#cnt_10011_dialog{
	max-width:900px;
	width:80%;
	min-height:200px;
	height:auto;
	max-height:calc(100% - 140px);
	margin:0 auto;
	margin-top:40px;
	color:#ffffff;
}
#cnt_10011_close{
	margin:20px 20px 0 auto;
	width:20px;
	height:20px;
	cursor:pointer;
	position:relative;
	top:0px;
	right:0px;
}
#cnt_10011_close .btn_close{
	background-color:#ffffff;
	height:2px;
}
#cnt_10011_close .btn_close::after{
	background-color:#ffffff;
	height:2px;
}

/*--------------------------------------*/
#cnt_1003_menu{
	display:table-cell;
	vertical-align:top;
	width:180px;
	height:100%;
	background-color:#34495e;
	overflow:hidden;
	box-shadow: 2px 0 5px rgba(0,0,0,0.1);
}
#cnt_1003_menu_inner{
	width:210px;
	height:100%;
	padding-bottom:30px;
	overflow-y:scroll;
}
.cnt_1003_menu_row{
	width:180px;
	height:40px;
	display:block;
	padding:10px;
	background-color: transparent;
	/* border-bottom:solid 1px #444444; 削除してフラットに */
	color:#ecf0f1;
	transition: background-color 0.2s;
}
.cnt_1003_menu_row:hover{
	text-decoration:none;
	background-color:rgba(255,255,255,0.1);
	color:#ffffff;
}
#cnt_1003_main{
	width:calc(100% - 180px);
	height:100%;
	display:table-cell;
	vertical-align:top;
	overflow:hidden;
	background-color:#f4f6f9;
}

/*--------------------------------------*/
.cnt_1003_menu_row_sub{
	width:100%;
	height:0;
	overflow:hidden;
	background-color: rgba(0,0,0,0.2);
}
.cnt_1003_menu_row_sub_row{
	width:100%;
	display:table;
	height:40px;
	position:relative;
	transition: background-color 0.2s;
}
.cnt_1003_menu_row_sub_row:hover{
	text-decoration:none;
	background-color:rgba(255,255,255,0.05);
}
.cnt_1003_menu_row_sub_row_nolink{
	width:100%;
	display:table;
	height:40px;
	position:relative;
	color: #95a5a6;
}
.cnt_1003_menu_row_sub_row_icon{
	width:20px;
	padding-left:10px;
	display:table-cell;
	vertical-align:middle;
	color:#bdc3c7;
}
.cnt_1003_menu_row_sub_row_title{
	width:calc(100% - 20px);
	padding-left:5px;
	display:table-cell;
	vertical-align:middle;
	color:#ecf0f1;
}
.cnt_1003_menu_row_sub_row_icon2{
	width:40px;
	padding-left:10px;
	display:table-cell;
	vertical-align:middle;
	color:#bdc3c7;
}
.cnt_1003_menu_row_sub_row_title2{
	width:calc(100% - 40px);
	padding-left:5px;
	display:table-cell;
	vertical-align:middle;
	color:#ecf0f1;
}

.cnt_1003_menu_row_sub_row_slide{
	width:0;
	overflow:hidden;
	height:auto;
	position:relative;
	top:-80px;
	left:150px;
	z-index:5000;
	background-color:#34495e;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}
.cnt_1003_menu_row_sub_row_slide_outer{
	height:0;
}
.cnt_1003_menu_row_sub_row_slide_row{
	width:100%;
	display:table;
	height:40px;
	transition: background-color 0.2s;
}
.cnt_1003_menu_row_sub_row_slide_row:hover{
	text-decoration:none;
	background-color:rgba(255,255,255,0.1);
}

/*--------------------------------------*/
.dialog_menu{
	width:100%;
	padding:10px;
}
.dialog_menu_top{
	width:100%;
	background-color:#2c3e50;
	color:#ffffff;
	border-radius:3px;
	padding:5px;
}
.dialog_menu_elm{
	width:100%;
	display:table;
	margin-top:20px;
}
.dialog_menu_col{
	width:32%;
	display:table-cell;
	background-color:#2c3e50;
	border-radius:3px;
}
.dialog_menu_col_w{
	width:32%;
	display:table-cell;
	background-color:#ffffff;
	border-radius:3px;
	border: 1px solid #ddd;
}
.dialog_menu_col_sep{
	width:2%;
	display:table-cell;
}
.dialog_menu_list_0{
	width:100%;
	display:block;
	padding:5px;
	color:#ffffff;
}
.dialog_menu_list_1{
	width:100%;
	display:block;
	padding:5px 5px 5px 15px;
	color:#ffffff;
}
.dialog_menu_list_2{
	width:100%;
	display:block;
	padding:5px 5px 5px 35px;
	color:#ffffff;
}
.dialog_menu_list_3{
	width:100%;
	display:block;
	padding:5px 5px 5px 55px;
	color:#ffffff;
}
.dialog_menu_list_4{
	width:100%;
	display:block;
	padding:5px 5px 5px 75px;
	color:#ffffff;
}
.dialog_menu_list_hover:hover{
	background-color:rgba(255,255,255,0.1);
	filter:alpha(opacity=70);-moz-opacity: 0.7;opacity: 0.7;
}

/*--------------------------------------*/
.dialog_cnt{
	padding:10px;
}

/*--------------------------------------*/
#adm_1000{
	width:100%;
	height:100%;
	position:relative;
	overflow:scroll;
	padding-top:30px;
}
/* タブメニュー部分の改善：文字色を濃く、影を追加 */
#adm_1100{
	width:100%;
	height:30px;
	background-color:#f5f5f5;
	padding:5px 10px;
	display:table;
	position:fixed;
	top:40px;
	z-index:1000;
	text-align:left;
	font-size:12px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.adm_1100_col{
	display:inline-block;
	color: #333333; /* 以前の #b3b3b3 から濃く変更 */
	margin-right:15px;
	margin-top:3px;
	cursor: pointer;
	padding-bottom: 2px;
	border-bottom: 2px solid transparent;
	transition: all 0.2s;
}
.adm_1100_col:hover{
	color: #000000;
	border-bottom: solid 2px #ccc;
}
.adm_1100_col_selected{
	display:inline-block;
	border-bottom: solid 2px #3498db; /* アクセントカラー */
	color: #2c3e50;
	font-weight: bold;
	margin-right:15px;
	margin-top:3px;
	padding-bottom: 2px;
}

#adm_1200{
	width:100%;
}
#adm_1200_content{
	width:100%;
	background-color:#ffffff;
	padding:20px;
	/* コンテンツエリアに余白と影を追加 */
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.05);
	min-height: calc(100vh - 90px);
}

#adm_1300{
	width:100%;

}
#adm_1400{
	width:100%;

}

#adm_1200_pageTop {
	opacity: 0;
	position: fixed;
	bottom: 50px;
	right: 20px;
	z-index: 999;
	transition: opacity 1s;
	background-color: #34495e;
	color:#ffffff;
	text-align:center;
	padding:10px 15px;
	border-radius:30px;
	cursor:pointer;
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
#adm_1200_pageTop.is-fixed {
	opacity: 0.8;
}
#adm_1200_pageTop:before {
	content:"▲ TOP";
	font-size: 12px;
}

/*--------------------------------------*/
#header_1001{
	width:100%;
	height:40px;
	display:table;
	background-color:#2c3e50;
	/* border-bottom:solid 1px #444444; 削除 */
	box-shadow: 0 2px 4px rgba(0,0,0,0.15); /* ヘッダーに影 */
	font-size:12px;
	position:fixed;
	top:0;
	left:0;
	z-index:10100;
}
#header_1001_menu{
	width:40px;
	height:100%;
	text-align:center;
	vertical-align:middle;
	display:table-cell;
	cursor:pointer;
	background-color: transparent;
	transition: background-color 0.2s;
}
#header_1001_menu:hover{
	background-color: rgba(255,255,255,0.1);
}
#header_1001_menu_icon{
	display:inline-block;
	width:100%;
	padding-top:4px;
}
#header_1001_menu_icon div{
	width:18px;
	height:2px;
	margin:0 auto;
	margin-top:3px;
	background-color:#ffffff;
}
#header_1001_left{
	display:none;
}
#header_1001_logo{
	width:140px;
	text-align:center;
	display:table-cell;
	vertical-align:middle;
	cursor:pointer;
	border-right: 1px solid rgba(255,255,255,0.1);
	color:#ffffff;
	font-weight: bold;
}
#header_1001_logo_img{
	max-width:100%;
	display:block;
	margin:0 auto;
}
#header_1001_center{
	width:calc(100% - 40px - 140px - 180px);
	height:100%;
	vertical-align:middle;
	display:table-cell;
}
#header_1001_my{
	width:180px;
	height:100%;
	vertical-align:middle;
	display:table-cell;
	position:relative;
	cursor:pointer;
	transition: background-color 0.2s;
}
#header_1001_my:hover{
	background-color: rgba(255,255,255,0.1);
}
#header_1001_my_name{
	display:table;
}
#header_1001_usr_pic{
	width:25px;
	display:table-cell;
	vertical-align:middle;
}
#header_1001_usr_pic_uim{
	width:100%;
	display:block;
	border-radius:50%;
}
#header_1001_usr_name{
	width:140px;
	display:table-cell;
	vertical-align:middle;
	text-align:left;
	padding-top:2px;
	padding-left:10px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow: ellipsis;
	color:#ffffff;
}
#header_1001_usr_arrow{
	width:20px;
	text-align:center;
	display:table-cell;
	vertical-align:middle;
	color:#bdc3c7;
}
#header_1001_my_menu{
	width:180px;
	background-color:#34495e;
	border:solid 1px #2c3e50;
	border-width:0 1px 0 1px;
	font-size:14px;
	position:absolute;
	z-index:5100;
	top:40px;
	right:0;
	display:none;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.header_1001_my_menu_row{
	width:100%;
	color:#ffffff;
	padding:10px;
	border-bottom:solid 1px #2c3e50;
}
.header_1001_my_menu_row:hover{
	background-color:#2c3e50;
	filter:alpha(opacity=70);-moz-opacity: 0.7;opacity: 0.7;
}

/*--------------------------------------*/
#footer_1000{
	width:100%;
	height:20px;
}
#footer_1001{
	width:100%;
	height:0px;
	background-color:#333333;
	color:#ffffff;
	display:none;
}
#footer_corp{
	width:100%;
	height:20px;
	background-color:#2c3e50;
	color:#ffffff;
}
#footer_corp_copyright{
	width:200px;
	padding:2px 10px 0 0;
	font-size:10px;
	text-align:right;
	margin-left:auto;
	color: #95a5a6;
}

/*----------common----------*/
.submit_error{
	width:100%;
	height:auto;
	min-height:35px;
}
.submit_btn_outer{
	width:100%;
	text-align:center;
}
/* フラットでモダンなボタンスタイル */
.submit_btn{
	display:inline-block;
	min-width:130px;
	padding:10px 20px;
	text-align:center;
	background-color: #3498db;
	border: none;
	border-radius:4px;
	color:#ffffff;
	cursor:pointer;
	font-weight: bold;
	transition: background-color 0.2s;
}
.submit_btn:hover{
	background-color: #2980b9;
	opacity: 1;
}

.submit_btn_back{
	display:inline-block;
	min-width:130px;
	padding:10px 20px;
	text-align:center;
	background-color:#ffffff;
	border:solid 1px #bdc3c7;
	border-radius:4px;
	color:#555;
	cursor:pointer;
	transition: background-color 0.2s;
}
.submit_btn_back:hover{
	background-color: #f5f5f5;
	opacity: 1;
}

.submit_loading{
	width:100%;
	padding-top:12px;
	padding-bottom:9px;
	text-align:center;
	display:none;
}
.submit_loading img{
	height:20px;
}
.submit_btn_result{
	display:none;
	min-width:130px;
	padding:12px;
	text-align:center;
	background-color:#ffffff;
	border:solid 1px #333333;
	border-radius:3px;
	color:#333333;
}


/*----------common----------*/
.err_ul{
	color:#c0392b;
	padding:0.5em;
	padding-left:calc( 100%/10 );
	list-style:none;
	background:#f2dede;
	border: 1px solid #ebccd1;
	border-radius: 4px;
	text-align:left;
}
.err_ul > li:before{
	content:"*";
}

.search_icon{
	height:13px; 
	width:13px; 
	border:solid 1px #7f8c8d;
	display:block;
	border-radius:100%;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	position:relative;
	top:4px;
	cursor:pointer;
}
.search_icon::after{
	content:"";
	color:#ffffff;
	display:block;
	border-top:solid 1px #7f8c8d;
	width:8px;
	transform: rotate(45deg);
	position:relative;
	top:12px;
	left:9px;
	cursor:pointer;
}

.btn_close{
	width: 100%;
	height: 1px;
	display:block;
	transform: rotate(45deg);
	background-color:#555;
	position:relative;
	top:50%;
}
.btn_close::after{
	content:"";
	background-color:#555;
	display:block;
	width:100%;
	height:1px;
	transform: rotate(90deg);
	position:relative;
	top:0%;
	left:0%;
}

.btn_plus{
	width: 100%;
	height: 1px;
	display:block;
	background-color:#000000;
	position:relative;
	top:50%;
}
.btn_plus::after{
	content:"";
	background-color:#000000;
	display:block;
	width:97%;
	height:1px;
	transform: rotate(90deg);
}
.btn_minus{
	width: 100%;
	height: 1px;
	display:block;
	background-color:#000000;
	position:relative;
	top:50%;
}

.icon_tri{
	width: 100%;
	height: 100%;
	border-left:1px solid #000000;
}
.icon_tri::after{
	content:"";
	display:block;
	width:100%;
	height:100%;
	border-top:1px solid #000000;
	transform: rotate(-30deg);
	position:relative;
	top:-46%;
	left:18%;
}
.icon_tri::before{
	content:"";
	display:block;
	width:100%;
	height:100%;
	border-top:1px solid #000000;
	transform: rotate(30deg);
	position:relative;
	top:20%;
	left:-40%;
}

/*--------------------------------------*/
.alert{
	width:95%;
	max-width:600px;
	display:table;
	margin:0 auto;
	color:#333;
	background: #fff;
	padding:20px;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.alert_tr{
	display:table-row;
}
.alert_header{
	display:table-cell;
	vertical-align:middle;
	height:50px;
	border-bottom:solid 1px #eee;
}
.alert_icon{
	width:30px;
	vertical-align:middle;
}
.alert_title{
	display:inline-block;
	font-size:20px;
	position:relative;
	top:3px;
	left:20px;
}
.alert_msg_1{
	padding:15px;
	font-size:16px;
	border-bottom:dotted 1px #eee;
}
.alert_msg_2{
	padding:15px;
	font-size:14px;
}

