@charset "UTF-8";

body { padding: 0; margin: 0; color: #000; overflow-x: hidden; font-family: "Noto Sans JP", sans-serif;}

* {margin: 0; padding: 0;}
p { line-height: 1.6;}
ul { list-style: none;}
img { width: 100%;}
a { text-decoration: none;}

html {
  scroll-behavior: smooth;
}
body.fixed {
  overflow: hidden;
}
@media (min-width: 768px) {
  header {
    position: fixed;
    z-index: 20;
    height: 7.0vw;
    width: 100%;
  }
  header .h_logo {
    display: block;
    width: 12.9vw;
  }
  .index header .h_logo {
    margin-top: 2.4vw;
    width: 24.5vw;
    transition: transform 0.5s ease;
  }
  .index header .h_logo.active {
    margin-top: 0vw;
    width: 12.9vw;
  }
  header .hover-group {
    position: absolute;
    top: 0;
    right: 4.16vw;
  }
  header .h_entry {
    width: 11.3vw;
    height: 3.68vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    font-size: 1.25vw;
    font-weight: 800;
    text-align: center;
    color: #10BBE8;
    cursor: pointer;
    transition: transform 0.5s ease;
  }
  header .h_entry:hover {
    background: #10BBE8;
    color: #fff;
  }
  header .menu_entry {
    display: none;
    position: absolute;
    top: 3.68vw; /* 画像の top + 高さ */
    left: 0;
    z-index: 10;
    width: 11.3vw;
    background: #fff;
  }
  header .menu_entry li {
    margin: 0;
    width: 100%;
    height: 3.7vw;
    border: 1px solid #B4B4B4;
    border-bottom: none;
  }
  header .menu_entry li:last-child {
    border-bottom: 1px solid #B4B4B4;
  }
  header .menu_entry li a {
    display: block;
    width: 100%;
    height: 3.7vw;
  }
  header .menu_entry li a img {
    height: 100%;
  }
  header .menu_entry li a:hover {
    opacity: 0.7;
  }
  header .hover-group:hover .menu_entry {
    display: block;
  }

  header .menu {
    position: absolute;
    top: 0;
    right: 0vw;
    width: 3.6vw;
    cursor: pointer;
  }
  header .menu:hover img {
    opacity: 0.7;
  }

  .footer_download {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: url(../img/common/footer_download_pc.png) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 24.2vw;
  }
  .footer_download h2 {
    font-size: 1.38vw;
    font-weight: bold;
    line-height: 1.7;
    margin: 0 0 2.4vw 52.2vw;
  }
  .footer_download h2 span {
    font-size: 1.94vw;
  }
  .footer_download a {
    position: relative;
    display: flex;
    align-items: center;
    width: 20.1vw;
    height: 3.5vw;
    margin: 0 0 0 52.2vw;
    padding: 0 0 0 1.8vw;
    background: #000;
    color: #fff;
    font-size: 1.11vw;
    font-weight: bold;
    text-decoration: none;
    border: 2px solid #000;
  }
  .footer_download a::after {
    display: block;
    position: absolute;
    content: "";
    width: 1.73vw;
    height: 1.73vw;
    background: url(../img/common/icon_download.png) no-repeat center;
    background-size: 100% 100%;
    right: 0.97vw;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 2;
  }
  .footer_download a:hover::after {
    background: url(../img/common/icon_download_hover.png) no-repeat center;
    background-size: 100% 100%;
  }
  .footer_download a:hover {
    color: #000;
  }
  .footer_download a span {
    position: relative;
    z-index: 2;
  }
  .footer_download a:hover::before {
    transform: scaleX(1);
    transform-origin: left;
  }
  .footer_download a::before {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: scaleX(0);
    transform-origin: right;
    transition: all 0.5s ease;
    transition-property: transform;
  }


  .footer_entry {
    padding: 5.5vw 0 3.8vw;
    background: url(../img/common/footer_entry_pc.png) no-repeat center;
    background-size: 100% 100%;
  }
  .footer_entry h2 {
    font-size: 4.44vw;
    text-align: center;
    line-height: 1;
    margin: 0 auto 1.0vw;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 600;
  }
  .footer_entry .lead {
    font-size: 1.11vw;
    text-align: center;
    line-height: 1;
    margin: 0 auto 2.4vw;
    color: #fff;
    font-weight: bold;
  }
  .footer_entry ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 87.6vw;
    margin: 0 auto;
  }
  .footer_entry ul li {
    width: 26.8vw;
    margin: 0 1.2vw 2.7vw;
  }
  .footer_entry ul li a:hover > img {
    opacity: 0.7;
  }
  .footer_entry ul li a p {
    font-size: 0.97vw;
    font-weight: bold;
    color: #fff;
    margin: 0 0 0;
    line-height: 1;
    text-decoration: none;
  }
  .footer_entry ul li a p img {
    width: 1.25vw;
    margin-left: 0.5vw;
  }

  #pagetop {
    position: fixed;
    bottom: 3vw;
    right: 3vw;
    width: 5.48vw;
    z-index: 10;
    opacity: 0;
    transition: transform 0.5s ease;
  }
  #pagetop.UpMove {
    opacity: 1;
  }
  #pagetop a:hover img {
    opacity: 0.7;
  }

  footer {
    background: #000;
    color: #fff;
    padding: 5.13vw 0 4.16vw;
  }
  footer .f_logo {
    width: 21.6vw;
    margin: 0 0 3.47vw;
  }
  footer .footer_inner {
    margin: 0 auto 3.47vw;
    padding: 0 0 0 5.97vw;
    /*
    padding: 0 5.97vw;
    */
    display: flex;
  }
  footer .footer_inner .cell {
    border-left: 1px solid #fff;
    padding: 0 0 0 1.0vw;
  }
  footer .footer_inner .cell:nth-of-type(1) {
    width: 16.7vw;
    /*
    width: 18.2vw;
    */
  }
  footer .footer_inner .cell:nth-of-type(2) {
    width: 13.2vw;
  }
  footer .footer_inner .cell:nth-of-type(3) {
    width: 17.6vw;
  }
  footer .footer_inner .cell:nth-of-type(4) {
    width: 14.2vw;
    /*
    width: 17.2vw;
    */
  }
  footer .footer_inner .cell:nth-of-type(5) {
    width: 19.8vw;
    /*
    width: 15.8vw;
    */
  }
  footer .footer_inner .cell p {
    font-size: 0.83vw;
    font-weight: 500;
    color: #46AFFF;
    line-height: 1.4;
    margin: -0.5vw 0 2.4vw;
  }
  footer .footer_inner .cell p a {
    color: #46AFFF;
  }
  footer .footer_inner .cell p span {
    font-size: 2.5vw;
    font-weight: 600;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
  }
  footer .footer_inner .cell p a span {
    color: #fff;
  }
  footer .footer_inner .cell ul {
  }
  footer .footer_inner .cell ul li {
    margin: 0 0 1.0vw;
  }
  footer .footer_inner .cell ul li:last-child {
    margin: 0 0 0vw;
  }
  footer .footer_inner .cell ul li a {
    position: relative;
    font-size: 1.11vw;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
    padding: 0 0 0 1.0vw;
    display: block;
  }
  footer .footer_inner .cell ul li a::after {
    display: block;
    position: absolute;
    content: "-";
    top: 0vw;
    left: 0;
  }
  footer .footer_inner .cell ul li a:hover {
    opacity: 0.7;
  }
  footer .footer_inner .cell ul.f_recruit_link li a {
    padding: 0 0 0 0vw;
  }
  footer .footer_inner .cell ul.f_recruit_link li a::after {
    display: none;
  }
  footer .footer_inner .cell ul.f_recruit_link li a img {
    width: 1.0vw;
    margin-left: 0.3vw;
  }
  footer .footer_inner .cell a.f_menu_bnr {
    display: block;
    font-size: 0.83vw;
    line-height: 1.5;
    margin: 0 0 2.0vw;
    color: #fff;
  }
  footer .footer_inner .cell a.f_menu_bnr img {
    display: block;
    width: 10.8vw;
    margin: 0 0 0.7vw;
  }
  footer .footer_inner .cell a.f_menu_bnr:hover img {
    opacity: 0.7;
  }
  footer .footer_company {
    /*
    display: none;
    margin: 0 auto 1.0vw;
    */
    display: flex;
    justify-content: center;
    margin: 0 auto 0vw;
  }
  footer .footer_company a {
    display: block;
    margin: 0 0.9vw;
  }
  footer .footer_company a:nth-of-type(1) {
    /*
    width: 12.8vw;
    */
    width: 9.5vw;
  }
  footer .footer_company a:nth-of-type(2) {
    /*
    width: 14.9vw;
    */
    width: 10.9vw;
  }
  footer .footer_company a:nth-of-type(3) {
  /*
    width: 13.4vw;
    */
    width: 10.2vw;
  }
  footer .footer_company a:nth-of-type(4) {
  /*
    width: 16.4vw;
    */
    width: 12.2vw;
  }
  footer .footer_company a:hover img {
    opacity: 0.7;
  }
  footer .footer_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 5.97vw;
  }
  footer .footer_bottom .sns_cell {
    display: flex;
  }
  footer .footer_bottom .sns_cell li {
    width: 2.0vw;
    margin-right: 0.5vw;
  }

  footer .copyright {
    text-align: right;
    font-size: 0.69vw;
    line-height: 1;
    margin: 0 0 0vw;
  }


  /* 下層共通 */
  .under_ttl {
    position: relative;
    color: #fff;
    height: 34vw;
    background: url(../img/common/under_ttl_pc.png) no-repeat center;
    background-size: 100% 100%;
    margin: 0 0 5.7vw;
    padding: 9.0vw 0 0 5.2vw;
    z-index: 5;
  }
  .under_ttl .breadcrumbs {
    display: flex;
    margin: 0 0 4.5vw;
  }
  .under_ttl .breadcrumbs li {
    font-size: 0.90vw;
    line-height: 1;
  }
  .under_ttl .breadcrumbs li a {
    position: relative;
    display: block;
    width: max-content;
    color: #fff;
    margin: 0 1.0vw 0 0;
    padding: 0 1.38vw 0 0;
    line-height: 1;
  }
  .under_ttl .breadcrumbs li a::after {
    display: block;
    position: absolute;
    content: ">";
    right:0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .under_ttl h1 {
    line-height: 1.2;
    transform: rotate(-2.81deg);
    font-weight: 500;
    font-size: 1.38vw;
  }
  .under_ttl h1 span {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 8.88vw;
    font-weight: 600;
  }
  .under_ttl p.txt_explanation {
    position: absolute;
    /*
    top: 26.3vw;
    */
    left: 43.75vw;
    font-size: 1.11vw;
    font-weight: bold;
    line-height: 2.0;
    margin: 0;
    transform: rotate(-2.81deg);
    width: 45vw;
  }
  .under_ttl p.txt_explanation span {
    display: block;
    margin: 0 0 0.63vw;
    font-size: 1.66vw;
  }

  .footer_menu {
  }
  .footer_menu ul {
    display: flex;
    flex-wrap: wrap;
  }
  .footer_menu ul li {
    width: calc(50% - 2px);
    height: 12.6vw;
    position: relative;
    border: 1px solid #DFDFDF;
  }
  .footer_menu ul li::after {
    display: block;
    position: absolute;
    content: "";
    width: 0.9vw;
    height: 2.15vw;
    right: 3.3vw;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../img/common/icon_footer_menu.png) no-repeat center;
    background-size: 100% 100%;
  }
  /*.footer_menu ul li.active::after,*/
  .footer_menu ul li:hover::after {
    background: url(../img/common/icon_footer_menu_wht.png) no-repeat center;
    background-size: 100% 100%;
  }
  .footer_menu ul li a {
    overflow: hidden;
    display: flex;
    justify-content: center;
    text-align: left;
    flex-direction: column;
    width: calc(100% - 8.9vw);
    height: 100%;
    padding: 0 0 0 8.19vw;
    font-size: 1.11vw;
    font-weight: 500;
    color: #000;
  }
  .footer_menu ul li a span {
    font-size: 3.33vw;
    font-weight: 600;
    font-family: "Roboto Condensed", sans-serif;
  }
  .footer_menu ul li.active a {
    /*color: #fff;*/
  }
  /*
  .footer_menu ul li.active:nth-child(1) {
    background: url(../img/common/footer_menu07.jpg) no-repeat center;
    background-size: 100% 100%;
  }
  .footer_menu.f_business ul li.active:nth-child(1) {
    background: url(../img/common/footer_menu07.jpg) no-repeat center;
    background-size: 100% 100%;
  }
*/
  .footer_menu ul li a:hover {
    color: #fff;
  }
  .footer_menu ul li a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('../img/common/footer_menu07.jpg');
    background-size: 100% 100%;
    background-position: left center;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.5s ease;
    z-index: -1; /* 背景がテキストの下にくるように */
  }
  .footer_menu ul li a:hover::before {
    transform: scaleX(1); /* 左から右へ */
  }
  .footer_menu ul li.num a::before {
    background-image: url('../img/common/footer_menu02.jpg');
    background-size: 100% 100%;
  }
  .footer_menu ul li.bus a::before {
    background-image: url('../img/common/footer_menu03.jpg');
    background-size: 100% 100%;
  }
  .footer_menu ul li.rr a::before {
    background-image: url('../img/common/footer_menu04.jpg');
    background-size: 100% 100%;
  }
  .footer_menu ul li.wlb a::before {
    background-image: url('../img/common/footer_menu05.jpg');
    background-size: 100% 100%;
  }
  .footer_menu ul li.mop a::before {
    background-image: url('../img/common/footer_menu06.jpg');
    background-size: 100% 100%;
  }

  .btn_blk {
    width: 18.6vw;
    height: 4.58vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    color: #fff;
    font-size: 1.45vw;
    font-weight: bold;
    margin: 0 auto;
    border: 2px solid #000;
  }
  .btn_blk span {
    position: relative;
    z-index: 2;
  }
  .btn_blk:hover {
    color: #000;
  }
  .btn_blk:hover::before {
    transform: scaleX(1);
    transform-origin: left;
  }
  .btn_blk::before {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: scaleX(0);
    transform-origin: right;
    transition: all 0.5s ease;
    transition-property: transform;
  }

  .menuArea {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: auto;
    max-height: calc(100vh - 10.1vw);
    background: #000;
    z-index: 15;
    padding: 7.9vw 0 2.2vw;
    color: #fff;
    overflow-x: scroll;
  }
  .menuArea .menu_inner {
    width: 83.3vw;
    margin: 0 auto 4.1vw;
    display: flex;
    flex-direction: column;
  }
  .menuArea .menu_inner .cell {
    border-bottom: 1px solid #fff;
    padding: 1.7vw 0 1.7vw 0;
    display: flex;
    justify-content: space-between;
  }
  .menuArea .menu_inner .cell p {
    width: 22%;
    font-size: 0.83vw;
    font-weight: 500;
    color: #46AFFF;
    line-height: 1.4;
    margin: -0.5vw 0 0vw;
  }
  .menuArea .menu_inner .cell p a {
    color: #46AFFF;
  }
  .menuArea .menu_inner .cell p span {
    font-size: 2.5vw;
    font-weight: 600;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
  }
  .menuArea .menu_inner .cell p a span {
    color: #fff;
  }
  .menuArea .menu_inner .cell ul {
    width: 78%;
    display: flex;
    flex-wrap: wrap;
  }
  .menuArea .menu_inner .cell ul li {
    font-size: 1.11vw;
    margin: 0.5vw 1.7vw 0.5vw 0;
  }
  .menuArea .menu_inner .cell ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
  }
  .menuArea .menu_inner .cell ul li a:hover {
    opacity: 0.7;
  }
  .menuArea .menu_inner .cell:last-of-type {
    padding-bottom: 0;
    border-bottom: none;
  }
  .menuArea .menu_inner .cell:last-of-type p {
    width: 14%;
  }
  .menuArea .menu_inner .cell ul li a img {
    width: 1.0vw;
    margin-left: 0.2vw;
  }
  .menuArea .menu_inner .cell .h_bnr {
    width: 86%;
    display: flex;
    justify-content: space-between;
  }
  .menuArea .menu_inner .cell .h_bnr .h_menu_bnr {
    width: 20.5%;
    display: flex;
    flex-direction: column;
    font-size: 0.83vw;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
  }
  .menuArea .menu_inner .cell .h_bnr .h_menu_bnr:last-of-type {
    width: 18%;
  }
  .menuArea .menu_inner .cell .h_bnr .h_menu_bnr img {
    width: 10.8vw;
    margin-bottom: 0.3vw;
  }
  .menuArea .menu_inner .cell .h_bnr .h_menu_bnr:hover img {
    opacity: 0.7;
  }
  .menuArea .sns_cell {
    width: 83.3vw;
    margin: 0 auto;
    display: flex;
  }
  .menuArea .sns_cell li {
    width: 2.7vw;
    margin-right: 0.5vw;
  }


  .pcOnly { display: block !important;}
  .spOnly { display: none !important;}
}

@media (max-width: 767px) {
  body,html {
    overflow-x: hidden !important;
  }
  header {
    position: fixed;
    z-index: 20;
    height: 12.2vw;
    width: 100%;
  }
  header .h_logo {
    display: block;
    width: 26.9vw;
  }
  header .h_entry {
    display: none;
  }
  header .menu_entry {
    display: none;
  }
  header .menu {
    position: absolute;
    top: 0;
    right: 0vw;
    width: 12.2vw
  }

  .footer_download {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: url(../img/common/footer_download_sp.png) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 80.8vw;
  }
  .footer_download h2 {
    font-size: 3.73vw;
    font-weight: bold;
    line-height: 1.7;
    /*
    margin: 0 0 8.0vw 7.46vw;
    */
    margin: 0 auto 8.0vw;
    color: #fff;
    text-align: center;
  }
  .footer_download h2 span {
    font-size: 5.06vw;
  }
  .footer_download a {
    position: relative;
    display: flex;
    align-items: center;
    width: 54.4vw;
    height: 9.6vw;
    /*
    margin: 0 0 0 7.46vw;
    */
    margin: 0 auto;
    padding: 0 0 0 5.3vw;
    background: #000;
    color: #fff;
    font-size: 2.93vw;
    font-weight: bold;
    text-decoration: none;
  }
  .footer_download a::after {
    display: block;
    position: absolute;
    content: "";
    width: 4.8vw;
    height: 4.8vw;
    background: url(../img/common/icon_download.png) no-repeat center;
    background-size: 100% 100%;
    right: 3.2vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .footer_entry {
    padding: 14.9vw 0 24vw;
    background: url(../img/common/footer_entry_pc.png) no-repeat center;
    background-size: 100% 100%;
  }
  .footer_entry h2 {
    font-size: 10.6vw;
    text-align: center;
    line-height: 1;
    margin: 0 auto 5.3vw;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 600;
  }
  .footer_entry .lead {
    font-size: 4.0vw;
    text-align: center;
    line-height: 1.86;
    margin: 0 auto 13.3vw;
    color: #fff;
    font-weight: bold;
  }
  .footer_entry ul {
    display: flex;
    flex-direction: column;
    width: 82.9vw;
    margin: 0 auto;
  }
  .footer_entry ul li {
    width: 100%;
    margin: 0 auto 13.8vw;
  }
  .footer_entry ul li:last-child {
    margin: 0 auto 0vw;
  }
  .footer_entry ul li a p {
    font-size: 3.73vw;
    font-weight: bold;
    color: #fff;
    margin: 0 0 0;
    line-height: 1.46;
    text-decoration: none;
  }
  .footer_entry ul li a p img {
    width: 4.8vw;
    margin-left: 2.13vw;
    vertical-align: text-top;
  }

  #pagetop {
    position: fixed;
    bottom: 5vw;
    right: 5vw;
    width: 10vw;
    z-index: 10;
    opacity: 0;
    transition: transform 0.5s ease;
  }
  #pagetop.UpMove {
    opacity: 1;
  }

  footer {
    background: #000;
    color: #fff;
    padding: 13.3vw 0 9.3vw;
  }
  footer .f_logo {
    width: 62.9vw;
    margin: 0 0 12vw;
  }
  footer .footer_inner {
    margin: 0 8.0vw 17.3vw;
    padding: 0 0;
    display: flex;
    flex-direction: column;
  }
  footer .footer_inner .cell {
    border-left: 1px solid #fff;
    padding: 0 0 8.0vw 6.6vw;
    margin: 0 0 8.5vw;
  }
  footer .footer_inner .cell:last-of-type {
    margin: 0 0 0vw;
  }
  footer .footer_inner .cell p {
    font-size: 3.2vw;
    font-weight: 500;
    color: #46AFFF;
    line-height: 1.4;
    margin: -1.5vw 0 10.6vw;
  }
  footer .footer_inner .cell p a {
    color: #46AFFF;
  }
  footer .footer_inner .cell p span {
    font-size: 9.6vw;
    font-weight: 600;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
  }
  footer .footer_inner .cell p a span {
    color: #fff;
  }
  footer .footer_inner .cell ul {
  }
  footer .footer_inner .cell ul li {
    margin: 0 0 5.3vw;
  }
  footer .footer_inner .cell ul li:last-child {
    margin: 0 0 0vw;
  }
  footer .footer_inner .cell ul li a {
    position: relative;
    font-size: 4.26vw;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    padding: 0 0 0 3.6vw;
    display: block;
  }
  footer .footer_inner .cell ul li a::after {
    display: block;
    position: absolute;
    content: "-";
    top: 0.2vw;
    left: 0;
  }
  footer .footer_inner .cell ul.f_recruit_link li a {
    padding: 0 0 0 0;
    line-height: 1.5;
  }
  footer .footer_inner .cell ul li a::after {
    display: none;
  }
  footer .footer_inner .cell ul li a img {
    width: 4.0vw;
    margin-left: 1.0vw;
  }

  footer .footer_inner .cell a.f_menu_bnr {
    display: block;
    font-size: 3.2vw;
    line-height: 1.5;
    margin: 0 0 5.3vw;
    color: #fff;
  }
  footer .footer_inner .cell a.f_menu_bnr img {
    display: block;
    /*
    width: 41.6vw;
    */
    width: 52.5vw;
    margin: 0 0 2.13vw;
  }
  footer .footer_company {
    /*
    display: none;
    */
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto 12vw;
  }
  footer .footer_company a {
    display: block;
    margin: 0 0 6.6vw;
  }
  footer .footer_company a:last-of-type {
    margin: 0 0 0vw;
  }
  footer .footer_company a:nth-of-type(1) {
    /*
    width: 54.6vw;
    */
    width: 48vw;
  }
  footer .footer_company a:nth-of-type(2) {
    /*
    width: 61.0vw;
    */
    width: 55.7vw;
  }
  footer .footer_company a:nth-of-type(3) {
    /*
    width: 54.6vw;
    */
    width: 51.7vw;
  }
  footer .footer_company a:nth-of-type(4) {
    /*
    width: 67.2vw;
    */
    width: 61.8vw;
  }
  footer .footer_bottom {
    display: flex;
    flex-direction: column;
  }
  footer .footer_bottom .sns_cell {
    display: flex;
    justify-content: center;
    margin-bottom: 19.7vw;
  }
  footer .footer_bottom .sns_cell li {
    width: 10.4vw;
    margin: 0 1.3vw;
  }

  footer .copyright {
    text-align: center;
    font-size: 2.66vw;
    line-height: 1;
    margin: 0 auto;
  }


  /* 下層共通 */
  .under_ttl {
    position: relative;
    color: #fff;
    height: 113.1vw;
    background: url(../img/common/under_ttl_sp.png) no-repeat center;
    background-size: 100% 100%;
    margin: 0 0 19.7vw;
    padding: 20.5vw 0 0 4vw;
    z-index: 5;
  }
  .under_ttl.under_ttl_s {
    position: relative;
    color: #fff;
    height: 77.9vw;
    background: url(../img/common/under_ttl_sp_s.png) no-repeat center;
    background-size: 100% 100%;
    margin: 0 0 14.6vw;
    padding: 20.5vw 0 0 4vw;
    z-index: 5;
  }
  .under_ttl .breadcrumbs {
    display: flex;
    margin: 0 0 10.6vw;
  }
  .under_ttl .breadcrumbs li {
    font-size: 2.93vw;
    line-height: 1;
  }
  .under_ttl .breadcrumbs li a {
    position: relative;
    display: block;
    width: max-content;
    color: #fff;
    margin: 0 3.2vw 0 0;
    padding: 0 4vw 0 0;
    line-height: 1;
  }
  .under_ttl .breadcrumbs li a::after {
    display: block;
    position: absolute;
    content: ">";
    right:0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .under_ttl h1 {
    line-height: 1.2;
    transform: rotate(-2.81deg);
    font-weight: 500;
    font-size: 3.46vw;
    margin: 0 0 10.6vw;
  }
  .under_ttl h1 span {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 15.4vw;
    font-weight: 600;
  }
  .under_ttl p.txt_explanation {
    font-size: 3.73vw;
    font-weight: bold;
    line-height: 2.0;
    margin: 0 0 0 1.2vw;
    transform: rotate(-2.81deg);
    width: 85.8vw;
  }
  .under_ttl p.txt_explanation span {
    display: block;
    margin: 0 0 6.6vw;
    font-size: 5.33vw;
  }

  .footer_menu {
  }
  .footer_menu ul {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
  .footer_menu ul li {
    width: 100%;
    height: 28.8vw;
    position: relative;
    border-top: 1px solid #DFDFDF;
  }
  .footer_menu ul li::after {
    display: block;
    position: absolute;
    content: "";
    width: 2.13vw;
    height: 4.26vw;
    right: 6.9vw;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../img/common/icon_footer_menu.png) no-repeat center;
    background-size: 100% 100%;
  }
  /*
  .footer_menu ul li.active::after {
    background: url(../img/common/icon_footer_menu_wht.png) no-repeat center;
    background-size: 100% 100%;
  }
  */
  .footer_menu ul li a {
    display: flex;
    justify-content: center;
    text-align: left;
    flex-direction: column;
    width: calc(100% - 8.9vw);
    height: 100%;
    padding: 0 0 0 8.19vw;
    font-size: 3.2vw;
    font-weight: 500;
    color: #000;
  }
  .footer_menu ul li a span {
    font-size: 7.46vw;
    font-weight: 600;
    font-family: "Roboto Condensed", sans-serif;
  }
  .footer_menu ul li.active a {
    /*color: #fff;*/
  }
  /*
  .footer_menu ul li.active:nth-child(1) {
    background: url(../img/common/footer_menu07.jpg) no-repeat center;
    background-size: 100% 100%;
  }
  .footer_menu.f_business ul li.active:nth-child(1) {
    background: url(../img/common/footer_menu07.jpg) no-repeat center;
    background-size: 100% 100%;
  }
  */
  .btn_blk {
    width: 40.5vw;
    height: 10.1vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    color: #fff;
    font-size: 3.73vw;
    font-weight: bold;
    margin: 0 auto;
  }

  .menuArea {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: auto;
    max-height: calc(100vh - 29.3vw);
    background: #000;
    z-index: 15;
    padding: 29.3vw 0 0;
    color: #fff;
    overflow-x: scroll;
  }
  .menuArea .menu_inner {
    width: 81vw;
    margin: 0 auto 16vw;
    display: flex;
    flex-direction: column;
  }
  .menuArea .menu_inner .cell {
    border-left: 1px solid #fff;
    padding: 0vw 0 1.7vw 5.3vw;
    margin: 0 0 9.3vw;
    display: flex;
    flex-direction: column;
  }
  .menuArea .menu_inner .cell:last-of-type {
    margin: 0 0 0vw;
  }
  .menuArea .menu_inner .cell p {
    position: relative;
    width: 100%;
    font-size: 3.2vw;
    font-weight: 500;
    color: #46AFFF;
    line-height: 1.4;
    margin: -0.5vw 0 0vw;
  }
  .menuArea .menu_inner .cell p::after {
    display: block;
    position: absolute;
    content: "";
    width: 2.6vw;
    height: 6.4vw;
    background: url(../img/common/icon_sp_menu.png) no-repeat center;
    background-size: 100% 100%;
    right: 3.7vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .menuArea .menu_inner .cell:last-of-type p::after {
    display: none;
  }
  .menuArea .menu_inner .cell p.open::after {
    width: 6.5vw;
    height: 2.7vw;
    background: url(../img/common/icon_sp_menu_open.png) no-repeat center;
    background-size: 100% 100%;
    right: 0.3vw;
  }
  .menuArea .menu_inner .cell p a {
    color: #46AFFF;
  }
  .menuArea .menu_inner .cell p span {
    font-size: 9.6vw;
    font-weight: 600;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
  }
  .menuArea .menu_inner .cell p a span {
    color: #fff;
  }
  .menuArea .menu_inner .cell ul {
    width: 100%;
    margin: 10.6vw 0 0;
  }
  .menuArea .menu_inner .cell ul li {
    font-size: 4.26vw;
    margin: 0vw 0vw 4.0vw 0;
  }
  .menuArea .menu_inner .cell ul.h_recruit_link li {
    line-height: 1.5;
  }
  .menuArea .menu_inner .cell ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
  }
  .menuArea .menu_inner .cell ul li a img {
    width: 4.0vw;
    margin-left: 1.0vw;
  }
  .menuArea .menu_inner .cell .h_bnr {
    width: 100%;
    display: flex;
    flex-direction: column;
    margin: 3.2vw 0 0;
  }
  .menuArea .menu_inner .cell .h_bnr .h_menu_bnr {
    width: 100%;
    display: flex;
    flex-direction: column;
    font-size: 3.2vw;
    color: #fff;
    line-height: 1.5;
    margin: 0 0 4.0vw;
  }
  .menuArea .menu_inner .cell .h_bnr .h_menu_bnr:last-of-type {
    margin: 0 0 0.0vw;
  }
  .menuArea .menu_inner .cell .h_bnr .h_menu_bnr img {
    width: 41.6vw;
    margin-bottom: 1.0vw;
  }
  .menuArea .sns_cell {
    margin: 0 auto 19.2vw;
    display: flex;
    justify-content: center;
  }
  .menuArea .sns_cell li {
    width: 10.4vw;
    margin: 0 1.3vw;
  }


  .pcOnly { display: none !important;}
  .spOnly { display: block !important;}
}
