@charset "utf-8";

/*****************************************
	toppage.css
	20210928トップページから移設（固有スタイルはstyle.cssで調整）
******************************************/
*,
*:before,
*:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="text"],
input[type="button"],
input[type="image"],
input[type="submit"] {
     -webkit-appearance: none;
     border-radius: 0;
}

div#container,
#header .content,
#main .content,
#footer .content .free {
  width: 100%;
}

/* header */
#header .content .free {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

#header .content .free > .logo,
#header .content .free > h1 {
  display: none;
}

#headContent .free a {
  text-decoration: none !important;
}

.topOnlyHead {
  display: block;
  width: 100%;
  background-color: #fff;
}

.topLogo {
  max-width: 218px;
  position: absolute;
  bottom: 0;
  width: 44%;
}

.topOnlyHead .h1Wrap {
  min-height: 130px;
  margin: 0 auto;
  max-width: 1000px;
  width: 94%;
}

#header .content .free .topOnlyHead .h1Wrap h1 {
  font-size: 12px;
  max-width: 100%;
  padding-right: 45%;
  position: relative;
  top: 15px;
}
@media screen and (max-width: 1085px) and (min-width: 769px) {
  #top-head {
    max-width: 45%;
  }
}
@media screen and (min-width: 769px) {
  #main {
    margin-top: 130px;
  }
  .topOnlyHead {
    position: fixed;
    top: 0;
    z-index: 99999;
  }
}
@media screen and (max-width: 959px) {
  #header .content .free .topOnlyHead .h1Wrap h1 {
    padding-right: 130px;
  }

  .topLogo {
    width: 442px;
  }
}

@media screen and (max-width: 768px) {
  .topOnlyHead .h1Wrap {
    position: absolute;
    min-height: auto;
    color: #ffffff;
    top: 10px;
    z-index: 100;
  }

  #header .content .free .topOnlyHead .h1Wrap h1 {
    padding-right: 90px;
    text-align: left;
    top: 0;
    padding-left: 3%;
    line-height: 1.2;
  }
}

@media screen and (max-width: 540px) {
  #header .content .free .topOnlyHead .h1Wrap h1 {
    padding-right: 70px;
    font-size: 12px;
  }
}

/* header end */

#headContent .free {
  font-size: 18px;
}

.br {
  display: block;
}

img {
  height: auto;
  width: 100%;
}

.spOn {
  display: none !important;
}

.cnt {
  padding-bottom: 130px;
}

.cnt.cnt1 {
  padding-top: 30px;
  padding-bottom: 80px;
}

.cntBox {
  padding-top: 50px;
}

.w94 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 94%;
}

.w100 {
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
}

.cnt1 p {
  font-size: 22px;
}

#mapObj > p.pcOn {
  font-size: 22px;
  position: absolute;
  z-index: 100;
  top: 0;
}

.freeWordObj {
  margin: 0 auto 30px;
  max-width: 524px;
  width: 100%;
}

.freeWordObj form {
  margin: 0 auto;
  display: block;
  position: relative;
}

.freeWordInput {
  padding: 0 130px 0 0;
  width: 100%;
  position: relative;
}

.freeWordObj #freeword {
  height: 60px;
  padding: 0 0 0 0;
  box-sizing: border-box;
  width: 100%;
  text-indent: 20px;
  background-color: #ffffff;
  display: block;
  color: #808080;
  font-size: 18px;
  border: 2px solid #bfbfbf;
  font-weight: normal;
}

.freeWordObj #freewordsearch {
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
}

.nth3 {
  font-size: 0;
  margin: 0 auto;
  max-width: 1000px;
  width: 94%;
}

.nth3 li {
  display: inline-block;
  margin-left: 16%;
  width: 42%
}

.nth3 li:first-child {
  margin-left: 0;
}

.bTn {
  font-size: 0;
}

.bTn a {
  display: block;
  color: #ffffff !important;
  font-size: 22px;
  font-weight: bold;
  line-height: 70px;
  position: relative;
  text-align: center;
  padding: 0 30px;
}

.bTn a > span {
  display: inline-block;
  line-height: 1.4;
  vertical-align: middle;
  padding-bottom: 3px;
}

@media all and (-ms-high-contrast:none) {
  .bTn a > span {
    padding-bottom: 0;
  }
}

.bTn a > span > span {
  display: inline-block;
}

.btnT1 a {
  background-color: #eeeeee;
  color: #000000 !important;
}

.btnT1 a:after {
  font-family: recop-iconfonts;
  position: absolute;
  height: 1em;
  line-height: 1;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "\E845 ";
  color: #298ae4;
  font-size: 24px;
  right: 15px;
}

.btnT1 a:hover {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#565ca2+0,5fa6e9+100 */
  background: rgb(86, 92, 162);
  /* Old browsers */
  background: -webkit-gradient(linear, left top, right top, from(rgba(86, 92, 162, 1)), to(rgba(95, 166, 233, 1)));
  background: linear-gradient(to right, rgba(86, 92, 162, 1) 0%, rgba(95, 166, 233, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#565ca2', endColorstr='#5fa6e9', GradientType=1);
  color: #ffffff !important;
}

.btnT1 a:hover:after {
  color: #ffffff;
}

.btnLocation {
  position: absolute;
  top: 260px;
  width: 200px;
  left: 0;
  z-index: 100;
}

.btnLocation a {
  background-color: #fc3e1a;
  line-height: 120px;
  width: 200px;
}
.btnLocation.lazyloaded a > span {
  background-image: url("../images/pin.png");
}
.btnLocation a > span {
  background: no-repeat scroll center top;
  display: inline-block;
  min-height: 35px;
  padding-top: 40px;
  line-height: 1.4;
}

.btnLocation a:hover {
  opacity: 0.6;
}

.h2wrap {
  background-color: #e9f3f8;
}

.h2wrap h2 {
  background-color: #ffffff;
  font-size: 42px;
  font-weight: 600;
  line-height: 160px;
  margin: 0 auto;
  max-width: 660px;
  width: 70%;
  text-align: center;
  color: #1e2380;
  -webkit-transform: skewX(-45deg);
          transform: skewX(-45deg);
}

.h2wrap h2 span {
  border-bottom: 4px solid #1e2380;
  display: inline-block;
  line-height: 1.4;
  -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
  padding-bottom: 6px;
}

h3 {
  color: #1e2380;
  text-align: center;
  margin-bottom: 40px;
}

.cnt2 h3 {
  font-size: 34px;
  padding-top: 60px;
}
.cnt2.lazyloaded .cntS1 h3 {
  background-image: url("../images/h31.png");
}
.cnt2 .cntS1 h3 {
  background: no-repeat scroll center top;
}
.cnt2.lazyloaded .cntS2 h3 {
  background-image: url("../images/h32.png");
}
.cnt2 .cntS2 h3 {
  background: no-repeat scroll center top;
}

.cnt3 h3 {
  font-size: 32px;
}

.cntS1 {
  position: relative;
  margin: 0 auto;
  max-width: 620px;
}

.aboutImg {

  margin-bottom: 30px;
}

.cnt32 .abouttxt .pcOn {
  float: left;
  width: 48%;
}

.cnt32 .abouttxt > p {
  padding-left: 52%;
}

.cnt33 {
  clear: both;
}
.cnt33 p {
  max-width: 700px;
  margin: 50px auto auto;
}

#bottomContent {
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
}

#areaLink div.area table,
#areaLink div.area table tr,
#areaLink div.area table tr th,
#areaLink div.area table tr td {
  border: 1px #6c6c6c solid;
}

#bottomContent #areaLink div.area table a {
  color: #000000 !important;
}

@media screen and (max-width: 959px) {
  .cnt {
    padding-bottom: 120px;
  }

  .cnt1 p {
    font-size: 16px;
  }

  .h2wrap h2 {
    font-size: 36px;
    line-height: 120px;
  }

  .cnt2 h3,
  .cnt3 h3 {
    font-size: 30px;
  }

  .bTn a {
    font-size: 20px;
  }
}

/*20191227職種ボタン追加*/
.nth3 li {
  margin-left: 5%;
  width: 30%;
}

.bTn a {
  font-size: 19px;
  padding: 0 20px 0 0;
}

.btnT1 a:after {
  right: 10px;
}

/* 202109 FAQ */
#faq .cntWrap {
  margin-top: 30px;
}
.faqBox {
  font-weight: bold;
  border-bottom: 2px solid #1F237B;
}
.faqBox:first-child {
  border-top: 2px solid #1F237B;
}
p.qTxt {
  font-size: 24px;
  color: #1F237B;
  position: relative;
  cursor: pointer;
  padding: 15px 55px 15px 15px;
}
p.qTxt::after {
  content: "\E813";
  font-family: 'recop-iconfonts';
  display: inline-block;
  width: 24px;
  height: 24px;
  color: #fff;
  background-color: #1F237B;
  border-radius: 3px;
  line-height: 24px;
  text-align: center;
  font-weight: normal;
  right: 15px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
p.qTxt.open::after {
  content: "\E822";
}
p.aTxt {
  font-size: 18px;
  color: #03843A;
  padding: 0 35px 15px 2.5em;
  display: none;
}

/*-----------------------*/

@media screen and (max-width: 768px) {
  .pcOn {
    display: none;
  }

  .spOn {
    display: block !important;
  }

  #headContent .free,
  .cnt1 p {
    font-size: 16px;
  }
  .kvWrap {
    background: url(../images/kvs.jpg) no-repeat scroll center top / 100% auto;
    height: 0;
    padding-top: 109%;
    position: relative;
  }

  .kvtxt {
    position: absolute;
    bottom: 25%;
    margin-left: 70px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 18px;
    color: #ffffff;
    text-shadow:
      black 1px 1px 0, black -1px -1px 0,
      /*右下、左上*/
      black -1px 1px 0, black 1px -1px 0,
      /*右上、左下*/
      black 0px 1px 0, black 0-1px 0,
      /*右、左*/
      black -1px 0 0, black 1px 0 0;
    /*上、下*/
  }

  .kvtxt img {
    margin: 0 auto;
  }

  /*
    .kvtxt .kvLogo {
        max-width: 624px;
        width: 84%;
    }
*/
  .kvtxt .kvTxt {
    max-width: 684px;
    width: 92%;
  }

  .h2wrap h2 {
    line-height: 100px;
    font-size: 32px;
  }

  .cnt2 h3,
  .cnt3 h3 {
    font-size: 28px;
    margin-bottom: 30px;
  }

  .cntS1 {
    max-width: 100%;
  }

  .btnLocation {
    position: relative;
    top: 0;
    width: 94%;
    margin: 30px auto;
  }

  .btnLocation a {
    width: 100%;
    line-height: 3em;
  }

  .btnLocation a > span {

    padding-top: 0;
    padding-left: 30px;
    background-position: left center;
  }

  .freeWordObj {
    max-width: initial;
  }

  .nth3 {
    width: 100%;
  }

  .nth3 li {
    display: block;
    width: 100%;
    margin-left: 0;
  }

  .nth3 li:first-child {
    border-top: 1px solid #6c6c6c;
  }

  .cntS2 .btnT1 a {
    border-bottom: 1px solid #6c6c6c;
    background-color: #ffffff;
    text-align: left;
    padding: 0 30px 0 1em;
    line-height: 62px;
  }

  .cnt32 .abouttxt > p {
    padding-left: 0;
  }
  #faq .cntWrap {
    width: 100%;
  }
  p.qTxt {
    font-size: 18px;
  }
  p.qTxt::after {
    width: 20px;
    height: 20px;
    line-height: 20px;
}
  p.aTxt {
      font-size: 16px;
  }
}

@media screen and (max-width: 540px) {
  .h2wrap h2 {
    line-height: 90px;
    font-size: 28px;
  }

  .cnt2 h3,
  .cnt3 h3 {
    font-size: 24px;
    margin-bottom: 20px;
  }

  .cntBox {
    padding-top: 40px;
  }

  .cnt {
    padding-bottom: 80px;
  }

  .cnt.cnt1 {
    padding-top: 20px;
    padding-bottom: 40px;
  }

  .btnLocation {
    margin: 20px auto;
  }
}

@media screen and (max-width: 320px) {}

/*-----------------------------------------*/
/*20191227 KV変更後の調整*/
@media screen and (max-width: 768px) {
  .kvWrap {
    padding-top: 81%;
  }

  .kvtxt {
    bottom: 28%;
    margin-left: 0;
  }
}

@media screen and (max-width: 400px) {
  .kvtxt {
    font-size: 16px;
  }
}

.listBtnTop li { margin-bottom: 40px; }
.listBtnTop li:nth-child(3n+1) { margin-left: 0; }

@media screen and (max-width: 768px) {
  .listBtnTop li:first-child {
    border-top: none;
  }
}

/*****************************************
	btnMss
******************************************/
.btnMss.btnTop {
  margin: 0 auto 40px;
  position: relative;
  top: 0;
  width: 480px;
}

.btnMss a {
  background-color: #fc3e1a;
  color: #fff;
  display: block;
  font-size: 26px;
  font-weight: bold;
  line-height: 2.75em;
  padding-left: 55px;
  position: relative;
  text-align: center;
  width: 100%;
}
  .btnMss a span {
    color: #fff;
  }
.btnMss a:hover { opacity: 0.6; }
.btnMss a:before {
  background-image: url(../images/pin.png);
  background-size: contain;
  background-repeat: no-repeat;
  content:'';
  height: 51px;
  left: 80px;
  position: absolute;
  top: 9px;
  width: 35px;
}
@media screen and (max-width: 768px) {
  .btnMss.btnTop { width: 300px; }
  .btnMss a {
    font-size: 17px;
    padding-left: 40px;
  }
  .btnMss a:before {
    background-image: url(../images/pin.png);
    background-size: contain;
    content:'';
    height: 35px;
    left: 50px;
    top: 5px;
    width: 23px;
  }
  .mssPage .btnT1 { overflow: hidden; }
  .mssPage .btnT1 li {
    float: left;
    margin-bottom: 20px;
    width: 50%;
  }
}
@media screen and (max-width: 360px) {
  .btnMss.btnTop { width: 100%; }
}


.listBtnTop {
  margin-bottom: 20px;
  overflow: hidden;
}
.listBtnTop li a { font-size: 28px; }
@media screen and (max-width: 768px) {
  .listBtnTop li {
    width: 50%;
    float: left;
    margin-bottom: 20px;
  }
  .listBtnTop li:nth-child(odd) {
    padding-right: 2%;
  }
  .listBtnTop li:nth-child(even) {
    padding-left: 2%;
  }
  .listBtnTop li a {
    border-bottom: none;
    color: #fff;
    background: rgb(86, 92, 162);
    background: -webkit-gradient(linear, left top, right top, from(rgba(86, 92, 162, 1)), to(rgba(95, 166, 233, 1)));
    background: linear-gradient(to right, rgba(86, 92, 162, 1) 0%, rgba(95, 166, 233, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#565ca2', endColorstr='#5fa6e9', GradientType=1);
    line-height: 50px;
  }
  .listBtnTop li a:after {
    font-size: 16px;
    color: #fff;
  }
  .listBtnTop li a > span {
    font-size: 16px;
    color: #fff;
  }
}
