@charset "UTF-8";
/* ================================================

- タイトル

================================================ */
.m-h-ttl, .p-advantage-ttl span, .p-introduction .p-introduction-inner .p-introduction-ttl, .p-recruit-inner .p-recruit-ttl, .p-news-inner dt {
  font-size: 3.6rem;
  letter-spacing: 0.08em;
  color: #FFFFFF;
  font-family: 'Noto Sans JP';
  font-weight: 900; }

@media screen and (max-width: 767px) {
  .m-h-ttl, .p-advantage-ttl span, .p-introduction .p-introduction-inner .p-introduction-ttl, .p-recruit-inner .p-recruit-ttl, .p-news-inner dt {
    font-size: 6.4vw;
    line-height: 1.3; } }
/* ================================================

- 装飾：三角

================================================ */
.m-triangle, .p-advantage-list li::after, .p-link1-inner li::after, .p-link2-inner li::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 54px 54px;
  border-color: transparent transparent #006cb8 transparent; }

/* ================================================

- 装飾：アロー白

================================================ */
.m-arrow-w, .p-link1-inner li::before, .p-link2-inner li::before {
  content: '';
  position: absolute;
  bottom: 31px;
  right: 20px;
  display: inline-block;
  width: 33px;
  height: 7px;
  -webkit-transform: skewX(45deg);
  transform: skewX(45deg);
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  z-index: 2; }

/* ================================================

- 装飾：アロー青

================================================ */
.m-arrow-b {
  content: '';
  position: absolute;
  bottom: 31px;
  right: 20px;
  display: inline-block;
  width: 33px;
  height: 7px;
  -webkit-transform: skewX(45deg);
  transform: skewX(45deg);
  border-right: 2px solid #006cb8;
  border-bottom: 2px solid #006cb8; }

/* ================================================

- 装飾：ホバー

================================================ */
/* ================================================

- メインビジュアル

================================================ */
.p-mainvisual {
  padding-top: 38.6076%;
  background-image: url(../../images/top/bg_mainvisual.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  position: relative; }

.p-mainvisual-lead {
  position: absolute;
  top: 12.7869%;
  left: 9.4937%; }
  .p-mainvisual-lead .p-mainvisual-lead-img {
    width: 38.60759vw; }
    .p-mainvisual-lead .p-mainvisual-lead-img img {
      width: 100%;
      height: auto; }

.p-mainvisual-lead-txt {
  margin-top: 8.68852%; }
  .p-mainvisual-lead-txt li {
    margin-top: 13px; }
    .p-mainvisual-lead-txt li p {
      display: inline-block;
      padding: 15px 17px;
      font-size: 3.08164vw;
      letter-spacing: 0.08em;
      font-weight: 700;
      color: #FFFFFF;
      background-color: #1c1c1c; }
  .p-mainvisual-lead-txt li:first-child {
    margin-top: 0; }

/* -----------------------------------------------
   - @media screen
*/
@media screen and (max-width: 1279px) {
  .p-mainvisual-lead-txt {
    margin-top: 4%; } }
@media screen and (max-width: 767px) {
  .p-mainvisual {
    padding-top: 104.1333%;
    background-image: url(../../images/top/bg_mainvisual_sp.jpg);
    background-size: cover; }

  .p-mainvisual-lead {
    position: absolute;
    top: 10.7554%;
    left: 4.2667%; }
    .p-mainvisual-lead .p-mainvisual-lead-img {
      width: 75.06666vw; }

  .p-mainvisual-lead-txt {
    margin-top: 8.9629%; }
    .p-mainvisual-lead-txt li {
      margin-top: 2.5608%; }
      .p-mainvisual-lead-txt li p {
        padding: 2.43478% 2.66666vw;
        font-size: 5.6vw;
        letter-spacing: 0.05em; }
    .p-mainvisual-lead-txt li:first-child {
      margin-top: 0; } }
/* ================================================

- ニュース単発

================================================ */
.p-singlenews {
  width: 55.0633%;
  position: absolute;
  top: -60px;
  right: 0;
  background: linear-gradient(135deg, transparent 15px, #FFFFFF 0) top left; }

.p-singlenews-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .p-singlenews-inner dt {
    width: 150px;
    font-size: 2rem;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #006cb8;
    text-align: center; }
  .p-singlenews-inner dd {
    width: calc(100% - 150px);
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #006cb8; }
    .p-singlenews-inner dd a {
      display: -ms-flexbox;
      display: -webkit-box;
      display: flex;
      -ms-align-items: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      width: 100%;
      height: 120px;
      padding: 0 40px;
      color: #FFFFFF;
      cursor: default; }
      .p-singlenews-inner dd a .p-singlenews-date {
        width: 95px;
        font-size: 1.5rem;
        font-family: 'Roboto', sans-serif;
        font-weight: 400;
        white-space: nowrap; }
      .p-singlenews-inner dd a .p-singlenews-txt {
        font-size: 1.7rem;
        letter-spacing: 0.08em;
        line-height: 1.4;
        font-weight: 500;
        position: relative; }
      .p-singlenews-inner dd a .p-singlenews-txt::after {
        content: "";
        display: block;
        position: absolute;
        top: 30%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        right: -40px;
        width: 24px;
        height: 6px;
        -webkit-transform: skewX(45deg);
                transform: skewX(45deg);
        border-right: 1px solid #FFFFFF;
        border-bottom: 1px solid #FFFFFF; }

/* -----------------------------------------------
   - @media screen
*/
@media screen and (max-width: 1279px) {
  .p-singlenews {
    top: -40px; }

  .p-singlenews-inner dt {
    width: 9.49367vw;
    font-size: 1.26582vw; }
  .p-singlenews-inner dd {
    width: calc(100% - 9.49367vw); }
    .p-singlenews-inner dd a {
      height: 80px; }
      .p-singlenews-inner dd a .p-singlenews-date {
        width: 6.01265vw;
        font-size: 0.94936vw; }
      .p-singlenews-inner dd a .p-singlenews-txt {
        font-size: 1.07594vw; } }
@media screen and (max-width: 767px) {
  .p-singlenews {
    width: 96vw;
    top: -6vh;
    background: linear-gradient(135deg, transparent 10px, #FFFFFF 0) top left; }

  .p-singlenews-inner {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .p-singlenews-inner dt {
      width: 21.3333%;
      font-size: 4.8vw; }
    .p-singlenews-inner dd {
      width: calc(100% - 21.3333%); }
      .p-singlenews-inner dd a {
        display: block;
        height: 19.73333%;
        padding: 6% calc(5.3333% + 6.53333vw) 6% 5.3333%; }
        .p-singlenews-inner dd a .p-singlenews-date {
          width: 100%;
          margin-bottom: 5px;
          font-size: 3.73333vw; }
        .p-singlenews-inner dd a .p-singlenews-txt {
          font-size: 4vw;
          line-height: 1.4; }
        .p-singlenews-inner dd a .p-singlenews-txt::after {
          content: "";
          display: block;
          position: absolute;
          top: 30%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          right: -6.53333vw;
          width: 6.53333vw;
          height: 6px;
          -webkit-transform: skewX(45deg);
                  transform: skewX(45deg); } }
/* ================================================

- フォーバルテクノロジーの強み

================================================ */
.p-advantage {
  position: relative;
  background-color: #1c1c1c; }
  .p-advantage .p-advantage-inner {
    padding: 88px 0 80px; }

.p-advantage-ttl {
  width: 85.6962vw;
  margin: 0 auto;
  padding-top: 6.79468%;
  background-image: url(../../images/top/bg_advantage_ttl.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative; }
  .p-advantage-ttl span {
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    text-align: center; }

.p-advantage-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  max-width: 1280px;
  margin: 33px auto 0; }
  .p-advantage-list li {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: calc(25% - 1.875vw);
    height: 261px;
    margin-left: 2.5vw;
    background: linear-gradient(135deg, transparent 25px, #FFFFFF 0) top left;
    position: relative; }
    .p-advantage-list li .p-advantage-list-item figure img {
      width: 100%;
      height: auto; }
    .p-advantage-list li .p-advantage-list-item figure.icn-japan {
      max-width: 103px;
      margin: 0 auto 31px; }
    .p-advantage-list li .p-advantage-list-item figure.icn-tse {
      max-width: 95px;
      margin: 0 auto 27px; }
    .p-advantage-list li .p-advantage-list-item figure.icn-heart {
      max-width: 79px;
      margin: 0 auto 31px; }
    .p-advantage-list li .p-advantage-list-item figure.icn-service {
      max-width: 101px;
      margin: 0 auto 22px; }
    .p-advantage-list li .p-advantage-list-item figcaption {
      font-size: 2rem;
      line-height: 1.6;
      letter-spacing: 0.08;
      text-align: center;
      font-weight: 500; }
  .p-advantage-list li:first-child {
    margin-left: 0; }
  .p-advantage-list li::after {
    border-width: 0 0 57px 57px; }

.p-advantage-txt {
  margin-top: 35px;
  font-size: 1.6rem;
  line-height: 1.7;
  letter-spacing: 0.08;
  font-weight: 500;
  text-align: center;
  color: #FFFFFF; }

.p-advantage .m-btn-blue {
  margin-top: 38px; }

/* -----------------------------------------------
   - @media screen
*/
@media screen and (max-width: 767px) {
  .p-advantage .p-advantage-inner {
    padding: 11.46666% 0 13.33333%; }

  .p-advantage-ttl {
    width: 100vw;
    margin: 15vw auto 0;
    padding-top: 26.53333%;
    background-image: url(../../images/top/bg_advantage_ttl_sp.png); }
    .p-advantage-ttl span {
      bottom: 50%;
      -webkit-transform: translateY(50%);
      transform: translateY(50%);
      left: 0;
      right: 0; }

  .p-advantage-list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 2.66666% auto 0;
    padding: 0 4%; }
    .p-advantage-list li {
      width: calc(50% - 2%);
      min-height: 0;
      height: auto;
      padding-top: 42.3188%;
      margin-left: 4%;
      margin-top: 4%;
      display: block;
      position: relative;
      background: linear-gradient(135deg, transparent 15px, #FFFFFF 0) top left; }
      .p-advantage-list li .p-advantage-list-item {
        position: absolute;
        bottom: 50%;
        left: 0;
        right: 0;
        -webkit-transform: translateY(50%);
        transform: translateY(50%);
        z-index: 2; }
        .p-advantage-list li .p-advantage-list-item figure.icn-japan {
          max-width: 38.1818%;
          margin: 0 auto 18px; }
        .p-advantage-list li .p-advantage-list-item figure.icn-tse {
          max-width: 38.1818%;
          margin: 0 auto 10px; }
        .p-advantage-list li .p-advantage-list-item figure.icn-heart {
          max-width: 28.7879%;
          margin: 0 auto 19px; }
        .p-advantage-list li .p-advantage-list-item figure.icn-service {
          max-width: 28.7879%;
          margin: 0 auto 8px; }
        .p-advantage-list li .p-advantage-list-item figcaption {
          font-size: 4vw;
          line-height: 1.4;
          letter-spacing: 0; }
        .p-advantage-list li .p-advantage-list-item figure.icn-service + figcaption {
          font-size: 3.73333vw;
          line-height: 1.5; }
    .p-advantage-list li:nth-child(3),
    .p-advantage-list li:first-child {
      margin-left: 0; }
    .p-advantage-list li:nth-child(-n+2) {
      margin-top: 0; }
    .p-advantage-list li::after {
      border-width: 0 0 34px 34px; }

  .p-advantage-txt {
    margin-top: 8%;
    padding: 0 4%;
    font-size: 4vw;
    line-height: 1.5;
    text-align: left; }

  .p-advantage .m-btn-blue {
    margin-top: 6.13333%; } }
/* ================================================

- 事業紹介

================================================ */
.p-introduction {
  background: url(../../images/top/bg_introduction.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  .p-introduction .p-introduction-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 82px 0 80px; }
    .p-introduction .p-introduction-inner .p-introduction-ttl {
      text-align: center; }

.p-introduction-btn {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 50px; }
  .p-introduction-btn li {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 408px;
    height: 60px;
    margin: 26px 28px 0 0;
    background-color: #b0b0b0;
    cursor: pointer; }
    .p-introduction-btn li p {
      font-size: 1.8rem;
      line-height: 1.4;
      letter-spacing: 0.08em;
      font-weight: 700;
      text-align: center; }
  .p-introduction-btn li:nth-child(3n) {
    margin-right: 0; }
  .p-introduction-btn li:nth-child(-n+3) {
    margin-top: 0; }
  .p-introduction-btn li.is-active {
    color: #FFFFFF;
    background-color: #006cb8; }
  .p-introduction-btn li:hover,
  .p-introduction-btn li:active {
    opacity: 0.7;
    -webkit-transition: all .3s;
    transition: all .3s; }

.p-introduction-cont {
  margin-top: 44px; }

.p-introduction-photo {
  max-width: 1000px; }
  .p-introduction-photo img {
    width: 100%;
    height: auto; }

.p-introduction-cont-item {
  max-width: 600px;
  min-height: 334px;
  padding: 44px 40px 30px;
  margin-left: auto;
  margin-top: -290px;
  background: linear-gradient(135deg, transparent 25px, #FFFFFF 0) top left;
  position: relative; }
  .p-introduction-cont-item .p-introduction-cont-ttl {
    padding-left: 93px;
    font-size: 3rem;
    line-height: 1.2;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #2f2f2f;
    position: relative; }
  .p-introduction-cont-item .p-introduction-cont-ttl::before {
    content: attr(data-num);
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    font-size: 7.6rem;
    letter-spacing: -0.06em;
    color: #006cb8;
    font-family: 'Roboto', sans-serif;
    font-weight: 700; }
  .p-introduction-cont-item .p-introduction-cont-txt {
    margin-top: 38px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.08em;
    color: #2f2f2f; }
  .p-introduction-cont-item .p-introduction-cont-link {
    max-width: 138px;
    margin-top: 20px;
    border-bottom: solid 2px #006cb8; }
    .p-introduction-cont-item .p-introduction-cont-link a {
      display: block;
      padding: 0 10px 9px;
      font-size: 1.6rem;
      letter-spacing: 0.08em;
      font-weight: 500;
      color: #006cb8; }
      .p-introduction-cont-item .p-introduction-cont-link a p {
        position: relative; }
      .p-introduction-cont-item .p-introduction-cont-link a p::after {
        content: "";
        display: block;
        position: absolute;
        top: 30%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 0;
        width: 20px;
        height: 5px;
        -webkit-transform: skewX(45deg);
                transform: skewX(45deg);
        border-right: 1px solid #006cb8;
        border-bottom: 1px solid #006cb8; }
    .p-introduction-cont-item .p-introduction-cont-link a:hover,
    .p-introduction-cont-item .p-introduction-cont-link a:active {
      opacity: 0.7;
      -webkit-transition: all .3s;
      transition: all .3s; }

.p-introduction .m-btn-blue {
  margin-top: 48px; }

/* -----------------------------------------------
   - @media screen
*/
@media screen and (max-width: 1295px) {
  .p-introduction-btn li {
    width: calc(50% - 14px);
    height: 60px;
    margin: 26px 28px 0 0; }
  .p-introduction-btn li:nth-child(3n) {
    margin-right: 28px; }
  .p-introduction-btn li:nth-child(-n+3) {
    margin-top: 26px; }
  .p-introduction-btn li:nth-child(2n) {
    margin-right: 0; }
  .p-introduction-btn li:nth-child(-n+2) {
    margin-top: 0; } }
@media screen and (max-width: 767px) {
  .p-introduction {
    background: url(../../images/top/bg_introduction_sp.jpg); }
    .p-introduction .p-introduction-inner {
      padding: 10.6666% 0 13.33333%; }

  .p-introduction-btn {
    margin-top: 8%;
    padding: 0 4%; }
    .p-introduction-btn li {
      width: calc(50% - 1.45%);
      /*height: 50px;*/
      margin: 2.66666% 2.9% 0 0;
      font-size: 3.86667vw;
      line-height: 1.3; }
      .p-introduction-btn li p {
        font-size: 3.33333vw;
        line-height: 1.2; }
    .p-introduction-btn li:nth-child(3n) {
      margin-right: 2.9%; }
    .p-introduction-btn li:nth-child(-n+3) {
      margin-top: 2.66666%; }
    .p-introduction-btn li:nth-child(2n) {
      margin-right: 0; }
    .p-introduction-btn li:nth-child(-n+2) {
      margin-top: 0; }

  .p-introduction-cont {
    margin-top: 8.26666%;
    padding: 0 4%; }

  .p-introduction-photo {
    max-width: 85.3333%; }

  .p-introduction-cont-item {
    max-width: 85.2vw;
    min-height: 0;
    padding: 6.66666% 6.66666vw;
    margin-left: auto;
    margin-top: -4%;
    background: linear-gradient(135deg, transparent 15px, #FFFFFF 0) top left;
    position: relative; }
    .p-introduction-cont-item .p-introduction-cont-ttl {
      padding-left: 14.26666vw;
      font-size: 5.33333vw;
      line-height: 1.2; }
    .p-introduction-cont-item .p-introduction-cont-ttl::before {
      font-size: 11.46667vw; }
    .p-introduction-cont-item .p-introduction-cont-txt {
      margin-top: 7.2%;
      font-size: 4vw;
      line-height: 1.4; }
    .p-introduction-cont-item .p-introduction-cont-link {
      max-width: 100%;
      width: 31.733333vw;
      margin-top: 5.33333%; }
      .p-introduction-cont-item .p-introduction-cont-link a {
        padding: 0 5.333333% 2.4%;
        font-size: 4vw; }
        .p-introduction-cont-item .p-introduction-cont-link a p::after {
          top: 30%;
          width: 4.83091vw;
          height: 4px; }

  .p-introduction .m-btn-blue {
    margin-top: 6.66666%; } }
/* ================================================

- 技術者派遣 無償研修制度

================================================ */
.p-link1 {
  padding: 70px 0 80px;
  background-color: #1c1c1c; }

.p-link1-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .p-link1-inner li {
    max-width: 496px;
    margin-left: 60px;
    position: relative;
    overflow: hidden; }
    .p-link1-inner li a {
      display: block; }
      .p-link1-inner li a figure img {
        width: 100%;
        height: auto;
        -webkit-transition: all .3s;
        transition: all .3s;
        -webkit-transform: scale(1.04);
        transform: scale(1.04); }
      .p-link1-inner li a figcaption {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        right: 0; }
        .p-link1-inner li a figcaption .p-link1-txt {
          font-size: 2rem;
          letter-spacing: 0.14em;
          line-height: 1.6;
          font-weight: 500;
          color: #FFFFFF;
          text-align: center; }
        .p-link1-inner li a figcaption .p-link1-ttl {
          margin-top: 28px;
          text-align: center; }
          .p-link1-inner li a figcaption .p-link1-ttl span {
            display: inline-block;
            padding: 17px 19px;
            font-size: 3.2rem;
            letter-spacing: 0.08em;
            font-weight: 700;
            color: #FFFFFF;
            text-align: center;
            background-color: #1c1c1c; }
    .p-link1-inner li a:hover figure img,
    .p-link1-inner li a:active figure img {
      -webkit-transform: scale(1);
      transform: scale(1); }
  .p-link1-inner li:first-child {
    margin-left: 0; }
  .p-link1-inner li::after {
    border-width: 0 0 54px 54px; }
  .p-link1-inner li::before {
    bottom: 31px;
    right: 20px;
    width: 33px;
    height: 7px; }

@media screen and (max-width: 767px) {
  .p-link1 {
    padding: 10.66666% 4%; }

  .p-link1-inner {
    display: block; }
    .p-link1-inner li {
      max-width: 100%;
      margin-left: 0; }
      .p-link1-inner li a {
        display: block; }
        .p-link1-inner li a figcaption {
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          left: 0;
          right: 0; }
          .p-link1-inner li a figcaption .p-link1-txt {
            font-size: 4vw; }
          .p-link1-inner li a figcaption .p-link1-ttl {
            margin-top: 4%;
            text-align: center; }
            .p-link1-inner li a figcaption .p-link1-ttl span {
              padding: 3.46666% 6.4%;
              font-size: 5.6vw; }
    .p-link1-inner li:first-child {
      margin: 0 auto 6.66666%; }
    .p-link1-inner li::after {
      border-width: 0 0 34px 34px; }
    .p-link1-inner li::before {
      bottom: 9.44206%;
      right: 4vw;
      width: 6.4vw;
      height: 5px; } }
/* ================================================

- 採用情報

================================================ */
.p-recruit {
  position: relative;
  background: url(../../images/common/bg_m_linkcard.jpg);
  background-size: 100px;
  background-repeat: repeat;
  background-position: top left; }

.p-recruit::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 33%;
  height: 100%;
  background-color: #b40000; }

.p-recruit::after {
  content: "";
  position: absolute;
  top: 0;
  left: 33%;
  width: 86px;
  height: 100%;
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) calc(50% - .5px), #b40000 calc(50% + .5px)) no-repeat top left/100% 100%; }

@media all and (-ms-high-contrast: none) {
  ::-ms-backdrop, .p-recruit::after {
    background: none;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 484px 0 0 86px;
    border-color: transparent transparent transparent #b40000; } }
.p-recruit-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 0 88px 600px;
  z-index: 2;
  position: relative; }
  .p-recruit-inner .p-recruit-photo {
    position: absolute;
    top: 0;
    left: -75px;
    max-width: 592px; }
    .p-recruit-inner .p-recruit-photo img {
      width: 100%;
      height: auto; }
  .p-recruit-inner p {
    color: #FFFFFF; }
  .p-recruit-inner .p-recruit-catch {
    margin-top: 40px;
    font-size: 2.8rem;
    letter-spacing: 0.28em;
    font-weight: 700; }
  .p-recruit-inner .p-recruit-txt {
    margin-top: 22px;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    line-height: 1.5; }

.p-recruit .m-btn-red {
  margin: 60px 0 0 0; }

@media screen and (max-width: 767px) {
  .p-recruit {
    position: relative;
    background: url(../../images/common/bg_m_linkcard.jpg);
    background-size: 100px;
    background-repeat: repeat;
    background-position: top left; }

  .p-recruit::before {
    display: none; }

  .p-recruit::after {
    display: none; }

  .p-recruit-inner {
    padding: 0 0 13.33333%; }
    .p-recruit-inner .p-recruit-photo {
      position: relative;
      max-width: 96%;
      left: 0; }
    .p-recruit-inner figcaption {
      padding: 0 4%; }
    .p-recruit-inner .p-recruit-ttl {
      margin-top: 8%; }
    .p-recruit-inner .p-recruit-catch {
      margin-top: 6.666666%;
      font-size: 5.33333vw; }
    .p-recruit-inner .p-recruit-txt {
      margin-top: 5.333333%;
      font-size: 4vw;
      line-height: 1.6; }

  .p-recruit .m-btn-red {
    margin: 8% 0 0 0; } }
/* ================================================

- 会社案内 事例ブログ

================================================ */
.p-link2-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .p-link2-inner li {
    width: 50%;
    position: relative;
    overflow: hidden; }
    .p-link2-inner li a {
      display: block; }
      .p-link2-inner li a figure img {
        width: 100%;
        height: auto;
        -webkit-transition: all .3s;
        transition: all .3s;
        -webkit-transform: scale(1.04);
        transform: scale(1.04); }
      .p-link2-inner li a figcaption {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        right: 0; }
        .p-link2-inner li a figcaption .p-link2-ttl {
          font-size: 3.6rem;
          letter-spacing: 0.08em;
          font-weight: 900;
          color: #FFFFFF;
          text-align: center; }
        .p-link2-inner li a figcaption .p-link2-txt {
          margin-top: 25px;
          font-size: 2.2rem;
          letter-spacing: 0.08em;
          line-height: 1.5;
          color: #FFFFFF;
          text-align: center; }
    .p-link2-inner li a:hover figure img,
    .p-link2-inner li a:active figure img {
      -webkit-transform: scale(1);
      transform: scale(1); }
  .p-link2-inner li::after {
    border-width: 0 0 54px 54px; }
  .p-link2-inner li::before {
    bottom: 31px;
    right: 20px;
    width: 33px;
    height: 7px; }

@media screen and (max-width: 767px) {
  .p-link2-inner {
    display: block; }
    .p-link2-inner li {
      width: 100%; }
      .p-link2-inner li a figcaption {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        right: 0; }
        .p-link2-inner li a figcaption .p-link2-ttl {
          font-size: 6.4vw; }
        .p-link2-inner li a figcaption .p-link2-txt {
          margin-top: 4%;
          font-size: 4.26667vw; }
    .p-link2-inner li::after {
      border-width: 0 0 34px 34px; }
    .p-link2-inner li::before {
      bottom: 9.44206%;
      right: 4vw;
      width: 6.4vw;
      height: 5px; } }
/* ================================================

- お知らせ

================================================ */
.p-news {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/$base_color_red+0,b40000+33,404040+33,404040+100 */
  background: #b40000;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, right top, from(#dadada), color-stop(24%, #dadada), color-stop(24%, #FFFFFF), to(#FFFFFF));
  background: linear-gradient(to right, #dadada 0%, #dadada 24%, #FFFFFF 24%, #FFFFFF 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dadada', endColorstr='#FFFFFF',GradientType=1 );
  /* IE6-9 */
  position: relative; }

.p-news::after {
  content: "";
  position: absolute;
  top: 0;
  left: 24%;
  width: 70px;
  height: 100%;
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) calc(50% - .5px), #dadada calc(50% + .5px)) no-repeat top left/100% 100%; }

@media all and (-ms-high-contrast: none) {
  ::-ms-backdrop, .p-news::after {
    background: none;
    /*top: auto;*/
    bottom: 0;
    left: calc(24% - 1px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 622px 0 0 70px;
    border-color: transparent transparent transparent #dadada; } }
.p-news-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1280px;
  margin: 0 auto; }
  .p-news-inner dt {
    width: 220px;
    color: #2f2f2f;
    position: relative;
    z-index: 1; }
  .p-news-inner dd {
    width: calc(100% - 350px);
    padding: 80px 0;
    margin-left: 130px; }

.p-news-list li a {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
  border-bottom: solid 1px #8c8c8c;
  color: #2f2f2f;
  line-height: 1.4;
  cursor: default; }
  .p-news-list li a .p-news-date {
    width: 117px;
    font-size: 1.8rem;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    white-space: nowrap; }
  .p-news-list li a .p-news-cate {
    width: 120px;
    font-size: 1.6rem;
    letter-spacing: 0.03em;
    font-weight: 700; }
    .p-news-list li a .p-news-cate span {
      padding: 0px 8px;
      border: solid 1px #2f2f2f; }
  .p-news-list li a .p-news-txt {
    width: calc(100% - 237px);
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    font-weight: 500; }

@media screen and (max-width: 767px) {
  .p-news {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/$base_color_red+0,b40000+33,404040+33,404040+100 */
    background: #b40000;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, right top, from(#dadada), color-stop(11.3333%, #dadada), color-stop(11.3333%, #FFFFFF), to(#FFFFFF));
    background: linear-gradient(to right, #dadada 0%, #dadada 11.3333%, #FFFFFF 11.3333%, #FFFFFF 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    padding: 10.66666% 0 16%; }

  .p-news::after {
    left: 11.3333%;
    width: 29.3333%;
    height: 100%;
    background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) calc(50% - .5px), #dadada calc(50% + .5px)) no-repeat top left/100% 100%; }

  .p-news-inner {
    display: block;
    margin: 0 auto;
    position: relative;
    z-index: 2; }
    .p-news-inner dt {
      width: 100%;
      text-align: center; }
    .p-news-inner dd {
      width: calc(100%);
      padding: 0 4%;
      margin-left: 0; }

  .p-news-list {
    margin-top: 1.33333%; }
    .p-news-list li a {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 6.666666% 0; }
      .p-news-list li a .p-news-date {
        width: auto;
        font-size: 4vw; }
      .p-news-list li a .p-news-cate {
        width: auto;
        font-size: 3.73333vw;
        margin-left: 4%; }
        .p-news-list li a .p-news-cate span {
          padding: 0 2.133333vw; }
      .p-news-list li a .p-news-txt {
        width: calc(100%);
        margin-top: 4%;
        font-size: 4vw;
        line-height: 1.6; } }
