html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	text-align: center;
}

body {
	line-height: 1.6;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh; /* 画面の高さいっぱいに広げる */
}
header {
	background-color: #fcfbfa;
	color: #66292d;
	padding: 10px 0;
	text-align: center;
	box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.15);
	-webkit-box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.2);
}
main {
	flex: 1;
	padding: 20px;
}
footer {
	background-color: #000033;
	color: #ffffff;
	text-align: center;
	padding: 10px 0;
	width: 100%;
}


/* Login Page */
input[type="text"],input[type="password"]	{
	 font-size:12pt; line-height:25px; height:28px;
	 width:190px; padding-left:5px; border-radius:5px; border:1px solid #cccccc;
}
input[type="text"]:hover		{ box-shadow: 1px 4px 4px 3px rgba(237,178, 232, 0.2); border:1px solid #edb2d8; cursor:pointer; }
input[type="text"]:focus		{ box-shadow: 1px 4px 4px 3px rgba(237,178, 232, 0.2); border:1px solid #edb2d8; }
input[type="password"]:hover	{ box-shadow: 1px 4px 4px 3px rgba(237,178, 232, 0.2); border:1px solid #edb2d8; cursor:pointer; }
input[type="password"]:focus	{ box-shadow: 1px 4px 4px 3px rgba(237,178, 232, 0.2); border:1px solid #edb2d8; }


.login_frame {
		margin-top:10px;
		padding:5px;
		text-align:center;
		display:inline-block;
}
.login_container {
	display: grid;
	gap: 4px;
	grid-template-columns: 120px 210px;
	text-align:center;
	margin-bottom:4px;
}
.login_item {
	background-color:rgba(221,99,117,0.1);
	border-radius:5px;
	padding: 4px;
	line-height:2em;
}

.actionbtn	{ height:2.5em; line-height:2.0em; width:250px; text-align:top; font-size:12pt;  background-color:rgba(170,36,43,1); border-radius:8px; color:#ffffff; border:2px solid #a83a44; }
.actionbtn:hover	{ background-color:rgba(221,99,117,0.7); color:#ffffff; cursor:pointer; }

.actionbtn_x	{ height:2.5em; line-height:2.0em; width:250px; text-align:top; font-size:12pt;  background-color:rgba(221,99,117,0.5); border-radius:8px; color:#ffffff; border:2px solid #f989a0; }



/* -------------- */
/* 利用者登録申請 */
/* -------------- */
.step_info {
	width:100%;
	background: -moz-linear-gradient(top,  #ffffff 40%, #ef9c99 90%);
	background: -webkit-linear-gradient(top,   #ffffff 40%, #ef9c99 90%);
	background: linear-gradient(to bottom,   #ffffff 40%, #ef9c99 90%);
	color:#000051;
	font-weight:bold;
	texct-align:top;
	line-height:130%;
	display: inline-block;
}
.mailaddr_frame {
		margin-top:10px;
		padding:5px;
		text-align:center;
		display:inline-block;
}
.mailaddr_container {
	display: grid;
	gap: 4px;
	grid-template-columns: 120px 280px;
	text-align:center;
	margin-bottom:4px;
}
.mailaddr_item {
	background-color:rgba(221,99,117,0.1);
	border-radius:5px;
	padding: 4px;
	line-height:2em;
}
.mail_addr {
	width: 264px !important;
}


.radio1 {
	width:18px;
	height:22px;
	line-height:22px;
	vertical-align:middle;
	margin-top:-2px; margin-right:5px;
}
.label1 {
	line-height:22px; vertical-align:center;
}

/* -------------- */
/* 申請者情報入力 */
/* -------------- */
.required	{
	color:red;
	position:relative;
	top:-5px;
	margin-left:3px;
	font-size:10pt;
	line-height:150%;
}
.aplform_frame {
		margin-top:10px;
		padding:5px;
		text-align:center;
		display:inline-block;
}
.aplform_container {
	display: grid;
	gap: 4px;
	grid-template-columns: 180px 450px;
	margin-bottom:4px;
}
.aplform_item {
	background-color:rgba(221,99,117,0.1);
	border-radius:5px;
	padding: 4px;
	line-height:2em;
	text-align:left;
}
.mail_addr {
	width: 264px !important;
}
.usetyperem {
	width:85%;
	margin-top:-0.3em;
	margin-left:2.5em;
	font-size:11pt;
	line-height:110%;
}
.spcpps {
	width: 432px !important;
}


.zip_inp1 { width:40px !important; }
.zip_inp2 { width:50px !important; }

.addr_inp {
	width:calc(100% - 9px) !important; 
}

.labeltext {
	line-height:22px; vertical-align:center; border:2px dotted transparent;
}
.labeltext:hover {
	border:2px dotted #a6a6a6; cursor:pointer;
}

/** 郵便番号検索 **/
	.zipsearch {
		 display:inline-block; width:85px;  font-size:12pt; line-height:130%; height:30px; margin-left:10px;
		 background-color:#0070c0; color:#ffffff; text-align:center;  border-radius:3px;
	}
	.zipsearch:hover {
		 background-color:#0096ff; color:#ffffff; cursor:pointer;
	}

	.zipsearchans_frm {
		position:absolute;
		visibility:hidden;
		z-index:5000;
		top:0px;
		width:100%;
		text-align:center;
		height:330px;
	}
	.zipsearch_list {
		margin:0px auto;
		width:480px;
		height:310px;
		border:3px solid #2894ff;
		background-color:#ffffff;
		/**overflow-y:scroll; **/
	}
	/* 検索結果の見出し */
	.zip_td_code	{ width:76px;  height:23px; line-height:23px; background-color:#e6e6e6; font-size:11pt; border:1px solid #606060;  }
	.zip_td_addr	{ width:368px; height:23px; line-height:23px; background-color:#e6e6e6; font-size:11pt; border:1px solid #606060;  }
	.zip_td_close	{ width:18px;  height:23px; line-height:23px; background-color:#e6e6e6; font-size:12pt; border:1px solid #606060;  cursor:pointer; }
	.zip_td_close:hover	{ color:#ffffff; background-color:#666666; cursor:pointer; }
	/* 検索結果のリスト */
	.zip_tr			{ background-color:#ffffff; }
	.zip_tr:hover	{ background-color:#ffff00; cursor:pointer;  }
	.zip_lst_code	{ width:76px;  height:23px; line-height:23px; font-size:11pt; border:1px solid #606060; text-align:center; }
	.zip_lst_addr	{ width:368px; height:23px; line-height:23px; font-size:11pt; border:1px solid #606060; text-align:left; }


.linkstr {
	text-decoration-line: underline;text-underline-position: under; text-decoration-color: #0000ff; color:#0000ff; 
}
.linkstr:hover {
	color:red; text-decoration-color:red; cursor:pointer;
}


.error_off { display:none;  color:red;font-size:11pt; line-height:110%; margin-top:10px; }
.error_on { display:inline-block; color:red; font-size:11pt; line-height:110%; margin-top:10px; }

.group_info {
	margin-top:1em;
	margin-bottom:0.2em;
	width:634px;
	background: -moz-linear-gradient(top,  #ffffff 40%, #ef9c99 90%);
	background: -webkit-linear-gradient(top,   #ffffff 40%, #ef9c99 90%);
	background: linear-gradient(to bottom,   #ffffff 40%, #ef9c99 90%);
	color:#000051;
	font-size:13pt;
	font-weight:normal;
	text-align:top;
	line-height:150%;
	display: inline-block;
}

.attacheddoc_rem {
	width:95%;
	margin-top:0.1em;
	margin-left:0.3em;
	font-size:11pt;
	line-height:110%;
}

.file_select {
	height:23px;
	width:130px;
	display:inline-block;
	padding:3px auto;
	border:1px solid #606060;
	line-height:160%;
	font-size:11pt;
	text-align:center;
	border-radius:3px;
	background-color:#efefef;
}
.file_select:hover {
	background-color:#e5e5e5;
	cursor:pointer;
}
.file_info {
	font-size:11pt;
	line-height:110%;
	background:rgba(234,178,211,0.3);
	line-height:160%;
}
.file_docname {
	background:rgba(234,178,211,0.3);
	margin:3px 0px 2px 5px;
	line-height:160%;
}
.file_docname:hover {
	background:rgba(234,178,211,0.9);
	margin:3px 0px 2px 5px;
	line-height:160%;
	cursor:pointer;
}

.trashcan {
	border:1px solid #a0a0a0;
	color:#909090;
	padding:1px 3px 1px 1px;
	
}
.trashcan:hover {
	border:1px solid red;
	color:red;
	cursor:pointer;
}