@charset "UTF-8";
/* Scss Document */
main {
  width: 100%;
  margin: 0 auto; }

body {
  padding: 90px 0 0 0; }

/***************************************************/
/***************************************************/
/***************************************************/
.header_all {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px; }
  .header_all.active {
    background-color: #fff; }
  .header_all h1 a {
    padding: 0 0 0 110px;
    font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    position: relative; }
    .header_all h1 a:before {
      position: absolute;
      content: "";
      display: block;
      width: 100px;
      height: 43px;
      background: url("../images/logo.svg") center center no-repeat;
      background-size: contain;
      left: 0;
      top: -8px; }
    .header_all h1 a span {
      color: #69A3D8;
      margin: 0 0 0 5px; }
    .header_all h1 a:hover {
      color: gold !important; }
      .header_all h1 a:hover span {
        color: gold !important; }

.header_nav {
  max-width: 680px;
  width: calc(100% - 430px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .header_nav > a,
  .header_nav > span {
    display: block;
    width: calc((100% - 180px)/3);
    height: 70px;
    color: #fff;
    position: relative;
    transition: .5s !important; }
  .header_nav .contact {
    font: 1.6em/68px 'Noto Sans JP', sans-serif;
    font-weight: 500;
    background: url("../images/common/icon-contact.svg") left 15px center no-repeat #69A3D8;
    background-size: auto;
    padding: 0 0 0 53px; }
    .header_nav .contact:hover {
      background-color: gold; }
  .header_nav .guidline_btn {
    position: relative;
    background-color: #5386B3;
    color: #fff;
    border-bottom: none;
    transition: .5s !important; }
  .header_nav .guideline {
    transition: .5s !important;
    display: block;
    width: 100%;
    height: 100%;
    font: 1.6em/68px 'Noto Sans JP', sans-serif;
    font-weight: 500;
    border-right: 1px solid #fff;
    background: url("../images/common/icon-recruit.svg") left 15px center no-repeat #5386B3;
    background-size: auto;
    padding: 0 0 0 53px;
    color: #fff;
    border-bottom: none; }
    .header_nav .guideline:hover {
      background-color: gold; }
    .header_nav .guideline:hover {
      text-decoration: none; }
  .header_nav .guidline_btn_box {
    border-bottom: none;
    position: absolute;
    top: 60px;
    padding: 10px 0 0 0;
    width: 100%;
    display: none; }
    .header_nav .guidline_btn_box.active {
      display: block; }
    .header_nav .guidline_btn_box:before {
      top: 5px;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 10.5px 18.2px 10.5px;
      border-color: transparent transparent #fff transparent;
      z-index: 5; }
    .header_nav .guidline_btn_box:after {
      top: 3px;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 12.5px 20.2px 12.5px;
      border-color: transparent transparent #ccc transparent;
      z-index: 1; }
    .header_nav .guidline_btn_box div {
      padding: 0 10px;
      border-radius: 10px;
      background-color: #fff;
      position: relative;
      border: #ccc 1px solid;
      z-index: 3; }
    .header_nav .guidline_btn_box a {
      font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      display: block;
      padding: 20px 0 20px 40px;
      position: relative; }
      .header_nav .guidline_btn_box a:before {
        position: absolute;
        content: "";
        display: block;
        width: 20px;
        height: 30px;
        left: 10px;
        top: 12px; }
      .header_nav .guidline_btn_box a.new {
        border-bottom: dashed 1px #5386B3;
        color: #5386B3; }
        .header_nav .guidline_btn_box a.new:before {
          background: url("../images/recruit/icon-new.svg") center center no-repeat;
          background-size: contain; }
        .header_nav .guidline_btn_box a.new:hover {
          color: gold; }
      .header_nav .guidline_btn_box a.career {
        color: #21336C; }
        .header_nav .guidline_btn_box a.career:before {
          background: url("../images/recruit/icon-career.svg") center center no-repeat;
          background-size: contain; }
        .header_nav .guidline_btn_box a.career:hover {
          color: gold; }
  .header_nav .company {
    background-color: #171C61;
    font: 1.6em/1.5em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 0 0 0 33px; }
    .header_nav .company:hover {
      background-color: gold; }

@media (max-width: 1280px) {
  .header_all {
    padding: 10px 0 10px 20px; }

  .header_nav {
    max-width: 540px; }
    .header_nav .contact {
      width: 165px; }
    .header_nav .guidline_btn {
      width: 135px; }
    .header_nav .company {
      padding: 0 0 0 10px;
      width: 120px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .header_all {
    padding: 0 0 0 20px;
    background-color: #fff; }

  .header_nav {
    max-width: 120px; }
    .header_nav .contact, .header_nav .guideline, .header_nav .company {
      display: none; }
    .header_nav .guidline_btn {
      display: none; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .header_all {
    padding: 0 0 0 15px; }

  .header_nav {
    max-width: 60px;
    width: 60px; }

  .header_all h1 a {
    padding: 0 0 0 100px;
    font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    position: relative; }
    .header_all h1 a:before {
      width: 90px;
      height: 43px;
      left: 0;
      top: -8px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .header_all {
    padding: 0 0 0 10px; }

  .header_all h1 a {
    padding: 0 0 0 67px;
    font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    position: relative; }
    .header_all h1 a:before {
      width: 60px;
      height: 43px;
      left: 0;
      top: -10px; }

  .header_nav {
    max-width: 50px;
    width: 50px; } }
/*max-width:480px*/
/***********************************************/
.toggle {
  position: relative;
  width: 180px;
  background-color: #F7F8F8;
  transition: .5s !important; }
  .toggle p {
    font: 1.8em/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #5386B3;
    position: absolute;
    top: 37%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%); }
    .toggle p:before {
      position: absolute;
      content: "MENU"; }
  .toggle:hover {
    cursor: pointer;
    background-color: gold; }
  .toggle span {
    transition: .3s;
    display: block;
    width: 40px;
    height: 2px;
    background-color: #5386B3;
    position: absolute;
    left: 25%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%); }
    .toggle span:nth-of-type(1) {
      top: 35%; }
    .toggle span:nth-of-type(2) {
      top: 50%; }
    .toggle span:nth-of-type(3) {
      top: 65%; }
  .toggle.active p:before {
    opacity: 0; }
  .toggle.active p:after {
    position: absolute;
    content: "CLOSE"; }
  .toggle.active span {
    left: 10%; }
    .toggle.active span:nth-of-type(1) {
      top: 50%;
      transform: rotate(45deg); }
    .toggle.active span:nth-of-type(2) {
      opacity: 0;
      transform: rotate(90deg); }
    .toggle.active span:nth-of-type(3) {
      top: 50%;
      transform: rotate(-45deg); }

@media (max-width: 1280px) {
  .toggle {
    position: relative;
    width: 120px;
    background-color: #F7F8F8; }
    .toggle p {
      font: 1.6em/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      -webkit-transform: translate(0%, -50%);
      transform: translate(0%, -50%); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .toggle {
    position: relative;
    width: 120px;
    background-color: #F7F8F8;
    height: 60px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .toggle {
    width: 60px;
    height: 60px; }
    .toggle p {
      display: none; }
    .toggle span {
      width: 35px;
      height: 2px;
      left: 50%; }
    .toggle.active span {
      left: 25%; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .toggle {
    width: 50px;
    height: 50px; }
    .toggle p {
      display: none; }
    .toggle span {
      width: 30px;
      height: 2px;
      left: 50%; }
    .toggle.active span {
      left: 23%; } }
/*max-width:480px*/
/***********************************************/
.recruit_gnav {
  position: fixed;
  top: 80px;
  left: 0;
  width: 100%;
  z-index: -8888;
  opacity: 0;
  transition: .3s;
  background-color: rgba(255, 255, 255, 0.85);
  padding: 50px 0 100px; }
  .recruit_gnav.active {
    opacity: 1;
    z-index: 9998; }
  .recruit_gnav ul {
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
  .recruit_gnav li {
    width: calc(100% / 2);
    margin: 25px 0; }
    .recruit_gnav li > a,
    .recruit_gnav li > span {
      font: 42px/1.0em 'Barlow', sans-serif;
      font-weight: 500;
      font-style: italic;
      color: #69A3D8; }
      .recruit_gnav li > a span,
      .recruit_gnav li > span span {
        font: 20px/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        color: #000;
        margin: 0 0 0 15px; }
    .recruit_gnav li > a:hover {
      color: gold; }
    .recruit_gnav li div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      align-items: flex-start;
      padding: 20px 0 0; }
      .recruit_gnav li div a {
        font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        display: block;
        padding: 20px 0 20px 40px;
        position: relative; }
        .recruit_gnav li div a:before {
          position: absolute;
          content: "";
          display: block;
          width: 20px;
          height: 30px;
          left: 10px;
          top: 12px; }
        .recruit_gnav li div a.new {
          margin: 0 30px 0 0;
          color: #5386B3; }
          .recruit_gnav li div a.new:before {
            background: url("../images/recruit/icon-new.svg") center center no-repeat;
            background-size: contain; }
          .recruit_gnav li div a.new:hover {
            color: gold; }
        .recruit_gnav li div a.career {
          color: #21336C; }
          .recruit_gnav li div a.career:before {
            background: url("../images/recruit/icon-career.svg") center center no-repeat;
            background-size: contain; }
          .recruit_gnav li div a.career:hover {
            color: gold; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .recruit_gnav {
    top: 60px;
    padding: 40px 0 25%;
    height: 100vh;
    overflow: scroll; }
    .recruit_gnav ul {
      max-width: 420px;
      width: 100%; }
    .recruit_gnav li {
      width: 100%;
      margin: 25px 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .recruit_gnav {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    z-index: -8888;
    opacity: 0;
    transition: .3s;
    background-color: rgba(255, 255, 255, 0.85);
    padding: 60px 0 25%;
    height: 100vh;
    overflow: scroll; }
    .recruit_gnav.active {
      opacity: 1;
      z-index: 9998; }
    .recruit_gnav ul {
      max-width: 420px;
      width: 100%;
      margin: 0 auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: flex-start; }
    .recruit_gnav li {
      width: 100%;
      margin: 0 0 60px; }
      .recruit_gnav li > a,
      .recruit_gnav li > span {
        font: 40px/1.0em 'Barlow', sans-serif;
        font-weight: 500;
        font-style: italic;
        color: #69A3D8; }
        .recruit_gnav li > a span,
        .recruit_gnav li > span span {
          font: 18px/1.0em 'Noto Sans JP', sans-serif;
          font-weight: 700;
          color: #000;
          margin: 0 0 0 15px; }
        .recruit_gnav li > a:hover,
        .recruit_gnav li > span:hover {
          color: gold; }
      .recruit_gnav li div {
        padding: 15px 0 0 15px; }
      .recruit_gnav li:last-of-type {
        margin: -30px 0 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .recruit_gnav {
    position: fixed;
    top: 50px;
    left: 0;
    width: 100%;
    z-index: -8888;
    opacity: 0;
    transition: .3s;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 40px 0 25%;
    height: 100vh;
    overflow: scroll; }
    .recruit_gnav.active {
      opacity: 1;
      z-index: 9998; }
    .recruit_gnav ul {
      max-width: 100%;
      width: 100%;
      margin: 0 auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: flex-start; }
    .recruit_gnav li {
      width: 100%;
      margin: 0 0 40px;
      padding: 0 20px; }
      .recruit_gnav li > a,
      .recruit_gnav li > span {
        display: block;
        width: 100%;
        font: 33px/1.0em 'Barlow', sans-serif;
        font-weight: 500;
        font-style: italic;
        color: #69A3D8; }
        .recruit_gnav li > a span,
        .recruit_gnav li > span span {
          font: 16px/1.0em 'Noto Sans JP', sans-serif;
          font-weight: 700;
          color: #000;
          margin: 0 0 0 10px; }
        .recruit_gnav li > a:hover,
        .recruit_gnav li > span:hover {
          color: gold; }
      .recruit_gnav li div {
        padding: 5px 0 0 15px; }
      .recruit_gnav li:last-of-type {
        margin: -20px 0 0; } }
/*max-width:480px*/
/***********************************************/
.pankuzu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 10px 20px;
  position: absolute;
  top: 80px;
  right: 0;
  z-index: 1; }
  .pankuzu li {
    padding: 0 0 0 25px;
    position: relative;
    font: 1.2rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 400; }
    .pankuzu li:before {
      position: absolute;
      content: "／";
      left: 7px; }
    .pankuzu li:nth-of-type(1):before {
      display: none; }

@media (max-width: 1024px) {
  .pankuzu {
    display: none; } }
/*max-width:1024px*/
/***************************************************/
.footer_guideline {
  background-color: #F7F8F8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center;
  height: 450px; }
  .footer_guideline p {
    font: 10.0em/1.0em 'Barlow', sans-serif;
    font-weight: 500;
    font-style: italic;
    color: #C9CACA;
    width: fit-content;
    text-align: center; }
    .footer_guideline p small {
      font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      font-style: normal;
      color: #727171;
      display: block; }
  .footer_guideline ul {
    padding: 0 0 0 95px; }
  .footer_guideline li {
    padding: 30px 0; }
  .footer_guideline a {
    font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #727171;
    padding: 15px 25px 15px 65px;
    display: block;
    position: relative; }
    .footer_guideline a:before {
      position: absolute;
      content: "";
      display: block;
      width: 45px;
      height: 67px;
      top: 50%;
      left: 0;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%); }
    .footer_guideline a.career:before {
      background: url("../images/recruit/footer_guideline_01.svg") center center no-repeat;
      background-size: contain; }
    .footer_guideline a.new:before {
      background: url("../images/recruit/footer_guideline_02.svg") center center no-repeat;
      background-size: contain; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .footer_guideline {
    background-color: #F7F8F8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    height: 450px; }
    .footer_guideline p {
      font: 8em/1.0em 'Barlow', sans-serif;
      font-weight: 500;
      font-style: italic;
      color: #C9CACA;
      width: fit-content;
      text-align: center; }
      .footer_guideline p small {
        font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        font-style: normal;
        color: #727171;
        display: block; }
    .footer_guideline ul {
      padding: 0 0 0 70px; }
    .footer_guideline li {
      padding: 30px 0; }
    .footer_guideline a {
      font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      color: #727171;
      padding: 15px 25px 15px 65px;
      display: block;
      position: relative; }
      .footer_guideline a:before {
        position: absolute;
        content: "";
        display: block;
        width: 45px;
        height: 67px;
        top: 50%;
        left: 0;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%); }
      .footer_guideline a.career:before {
        background: url("../images/recruit/footer_guideline_01.svg") center center no-repeat;
        background-size: contain; }
      .footer_guideline a.new:before {
        background: url("../images/recruit/footer_guideline_02.svg") center center no-repeat;
        background-size: contain; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_guideline {
    height: 300px; }
    .footer_guideline p {
      font: 5em/1.0em 'Barlow', sans-serif;
      font-weight: 500;
      font-style: italic;
      color: #C9CACA;
      width: fit-content;
      text-align: left; }
      .footer_guideline p small {
        font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        font-style: normal;
        color: #727171;
        display: block;
        margin: 5px 0 0; }
    .footer_guideline ul {
      padding: 0 0 0 40px; }
    .footer_guideline li {
      padding: 30px 0; }
    .footer_guideline a {
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      color: #727171;
      padding: 15px 0 15px 55px;
      display: block;
      position: relative; }
      .footer_guideline a:before {
        position: absolute;
        content: "";
        display: block;
        width: 45px;
        height: 67px;
        top: 50%;
        left: 0;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%); }
      .footer_guideline a.career:before {
        background: url("../images/recruit/footer_guideline_01.svg") center center no-repeat;
        background-size: contain; }
      .footer_guideline a.new:before {
        background: url("../images/recruit/footer_guideline_02.svg") center center no-repeat;
        background-size: contain; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_guideline {
    height: 200px; }
    .footer_guideline p {
      font: 3.3em/1.0em 'Barlow', sans-serif;
      font-weight: 500;
      font-style: italic; }
      .footer_guideline p small {
        font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500; }
    .footer_guideline ul {
      padding: 0 0 0 40px; }
    .footer_guideline li {
      padding: 10px 0; }
    .footer_guideline a {
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      color: #727171;
      padding: 15px 0 15px 45px; }
      .footer_guideline a:before {
        width: 35px;
        height: 52px; } }
/*max-width:480px*/
/***********************************************/
.footer_box {
  width: calc(100% - 100px);
  margin: 0 auto;
  padding: 115px 0 95px; }
  .footer_box dt {
    padding: 0 0 0 100px;
    font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    position: relative;
    margin: 0 0 30px; }
    .footer_box dt:before {
      position: absolute;
      content: "";
      display: block;
      width: 90px;
      height: 38px;
      background: url("../images/logo.svg") center center no-repeat;
      background-size: contain;
      left: 0;
      top: -8px; }
  .footer_box dd {
    font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    margin: 0 0 15px; }
  .footer_box a.footer_tel {
    pointer-events: none;
    margin: 0 15px 0 0; }
  .footer_box span {
    pointer-events: none; }
  .footer_box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    align-items: flex-start;
    max-width: 720px;
    width: 100%; }
  .footer_box li {
    width: fit-content;
    font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    position: relative;
    text-align: center;
    border-left: 1px solid #333;
    padding: 0 2.5%; }
    .footer_box li:first-of-type {
      border-left: none;
      padding: 0 2.5% 0 0; }
    .footer_box li:last-of-type {
      padding: 0 0 0 2.5%; }

.footer_box_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center;
  width: 100%; }

@media (max-width: 1280px) {
  .footer_box_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%; }

  .footer_box {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 80px 0 100px; }
    .footer_box ul {
      -webkit-justify-content: space-between;
      justify-content: space-between;
      margin: 0 auto 60px;
      order: 1; }
    .footer_box li {
      padding: 0 2%; }
      .footer_box li:first-of-type {
        padding: 0 2% 0 0; }
      .footer_box li:last-of-type {
        padding: 0 0 0 2%; }
    .footer_box dl {
      margin: 0 auto;
      order: 2; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_box {
    padding: 80px 0 100px; }
    .footer_box ul {
      display: none; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_box {
    padding: 50px 0 120px; }
    .footer_box dt {
      padding: 0 0 0 90px;
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      position: relative;
      margin: 0 0 30px; }
      .footer_box dt:before {
        width: 80px;
        height: 38px;
        left: 0;
        top: -8px; }
    .footer_box dd {
      font: 1.4rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 400; } }
/*max-width:480px*/
/***********************************************/
.page_top {
  position: fixed;
  display: block;
  background: #555555;
  width: 50px;
  height: 50px;
  color: #fff;
  right: 10px;
  bottom: -60px;
  text-align: center;
  font: 1.8rem/48px 'Barlow', sans-serif;
  font-weight: 700;
  transition: .3s; }
  .page_top span {
    display: none; }
  .page_top.active {
    bottom: 10px;
    z-index: 8889; }
  .page_top:hover {
    background-color: gold;
    cursor: pointer; }

@media (max-width: 1024px) {
  .page_top {
    right: 0;
    background: #555555;
    font: 1.6rem/48px 'Barlow', sans-serif;
    font-weight: 700; }
    .page_top.active {
      bottom: 0; } }
@media (max-width: 480px) {
  .page_top {
    right: 0;
    background: #555555;
    font: 1.6rem/38px 'Barlow', sans-serif;
    font-weight: 700;
    width: 100%;
    height: 40px; }
    .page_top span {
      display: inline;
      margin: 0 5px 0 0; }
    .page_top.active {
      bottom: 0; } }
/***********************************************/
.page_footer_btn {
  display: none; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .page_footer_btn {
    transition: .3s;
    position: fixed;
    width: 100%;
    left: 0;
    bottom: -60px;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    z-index: 8888; }
    .page_footer_btn.active {
      bottom: 0; }
    .page_footer_btn a,
    .page_footer_btn > div {
      display: block;
      width: calc((100% - 50px)/3);
      height: 50px;
      color: #fff; }
      .page_footer_btn a span,
      .page_footer_btn > div span {
        position: relative; }
    .page_footer_btn .contact {
      font: 1.6em/48px 'Noto Sans JP', sans-serif;
      font-weight: 500;
      background-color: #69A3D8;
      padding: 0;
      text-align: center; }
      .page_footer_btn .contact span {
        display: block;
        width: fit-content;
        margin: 0 auto;
        padding: 0 0 0 35px; }
        .page_footer_btn .contact span:before {
          display: block;
          position: absolute;
          content: "";
          background: url("../images/common/icon-contact.svg") center center no-repeat;
          background-size: contain;
          width: 29px;
          height: 21px;
          top: 51%;
          left: 0%;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%); }
    .page_footer_btn .guideline {
      background-color: #5386B3;
      font: 1.6em/48px 'Noto Sans JP', sans-serif;
      font-weight: 500;
      background: #5386B3;
      background-size: auto;
      padding: 0;
      text-align: center; }
      .page_footer_btn .guideline span {
        display: block;
        width: fit-content;
        margin: 0 auto;
        padding: 0 0 0 35px; }
        .page_footer_btn .guideline span:before {
          display: block;
          position: absolute;
          content: "";
          background: url("../images/common/icon-recruit.svg") center center no-repeat;
          background-size: contain;
          width: 24px;
          height: 30px;
          top: 51%;
          left: 0%;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%); }
      .page_footer_btn .guideline:hover {
        cursor: pointer; }
    .page_footer_btn .guidline_btn_box {
      position: absolute;
      padding: 0 10px 15px;
      width: 100%;
      max-width: 300px;
      display: none;
      bottom: 50px;
      bottom: -110px;
      left: calc(50% - 20px);
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      height: auto; }
      .page_footer_btn .guidline_btn_box.sp_active {
        display: block;
        bottom: 50px; }
      .page_footer_btn .guidline_btn_box:before {
        bottom: -2px;
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        /* Safari用 */
        transform: translate(-50%, 0%);
        position: absolute;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 18.2px 10.5px 0 10.5px;
        border-color: #ffffff transparent transparent transparent;
        z-index: 5; }
      .page_footer_btn .guidline_btn_box:after {
        bottom: -4px;
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        /* Safari用 */
        transform: translate(-50%, 0%);
        position: absolute;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 20.2px 12.5px 0 12.5px;
        border-color: #cccccc transparent transparent transparent;
        z-index: 1; }
      .page_footer_btn .guidline_btn_box div {
        padding: 10px 10px;
        border-radius: 10px;
        background-color: #fff;
        position: relative;
        border: #ccc 1px solid;
        z-index: 3;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        align-items: flex-start; }
      .page_footer_btn .guidline_btn_box a {
        font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        display: block;
        padding: 10px 15px 10px 40px;
        position: relative;
        width: calc((100% - 15px)/2);
        height: auto; }
        .page_footer_btn .guidline_btn_box a:before {
          position: absolute;
          content: "";
          display: block;
          width: 20px;
          height: 30px;
          left: 10px;
          top: 3px; }
        .page_footer_btn .guidline_btn_box a.new {
          border-right: dashed 1px #5386B3;
          color: #5386B3; }
          .page_footer_btn .guidline_btn_box a.new:before {
            background: url("../images/recruit/icon-new.svg") center center no-repeat;
            background-size: contain; }
        .page_footer_btn .guidline_btn_box a.career {
          color: #21336C; }
          .page_footer_btn .guidline_btn_box a.career:before {
            background: url("../images/recruit/icon-career.svg") center center no-repeat;
            background-size: contain; }
    .page_footer_btn .company {
      background-color: #21336C;
      font: 1.6em/1.4em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: center;
      justify-content: center;
      text-align: center;
      padding: 0; }
      .page_footer_btn .company br {
        display: none; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .page_footer_btn .contact {
    font: 1.5em/48px 'Noto Sans JP', sans-serif;
    font-weight: 500; }
  .page_footer_btn .guideline {
    font: 1.5em/48px 'Noto Sans JP', sans-serif;
    font-weight: 500; }
  .page_footer_btn .company {
    font: 1.4em/1.4em 'Noto Sans JP', sans-serif;
    font-weight: 500; }
    .page_footer_btn .company br {
      display: block; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .page_footer_btn.active {
    bottom: 40px; }
  .page_footer_btn a {
    display: block;
    width: auto; }
  .page_footer_btn .contact {
    width: calc((100% - 110px)/2);
    font: 1.4em/48px 'Noto Sans JP', sans-serif;
    font-weight: 500; }
    .page_footer_btn .contact span {
      display: block;
      width: fit-content;
      margin: 0 auto;
      padding: 0 0 0 30px; }
      .page_footer_btn .contact span:before {
        width: 25px;
        height: 21px; }
  .page_footer_btn .guideline {
    width: calc((100% - 110px)/2);
    font: 1.4em/48px 'Noto Sans JP', sans-serif;
    font-weight: 500; }
    .page_footer_btn .guideline span {
      display: block;
      width: fit-content;
      margin: 0 auto;
      padding: 0 0 0 25px; }
      .page_footer_btn .guideline span:before {
        display: block;
        position: absolute;
        content: "";
        background: url("../images/common/icon-recruit.svg") center center no-repeat;
        background-size: contain;
        width: 20px;
        height: 30px;
        top: 51%;
        left: 0%;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%); }
  .page_footer_btn .company {
    width: 110px;
    font: 1.4em/1.4em 'Noto Sans JP', sans-serif;
    font-weight: 500; } }
/*max-width:480px*/
