@charset "UTF-8";
@import url("reset.css");
@import url("common.css");
/*--------------------------------------------------
基本設定
--------------------------------------------------*/
@media (max-width: 799px) {
  .noTab, .noTab caption, .noTab thead, .noTab tfoot, .noTab tbody, .noTab tr, .noTab th, .noTab td {
    display: block;
    width: 100%;
  }
  .noTab tr {
    margin-top: 10px;
  }
  .img_left {
    float: none;
    margin: 10px auto;
    text-align: center;
  }
  .img_right {
    float: none;
    margin: 10px auto;
    text-align: center;
  }
}
/*文字*/
body {
  font-size: 18px;
  line-height: 2;
}

/*枠組*/
@media screen and (min-width: 1200px) {
  section {
    padding: 5vh;
  }
}
@media screen and (max-width: 1200px) {
  section {
    padding: 2vh;
  }
}
@media screen and (max-width: 799px) {
  section {
    padding: 1vh;
  }
}
@media screen and (max-width: 499px) {
  section {
    padding: 1em;
  }
}
section h2 {
  font-size: 30px;
  margin-bottom: 30px;
  font-weight: 700;
}
section h2 span {
  display: block;
  opacity: 0.3;
}
section h3 {
  font-size: 26px;
  margin-bottom: 20px;
  font-weight: 700;
  color: rgb(0, 143, 243);
}

.inner {
  width: 100%;
  padding: 0 10px;
}
@media screen and (min-width: 1200px) {
  .inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
  }
}
.inner .box33, .inner .box66 {
  width: 100%;
}
@media screen and (min-width: 799px) {
  .inner .box33 {
    width: 33%;
  }
}
@media screen and (min-width: 799px) {
  .inner .box66 {
    width: 60%;
  }
}

/*強調：マーカー*/
.mark {
  background: linear-gradient(transparent 50%, rgba(255, 255, 134, 0.9) 50%);
}

/*TopVisual*/
.TopVisual {
  padding: 0;
  background-size: cover;
  /*タイムラグアンダーライン用*/
}
@media screen and (min-width: 1200px) {
  .TopVisual {
    background-image: url(../images/topvs_pc.jpg);
  }
}
@media screen and (max-width: 1200px) {
  .TopVisual {
    background-image: url(../images/topvs_fx.jpg);
  }
}
@media screen and (max-width: 799px) {
  .TopVisual {
    background-image: url(../images/topvs_tab.jpg);
  }
}
@media screen and (max-width: 499px) {
  .TopVisual {
    background-image: url(../images/topvs_sp.jpg);
  }
}
.TopVisual .e_under .e_tgt.n1::after {
  transition-delay: 0ms;
}
.TopVisual .e_under .e_tgt.n2::after {
  transition-delay: 400ms;
}
.TopVisual .e_under .e_tgt.n3::after {
  transition-delay: 600ms;
}
.TopVisual h1 {
  width: 100%;
  height: 3em;
  background-image: url(../images/logo.png);
  background-repeat: no-repeat;
  background-size: contain;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
@media screen and (min-width: 1200px) {
  .TopVisual h1 {
    width: 25%;
  }
}
@media screen and (max-width: 1200px) {
  .TopVisual h1 {
    width: 35%;
  }
}
@media screen and (max-width: 799px) {
  .TopVisual h1 {
    width: 45%;
  }
}
@media screen and (max-width: 499px) {
  .TopVisual h1 {
    width: 100%;
  }
}
.TopVisual h2 {
  font-weight: 700;
  width: 100%;
  margin: 0.5em 0;
}
.TopVisual h2 span {
  padding: 5px 15px;
  opacity: 1;
  display: inline-block;
  margin: 10px;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .TopVisual h2 {
    font-size: 50px;
    width: 50%;
  }
}
@media screen and (max-width: 1200px) {
  .TopVisual h2 {
    width: 60%;
  }
}
@media screen and (max-width: 799px) {
  .TopVisual h2 {
    width: 70%;
  }
}
@media screen and (max-width: 499px) {
  .TopVisual h2 {
    width: 100%;
  }
}
.TopVisual h2 .e_under .e_tgt {
  position: relative;
}
.TopVisual h2 .e_under .e_tgt::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 0;
  background: rgba(255, 255, 255, 0.9);
  transition: width 1s;
}
.TopVisual h2 .e_under.on .e_tgt::after {
  width: 100%;
  z-index: -1;
}
.TopVisual .inner {
  background: url(../images/topvs_people.png);
  background-position: bottom right;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1200px) {
  .TopVisual .inner {
    background-size: 55%;
  }
}
@media screen and (max-width: 1200px) {
  .TopVisual .inner {
    background-size: 45%;
  }
}
@media screen and (max-width: 799px) {
  .TopVisual .inner {
    background-size: 35%;
  }
}
@media screen and (max-width: 499px) {
  .TopVisual .inner {
    background-size: 100%;
    background-position: bottom center;
    padding-bottom: 80vw;
  }
}
.TopVisual p {
  padding: 20px 20px 50px 20px;
}
@media screen and (min-width: 1200px) {
  .TopVisual p {
    width: 50%;
  }
}
@media screen and (max-width: 1200px) {
  .TopVisual p {
    width: 60%;
  }
}
@media screen and (max-width: 799px) {
  .TopVisual p {
    width: 100%;
    padding: 1em;
  }
}

/*ideal candidate profile*/
.icp {
  background-color: rgb(0, 143, 243);
}
.icp h2 {
  color: rgb(255, 255, 255);
}
.icp dl {
  margin-bottom: 30px;
}
@media screen and (min-width: 1200px) {
  .icp dl {
    width: 30%;
  }
}
@media screen and (max-width: 1200px) {
  .icp dl {
    width: 48%;
  }
}
@media screen and (max-width: 799px) {
  .icp dl {
    width: 100%;
  }
}
.icp dl dt {
  color: rgb(255, 255, 255);
  padding: 15px;
  font-size: 120%;
  line-height: 1.8;
  font-weight: bold;
  text-align: center;
  background: url(../images/icp_wanted.png) rgb(0, 0, 0) no-repeat bottom right;
  background-size: 35%;
}
.icp dl dt span {
  display: inline-block;
}
.icp dl dd {
  background-color: rgb(255, 255, 255);
  padding: 30px 30% 30px 30px;
  border: 4px solid rgb(0, 0, 0);
  background-size: 35%;
  background-repeat: no-repeat;
  background-position: bottom right;
  font-weight: bold;
}
@media screen and (max-width: 1200px) {
  .icp dl dd {
    background-size: 30%;
  }
}
@media screen and (max-width: 799px) {
  .icp dl dd {
    background-size: 20%;
  }
}
@media screen and (max-width: 499px) {
  .icp dl dd {
    background-size: 35%;
  }
}
.icp dl dd.case1 {
  background-image: url(../images/icp_img_01.png);
}
.icp dl dd.case2 {
  background-image: url(../images/icp_img_02.png);
}
.icp dl dd.case3 {
  background-image: url(../images/icp_img_03.png);
}
.icp dl dd.case4 {
  background-image: url(../images/icp_img_04.png);
}
.icp dl dd.case5 {
  background-image: url(../images/icp_img_05.png);
}

/*future*/
.future {
  background: url(../images/bg_note.png) repeat;
}
@media screen and (min-width: 799px) {
  .future .arrow {
    width: 65%;
    margin: 0 auto 30px auto;
  }
}
@media screen and (max-width: 799px) {
  .future .arrow {
    display: none;
  }
}
.future dl {
  margin-bottom: 15px;
}
@media screen and (min-width: 799px) {
  .future dl {
    width: 48%;
  }
}
@media screen and (max-width: 799px) {
  .future dl {
    width: 100%;
  }
}
.future dt {
  font-size: 28px;
  font-weight: 700;
  padding: 1em 0 0 0;
}
.future dt:after {
  content: "";
  width: 3em;
  height: 3em;
  display: inline-block;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 0 0 -0.5em 0.5em;
}
.future dt.r1:after {
  background-image: url(../images/future_r1.png);
}
.future dt.r2:after {
  background-image: url(../images/future_r2.png);
}
.future dd {
  padding: 25px;
  border-radius: 15px;
  border: 4px solid rgb(255, 204, 0);
  background: rgb(255, 255, 255);
}

/*recruit*/
.recruit {
  background: rgb(239, 239, 239);
}
.recruit table {
  width: 90%;
  background: rgb(255, 255, 255);
  margin: 0 auto;
}
@media screen and (max-width: 799px) {
  .recruit table {
    width: 100%;
  }
}
.recruit th, .recruit td {
  padding: 10px;
}
.recruit th {
  background: rgb(0, 143, 243);
  color: rgb(255, 255, 255);
  width: 25%;
}
@media screen and (max-width: 799px) {
  .recruit th {
    width: 100%;
  }
}
.recruit td {
  width: 75%;
}
@media screen and (max-width: 799px) {
  .recruit td {
    width: 100%;
  }
}
.recruit .remarks {
  width: 90%;
  margin: 15px auto;
}
.recruit .remarks p {
  margin: 0;
}

footer {
  text-align: center;
  background: url(../images/footer_bg.jpg) no-repeat center center/cover;
  padding: 10vh;
}
@media screen and (max-width: 799px) {
  footer {
    padding: 1em;
  }
}
footer .inner {
  background: rgba(0, 28, 57, 0.6);
  color: rgb(255, 255, 255);
  padding: 3em 0;
}
footer a {
  color: rgb(255, 255, 255);
}
footer p {
  margin: 0;
}
footer h2 {
  font-size: 150%;
}
footer h2 .stext {
  font-size: 80%;
}
footer .btn {
  margin: 1em;
}

#ftrNav {
  padding: 0.5em 0;
  background-color: rgb(0, 0, 0);
  text-align: center;
  font-size: 14px;
}
#ftrNav a {
  color: rgb(255, 255, 255);
  margin: 0 1em;
}
#ftrNav ul li {
  display: inline-block;
}
@media screen and (max-width: 499px) {
  #ftrNav ul li {
    display: block;
  }
}

/*フォーム*/
.sform {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 799px) {
  .sform {
    width: 100%;
  }
}
.sform dl {
  display: table;
  width: 100%;
  border-bottom: 1px dotted rgb(204, 204, 204);
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
.sform dl dt {
  display: table-cell;
  width: 25%;
  vertical-align: top;
}
.sform dl dd {
  display: table-cell;
  width: 75%;
  padding-left: 2em;
}
@media screen and (max-width: 799px) {
  .sform dl dt {
    display: block;
    width: 100%;
  }
  .sform dl dt span.needMark {
    float: none;
  }
  .sform dl dd {
    display: block;
    width: 100%;
    padding-left: 0em;
  }
}/*# sourceMappingURL=lp_2505.css.map */

.ftrInfo_inr {
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}
.ftrInfo_add img{
	vertical-align: baseline;
}
footer li{
    margin: 0 1em 0.75em;
}
footer li:first-of-type{
    margin-bottom: 0;
}
footer p{
    line-height: 1.3;
}
footer h2{
	margin-bottom: 0.5em;
}
@media screen and (max-width: 599px) {
	.ftrInfo_add, footer li{font-size: 4.38vw;}
	footer li{width: 100%; margin: 0 auto;display: block;line-height: 1.4;}
	footer li a{font-size: 100%;}
	footer ul{margin: 0 auto 0.5em;}
}
