@charset "utf-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

body {
	margin: 0;
	padding: 0;
  color: #333;
	font-feature-settings: "palt";
	font-family: 'Noto Sans CJK JP','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',Hiragino Kaku Gothic Pro,Meiryo,'Yu Gothic Medium','游ゴシック Medium',YuGothic,'游ゴシック体',sans-serif;
	font-size: 16px;
	line-height: 1.5em;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust : 100%;
	background-color: #fff;
	overflow-x: hidden;
	overflow-y: scroll;
}
a {
	color: #0077FF;
}
a:hover {
	color: #00B0FF;
}
img {
	position: relative;
  max-width: 100%;
  height: auto;
}


::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#b3b3b3;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:#b3b3b3;
}
::placeholder{ /* Others */
 color:#b3b3b3
}

/* ----------------- */
._btn {
	text-decoration: none;
}
._btn:hover {
	text-decoration: none;
	opacity:0.7;
}
.width_center {
	width: 100%;
	text-align: center;
}



/* top ----------------- */
.wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#captxt {
	display: block;
	position: relative;
	width: 100%;
	margin: 10px auto;
  text-align: center;
  font-size: 14px;
	line-height: 24px;
  color: #333;
}
.siteLogo {
  display: block;
	width: 100%;
}
.siteLogo img {
  display: block;
	width: 80vw;
	max-width: 700px;
  margin: 0px auto 50px;
}
.scroll-prevent {
  position: fixed;
}
.main {
  width: 100%;
  height: 100%;
}
.contents {
	position: relative;
}


@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}
/* ----------------- */
#himekuri {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100vh;
	min-height: 500px;
	animation: fadein 1.5s forwards;
}
#himekuri .contents {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	width: 100%;
	min-height: 460px;
	margin: 10px 0;
	position: relative;
	background-color: #0074D7;
}
#himekuri a:hover{
	text-decoration: none;
}

#himekuri #subtitle {
	display: block;
	position: relative;
	width: 100%;
	margin-top: 20px;
	margin-bottom: 50px;
  font-size: 38px;
	line-height: 1.5em;
  color: #fff;
  text-align: center;
}

#btn_login {
	display: block;
	position: relative;
	width: 100%;
	margin: 10px 0;
  text-align: center;
}
#btn_login ._btn{
	width: 200px;
	color: #FFFFFF;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.4rem;
	letter-spacing: 2px;
	text-align: center;
	padding: 15px 30px;
	border: 2px solid #FFFFFF;
}
#btn_login ._btn:hover{
	background-color: rgba(255,255,255,0.36);
	cursor: pointer;
}

.contents form {
  padding: 10px;
}
.contents .form-item {
	display: block;
	position: relative;
	width: 100%;
	margin: 10px 0;
	color: #fff;
	text-align: center;
}
.contents .form-item input {
	display: block;
	position: relative;
	width: 100%;
	height: 50px;
	margin-bottom: 20px;
	padding: 15px 30px;
	color: #000;
	font-size: 1.2rem;
	line-height: 1.2rem;
	background: #D6E7FB;
	border: none;
	border-bottom: 2px solid #476CBE;
	/*border: 2px solid #32D8FD;*/
	transition: border-color 0.3s;
	-webkit-box-shadow: inset 0px 2px 3px 1px #89ADD9;
	box-shadow: inset 0px 2px 3px 1px #89ADD9;
}
.contents .form-item input:focus {
  border-bottom: 2px solid #7AF7FF;
  outline: none;
}





/* コンテンツ	############################################## */
#login-wrap {
	display: block;
  position: relative;
  width: 100%;
	height: 100vh;
	top: 0;
  left: 0;
}

#howto-wrap {
	display: block;
  position: relative;
  width: 100%;
	overflow: hidden;
}


#contents_area {
	position: relative;
	width: 100%;
	overflow: auto;
}

.baseBox {
	display: inline-block;
	position: relative;
	margin: 0px 10px 10px;
	padding: 10px;
	background-color: #E7EBED;
	overflow: hidden;
}

#top_title {
	display: block;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 160px;
	margin-bottom: 10px;
	background-color: #0074D7;
}
#top_title img{
	position: relative;
	width: 80vw;
	max-width: 520px;
}

#subtitle {
	display: block;
	position: relative;
	width: 100%;
	margin-top: 10px;
	margin-bottom: 0px;
  font-size: 28px;
	line-height: 1.5em;
  color: #fff;
  text-align: center;
}

#box_saved {
	display: none;
}
#box_task {
	display: none;
}



/* login --------------------------------- */
.loginBox{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 30px auto;
}
.loginBox .lform{
	margin: 0 auto;
	max-width: 380px;
	background-color: #FFFFFF;
	width: 100%;
	padding: 20px;
	text-align: center;
	border: 1px solid #999999;
	border-radius: 2px;
	-webkit-box-shadow: 0px 1px 8px 3px rgba(0,0,0,0.12);
	box-shadow: 0px 1px 8px 3px rgba(0,0,0,0.12);
}
.loginBtn{
	width: 180px;
	padding: 15px;
	text-align: center;
	margin: 10px auto;
	background-color: #00A3B8;
	color: #ffffff;
	font-weight: 800;
	font-size: 18px;
	border-radius: 50px;
	cursor: pointer;
}
.loginBtn:hover{
	opacity: 0.7;
}
.loginBox form {
  padding: 0 10px;
}
.loginBox .form-item {
	width: 100%;
	margin: 15px 0;
}
.loginBox .form-item input {
	width: 100%;
	height: 40px;
  background: #EAF2F9;
  border: none;
  border-bottom: 2px solid #e9e9e9;
  color: #666;
  font-size: 14px;
  transition: border-color 0.3s;
}
.loginBox .form-item input:focus {
  border-bottom: 2px solid #c0c0c0;
  outline: none;
}

.loginBox .saved_usr{
	color: #008b89;
	font-weight: 800;
	font-size: 16px;
	line-height: 20px;
	margin: 0px 10px;
	width: 100%;
	text-align: left;
}
.loginBox .saved_date{
	color: #111;
	font-weight: 400;
	font-size: 12px;
	line-height: 14px;
	margin: 5px 0px;
	width: 100%;
	text-align: right;
}

._logout{
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	width: calc(100% -40px);
	margin-top: 10px;
	margin-right: 40px;
	overflow: hidden;
}
/* ._logout ._login{
	display: inline-block;
	padding: 8px 15px;
	font-weight: 400;
	font-size: 12px;
	line-height: 14px;
	background-color: #FFFFFF;
	border: 1px solid #999999;
	border-radius: 2px;
	overflow: hidden;
} */


._logout ._login{
	display: flex;
	align-items: center;
	background-color: #666;
	border: 1px solid #666;
	color: #fff;
	padding: 6px 10px;
	font-size: 12px;
	line-height: 12px;
	border-radius: 6px;
}
._logout ._login:hover{
	background-color: #aaa;
	text-decoration: none;
}
._logout ._login img{
	width: 20px;
	margin-right: 3px;
}
._logout ._login a{
	text-decoration: none;
}




.infobox{
	width: 90vw;
	max-width: 940px;
	min-width: 300px;
	margin: 0px 0px 40px;
	padding: 20px;
	text-align: center;
	background-color: #FFFFFF;
	border: 1px solid #999999;
	border-radius: 2px;
	-webkit-box-shadow: 0px 1px 8px 3px rgba(0,0,0,0.12);
	box-shadow: 0px 1px 8px 3px rgba(0,0,0,0.12);
}
.exeBtn{
	padding: 15px 30px;
	text-align: center;
	margin: 10px auto;
	background-color: #0074D7;
	color: #ffffff;
	font-weight: 800;
	font-size: 18px;
	border-radius: 36px;
	cursor: pointer;
}
.exeBtn:hover{
	opacity: 0.7;
}
.adminBtn{
	padding: 15px 30px;
	text-align: center;
	margin: 10px auto;
	background-color: #1da19a;
	color: #ffffff;
	font-weight: 400;
	font-size: 18px;
	border-radius: 36px;
	cursor: pointer;
}
.adminBtn:hover{
	opacity: 0.7;
}
.adminBtn span{
	display: inline-block;
}

._flex-colBox{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	width: 100%;
}
._flex-colBox .t_exp {
	display: inline-block;
	position: relative;
	margin: 5px 0px 0px;
	font-size: 14px;
	line-height: 16px;
}

.info-anothusr {
	display: none;
	position: relative;
	margin: 10px 10px 20px;
	padding: 10px 20px;
	color: #ffffff;
	font-weight: 400;
	font-size: 14px;
	line-height: 24px;
	background-color: #ec0000;
	border: 1px solid #ff0000;
}
.info-usr {
	display: inline-block;
	position: relative;
	padding: 10px 10px 20px;
	color: #01665e;
	font-weight: 800;
	font-size: 16px;
	line-height: 18px;
}

.list-nav {

}




.t_expBox {
	display: block;
	position: relative;
	width: 100%;
	margin: 10px 0px 30px;
	font-size: 14px;
	line-height: 20px;
	padding: 10px 20px;
	text-align: left;
	background-color: #FDFFD2;
	overflow: hidden;
	border-radius: 5px;
	border: 1px solid #999;
}
.t_comBox {
	display: block;
	position: relative;
	width: 100%;
	margin: 10px 0px 30px;
	font-size: 14px;
	line-height: 20px;
	padding: 10px 20px;
	text-align: left;
	background-color: #DEFFCF;
	overflow: hidden;
	border-radius: 5px;
	border: 1px solid #999;
}



.specBox {
	display: block;
	position: relative;
	width: 80vw;
	min-width: 360px;
	margin: 10px auto;
	background-color: #fff;
}
.specBox h2 {
	font-size: 18px;
	line-height: 22px;
	margin: 30px auto;
}
.specBox p {
	font-size: 14px;
	line-height: 24px;
	margin: 10px auto;
}


/* モーダル	############################################## */
.modal{
	display: none;
}
.modalBK{
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 1900;
	height: 100vh;
	width: 100vw;
}
.modal_edit {
  overflow: hidden;
  width: 45px;
  height: 18px;
  border: 1px solid #0084FF; /* 第2候補 #0084FF　#FD3EBA */
  -webkit-box-shadow: inset 1px 1px 2px #aaaaaa;
  box-shadow: inset 1px 1px 2px #aaaaaa;
  background-color: #F8FFDB;
  z-index: 2000;
  text-align: right;
  padding-right: 6px;
  padding-left: 3px;
  font-size: 10px;
  line-height: 12px;
  position: absolute;
  ime-mode: disabled;
}



/* モーダル　ダイアログ	############################################## */
#inline_dialog {
	position: relative;
	padding-top: 20px;
	padding-right: 20px;
	padding-left: 20px;
	width: auto;
	max-width: 500px;
	min-height: 50px;
	margin: 0px auto;
	color: #333;
	font-size: 12px;
	line-height: 14px;
	background-color: #fff;
	border: 1px solid #aaaaaa;
	border-radius: 5px;
}
#inline_dialog .defBtn {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 28px;
}
#inline_dialog .mfp-close {
	width: 100%;
	height: 100%;
	color: #000;
	padding: 0px;
	margin: 0px;
	font-size: 12px;
	line-height: 28px;
	opacity: 1;
}
#inline_dialog .txt_exp {
	color: #333;
	font-size: 12px;
	line-height: 18px;
	padding: 10px;
}
#inline_dialog .txt_cau {
	color: #f00;
	font-size: 12px;
	line-height: 14px;
	padding: 10px;
}




/* ユーティリティ	############################################## */
._link {
	color: #0077FF;
	cursor: pointer;
}
._link:hover {
	color: #00B0FF;
}

._flex-rowBox {
  display: flex;
	flex-direction: row;
	/*flex-wrap: nowrap;*/
	align-items: flex-start;
}
._flex-colBox {
  display: flex;
	flex-direction: column;
	align-items: flex-start;
}

._errtxt {
	color: #ff0000;
	font-size: 11px;
	line-height: 13px;
}

._memo {
	display: block;
	padding: 5px 10px;
	color: #880022 !important;
	font-size: 9px;
	line-height: 11px;
}
.error {
	color: #FFFFFF;
}



/*  ボタン　*/
.defBtn {
	color: #111;
	font-size: 12px;
	line-height: 14px;
	background-color: #f0f0f0;
	-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
	box-shadow: inset 0px 1px 0px 0px #ffffff;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f0f0f0), color-stop(1, #d6d6d6));
	background: -moz-linear-gradient(top, #f0f0f0 5%, #d6d6d6 100%);
	background: -webkit-linear-gradient(top, #f0f0f0 5%, #d6d6d6 100%);
	background: -o-linear-gradient(top, #f0f0f0 5%, #d6d6d6 100%);
	background: -ms-linear-gradient(top, #f0f0f0 5%, #d6d6d6 100%);
	background: linear-gradient(to bottom, #f0f0f0 5%, #d6d6d6 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0f0f0', endColorstr='#d6d6d6',GradientType=0);
	border: 1px solid #aaaaaa;
	border-radius: 5px;
	cursor: pointer;
}
.defBtn:hover {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #fafafa), color-stop(1, #f0f0f0));
	background: -moz-linear-gradient(top, #fafafa 5%, #f0f0f0 100%);
	background: -webkit-linear-gradient(top, #fafafa 5%, #f0f0f0 100%);
	background: -o-linear-gradient(top, #fafafa 5%, #f0f0f0 100%);
	background: -ms-linear-gradient(top, #fafafa 5%, #f0f0f0 100%);
	background: linear-gradient(to bottom, #fafafa 5%, #f0f0f0 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa', endColorstr='#f0f0f0',GradientType=0);
	border:1px solid #666666;
}
.defBtn:active {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #d6d6d6), color-stop(1, #f0f0f0));
	background: -moz-linear-gradient(top, #d6d6d6 5%, #f0f0f0 100%);
	background: -webkit-linear-gradient(top, #d6d6d6 5%, #f0f0f0 100%);
	background: -o-linear-gradient(top, #d6d6d6 5%, #f0f0f0 100%);
	background: -ms-linear-gradient(top, #d6d6d6 5%, #f0f0f0 100%);
	background: linear-gradient(to bottom, #d6d6d6 5%, #f0f0f0 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d6d6d6', endColorstr='#f0f0f0',GradientType=0);
	background-color: #d6d6d6;
}
.actBtn{
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #E4F8FF), color-stop(1, #CBE7FF));
	background: -moz-linear-gradient(top, #E4F8FF 5%, #CBE7FF 100%);
	background: -webkit-linear-gradient(top, #E4F8FF 5%, #CBE7FF 100%);
	background: -o-linear-gradient(top, #E4F8FF 5%, #CBE7FF 100%);
	background: -ms-linear-gradient(top, #E4F8FF 5%, #CBE7FF 100%);
	background: linear-gradient(to bottom, #E4F8FF 5%, #CBE7FF 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#E4F8FF', endColorstr='#CBE7FF',GradientType=0);
	border:1px solid #54AEDB;
	border-radius: 5px;
	cursor: default;
}



.defBtn_ul{
	display: flex;
	flex-direction: row;
	position: relative;
}
.defBtn_ul li{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 80px;
	min-height: 30px;
	margin-left: 10px;
	padding: 10px;
}
.defBtn_ul li p{
	font-size: 11px;
	white-space: nowrap;
}

._btn-center{
	display: flex;
	justify-content: center;
	position: relative;
	width: 100%;
	margin: 15px 0px;
}






/* フォーム	############################################## */
.defform {
	position: relative;
	margin: 10px;
}
.defform ._link {
	font-size: 12px;
	line-height: 14px;
	margin: 0px 15px;
}
.defform ._flex-rowBox {
	flex-wrap: wrap;
	align-items: center;
  /*margin-bottom: 2px;*/
}
.defform ._errtxt {
	min-height: 16px;
	padding: 3px 20px 0px;
  margin-bottom: 10px;
	color: #ff0000;
	font-size: 11px;
	line-height: 13px;
}
.defform span._tani {
	color: #333;
	font-size: 12px;
	line-height: 14px;
	margin-left: 5px;
	margin-top: 5px;
}
.defform label {
	height: 28px;
	color: #333;
	font-size: 14px;
	line-height: 20px;
	padding: 5px 10px;
	white-space: nowrap;
	cursor: default;
}
.defform input[type=text] {
	background-color: #fff;
	height: 28px;
	color: #333333;
	font-size: 12px;
	line-height: 14px;
	padding: 5px;
	-moz-box-shadow: inset 0px 2px 2px 0px rgba(0,0,0,0.10);
	-webkit-box-shadow: inset 0px 2px 2px 0px rgba(0,0,0,0.10);
	box-shadow: inset 0px 2px 2px 0px rgba(0,0,0,0.10);
	border: 1px solid #aaaaaa;
}
.defform input[type=password] {
	background-color: #fff;
	height: 28px;
	color: #333333;
	font-size: 12px;
	line-height: 14px;
	padding: 5px;
	-moz-box-shadow: inset 0px 2px 2px 0px rgba(0,0,0,0.10);
	-webkit-box-shadow: inset 0px 2px 2px 0px rgba(0,0,0,0.10);
	box-shadow: inset 0px 2px 2px 0px rgba(0,0,0,0.10);
	border: 1px solid #aaaaaa;
}
.defform input[type=radio] {
	display: none;
}
.defform input[type="radio"]:checked + label {
	background: #448DE9;
}
.defform .radBtn:hover {
	background-color: #448DE9;
}
.defform .radBtn {
	display: inline-block;
	width: 66px;
	height: 30px;
	padding: 5px;
	color: #fff;
	text-align: center;
	font-size: 12px;
	line-height: 20px;
	cursor: pointer;
	background-color: #3A6498;
	border-radius: 5px;
}
.defform .ninpu {
	width: 60px;
	height: 24px;
	font-size: 11px;
	line-height: 16px;
}
.defform .defradBtn_ul {
	display: flex;
	/*flex-wrap: wrap;*/
	flex-direction: row;
	justify-content: flex-start;
	position: relative;
	margin: 5px;
}
.defform .defradBtn_ul li{
	display: flex;
	justify-content: center;
	align-items: center;
}


.defform input[type=checkbox] {
	display: none;
}
.defform ._chbox {
	display: inline-block;
	position: relative;
	height: 30px;
	padding: 5px 20px;
	color: #fff;
	font-size: 12px;
	line-height: 20px;
	cursor: pointer;
	background-color: #3A6498;
	border-radius: 5px;
}
.defform input[type=checkbox]:checked + ._chbox {
	background-color: #448DE9;
}



.defform select {
	background-color: #ffffff;
	color: #333333;
	font-size: 11px;
	line-height: 13px;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 7px;
	padding-left: 5px;
	width: 120px;
	-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
	box-shadow: inset 0px 1px 0px 0px #ffffff;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f0f0f0), color-stop(1, #d6d6d6));
	background: -moz-linear-gradient(top, #f0f0f0 5%, #d6d6d6 100%);
	background: -webkit-linear-gradient(top, #f0f0f0 5%, #d6d6d6 100%);
	background: -o-linear-gradient(top, #f0f0f0 5%, #d6d6d6 100%);
	background: -ms-linear-gradient(top, #f0f0f0 5%, #d6d6d6 100%);
	background: linear-gradient(to bottom, #f0f0f0 5%, #d6d6d6 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0f0f0', endColorstr='#d6d6d6',GradientType=0);
	border: 1px solid #aaaaaa;
	cursor: pointer;
}
.defform select:hover {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #fafafa), color-stop(1, #f0f0f0));
	background: -moz-linear-gradient(top, #fafafa 5%, #f0f0f0 100%);
	background: -webkit-linear-gradient(top, #fafafa 5%, #f0f0f0 100%);
	background: -o-linear-gradient(top, #fafafa 5%, #f0f0f0 100%);
	background: -ms-linear-gradient(top, #fafafa 5%, #f0f0f0 100%);
	background: linear-gradient(to bottom, #fafafa 5%, #f0f0f0 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa', endColorstr='#f0f0f0',GradientType=0);
	border:1px solid #666666;
}
.defform select option {
	font-size: 11px;
	line-height: 13px;
  background-color: #FFFFFF;
}

.defform .defsubmit_ul{
	display: flex;
	justify-content: center;
	position: relative;
	width: 100%;
	margin: 15px 0px;
}
.defform .defsubmit_ul li{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 120px;
	min-height: 40px;
	margin: 0px 10px;
	padding: 10px;
}
.defform ._submitBtn {
	font-size: 14px;
	line-height: 16px;
}


.defform .resultBox {
	padding: 5px;
}
.defform .resultBox #u_result_err {
  display: block;
}
.defform .resultBox ._h2 {
	display: inline-block;
	font-size: 14px;
	line-height: 16px;
	margin-bottom: 0px;
}

.defform .resultBox ._flex-rowBox {
	align-items: center;
  margin: 15px 10px;
}



/* ----------------- */
.footer {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #333;
	padding: 20px;
}


.footer .link_row {
	text-align: left;
	color: #ffffff;
	font-size: 12px;
	line-height: 12px;
	height: 12px;
	display: table-row;
}
.footer .link_txt {
	display: table-cell;
}
.footer .link_txt a {
	margin-right: 60px;
}
.footer .link_txt a.link_end {
	margin-right: 0px;
}
.footer .link_txt span {
	display: inline;
	text-align: left;
	color: #ffffff;
	font-size: 12px;
	line-height: 12px;
	height: 12px;
}

.footer p.copyright {
	margin-top: 20px;
	text-align: right;
	color: #ccc;
	font-size: 11px;
	line-height: 11px;
}


