@charset "utf-8";
/* CSS Document */
/*------------------------------------------------------------
リセット
------------------------------------------------------------*/
html,body{
box-sizing: border-box;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
margin: 0 auto;
font-size: 14px;
line-height: 1.4;
color: #333333;
}
html *{
box-sizing: border-box;
}
ul,
dl,
ol{
margin: 0px;
padding: 0px;
list-style-type: none;
}

table{
width:100%;
margin: 0 auto 40px;
border-collapse: collapse;
background: #fff;
text-align: left;
border: none;
vertical-align: top;
table-layout: fixed;
}
a,
a:visited {
font-weight:normal;
text-decoration: underline;
color: #004492; 
}

a:hover {
text-decoration: none
}
pre{
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-size: 14px;
line-height: 1.4;
color: #333333;
white-space:pre-wrap;
margin: 0 0 10px;
}


/*------------------------------------------------------------
ヘッダー、フッターなど、共通スタイル
------------------------------------------------------------*/

#header-wrapper{
width:100%;
box-shadow: 1px 1px 15px 0px rgba(0,0,0,0.15);
}
#header-wrapper header {
width:100%;
max-width: 1200px;
padding: 10px;
height: 70px;
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 auto
}
#header-wrapper h1,#header-wrapper h1 a{
display: flex;
align-items: center;    
margin: 0;
}
#header-wrapper h1 img{
width:100%;
max-width: 400px;
height:auto;
}
#contents-wrapper h1{
max-width:920px;
width: 100%;
margin: 0 auto;
padding: 50px 10px 20px;
}

#footer-wrapper{
padding: 30px 0;
text-align: center;
border-top:solid 1px #cccccc;	
}

#footer-wrapper small{
font-size:12px;
}

@media screen and (max-width:1000px) {
#header-wrapper header {
padding: 0 10px;
}
#header-wrapper h1{
margin: 0;
width:100%;
max-width:415px;
padding: 5px 0;
}
}


@media screen and (max-width:415px) {
#header-wrapper header {
height: 60px;
  }
#header-wrapper h1{
margin: 0 auto;
width:80%;
}
}
/*------------------------------------------------------------
求人票一覧
------------------------------------------------------------*/

#job-list{
width:100%;
max-width: 1000px;
margin: 0 auto;
padding: 10px;
}
#job-list .list-item{
width: 100%;
max-width:900px;
margin: 0 auto	50px;
box-sizing: border-box;
border:solid 1px #999;
padding:30px;
}

#job-list h3{
font-size:24px;
margin-bottom: 40px;
padding:20px 10px;
border-left:2px solid #004492; 
background:#f5f5f5;
}
#job-list tr{
border-bottom:dashed 1px #ccc;
}

#job-list th,
#job-list td{
border: none;
vertical-align: top;
padding: 10px;
}

#job-list th{
width:90px;
text-align: center;
}

#job-list td{
width:calc((100% - 180px) / 2);	
}

#job-list span.location{
display: block;
}
a.btn{
display: block;
width: 90%;
max-width: 300px;
font-size:16px;
border-radius: 3px;
padding:15px 10px;
color: #fff !important;
background:#004492;
text-align: center;
text-decoration: none;
margin: 0 auto;
}

a.btn:hover{
opacity: 0.8
}

@media screen and (max-width: 767px) {
#job-list .list-item{
margin: 0 auto	30px;
padding:10px 10px 30px;
}
#job-list h3{
font-size:18px;
margin-bottom: 10px;
}
#job-list table{
width:100%;
margin: 0 auto 30px;
}
#job-list tr{
border-bottom:none;
}

#job-list th,
#job-list td{
width: 100%;
text-align: left;
display: block;
}
#job-list th{
padding-bottom: 0;
}	

#job-list td{
border-bottom:dashed 1px #ccc;
}
}

/*------------------------------------------------------------
求人票詳細
------------------------------------------------------------*/
#job-detail{
width:100%;
max-width: 1000px;
margin: 0 auto;
padding: 10px;
}
#job-detail section{
padding-bottom: 70px;
}
#job-detail h3,
#company h3{
font-size:26px;
margin-bottom: 30px;
padding:10px;
border-left:2px solid #004492;
background:#f5f5f5;
font-weight: normal
}

#job-detail pre{
margin:0;
}
#job-detail tr#detail pre{
margin-bottom:70px;
}
#job-detail tr#detail pre:last-of-type{
margin-bottom:0;
}

.to-entry{
display: flex;
justify-content:center;
margin-bottom: 60px;
}
.to-entry#header-entry{
justify-content:flex-end;
margin-bottom: 10px;
}
.to-entry a{
display: block;
width: 200px;
padding:10px;
font-size:20px;
font-weight:bold;
text-align:center;
border-radius: 5px;
background:#004492;
text-decoration: none
}
.to-entry a:hover{
opacity: 0.8
}
#job-detail #job-detail-header{
padding-bottom:0;
}
#job-detail #job-detail-header h2{
font-size:28px;
margin-bottom: 10px;
}
#job-detail #job-detail-header p{
font-size:12px;
text-align: right;
}

#job-detail #job-detail-header h3{
font-size:20px;
padding: 0;
margin: 0 0 15px;
background: none;
border: none;
font-weight: normal
}


.job-detail-mv img{
width: 100%;
height:auto; 
}

#job-detail #tag h3{
padding: 0 0 0 30px;
margin: 0 0 20px;
background: none;
border-left: none;
border-bottom:dotted 1px #333;
background: url("../img/tag.svg") no-repeat center left;
background-size:24px auto 
}

#job-detail #tag-box{
overflow:hidden;
}
#job-detail #tag h3 img{
margin-right: 5px
}

#job-detail #tag-box ul li{
float: left;
padding: 5px;
border-radius: 4px;
border:solid 1px #f3658e;
color: #f3366c;
margin:0 5px 10px 
}
#job-detail #tag-box ul li.tag2{
border:solid 1px #82b4ed;
color: #004492;
}
#job-detail #tag-box ul li.tag1 + li.tag2{
clear: both
}
#job-detail #thumbnail{
display: block;
width:100%;
height:100px;
margin: 0 auto
}
#job-detail table{
border:solid 1px #ccc;
}
#company table{
border:solid 1px #ccc;
}
#job-detail #requirements table{
margin-bottom: 0
}
#job-detail th,
#job-detail td,
#company th,
#company td{
padding: 15px;
border-bottom: solid 1px #ccc;
font-weight: normal
}

#job-detail th,
#company th{
background:#f5f5f5;
width: 150px;
}

#job-detail a.btn{
font-size:24px; 
}

#appeal-message {
display: block;
width:100%;
max-width: 590px;
height: auto;
margin:0 auto 10px;
padding-top: 5%;
background: url("../img/appeal_message.png") no-repeat top center;
background-size: 100%;
}
#appeal #appeal-btn{
width:90%;
max-width: 490px;
margin: 0 auto 20px
}
#appeal #appeal-btn input{
width:100%;
padding:40px 10px;
display: block;
border: none;
border-radius:5px;
background: url("../img/appeal_btn.png") no-repeat center #004492;
background-size:80%; 
cursor: pointer;
margin-bottom: 50px		
}

#appeal #appeal-btn input:hover{
opacity: 0.8
}

#modal_window {
width:100%;
 position: fixed;
 top:0;
 height:100vh;
 background:rgba(0,0,0,0.5);
}

#modal_close_btn_wrapper {
width:100%;
 max-width: 1600px;
 position: absolute;
 top:10px;
 left: 50%;
transform: translateX(-50%);	
z-index:100;
padding-left: 10px;
text-align: right
}

#modal_close_btn_wrapper span#modal_close_btn{
font-size:30px;
display: block;
text-align: center;
width: 200px;
border-radius: 5px;
color:#fff;
background:#2ec232;
cursor: pointer;
padding:20px 0;
z-index: 100;
margin-left: calc(100% - 226px);
}
#modal_close_btn_wrapper span#modal_close_btn span{ 
font-size:38px;
line-height: 1.0;
padding-right: 5px;
color:#fff;
}

#modal_close_btn_wrapper span#modal_close_btn:hover{
opacity: 0.8;
}

#modal_window iframe{
display: block;
width: 100%;
max-width: 1600px;
height: 100%;
border: none;
background:#fff;
margin: 0 auto;
}

#entry p{
margin-bottom: 30px;
padding: 10px;
	}
#InquiryForm{
width: 84%;
margin-right: auto;
margin-left: auto;
	}

#InquiryForm dl {
background-color: #f5f5f5;
border: solid 1px #ccc;
border-top: none;
margin-bottom: 20px;
}
#InquiryForm dl dt {
float: left;
width: 200px;
margin-right: 12px;
clear: left;
padding:20px 12px;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #ccc;
}
#InquiryForm dd {
padding:20px 14px;
background-color: #FFF;
margin-left: 200px;
border-top: solid 1px #ccc;
color: #000;	
}
#InquiryForm dd.input-area {
position: relative;
}
.input-rule {
font-size: 12px;
}
.txtbox {
width: 275px;
height: 24px;
margin-right: 4px;
}
#InquiryForm label {
margin-right: 20px;
cursor: pointer
}
.require:after {
content: "*";
color: #F00;
}

#Send {
text-align: center;
clear: both;
}
#Send input {
width: 150px;
height: 50px;
font-size: 18px;
font-weight: bold;
color: #FFFFFF;
background-color: #004492;
border-radius:4px;
border:none;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#Send input:hover{
opacity: 0.8;
cursor: pointer;
}

#Thanks{
width: 100%;
max-width: 1000px;
margin: 0 auto;
padding:50px 10px;
}
#Thanks h2{
font-size: 26px;
padding-bottom:30px;
margin:0 auto 30px;
border-bottom: solid 1px #cccccc;
}

@media screen and (max-width: 767px) {
#job-detail section{
padding-bottom: 60px;
}
#job-detail h3{
font-size:18px;
margin-bottom: 10px;
}
.to-entry#header-entry{
justify-content:center;
}
#job-detail #job-detail-header h2{
font-size:22px;
}
#job-detail #job-detail-header h3{
font-size:16px;
}

#job-detail table{
margin: 0 auto 30px;
border:none;
}
#job-detail th{
display: block;
background:#fff;
width:100%;
padding: 15px 5px 0;
border-bottom:none;
font-weight: bold
}

#job-detail td{
display: block;
padding: 10px 17px;
border-bottom: solid 1px #ccc;
}

#job-detail a.next{
font-size:20px;
}
#modal_window {
 width: 100%;
 box-shadow: 0px 0px 10px 0px rgba(204, 204, 204, 0.9);
}
#modal_close_btn_wrapper{
 width: 100%;
}
#modal_close_btn_wrapper span#modal_close_btn{
font-size:20px;
width: 126px;
padding:15px 0;
margin-left: calc(100% - 136px);
}
#modal_close_btn_wrapper span#modal_close_btn span{ 
font-size:20px;
}
#modal_window iframe{
width: 100%;
height: 100%;
border: none;
}
#InquiryForm dl {
margin: 0px auto 20px;
border: none;
background: none;
width: 100%;
max-width: 400px;
margin-left: auto;
}
#InquiryForm dl dt {
float: none;
width: 100%;
padding: 0px;
margin: 15px 0px 5px 0px;
border-top: none;
font-weight: bold;
color: #000;
}
#InquiryForm dd {
margin: 0px;
padding: 0px;
border-top: none;
background: none;
}
.input-area {
width: 100%;
}
.input-rule {
display: block
}
.txtbox {
width: 100%;
margin-bottom: 2px;
height: 28px;
}
}

/*------------------------------------------------------------
募集していない時
------------------------------------------------------------*/
.list-nondisplay{
width: 90%;
max-width: 900px;
margin: 0 auto 50px;
box-sizing: border-box;
border: solid 2px #000;
padding: 30px;
text-align: center
}
.nondisplay-msg:before{
content:"ただいま募集中の求人はございません。";
font-weight:bold;
font-size:30px;
}
.nondisplay-img{
width:100%;
padding-top:0%;
background: url("../design/img/no_jobs_img.jpg") no-repeat center;
background-size:100% auto;	
}

@media screen and (max-width: 767px) {
.list-nondisplay{
text-align: left;
}
.nondisplay-msg:before{
font-size:18px;
}
}


.detail-nondisplay{
width: 90%;
max-width: 900px;
margin: 50px auto;
padding:100px 10px;
display:flex;
justify-content: center;
align-items: center;
border:solid 3px #333;
font-size:18px;
}

