@charset "UTF-8";

*{
	margin: 0;
	padding: 0;
	box-sizing : border-box;
	-webkit-box-sizing : border-box;
}
html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
	height: 100%;
	font-size: 62.5%;
	background-color: #f0f2f7;

}
body{
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', YuGothic, 'Yu Gothic Medium', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-size: 1.3rem;
	font-style: normal;
	-webkit-font-kerning: normal;
	font-kerning: normal;
	color: #727171;
	height: 100%;
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
a{
  background-color: transparent;
  text-decoration: none;
  cursor: pointer;
  color: #727171;
}
input{
	font: inherit;
	color: inherit;
   	padding: 0 5px;
	font-size: 1.5rem;
}
button{
	cursor: pointer;
	font: inherit;
	color: inherit;
}
select {
	word-break: normal;
	/* vertical-align: middle; */
    white-space: normal;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 3px 10px 3px 5px;
    border-radius: 3px;
	color: #727171;
    cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 550px;
}
select:focus {
    outline: 1px solid ;
}
.electric_nav select:disabled{
    background-color: rgba( 0,0,0, 0.4) !important;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
#wrapper{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
header{
	position: sticky;
    top: 0;
    right: 0;
    left: 0;
    z-index: 100;
    white-space: nowrap;
}
.header_contents{
	width: 100%;
	padding: 5px 0;
	background-color: #52e77d;
	border-bottom: 2px solid #f0f2f7;
}
.header_contents .contents{
	display: flex;
	justify-content: space-between;
	margin:  0 auto;
}
.header_info{
	display: flex;
	justify-content: flex-end;
    align-items: center;
}
.header_menu a{
	margin-right: 30px;
}
.header_user{
	margin-left: 50px;
	display: flex;
	align-items: center;
	justify-content: end;
    text-align: end;
	line-height: 1.3;
}
.header_user .user_icon{
	height: 100%;
	margin-left: 10px;
}
.sub_header_contents{
	line-height: 35px;
	background-color: #3cab5c;
}
.sub_header_contents select{
	border: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	background-color: #FFF;
}
footer{
    width: 100%;
    text-align: center;
    padding: 20px 0;
    position: relative;
    margin-top: auto;

    height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
}
footer .footer_right_mark{
	position: absolute;
    bottom: 0;
    right:0;
}
footer .copyright{
	display:block;
	margin: 10px 0;
}
.contents{
    width: 1100px;
    margin: 0 auto;
}
header,
footer,
main{
    min-width: 1100px;
}
main{
    display: flex;
    align-items: center;
	position: relative;
}
.main_contents {
    background-color: #FFF;
    border-radius: 10px;
    padding: 30px 40px 60px 40px;;
    min-height: 500px;
    margin: 30px auto;
}
.pagetop{
	position: fixed;
    bottom: 5vh;
	right: calc(((100vw - 1100px) / 2) - 80px);
	cursor: pointer;
}
.contents_title{
	font-size: 2.5rem;
	/* margin-bottom: 20px; */
}


.titlebox{
    position: relative;
    padding: 0;
    border-radius: 5px;
    height: 40px;
    white-space: nowrap;
}
.titlebox .box,
.titlebox .title{
  display: flex;
  align-items: center;
	justify-content: center;
}
.titlebox .title{
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 160px;
  padding-left: 20px;
  padding-right: 40px;
  border-radius: 5px 0px 0px 5px;
  -moz-border-radius: 5px 0px 0px 5px;
 -webkit-border-radius: 5px 0px 0px 5px;
 text-align: center;
}
.titlebox .box{
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: 140px;
  padding-left: 20px;
  padding-right: 20px;
  background: #FFF;
  border-radius: 0px 5px 5px 0px;
 -moz-border-radius: 0px 5px 5px 0px;
 -webkit-border-radius: 0px 5px 5px 0px;
}

.infomsg{
	font-size: 1em;
    color: #ff6e00;
}
.errmsg{
    font-size: 1em;
	color: #ff000f;
}

.input_selector{
	display: inline-flex;
    align-items: center;
	margin-right: 10px;
}
.input_selector input{
	margin-right: 5px;
}

/** login,regist buttons */
.submit_button{
	background: #52e77d;
	color: #FFF;
	padding: 5px 70px;
	border: 1px solid #52e77d;
	border-radius: 10px;
	font-size: 1.5rem;
}
.submit_button:hover,
.submit_button:focus{
	background: #FFF;
	color: #52e77d;
	outline: none;
}
.invert_button{
	background: #FFF;
	color: #52e77d;
	padding: 3px 70px;
	border: 4px solid #52e77d;
	border-radius: 10px;
	font-size: 1.5rem;
	margin-left: 15px;
}
a.invert_button{
    padding: 10px 50px;  
}
.invert_button:hover,
.invert_button:focus{
	background: #52e77d;
	color: #FFF;
	outline: none;
}
/** sub_button */
.sub_button{
    background-color: #ff6e00;
    border: 1px solid #ff6e00;
    color: #FFF;
    padding: 0px 10px;
    margin-left: 10px;
	white-space: nowrap;
}
.sub_button:hover,
.sub_button:focus{
	background: #FFF;
	color: #ff6e00;
}
.sub_button:hover.disabled,
.sub_invert_button:hover.disabled{
	pointer-events: none;
	opacity: 0.5;
	cursor: not-allowed;
}
.sub_invert_button{
    background-color: #FFF;
    border: 1px solid #ff6e00;
    color: #ff6e00;
    padding: 0px 10px;
    margin-left: 10px;
	white-space: nowrap;
	cursor: pointer;
}
.sub_invert_button:hover,
.sub_invert_button:focus{
	background: #ff6e00;
	color: #FFF;
}