/* 共通 */

@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/NotoSerifJP/NotoSerifJP-Regular.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/NotoSerifJP/NotoSerifJP-Bold.woff') format('woff');
  font-display: swap;
}

body, html { height: 100%}
body {
 background: #fff;
 color: #444;
	font-weight: 500;
	font-family: Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", YuGothic, "游ゴシック", Meiryo, "メイリオ", Verdana, "ＭＳ Ｐゴシック", sans-serif;
 font-size: 16px;
 line-height: 1.875;
	overflow-x: hidden;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-box-shadow: none;
            box-shadow: none;   
            outline: none;
}

a {
 color: #429156;
 outline:none;
}
a:hover {	text-decoration: underline;}
a img { outline:none;}
h1,h2,h3,h4 { color: #2e2e2e;}
#pagetop {}
nav { background: none;}

ul, ol {
	margin-left: 0;
	padding-left: 0;
}
ul { list-style: none;}

dl, dt, dd {
	margin: 0;
	padding: 0;
}
.margin-bottom { margin-bottom: 1.250rem;}
.margin-bottom2x { margin-bottom: 1.875rem;}

img {
 border: 0;
 display: block;
 height: auto;
 max-width: 100%;
 width: auto;
}

.wp-block-embed { margin-bottom: 0;}
.wp-block-column { margin-bottom: 0;}
.wp-block-columns { margin-bottom: 0;}

.font-16 {	font-size: 1.0rem!important;}
.bold { font-weight: bold!important;}

/* iOSでのフォーム周りデフォルトスタイルをリセット */

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.warp {
 display: block;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignright {
  float: right;
  margin-left: 1rem;
}

.alignleft {
  float: left;
  margin-right: 1rem;
}

@media (max-width: 767px) {
 .alignright {
  display: block;
  float: none;
  margin-left: 0;
 }
 .alignleft {
  display: block;
  float: none;
  margin-right: 0;
 }
}

article {
 padding-top: 142px;
}

/* header */

header {
 position: fixed;
 width: 100%;
 height: 142px;
 background: #fff;
 z-index: 99;
}

.headerInner {
 height: 100%;
 width: 100%;
 padding-left: 60px;
 padding-right: 30px;
 display: flex;
 align-items: center;
 justify-content: space-between;
}

.headerInner h1 { margin-bottom: 0;}
.headerInner ul {
 display: flex;
 height: 100%;
 align-items: center;
 justify-content: flex-end;
 margin-bottom: 0;
}

.headerInner ul li {
 height: 100%;
 display: block;
}

.headerInner ul li a {
 display: flex;
 align-items: center;
 height: 100%;
 padding: 0 20px;
 font-weight: bold;
 font-size: 0.9375rem;
 transition: 0.2s;
}

.headerInner ul li a:hover {
 background: #5eb033;
 color: #fff;
 text-decoration: none;
}

.login a span {
 display: inline-block;
 background: #fdf451;
 border-radius: 999px;
 padding: 15px 30px;
 transition: 0.2s;
}
.login a:hover { background: none!important;}

.login a:hover span {
 background: #5eb033;
 transition: 0.2s;
}

.logout a span {
 display: inline-block;
 background: #FF9800;
 border-radius: 999px;
 padding: 15px 30px;
 color: #fff;
 transition: 0.2s;
}
.logout a:hover { background: none!important;}

.logout a:hover span {
 background: #5eb033;
 transition: 0.2s;
}

.gnav {
 height: 100%;
 display: block;
}

header.sp { display: none;}

.spHeadLogin {
 position: absolute;
 right: 0;
}
.spHeadLogin { display: none;}
.spHeadLogin .login { border-bottom: none!important;}

.spGnavBottom {
 display: none;
 position: absolute;
 top: 15px;
 left: 15px;
 width: 45px;
 height: 45px;
 background: #fff;
 font-size: 0.625rem;
 color: #5eb033;
 text-align: center;
 cursor: pointer;
 z-index: 2;
}

.spGnavBottom:before {
 font-family: 'Material Icons';
 content: 'menu';
 display: block;
 width: 100%;
 font-size: 36px;
 line-height: 1.0;
}

.spGnavBottom.active:before {
 font-family: 'Material Icons';
 content: 'close';
 display: block;
 width: 100%;
 font-size: 36px;
 line-height: 1.0;
}

.spGnavBottom span {
 display: block;
 margin-top: -10px;
}

.current_page_item a, .current-menu-item a {
 background: #5eb033!important;
 color: #fff!important;
}

@media (min-width: 1280px) {
 .gnav { display: block!important;}
}

@media (max-width: 1300px) {
 .headerInner ul li a {
  padding: 0 15px;
 }
}

@media (max-width: 1279px) {
 header {
  height: 76px;
 }
 .headerInner {
  justify-content: center;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
 }
 .headerInner h1 {
  width: 146px;
 }
 .headerInner ul { justify-content: center;}
 .headerInner .gnav ul li.login { display: none;}
 .spHeadLogin { display: block;}
 .spHeadLogin ul {
  display: block;
 }
 .login a span, .logout a span {
  display: inline-block;
  padding: 12px 20px;
  font-size: 0.75rem;
 }
 .gnav {
  display: none;
  position: absolute;
  top: 76px;
  left: 0;
  right: 0;
  border-top: #e6e6e6 solid 1px;
  background: #fff;
 }
 .spGnavBottom { display: block;}

 article {
  padding-top: 76px;
 }
}

@media (max-width: 767px) {
 .headerInner ul {
  display: block!important;
 }
 .headerInner ul li {
  background: #fff;
  border-bottom: #e6e6e6 solid 1px;
  height: 60px;
 }
}


/* slider */

.homeVisualSlider {}
.homeVisualSlider img {
 border-radius: 20px;
 overflow: hidden;
}
.homeVisualSlider ul {
 margin-bottom: 0;
}

/* 求人 */

.recruitWarp {
 background: #e7e8d1;
 padding-bottom: 50px;
}

body.search .recruitWarp {
 margin-top: 160px;
}

.home .recruitWarp {
 margin-top: 95px;
}

.recruitWarp dl {
 border-radius: 20px;
 overflow: hidden;
 margin-top: -35px;
}

.recruitWarp dl dt {
 height: 70px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 background: #429156;
 padding: 0 30px;
 border-bottom: #e7e8d1 solid 4px;
 font-size: 1.125rem;
 font-weight: bold;
 color: #fff;
 line-height: 1.0;
}

.recruitWarp dl dt ul {
 margin-bottom: 0;
}

.recruitWarp dl dt ul li a {
 background: #fdf451;
 border-radius: 999px;
 padding: 10px 18px;
 font-size: 0.875rem;
 font-weight: bold;
 color: #377847;
 transition: 0.2s;
}

.recruitWarp dl dt ul li a:hover {
 background: #5eb033;
 color: #fff;
 text-decoration: none;
 transition: 0.2s;
}

.recruitWarp dl dd {
 background: #fff;
 border-bottom: #e7e8d1 solid 4px;
 padding: 15px 30px;
}
.recruitWarp dl dd:last-child { border-bottom: none;}

.recruitDate { display: flex;}
.recruitDate ul {
 margin-bottom: 0;
 display: flex;
 font-size: 0.875rem;
}
.recruitDate .postDay {
 margin-left: 0;
 font-size: 0.875rem;
}
.recruitDate .catList { margin-left: 20px;}

.recruitDate .catList li:before {
 content: '-';
 margin-left: 5px;
 margin-right: 5px;
 color: #5eb033;
}
.recruitDate .catList li:first-child:before { display: none;}

.recruitWarp dd a {
 font-weight: bold;
 color: #429156;
}
.recruitLink { padding-top: 60px;}

@media (max-width: 767px) {
 .home .recruitWarp {
  margin-top: 0;
  padding-bottom: 30px;
 }

 .home .recruitWarp {
  margin-top: 100px;
  padding-bottom: 30px;
 }

 body.home .recruitWarp {
  margin-top: 50px;
  padding-bottom: 30px;
 }
 .recruitDate {
  flex-direction: column;
 }
 .recruitDate .catList {
  margin-left: 0;
 }

}

/* footer */

footer {
 background: #fff url("../imgs/bg-footer.png") center center no-repeat;
 background-size: cover;
 padding-top: 60px;
 padding-bottom: 80px;
}

.search.resources footer {
 margin-top: 90px;
}


.footerBottom {
 margin-top: 150px;
}

.footerSnsWarp {
 padding-left: 95px;
}

.footerSnsWarp ul {
 display: flex;
 margin-bottom: 0;
}

.footerSnsWarp ul li { margin-left: 10px;}
.footerSnsWarp ul li:first-child { margin-left: 0;}

.footerAddressWarp dl {
 color: #fff;
}

.footerAddressWarp dl dt {
 font-weight: normal;
}

.footerAddressWarp dl dd {
 font-size: 0.875rem;
}

.copyright {
 display: block;
 margin-top: 20px;
 font-size: 0.75rem;
}

@media (max-width: 767px) {
 footer {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 10px;
  padding-right: 10px;
 }
 .footerSnsWarp { padding-left: 0;}
 .footerSnsWarp ul { justify-content: center;}
 .footerAddressWarp {
  margin-top: 20px;
 }
 .footerBottom { margin-top: 70px;}
}


/* コンテンツタイトル */

.titleWarp {
 padding-top: 30px;
 padding-bottom: 30px;
 min-height: 218px;
 background: #5eb033;
 display: flex;
 justify-content: center;
 align-items: center;
}

.titleWarp h1 {
 display: flex;
 align-items: center;
 justify-content: center;
 margin-bottom: 0;
 text-align: center;
 font-size: 2.250rem;
 font-weight: bold;
 font-family: 'Noto Sans Japanese', sans-serif;
 color: #fff;
 line-height: 1.4;
}

.titleWarp h1 span {
 font-size: 1.50rem;
}

.contentHead { margin-top: 90px;}

@media (max-width: 767px) {
 .titleWarp {
  padding-top: 30px;
  padding-bottom: 30px;
  min-height: 180px;
 }
 .titleWarp h1 {
  flex-direction: column;
  font-size: 2.0rem;
 }
 .titleWarp h1 span { font-size: 1.250rem;}
 .contentHead {
  margin-top: 30px;
  padding-left: 15px;
  padding-right: 15px;
 }
}

/* ページャー */

.pagerWarp {
 display: block;
 margin-top: 60px;
}

.wp-pagenavi { text-align: center;}
.wp-pagenavi a, .current {
 display: inline-block;
 border: #e8e9d2 solid 1px;
 border-radius: 50%;
 width: 44px;
 height: 44px;
 margin-right: 5px;
 margin-left: 5px;
 line-height: 44px;
 color: #429156;
 transition: 0.2s;
}

.current {
 border: #429156 solid 1px!important;
 background: #429156!important;
 color: #fff!important;
 font-weight: bold!important;
}

.wp-pagenavi a:hover {
 border: #429156 solid 1px;
 background: #429156;
 color: #fff;
 font-weight: bold;
 transition: 0.2s;
 text-decoration: none;
}
.previouspostslink, .nextpostslink { border: #fff solid 1px!important;}


/* 固定ページ */

.pageContentWarp {
 margin-top: 90px;
 padding-bottom: 100px;
}

@media (max-width: 767px) {
 .pageContentWarp {
  margin-top: 30px;
  padding-bottom: 50px;
 }
}

.login-forgot {
 display: flex;
 justify-content: center;
}
.login-forgot a {}
