@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: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  line-height: 2;
}

/*枠組*/
@media screen and (min-width: 1200px) {
  section {
    padding: 5vh 0;
  }
}
@media screen and (max-width: 1200px) {
  section {
    padding: 2vh 0;
  }
}
@media screen and (max-width: 799px) {
  section {
    padding: 1vh 0;
  }
}
@media screen and (max-width: 499px) {
  section {
    padding: 1em 0;
  }
}
section h2 {
  font-size: clamp(1.5rem, 1.136rem + 1.82vw, 2.5rem);
  margin-bottom: 30px;
  font-weight: 700;
}
section h2 span {
  display: block;
  opacity: 0.3;
}
section h3 {
  font-size: clamp(1.375rem, 1.193rem + 0.91vw, 1.875rem);
  margin-bottom: 20px;
  font-weight: 700;
  color: rgb(1, 108, 183);
}

.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, .inner .box49 {
  width: 100%;
  margin-bottom: 1em;
}
@media screen and (min-width: 799px) {
  .inner .box33 {
    width: 33%;
  }
}
@media screen and (min-width: 799px) {
  .inner .box66 {
    width: 60%;
  }
}
@media screen and (min-width: 799px) {
  .inner .box49 {
    width: 49%;
    margin-bottom: 0;
  }
}

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

strong {
  font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
}

/*タイトル*/
.Mask {
  overflow: hidden;
  margin-bottom: 30px;
}

.MaskTtl {
  margin: 0;
  transform: translateY(100%);
}

.MaskTtl.on {
  animation: textAnime 0.5s 0.2s forwards ease-in-out;
}

@keyframes textAnime {
  to {
    transform: translateY(0px);
  }
}
/*斜め背景セット1*/
.slantBg {
  width: 100%;
  margin: 0 0 120px 0;
  padding: 3em 0 0 0;
  position: relative;
  top: 3em;
}

.slantBg::before {
  content: "";
  position: absolute;
  top: -50px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-size: cover;
}

.slantBg::after {
  content: "";
  position: absolute;
  top: -20px;
  bottom: -20px;
  left: 0;
  right: 0;
  z-index: -2;
}

/*斜め背景セット1*/
.slantBg1::before {
  background-image: url(../images/topvs_people.jpg);
  transform: skewY(-3deg);
}
@media screen and (max-width: 799px) {
  .slantBg1::before {
    background-image: url(../images/topvs_people_tab.jpg);
    transform: skewY(-4deg);
  }
}

.slantBg1::after {
  background-color: rgb(238, 168, 0);
  transform: skewY(2deg);
}
@media screen and (max-width: 799px) {
  .slantBg1::after {
    transform: skewY(7deg);
  }
}

/*斜め背景セット2*/
.slantBg2::before {
  transform: skewY(3deg);
  background-color: rgb(229, 232, 235);
}
@media screen and (max-width: 799px) {
  .slantBg2::before {
    transform: skewY(4deg);
  }
}

.slantBg2::after {
  background-color: rgb(1, 108, 183);
  transform: skewY(-2deg);
}
@media screen and (max-width: 799px) {
  .slantBg2::after {
    transform: skewY(-8deg);
  }
}

/*斜め背景セット3*/
.slantBg3::before {
  transform: skewY(-2deg);
  background-color: rgb(1, 108, 183);
}
@media screen and (max-width: 799px) {
  .slantBg3::before {
    transform: skewY(-4deg);
  }
}

.slantBg3::after {
  background-color: rgb(229, 232, 235);
  transform: skewY(3deg);
}
@media screen and (max-width: 799px) {
  .slantBg3::after {
    transform: skewY(7deg);
  }
}

/**/
hr.br {
  display: none;
}
@media screen and (max-width: 499px) {
  hr.br {
    display: block;
    margin: 0;
    padding: 0;
  }
}

/*TopVisual*/
.TopVisual {
  padding: 0;
  /*タイムラグアンダーライン用*/
}
.TopVisual h2 {
  font-size: clamp(1.9rem, 0.909rem + 2.95vw, 3.125rem);
  line-height: 1.5;
}
.TopVisual p {
  color: rgb(255, 255, 255);
}
.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;
  }
}
@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 p {
  padding: 20px 20px 50px 20px;
}

/*message*/
.message .Mask {
  margin-bottom: 0;
}
.message .box66 {
  margin-top: 2em;
}

/*environment*/
.environment .inner {
  padding-bottom: 100px;
}
.environment dl {
  margin-bottom: 30px;
}
@media screen and (min-width: 1200px) {
  .environment dl {
    width: 30%;
  }
}
@media screen and (max-width: 1200px) {
  .environment dl {
    width: 48%;
  }
}
@media screen and (max-width: 799px) {
  .environment dl {
    width: 100%;
  }
}
.environment 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%;
}
.environment dl dt span {
  display: inline-block;
}
.environment 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) {
  .environment dl dd {
    background-size: 30%;
  }
}
@media screen and (max-width: 799px) {
  .environment dl dd {
    background-size: 20%;
  }
}
@media screen and (max-width: 499px) {
  .environment dl dd {
    background-size: 35%;
  }
}
.environment dl dd.case1 {
  background-image: url(../images/icp_img_01.png);
}
.environment dl dd.case2 {
  background-image: url(../images/icp_img_02.png);
}
.environment dl dd.case3 {
  background-image: url(../images/icp_img_03.png);
}
.environment dl dd.case4 {
  background-image: url(../images/icp_img_04.png);
}
.environment dl dd.case5 {
  background-image: url(../images/icp_img_05.png);
}

/*schedule*/
.schedule {
  background: url(../images/bg_note.png) repeat;
}
.schedule .box49 {
  border-radius: 15px;
  background: rgb(255, 255, 255);
  padding: 25px;
  border: 1px solid rgb(204, 204, 204);
}
.schedule h3 {
  font-size: 22px;
}
.schedule dl {
  width: 100%;
  margin-bottom: 0.5em;
  display: table;
  font-size: 16px;
}
.schedule dl.ttl {
  background: rgb(229, 232, 235);
  vertical-align: middle;
  color: rgb(51, 51, 51);
  border-radius: 30px;
}
.schedule dl.ttl dt {
  padding: 0 1em;
}
.schedule dl.data {
  border-bottom: 1.5px dotted rgb(204, 204, 204);
}
.schedule dl.data dt {
  vertical-align: middle;
}
.schedule dl.data dt span {
  border-radius: 30px;
  background: rgb(1, 108, 183);
  color: rgb(255, 255, 255);
  padding: 0.5em 1em;
}
@media screen and (max-width: 1199px) {
  .schedule dl.data dt span {
    color: rgb(0, 0, 0);
    background: rgb(255, 255, 255);
    border-radius: 0;
  }
}
.schedule dl dt {
  width: 25%;
  display: table-cell;
  padding: 0.2em 0.5em;
}
.schedule dl dd {
  width: 33%;
  display: table-cell;
  padding: 0.2em 0.5em;
}
.schedule .memo {
  margin: 2em;
  color: rgb(255, 255, 255);
}
.schedule .memo h3 {
  color: rgb(0, 0, 0);
  background-color: rgb(238, 168, 0);
  padding: 0.5em 2em;
  border-radius: 30px 30px 0 0;
  margin: 0;
}
.schedule .memo ul {
  background: rgba(2, 40, 67, 0.6);
  padding: 1.5em 3em;
  border-radius: 0 0 30px 30px;
}
.schedule .memo ul li {
  position: relative;
}
.schedule .memo ul li::before {
  content: "";
  display: block;
  position: absolute;
  width: 1rem;
  height: 0.5rem;
  border-left: 2px solid rgb(253, 149, 0);
  border-bottom: 2px solid rgb(253, 149, 0);
  top: 0.25rem;
  left: -2rem;
  transform: rotate(-45deg);
}

/*future*/
@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(238, 168, 0);
  background: rgb(255, 255, 255);
}

/*career*/
.career {
  background-image: url(../images/future_bg_1.png);
  background-size: contain;
  background-position: right bottom;
  background-repeat: no-repeat;
}
@media screen and (max-width: 799px) {
  .career {
    background-image: url();
  }
}
.career h2 {
  display: inline-block;
  text-align: center;
  margin: 0 auto;
}
@media screen and (max-width: 499px) {
  .career h2 {
    display: block;
  }
}
.career p {
  display: inline-block;
}
.career .sp {
  display: none;
}
@media screen and (max-width: 499px) {
  .career .sp {
    display: block;
    width: 30%;
    text-align: center;
    margin: 0 auto;
  }
}

/*voice*/
.voice .inner {
  padding-bottom: 100px;
}
.voice h3 {
  color: rgb(255, 255, 255);
}
.voice ul {
  padding-bottom: 100px;
}
.voice ul li {
  background: rgba(255, 255, 255, 0.9);
  padding: 2em;
}
.voice ul li .type {
  margin-bottom: 0.5em;
  color: rgb(1, 108, 183);
  font-weight: bold;
}
.voice .mes, .voice .mesp {
  color: rgb(255, 255, 255);
}

/*obi*/
.obi {
  background: rgb(238, 168, 0);
}
.obi h2 {
  margin-bottom: 0;
}

/*backup*/
.backup {
  background-image: url(../images/backup_bg.jpg);
  background-size: cover;
  background-position: left center;
  color: rgb(255, 255, 255);
  text-align: right;
}
@media screen and (max-width: 799px) {
  .backup {
    text-align: left;
  }
}
.backup h3 {
  color: 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(1, 108, 183);
  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_2510.css.map */