@charset "UTF-8";
/* Scss Document */
body {
  padding: 100px 0 0; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  /*  #all_content{
      display: none !important
    }*/ }
/*max-width:1024px*/
@media (max-width: 768px) {
  body {
    padding: 80px 0 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  body {
    padding: 50px 0 0;
    min-width: 370px; } }
/*max-width:480px*/
/***********************************************/
.header_all {
  position: fixed;
  background-color: #fff;
  z-index: 90000;
  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;
  transition: .3s; }
  .header_all.active {
    background-color: #fff;
    border-bottom: 1px solid #ccc; }
  .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.active {
      color: #fff; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .header_all {
    background-color: #fff !important;
    border-bottom: 1px solid #ccc; }
    .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.active {
        color: #333333; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .header_all {
    top: 0;
    padding: 0;
    transition: .3s; }
    .header_all.active {
      background-color: #fff; }
    .header_all h1 a {
      padding: 0 0 0 88px;
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      position: relative; }
      .header_all h1 a:before {
        width: 70px;
        height: 43px;
        left: 10px;
        top: -8px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .header_all h1 a {
    padding: 0 0 0 65px;
    font: 1.4rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    position: relative; }
    .header_all h1 a:before {
      width: 50px;
      height: 24px;
      left: 10px;
      top: -2px; } }
/*max-width:480px*/
/***********************************************/
.header_nav {
  max-width: 490px;
  width: calc(100% - 365px);
  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; }

.header_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;
  align-items: flex-start;
  max-width: 405px;
  width: calc(100% - 80px); }
  .header_block a {
    display: block;
    color: #fff;
    height: 75px;
    font: 1.3rem/115px 'Noto Sans JP', sans-serif;
    font-weight: 400;
    text-align: center;
    transition: .5s; }
    .header_block a.mitsumori {
      width: calc((100% - 75px)/3);
      max-width: 110px;
      border-right: 1px solid #fff;
      background: url("../images/common/icon-mitsumori.svg") center top 13px no-repeat #171C61;
      background-size: auto; }
    .header_block a.contact {
      width: calc((100% - 75px)/3);
      max-width: 110px;
      border-right: 1px solid #fff;
      background: url("../images/common/icon-contact.svg") center top 18px no-repeat #171C61;
      background-size: auto; }
    .header_block a.recruit {
      width: calc((100% - 75px)/3);
      max-width: 110px;
      border-right: 1px solid #fff;
      background: url("../images/common/icon-recruit.svg") center top 11px no-repeat #171C61;
      background-size: auto; }
    .header_block a.language {
      width: 75px;
      background: url("../images/common/icon-language.svg") center top 13px no-repeat #171C61;
      background-size: auto; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .header_nav {
    max-width: 280px;
    width: calc(100% - 365px); }

  .header_block {
    max-width: 405px;
    width: calc(100% - 80px); }
    .header_block a.mitsumori {
      display: none !important; }
    .header_block a.recruit {
      display: none !important; }
    .header_block a.contact {
      width: calc(100%/2);
      max-width: 110px;
      border-right: 1px solid #fff;
      background: url("../images/common/icon-contact.svg") center top 18px no-repeat #171C61;
      background-size: auto; }
    .header_block a.language {
      width: calc(100%/2);
      background: url("../images/common/icon-language.svg") center top 13px no-repeat #171C61;
      background-size: auto; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .header_nav {
    max-width: 180px;
    width: calc(100% - 300px); }

  .header_block {
    max-width: 120px;
    width: calc(100% - 60px); }
    .header_block a {
      height: 60px;
      font: 1.2rem/95px 'Noto Sans JP', sans-serif;
      font-weight: 400; }
      .header_block a.contact {
        background: url("../images/common/icon-contact.svg") center center no-repeat #171C61;
        background-size: auto;
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap; }
      .header_block a.language {
        width: calc(100%/2);
        background: url("../images/common/icon-language.svg") center top 11px no-repeat #171C61;
        background-size: 24px 24px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .header_nav {
    max-width: 135px;
    width: calc(100% - 220px); }

  .header_block {
    max-width: 90px;
    width: calc(100% - 45px); }
    .header_block a {
      height: 45px;
      font: 1.0rem/75px 'Noto Sans JP', sans-serif;
      font-weight: 400; }
      .header_block a.contact {
        max-width: 115px;
        background: url("../images/common/icon-contact.svg") center center no-repeat #171C61;
        background-size: 24px; }
      .header_block a.language {
        background: url("../images/common/icon-language.svg") center top 9px no-repeat #171C61;
        background-size: 18px 18px; } }
/*max-width:480px*/
/***********************************************/
.toggle {
  width: 65px;
  height: 65px;
  position: relative;
  text-align: center;
  background-color: #fff;
  transition: .5s; }
  .toggle:hover {
    cursor: pointer; }
  .toggle span {
    display: block;
    width: 35px;
    height: 3px;
    background-color: #171C61;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%);
    transition: 0.3s; }
    .toggle span:nth-of-type(1) {
      top: 23%; }
    .toggle span:nth-of-type(2) {
      top: 37%; }
    .toggle span:nth-of-type(3) {
      top: 53%; }
  .toggle p {
    color: #171C61;
    height: auto;
    background-color: none;
    position: absolute;
    bottom: 15px;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    /* Safari用 */
    transform: translate(-50%, 0%); }
    .toggle p:before {
      transition: 0.5s;
      font: 1.6rem/1.0em 'Oswald', sans-serif;
      content: "CLOSE";
      position: absolute;
      top: 50%;
      left: 51%;
      -webkit-transform: translate(-50%, -50%);
      /* Safari用 */
      transform: translate(-50%, -50%);
      opacity: 0; }
    .toggle p:after {
      transition: 0.5s;
      font: 1.6rem/1.0em 'Oswald', sans-serif;
      content: "MENU";
      position: absolute;
      top: 50%;
      left: 51%;
      -webkit-transform: translate(-50%, -50%);
      /* Safari用 */
      transform: translate(-50%, -50%); }
  .toggle.active span {
    display: block;
    width: 35px;
    height: 3px;
    background-color: #171C61;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%); }
    .toggle.active span:nth-of-type(1) {
      top: 37%;
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
      /* Safari用 */
      transform: translate(-50%, -50%) rotate(45deg); }
    .toggle.active span:nth-of-type(2) {
      top: 37%;
      opacity: 0; }
    .toggle.active span:nth-of-type(3) {
      top: 37%;
      -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      /* Safari用 */
      transform: translate(-50%, -50%) rotate(-45deg); }
  .toggle.active p {
    color: #171C61;
    height: auto;
    background-color: none;
    position: absolute;
    bottom: 15px;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    /* Safari用 */
    transform: translate(-50%, 0%); }
    .toggle.active p:before {
      opacity: 1; }
    .toggle.active p:after {
      opacity: 0; }

@media (max-width: 768px) {
  .toggle {
    width: 60px;
    height: 60px; }
    .toggle span {
      width: 30px;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      /* Safari用 */
      transform: translate(-50%, -50%);
      transition: 0.3s; }
      .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 p {
      display: none; }
    .toggle.active span {
      width: 30px;
      top: 50% !important;
      height: 3px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .toggle {
    width: 45px;
    height: 45px; }
    .toggle span {
      width: 25px;
      height: 3px; }
      .toggle span:nth-of-type(1) {
        top: 33%; }
      .toggle span:nth-of-type(2) {
        top: 50%; }
      .toggle span:nth-of-type(3) {
        top: 68%; }
    .toggle.active span {
      width: 25px; } }
/*max-width:480px*/
/***********************************************/
.all_nav {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.9);
  transition: .1s;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  z-index: -9999; }
  .all_nav.active {
    visibility: visible;
    pointer-events: all;
    opacity: 1;
    z-index: 99999; }

.all_nav_box {
  width: calc(100% - 270px);
  margin: 0 auto;
  max-width: 1280px;
  position: relative;
  padding: 100px 0 100px; }
  .all_nav_box .close {
    width: 100px;
    padding: 0 0 0 40px;
    font: 1.7rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #171C61;
    top: 0;
    position: absolute;
    right: 0;
    top: 100px; }
    .all_nav_box .close:before {
      position: absolute;
      content: "";
      display: block;
      width: 31px;
      height: 31px;
      background-color: #171C61;
      border-radius: 50%;
      left: 0;
      top: -7px; }
    .all_nav_box .close:after {
      position: absolute;
      content: "×";
      font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      color: #fff;
      left: 6px;
      top: -2px; }
    .all_nav_box .close:hover {
      color: gold;
      cursor: pointer; }
      .all_nav_box .close:hover:before {
        background-color: gold; }
  .all_nav_box .home_link {
    font: 1.7rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    text-align: right;
    width: fit-content;
    color: #171C61;
    display: block;
    margin: 0 130px 45px auto; }
    .all_nav_box .home_link:hover {
      color: gold;
      cursor: pointer; }

.all_nav_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: flex-start;
  margin: 0 auto;
  max-width: 1080px; }
  .all_nav_flex div {
    width: calc((100% - 40px)/3);
    max-width: 320px;
    margin: 0 0 10px; }
  .all_nav_flex p {
    font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 20px;
    width: 100%;
    height: 100px;
    padding: 0 0 10px 10px;
    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-end;
    justify-content: flex-end;
    align-items: flex-start;
    color: #fff; }
    .all_nav_flex p.all_nav_about {
      background: url("../images/about_us/about_mv.jpg") center center no-repeat;
      background-size: cover; }
    .all_nav_flex p.all_nav_company {
      background: url("../images/business/business_mv.jpg") center center no-repeat;
      background-size: cover; }
    .all_nav_flex p.all_nav_strength {
      background: url("../images/features/features_mv.jpg") center center no-repeat;
      background-size: cover; }
    .all_nav_flex p.all_nav_sdgs {
      background: url("../images/sastainability/mv.jpg") center center no-repeat;
      background-size: cover; }
    .all_nav_flex p.all_nav_recruit {
      background: url("../images/recruit/mv.jpg") center center no-repeat;
      background-size: cover; }
    .all_nav_flex p.all_nav_contact {
      background: url("../images/contact/contact_mv.jpg") center center no-repeat;
      background-size: cover; }
  .all_nav_flex 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-start;
    justify-content: flex-start; }
    .all_nav_flex ul.flex50 li {
      width: calc(100%/2); }
  .all_nav_flex li {
    font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin: 0 0 20px;
    padding: 0 20px 0 10px; }
    .all_nav_flex li:nth-of-type(2n) {
      padding: 0 0 0 10px; }
  .all_nav_flex a {
    padding: 0 0 0 15px;
    position: relative; }
    .all_nav_flex a:before {
      position: absolute;
      content: "";
      display: block;
      width: 8px;
      height: 8px;
      left: 0;
      top: 8px;
      background-color: #171C61; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .all_nav {
    overflow: scroll; }
    .all_nav.active {
      z-index: 9998; }

  .all_nav_box {
    width: calc(100% - 40px);
    margin: 0 auto;
    max-width: 640px;
    position: relative;
    padding: 100px 0 50px; }
    .all_nav_box .close {
      display: none; }
    .all_nav_box .home_link {
      display: none; }

  .all_nav_flex {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: stretch; }
    .all_nav_flex div {
      width: calc((100% - 40px)/2);
      max-width: 100%;
      margin: 0;
      border-bottom: 1px solid black;
      padding: 30px 20px 0; }
    .all_nav_flex p {
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 30px;
      width: 100%;
      height: auto;
      padding: 0;
      display: block;
      color: #171C61;
      background: none !important; }
    .all_nav_flex 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-start;
      justify-content: flex-start;
      max-width: 300px;
      width: 1400%; }
    .all_nav_flex li {
      font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 0 25px;
      padding: 0 20px 0 0; }
      .all_nav_flex li:nth-of-type(2n) {
        padding: 0 0 0 0; }
    .all_nav_flex a {
      padding: 0 0 0 15px;
      position: relative; }
      .all_nav_flex a:before {
        position: absolute;
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        left: 0;
        top: 8px;
        background-color: #171C61; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .all_nav_box {
    width: calc(100% - 40px);
    margin: 0 auto;
    max-width: 480px;
    position: relative;
    padding: 70px 0 20%; }

  .all_nav_flex div {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-bottom: 1px solid black;
    padding: 30px 20px 0; }
  .all_nav_flex p {
    font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 30px;
    width: 100%;
    height: auto;
    padding: 0;
    display: block;
    color: #171C61;
    background: none !important; }
  .all_nav_flex ul {
    max-width: 100%;
    width: 1400%; }
  .all_nav_flex li {
    font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin: 0 0 25px;
    padding: 0 30px 0 0; }
    .all_nav_flex li:nth-of-type(2n) {
      padding: 0 0 0 0; }
  .all_nav_flex a {
    padding: 0 0 0 15px;
    position: relative; }
    .all_nav_flex a:before {
      top: 10px;
      background-color: #171C61; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .all_nav_box {
    padding: 50px 0 50%; }

  .all_nav_flex li {
    padding: 0;
    width: 100% !important; }
    .all_nav_flex li:nth-of-type(2n) {
      padding: 0 0 0 0; } }
/*max-width:480px*/
/***********************************************/
#all_content {
  position: relative; }

main {
  top: 0; }

aside {
  width: 300px;
  z-index: 8888;
  left: 0%;
  position: fixed;
  transition: .3s;
  top: 120px; }
  aside div {
    transition: .3s;
    width: 100%;
    padding: 20% 30px 0;
    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; }
  aside ul {
    transition: .3s;
    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: space-between;
    justify-content: space-between;
    align-items: flex-start;
    height: 380px; }
  aside span {
    margin: 0 0 5px;
    font: 1.7rem/1.0em 'Barlow', sans-serif;
    font-weight: 700;
    font-style: italic;
    display: block;
    color: #171C61; }
  aside li {
    font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 20%; }

@media (max-width: 1280px) {
  aside {
    width: 190px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  aside {
    display: none; } }
/*max-width:1024px*/
/***********************************************/
.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: 0 20px;
  position: absolute;
  top: 105px;
  right: 0;
  width: 100%;
  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 {
  background-color: #171C61;
  padding: 0 180px; }

.footer_box {
  max-width: 1280px;
  width: calc(100% - 40px);
  margin: 0 auto;
  color: #fff;
  padding: 95px 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 {
    color: #fff; }
    .footer_box a.footer_tel {
      pointer-events: none;
      margin: 0 15px 0 0; }
    .footer_box a:hover {
      color: gold; }
  .footer_box span {
    pointer-events: none; }

@media (max-width: 1024px) {
  footer {
    padding: 0; }

  .footer_box {
    width: calc(100% - 40px); }
    .footer_box a {
      color: #fff; }
      .footer_box a.footer_tel {
        pointer-events: all;
        margin: 0 15px 0 0; } }
/*max-width:1024px*/
@media (max-width: 480px) {
  .footer_box {
    padding: 50px 0 95px; }
    .footer_box dt {
      padding: 0 0 0 90px;
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700; }
      .footer_box dt:before {
        width: 80px;
        height: 34px;
        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;
  width: 50px;
  height: 50px;
  color: #fff;
  background: #595757;
  right: 10px;
  bottom: -60px;
  z-index: 777;
  text-align: center;
  font: 1.4rem/48px 'Barlow', sans-serif;
  font-weight: 700;
  transition: .5s; }
  .page_top.active {
    bottom: 10px; }
  .page_top:hover {
    cursor: pointer; }

.page_footer_btn {
  position: fixed;
  bottom: -60px;
  z-index: 777;
  left: 0; }

@media (max-width: 1024px) {
  .page_top {
    bottom: -65px;
    right: 0;
    width: 65px;
    font: 1.4rem/65px 'Barlow', sans-serif;
    font-weight: 700; }
    .page_top:before {
      position: absolute;
      content: "";
      top: 23%;
      left: 40%;
      -webkit-transform: translate(-50%, -50%);
      /* Safari用 */
      transform: translate(-50%, -50%);
      width: 10px;
      height: 10px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    .page_top.active {
      bottom: 0; }

  .page_footer_btn {
    position: fixed;
    bottom: -65px;
    left: 0;
    width: calc(100% - 65px);
    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;
    transition: .3s; }
    .page_footer_btn a {
      color: #595757;
      width: calc(100%/2);
      text-align: center;
      background-color: #DCDDDD; }
      .page_footer_btn a span {
        display: block;
        margin: 0 auto;
        width: fit-content;
        font: 1.6rem/48px 'Barlow', sans-serif;
        font-weight: 700;
        position: relative;
        padding: 0 0 0 34px; }
        .page_footer_btn a span:before {
          position: absolute;
          content: "";
          background: url("../images/common/icon-footer-mitumori.svg") center center no-repeat;
          background-size: contain;
          display: block;
          width: 24px;
          height: 30px;
          left: 0;
          top: 9px; }
      .page_footer_btn a.page_footer_btn_recruit {
        color: #ffff;
        background-color: #438BBE; }
        .page_footer_btn a.page_footer_btn_recruit span {
          padding: 0 0 0 32px; }
          .page_footer_btn a.page_footer_btn_recruit span:before {
            position: absolute;
            content: "";
            background: url("../images/common/icon-footer-recruit.svg") center center no-repeat;
            background-size: contain;
            display: block;
            width: 22px;
            height: 30px;
            left: 0;
            top: 9px; }
    .page_footer_btn.active {
      bottom: 0; } }
/*max-width:1024px*/
/***************************************************/
/**　全ページ共通港hover　**/
/***************************************************/
@media (hover: hover) {
  .header_all h1 a:hover {
    color: gold; }

  .header_block a:hover {
    color: #595757;
    background-color: gold; }
    .header_block a:hover.contact {
      background-image: url("../images/common/icon-contact-hover.svg"); }
    .header_block a:hover.language {
      background-image: url("../images/common/icon-language-hover.svg"); }
    .header_block a:hover.mitsumori {
      background-image: url("../images/common/icon-mitsumori-hover.svg"); }
    .header_block a:hover.recruit {
      background-image: url("../images/common/icon-recruit-hover.svg"); }

  .toggle:hover {
    cursor: pointer;
    background-color: gold; }

  aside a:hover {
    color: gold; }
    aside a:hover span {
      color: gold; }

  .pankuzu li a:hover {
    color: gold; }

  .page_top:hover {
    background-color: gold;
    color: #595757; }

  .page_footer_btn a:hover {
    background-color: gold; }
  .page_footer_btn a.page_footer_btn_recruit:hover {
    color: #595757; }
    .page_footer_btn a.page_footer_btn_recruit:hover span:before {
      background: url(../images/common/icon-footer-recruit-hover.svg) center center no-repeat;
      background-size: contain; } }
/***********************************************/
.page_header {
  width: calc(100% - 300px);
  margin: 50px 0 300px auto;
  position: relative;
  transition: .3s; }
  .page_header h2 {
    width: fit-content;
    font: 4.0rem/1.0em 'Rock Salt', cursive;
    font-weight: 400;
    color: #171C61;
    text-align: center; }
    .page_header h2 span {
      margin: 22px auto 0;
      font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      display: block; }
  .page_header ul {
    position: absolute;
    left: 0;
    top: 140px;
    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; }
  .page_header a {
    display: block;
    padding: 15px 20px;
    font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    border-bottom: 2px solid #DCDDDD; }
    .page_header a.current {
      border-bottom: 2px solid #171C61; }
    .page_header a:hover {
      color: gold; }
    .page_header a br {
      display: none; }

.page_mv .mv_box {
  transition: .3s;
  width: calc(100% - 300px);
  margin: 0 0 0 auto;
  position: relative;
  height: 540px;
  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;
  align-items: flex-start;
  padding: 0 0 0 50px; }
  .page_mv .mv_box.page_mv_business {
    background: url("../images/business/business_mv.jpg") center left no-repeat;
    background-size: cover; }
  .page_mv .mv_box.page_mv_features {
    background: url("../images/features/features_mv.jpg") center left no-repeat;
    background-size: cover; }
  .page_mv .mv_box.page_mv_about {
    background: url("../images/about_us/about_mv.jpg") center left no-repeat;
    background-size: cover; }
  .page_mv .mv_box.page_mv_sdgs {
    background: url("../images/sastainability/mv.jpg") center left no-repeat;
    background-size: cover; }
  .page_mv .mv_box.page_mv_contact {
    background: url("../images/contact/contact_mv.jpg") center left no-repeat;
    background-size: cover; }
.page_mv .mv_ttl {
  font: 9.0vw/1.0em 'Barlow', sans-serif;
  font-weight: 500;
  font-style: italic;
  position: absolute;
  left: 30px;
  top: -7vw;
  color: #171C61; }
.page_mv .big {
  color: #fff;
  text-shadow: 2px 2px 5px #333;
  padding: 0 0 40px;
  font: 6.0rem/1.0em 'Noto Sans JP', sans-serif;
  font-weight: 500; }
.page_mv .small {
  color: #fff;
  text-shadow: 2px 2px 5px #333;
  font: 3.0rem/1.7em 'Noto Sans JP', sans-serif;
  font-weight: 400; }

@media (hover: hover) {
  .page_header a:hover {
    color: gold; } }
@media (min-width: 1920px) {
  .page_mv .mv_ttl {
    font: 16.0rem/1.0em 'Barlow', sans-serif;
    font-weight: 500;
    font-style: italic;
    position: absolute;
    left: 30px;
    top: -13.0rem;
    color: #171C61; } }
@media (max-width: 1400px) {
  .page_mv .mv_box {
    width: calc(100% - 220px); }
  .page_mv .mv_ttl {
    font-weight: 500;
    font-style: italic;
    position: absolute;
    left: 30px;
    color: #171C61; } }
@media (max-width: 1280px) {
  .page_header {
    width: calc(100% - 190px); }

  .page_mv .mv_box {
    width: calc(100% - 190px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .page_header {
    width: 100%;
    margin: 50px auto  100px auto;
    position: relative;
    transition: .3s; }
    .page_header h2 {
      width: fit-content;
      font: 4.0rem/1.0em 'Rock Salt', cursive;
      font-weight: 400;
      color: #171C61;
      text-align: center;
      margin: 0 auto 50px; }
      .page_header h2 span {
        margin: 22px auto 0;
        font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        display: block; }
    .page_header ul {
      width: 100%;
      position: relative;
      left: auto;
      top: 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: center;
      justify-content: center;
      margin: 0 auto; }

  .page_mv .mv_box {
    transition: .3s;
    width: 100%;
    margin: 0 0 0 auto;
    position: relative;
    height: auto;
    min-height: 300px;
    padding: 100px 40px; }
    .page_mv .mv_box.page_mv_business {
      background: url("../images/business/business_mv.jpg") center center no-repeat;
      background-size: cover; }
    .page_mv .mv_box.page_mv_features {
      background: url("../images/features/features_mv.jpg") center center no-repeat;
      background-size: cover; }
    .page_mv .mv_box.page_mv_about {
      background: url("../images/about_us/about_mv.jpg") center center no-repeat;
      background-size: cover; }
  .page_mv .mv_ttl {
    font: 10.5vw/1.0em 'Barlow', sans-serif;
    font-weight: 500;
    font-style: italic;
    position: absolute;
    left: 20px;
    top: -8.5vw; }
  .page_mv .big {
    padding: 0 0 40px;
    font: 5.5vw/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500; }
  .page_mv .small {
    font: 3.5vw/1.7em 'Noto Sans JP', sans-serif;
    font-weight: 400; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .page_header {
    width: 100%;
    margin: 50px auto  100px auto;
    position: relative;
    transition: .3s; }
    .page_header h2 {
      width: fit-content;
      font: 4.0rem/1.0em 'Rock Salt', cursive;
      font-weight: 400;
      color: #171C61;
      text-align: center;
      margin: 0 auto 50px; }
      .page_header h2 span {
        margin: 22px auto 0;
        font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        display: block; }
    .page_header ul {
      width: 100%;
      position: relative;
      left: auto;
      top: 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: flex-start;
      justify-content: flex-start;
      margin: 0 auto; }
      .page_header ul.about_link li, .page_header ul.sdgs_link li {
        width: calc(100%/2); }
        .page_header ul.about_link li:nth-of-type(2n), .page_header ul.sdgs_link li:nth-of-type(2n) {
          border-left: 1px solid #fff; }
      .page_header ul.business_link li {
        width: calc(100%/3); }
        .page_header ul.business_link li:nth-of-type(1), .page_header ul.business_link li:nth-of-type(2) {
          width: calc(100%/2); }
        .page_header ul.business_link li:nth-of-type(2), .page_header ul.business_link li:nth-of-type(4), .page_header ul.business_link li:nth-of-type(5) {
          border-left: 1px solid #fff; }
      .page_header ul.contact_link li {
        width: calc(100%/3); }
        .page_header ul.contact_link li:nth-of-type(2), .page_header ul.contact_link li:nth-of-type(1) {
          border-right: 1px solid #fff; }
    .page_header a {
      display: block;
      text-align: center;
      padding: 15px 0;
      font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      border-bottom: 1px solid #fff;
      background-color: #DCDDDD; }
      .page_header a.current {
        border-bottom: 1px solid #fff;
        background-color: #171C61;
        color: #fff; }

  .page_mv .mv_box {
    padding: 50px 20px;
    min-height: 300px; }
  .page_mv .big {
    color: #fff;
    text-shadow: 2px 2px 5px #333;
    padding: 0 0 20px;
    font: 5.5vw/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500; }
  .page_mv .small {
    color: #fff;
    text-shadow: 2px 2px 5px #333;
    font: 3.5vw/1.7em 'Noto Sans JP', sans-serif;
    font-weight: 400; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .page_header {
    width: 100%;
    margin: 50px auto  100px auto;
    position: relative;
    transition: .3s; }
    .page_header h2 {
      width: fit-content;
      font: 4.0rem/1.0em 'Rock Salt', cursive;
      font-weight: 400;
      color: #171C61;
      text-align: center;
      margin: 0 auto 50px; }
      .page_header h2 span {
        margin: 22px auto 0;
        font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        display: block; }
    .page_header ul {
      width: 100%;
      position: relative;
      left: auto;
      top: 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: flex-start;
      justify-content: flex-start;
      margin: 0 auto; }
      .page_header ul.about_link li, .page_header ul.sdgs_link li {
        width: calc(100%/2); }
        .page_header ul.about_link li:nth-of-type(2n), .page_header ul.sdgs_link li:nth-of-type(2n) {
          border-left: 1px solid #fff; }
      .page_header ul.business_link li {
        width: calc(100%/3); }
        .page_header ul.business_link li:nth-of-type(1), .page_header ul.business_link li:nth-of-type(2) {
          width: calc(100%/2); }
        .page_header ul.business_link li:nth-of-type(2), .page_header ul.business_link li:nth-of-type(4), .page_header ul.business_link li:nth-of-type(5) {
          border-left: 1px solid #fff; }
      .page_header ul.contact_link li:nth-of-type(2), .page_header ul.contact_link li:nth-of-type(1) {
        border-right: 1px solid #fff;
        width: calc(60%/2); }
      .page_header ul.contact_link li:nth-of-type(3) {
        border-right: 1px solid #fff;
        width: 40%; }
    .page_header a {
      display: block;
      text-align: center;
      padding: 15px 0;
      font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      border-bottom: 1px solid #fff;
      background-color: #DCDDDD; }
      .page_header a.current {
        border-bottom: 1px solid #fff;
        background-color: #171C61;
        color: #fff; }

  .page_mv .mv_box {
    padding: 50px 20px;
    min-height: 200px; }
  .page_mv .mv_ttl {
    font: 11vw/1.0em 'Barlow', sans-serif;
    font-weight: 500;
    font-style: italic;
    position: absolute;
    left: 15px;
    top: -8.5vw; }
  .page_mv .big {
    color: #fff;
    text-shadow: 2px 2px 5px #333;
    padding: 0 0 20px;
    font: 6vw/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500; }
  .page_mv .small {
    color: #fff;
    text-shadow: 2px 2px 5px #333;
    font: 4w/1.7em 'Noto Sans JP', sans-serif;
    font-weight: 400; } }
/*max-width:480px*/
