html {
  font-size: 100%;
  height: 100%;
}
dl,ul,ol,li,dt,dd {
	margin: 0;
	padding: 0;
}
p {
	margin: 0;
	padding: 0;
}
/*フォームの部品*/
fieldset {
	padding: 0;
	display: block;
	margin: 0 auto;
	border: none;
}
select {
	padding: 0 0 6px 0;
    font-size: 14px;
}
textarea {
    max-width: 90%;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
.small {
	font-size: small;
}
.bold {
	font-weight: bold;
}
/*link*/
a:link,
a:visited {
	color: #3973C9;
	text-decoration: underline;
}
a:hover {
	color: #da0101;
}
.red {
	color: #da0101;
}
.gray {
	color: #aaa;
}
/*幅*/

.w-90 {
    width: 90%;
    margin: 0 auto;
}
.w-80 {
    width: 80%;
    margin: 0 auto;
}
.w-70 {
    width: 70%;
    margin: 0 auto;
}
.bd-solid {
	border: 1px solid #aaa;
}
/*Table幅がスクロールするページ*/
.sc_inner {
	max-width: 95%;
	margin: 0 auto;
    flex: 1;
}
.scroll20 {
	max-width: 200px;
	min-width: 200px;
}
.scroll80 {
	overflow-x: scroll;
}
.scroll80 table.userlist {
    min-width: 900px;
}

/*margin*/
.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}
.mg10 {
	margin: 10px;
}
.mg20 {
	margin: 20px;
}
.mg30 {
	margin: 30px;
}
.mtb100 {
	margin: 100px auto;
}

/*padding*/
.pt10 {
	padding-top: 10px;
}
.pt20 {
	padding-top: 20px;
}
.pt40 {
	padding-top: 40px;
}
.pb10 {
	padding-bottom: 10px;
}
.pb20 {
	padding-bottom: 20px;
}
.pb40 {
	padding-bottom: 40px;
}
.pd10 {
	padding: 10px;
}
.pd20 {
	padding: 20px;
}
.pd30 {
	padding: 30px;
}
.pd40 {
	padding: 40px;
}

/*flexbox*/
.box {
	box-sizing: border-box;
    width: 80%;
    margin: 2em auto;
}
.box80 {
	box-sizing: border-box;
    width: 80%;
    margin: 0 auto 2em;
}
.flex-box {
	display: flex;
    justify-content: space-between;
	box-sizing: border-box;
}
.flex-100 {
    justify-content: center;
    align-items: center;
    flex: 1;
}
.flex-admin {
    margin: 0 auto;
    width: 90%;
    padding: 0 20px;
    position: relative;
}
.flex-50 {
    position: relative;
    display: -webkit-flex;
    -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
}
.flex-80 {
	flex: 4;
	margin: 0 0 0 2em;
}
.flex-20 {
	flex: 1;
}
/*通常の画面幅*/
.w_inner {
	max-width: 1024px;
	margin: 0 auto;
	flex: 1;
}
/*横に長いテーブルがあるときの幅*/
.w_scroll {
    width: 90%;
    margin: 0 auto;
    flex: 1;
}
body {
	-webkit-text-size-adjust: 100%;
	margin: 0 auto;
	width: 100%;
	padding: 0;
	border: 0;
	font-size: 16px;
	line-height: 1.8;
	font: inherit;
	vertical-align: baseline;
	font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Arial, sans-serif;
	color: #333;
	background-color: #F6F5F2;
}
#wrapper {
	margin: 0 auto;
	width: 100%;
	line-height: 1.8;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
#wrapper-st {
	margin: 0 auto;
	width: 90%;
	line-height: 1.8;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
header {
	margin: 0 auto;
	width: 100%;
	text-align: center;
	background-color: #fff;
}
.user header {
	border-top: 8px solid #3973C9;
}
.school header {
	border-top: 8px solid #439248;
}
.admin header {
	border-top: 8px solid #785b4b;
}
header h1 {
	text-align: left;
	font-size: 1.8em;
	line-height: 1.4;
    margin: 0;
    font-weight: normal;
}
header h1 span {
	font-size: 0.5em;
    font-weight: normal;
}
nav.g-navi {
	/*margin: 0 auto 40px;
    background-color: #ddd;
    padding: 5px 0;
    width: 100%;*/
}
nav ul {
	text-align: center;
	margin: 0;
	padding: 0;
}
nav ul li {
	display: inline-block;
	list-style-type: none;
	/*padding: 0 20px;*/
}
main {
	margin: 0 auto;
	width: 100%;
}
footer {
	margin: 0 auto;
	width: 100%;
	text-align: center;
	margin-top: 70px;
	color: #fff;
	font-size: small;
}
.user footer {
	background-color: #3973C9;
}
.school footer {
	background-color: #439248;
}

.admin footer {
	background-color: #785b4b;
}

/*求職者ログイントップ*/
.login-flex-box {
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
}
.login-flex-50 {
    position: relative;
    display: -webkit-flex;
    -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
   flex: 1;
}
.loginid-box {
	position: relative;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
	height: 350px;
	margin: 0 3%;
	box-sizing: border-box;
}
.loginid-box .member-login dt {
	display: inline-flex;
    width: 170px;
}
.loginid-box .member-login dd {
	display: inline-flex;
    margin: 0;
}
.send-box {
    margin: 0 auto;
    background-color: #fff;
    text-align: center;
    box-sizing: border-box;
}


input[type="text"],
input[type="password"] {
    border: solid 1px #aaa;
    border-radius: 3px;
    padding: 6px;
    font-size: 1.1em;
    box-sizing: border-box;
    margin: 0 0 10px;
}


h1 {
	font-size: 1.8em;
	text-align: center;
	margin: 0.6em auto;
}
h2 {
	text-align: center;
}
h2.mypage {
	text-align: left;
	padding-left: 10px;
	font-weight: normal;
	line-height: 1.4;
	font-size: 26px;
}
.user h2.mypage {
	border-left: 4px solid #3973C9;
}
.school h2.mypage {
	border-left: 4px solid #439248;
}
.admin h2.mypage {
	border-left: 4px solid #785b4b;
}

h3 {

}
.t-left {
	text-align: left;
}
.t-right {
	text-align: right;
}
.t-center {
	text-align: center;
}
.f-left {
	float: left;
}
.f-right {
	float: right;
}


/*ボタン*/
.lgnbtn-box {
    width: 90%;
    margin: 0 auto;
    text-align: center;
}
.lgnbtn-box .btn {
    height: 50px;
    width: 100%;
    border: none;
    padding: 0;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
}
.lgnbtn-box a {
	display: block;
	font-weight: bold;
    height: 50px;
    line-height: 50px;
    box-sizing: border-box;
	text-decoration: none;
	color: #fff;
}
.btn-box .btn {
    height: 50px;
    width: 100%;
    border: none;
    padding: 0;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
}
.linkbtn-box {
    text-align: center;
}
.linkbtn-box a {
	display: block;
    height: 50px;
    line-height: 50px;
    box-sizing: border-box;
	text-decoration: none;
	font-weight: bold;
	color: #fff;
}
/*ボタン色替え*/
.user .lgnbtn-box .btn,
.user .btn-box .btn,
.user .lgnbtn-box a,
.user .linkbtn-box a {
   background-color: #3973C9;
}
.user .lgnbtn-box .btn:hover,
.user .btn-box .btn:hover,
.user .lgnbtn-box a:hover,
.user .linkbtn-box a:hover {
   background-color: #5c85c1;
}
.school .lgnbtn-box .btn,
.school .btn-box .btn,
.school .lgnbtn-box a,
.school .linkbtn-box a {
   background-color: #439248;
}
.school .lgnbtn-box .btn:hover,
.school .btn-box .btn:hover,
.school .linkbtn-box .backlink-r a:hover {
   background-color: #6ea572;
}

.admin .lgnbtn-box .btn,
.admin .btn-box .btn,
.admin .lgnbtn-box a,
.admin .linkbtn-box a {
   background-color: #785b4b;
}
.admin .lgnbtn-box .btn:hover,
.admin .btn-box .btn:hover,
.admin .linkbtn-box .backlink-r a:hover {
   background-color: #785b4b;
}

.lgnbtn-box .backlink-l {
    float: left;
    margin: 0 auto;
    width: 49%;
    height: 50px;
}
.lgnbtn-box .backlink-l a{
    display: block;
    background-color: #ddd;
    height: 50px;
    font-weight: normal;
    line-height: 50px;
    color: #000;
}
.lgnbtn-box .backlink-r {
	float: right;
    margin: 0 auto;
    width: 49%;
    height: 50px;
}
.lgnbtn-box .backlink-r a{
    display: block;
    height: 50px;
    font-weight: normal;
    line-height: 50px;
}

.lgnbtn-box .backlink-r a:hover,
.lgnbtn-box .backlink-l a:hover {
    opacity: .9;
}

.btn-box-50 {
    position: absolute;
    width: 90%;
    bottom: 30px;
    margin: 0 auto;
    text-align: center;
}

.u_hover {
	cursor: pointer;
}
dl.pw-check {
	margin: 0 auto;
	width: 80%;
}
.pw-check dt {
	display: block;
	width: 30%;
	text-align: left;
	float: left;
}
.pw-check dd {
	margin: 0 0 0 30%;
	width: 68%;
}
dl.apmail-box {
	padding: 20px 30px;
	position: relative;
    background: #fff;
}
dl.status {
	position: relative;
    border: 1px solid #3973C9;
    background: #fff;
}
dl.status dt {
	display: inline-block;
    font-weight: bold;
    width: 200px;
    background: #3973C9;
    color: #fff;
    text-align: center;
    padding: 10px 0;
}

dl.status dd.left {
	display: inline-block;
    padding: 0 0 0 30px;
}

dd ul li {
	display: inline-block;
	padding: 0 2em 10px 0;
}
.af-radio {
	display: inline-block;
}
table {
	margin: 0 auto 30px;
}
caption {
    text-align: left;
    font-size: 16px;
    width: 100%;
    margin: 0 auto 1em;
}
/*マイページ*/
p.user {
	text-align: left;
	font-size: 16px;
	padding-right: 1em;
}
table.mypage,
table.mypage td,
table.mypage th {
	width: 100%;
	border: 1px solid #aaa;
	border-collapse: collapse;
}
table.mypage td,
table.mypage th {
	padding: 5px 20px;
	width: 30px;
	height: 25px;
	background-color: #fff;
}
table.mypage td p,
table.mypage th p {
	padding: 0;
	margin: 0;
}
table.mypage th {
	background: #eee;
}
table.mypage th:nth-child(1) {
	width: 20%;
}
table.mypage th:nth-child(2) {
	width: 20%;
}
/**/
table.userlist {
	width: 100%;
	font-size: 14px;
	line-height: 1.4;
	margin: 0 auto 40px;
	border: 1px solid #aaa;
	background: #fff;
	border-collapse: collapse;
}
table.userlist.w-40 {
	width: 40%;
}
table.userlist.w-40 th,
table.userlist.w-40 td {
	padding: 10px 14px;
	width: 50%;
	text-align: center;
}
table.userlist td,
table.userlist th {
	border: 1px solid #aaa;
	border-collapse: collapse;
}
table.userlist th {
	padding: 4px 14px;
	background: #eee;
}
table.userlist td {
	padding: 10px 14px;
}
table.userlist td p,
table.userlist th p {
	padding: 0;
	margin: 0;
}

.th-name {
	width: 90px;
}

/**/
.inner-box {
	margin: 0 auto;
	padding: 20px 30px;
	background: #fff;
}
.inner-box.mb40 {
	margin: 0 auto 40px;
}
.ap-mail {
	margin: 0 auto 2em;
}
.ap-mail dt {
	font-weight: bold;
}
.ap-mail dd {
	margin: 0 0 1em 200px;
}
.ap-mail dd:last-child {
	margin-bottom: 0;
}
/**/
.submit input,
.submit-sublink input {
    width: 100%;
    height: 50px;
    color: #fff;
    border: none;
    font-size: 1.0em;
    cursor: pointer;
}

.submit .nobtn input,
.submit .back input,
.submit-sublink
.nobtn input,
.back input {
    width: 100%;
    height: 50px;
    color: #000;
    text-align: center;
    cursor: pointer;
}
.submit .nobtn,
.submit .back,
.submit .submitbtn {
    text-align: center;
    display: inline-block;
    width: 42%;
    padding: 0 5px;
}
.submitbtn-one {
	text-align: center;
    display: inline-block;
    padding: 0 5px;
    width: 100%;
}
.submit .back input {
    background-color: #999;
    color: #fff;
}
.user .submit .submitbtn input,
.user .submit .submitbtn-one input {
	background-color: #3973C9;
}
.school .submit .submitbtn input,
.school .submit .submitbtn-one input {
	background-color: #439248;
}

.admin .submit .submitbtn input,
.admin .submit .submitbtn-one input {
	background-color: #785b4b;
}
/*.user .submit .submitbtn input#btnLeave {
	background-color: #ddd;
}*/

.user .submit .submitbtn input:hover,
.user .submit .submitbtn-one input:hover {
	background-color: #5c85c1;
}
.school .submit .submitbtn input:hover,
.school .submit .submitbtn-one input:hover  {
	background-color: #6ea572;
}
.admin .submit .submitbtn input:hover,
.admin .submit .submitbtn-one input:hover  {
	background-color: #785b4b;
}
.submit{
    display: inline-block;
    text-align: center;
    width: 100%;
}
.submit input:hover,
.submit-sublink input:hover,
.submit .nobtn input:hover,
.submit .back input:hover,
.submit-sublink .nobtn input:hover,
.submit-sublink .back input:hover {
    opacity: .9;
}
/**/

dl.entry-form {
	clear: both;
	/* border: 1px solid #aaa; */
    border-top: 0;
    background: #f9f9f9;
    line-height: 1.4;
}
dl.entry-form span {
	font-size: 14px;
}
dl.entry-form .dl-head {
	background: #f9f9f9;
	text-align: center;
	font-weight: bold;
}
dl.entry-form dt.dl-head {
	display: block;
    float: left;
    width: 25%;
    border-top: 1px solid #aaa;
    padding: 10px 0;
}
dl.entry-form dd.dl-head {
	margin-left: 25%;
    padding: 10px 0;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
}
dl.entry-form dt {
	display: block;
    float: left;
    width: 25%;
    /* border-top: 1px solid #aaa; */
    padding: 15px 0 0 10px;
}
dl.entry-form dd {
    margin-left: 25%;
    padding: 15px 10px;
    /* border-top: 1px solid #aaa;
    border-left: 1px solid #aaa; */
    background: #fff;
    /*min-height: 2em;*/
}
legend {
	font-size: 1.17em;
    margin: 0;
    font-weight: bold;
}
h2.admin {
	margin: 0 auto 2em;
	text-align: left;
	border-bottom: 1px solid #785b4b;
	font-size: 18px;
	padding: 3px 13px;
}
ul.icon {
	list-style-type: none;
	margin: 0 13px 2em;
}
ul.icon li {
	display: inline-block;
	padding-right: 50px;
    text-align: center;
}
ul.icon li a{
	display: inline-block;
}
ul.icon li a img {
	width: 100px;
	height: 100px;
}
/*sidebar*/

.side {
	font-size: 14px;
}
.user .side {
	background: #3973C9;
}
.school .side {
	background: #439248;
}
.admin .side {
	background: #785b4b;
}
nav.side-menu {
	padding: 0;
}
.user nav.side-menu {
	background: #3973C9;
}
.school nav.side-menu {
	background: #439248;
}
.admin nav.side-menu {
	background: #785b4b;
}
nav.side-menu ul li {
	display: block;
    border-bottom: 1px dashed #F6F5F2;
}
nav.side-menu ul li a {
	display: block;
	padding: 10px;
	color: #fff;
	text-decoration: none;
}
nav.side-menu ul li.current {
	display: block;
	padding: 10px;
	color: #fff;
	text-decoration: none;
	background: #779fda;
}
.user nav.side-menu ul li.current {
	background: #779fda;
}
.school nav.side-menu ul li.current {
	background: #6ea572;
}
.admin nav.side-menu ul li.current {
	background: #785b4b;
}

/*schoolにはcurrentにもリンクが貼ってあるので*/
.school nav.side-menu ul li.current {
	padding: 0;
	color: #fff;
}

nav.side-menu ul li a:hover {
	text-decoration: underline;
}
nav.side-menu li.user-icon {
	color: #fff;
}
nav.side-menu li.user-icon p {
	padding: 10px 0 0 10px;
}
nav.side-menu li.user-icon ul li {
	color: #fff;
	border-top: 1px dashed #F6F5F2;
	border-bottom: none;
}
nav.side-menu li.user-icon ul{
	margin-top: 10px;
}
nav.side-menu li.user-icon ul li a img {
	width: 16px;
	padding: 0 5px 0 0;
	vertical-align: middle;
}
nav.side-menu ul {
	list-style-type: none;
	text-align: left;
}

/*support画面の調整*/
#contents_list li {
    list-style: none;
    margin: 0;
    padding: 0;
}

#contents_list li:before{
    content: "";
    display: inline-block;
    width: 22px;
    height: 23px;
    background: url(../../common/img/adobe_reader_icon_small.png) no-repeat;
    vertical-align: text-top;
    margin-right: 14px;
	
}

.cf:after{  
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}

dl.support-form {
	clear: both;
    border-top: 0;
    background: #f9f9f9;
    margin: 0 0 20px;
    line-height: 1.4;
}

dl.support-form dt.dl-head {
	display: block;
    float: left;
    width: 25%;
    border-top: 1px solid #ccc;
    padding: 10px 0;
}
dl.support-form dd.dl-head {
	margin-left: 25%;
    padding: 10px 0;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}
dl.support-form dt {
	display: block;
    float: left;
    width: 25%;
    padding: 15px 0 0 10px;
}
dl.support-form dd {
    margin-left: 25%;
    padding: 15px 10px;
   /* border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    background: #fff;
    /*min-height: 2em;*/
}