/* CSS Document */
.no_single {
  width: 100% !important;
  max-width: 100% !important;
  padding: 30px;
  text-align: center;
  font: 2rem/1.5em "Noto Sans JP", sans-serif;
  font-weight: 700; }

/******************/
.anchor {
  display: block;
  position: relative;
  margin: -150px 0 0;
  padding: 150px 0 0;
  z-index: -999;
  pointer-events: none; }

/******************/
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999; }

.header_all {
  width: 100%;
  padding: 0 0 0 50px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center; }

.header_ttl {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: center;
  font: 2.8rem/1em "Inter Tight", sans-serif;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #5A4398;
  transition: 0.3s; }
  .header_ttl span {
    margin: 0 20px 0 0;
    aspect-ratio: 234/40;
    width: 100%;
    max-width: 234px;
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    height: auto;
    background: url("../images/common/logo.svg") center center no-repeat;
    background-size: contain; }

.header_box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 420px);
  max-width: 830px; }

.header_link {
  max-width: 540px;
  width: calc(100% - 260px);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  border-radius: 8px; }
  .header_link li {
    width: calc(100%/3); }
    .header_link li:nth-of-type(1) {
      background-color: #7A64AA; }
    .header_link li:nth-of-type(2) {
      background-color: #5A4398; }
    .header_link li:nth-of-type(3) {
      background-color: #4D4D4D; }
    .header_link li a, .header_link li span {
      transition: 0.3s;
      font: clamp(1.2rem, 1.1vw, 1.6rem)/1.1 "Noto Sans JP", sans-serif;
      font-weight: 700;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      padding: 0 15px;
      width: 100%;
      height: 55px;
      text-align: center;
      color: #fff;
      letter-spacing: 0.02em; }

.header_item {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 240px; }
  .header_item a {
    transition: 0.3s;
    padding: 28px 0 0;
    display: block;
    width: 120px;
    height: 120px;
    background-color: #F2F2F2;
    font: 1.6rem/1em "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-align: center; }
    .header_item a span {
      display: block;
      margin: 0 auto;
      background: url("../images/icon.svg") center top no-repeat;
      padding: 47px 0 0; }
  .header_item .toggle {
    color: #fff;
    display: block;
    width: 120px;
    height: 120px;
    background-color: #808080;
    position: relative;
    transition: 0.3s; }
    .header_item .toggle span {
      display: block;
      width: 38px;
      height: 3px;
      background-color: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      transition: 0.3s;
      transform: translateX(-50%); }
      .header_item .toggle span:nth-of-type(1) {
        top: 27%; }
      .header_item .toggle span:nth-of-type(2) {
        top: 37%; }
      .header_item .toggle span:nth-of-type(3) {
        top: 47%; }
    .header_item .toggle .txt {
      display: block;
      background-color: inherit !important;
      transition: 0.3s;
      top: 63%;
      position: absolute;
      left: 0;
      transform: translateX(0%);
      width: 100%;
      transition: 0.3s;
      font: 1.6rem/1em "Noto Sans JP", sans-serif;
      height: 1.6rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-align: center;
      overflow: hidden; }
      .header_item .toggle .txt:before, .header_item .toggle .txt:after {
        transition: .3s;
        color: #fff;
        position: absolute;
        width: 100%;
        height: 100%;
        text-align: center;
        left: 0;
        top: 0; }
      .header_item .toggle .txt:before {
        content: "MENU"; }
      .header_item .toggle .txt:after {
        content: "CLOSE";
        opacity: 0; }
    .header_item .toggle.active {
      background-color: #FFE100; }
      .header_item .toggle.active span {
        background-color: #5A4398; }
        .header_item .toggle.active span:nth-of-type(1) {
          top: 37%;
          transform: translateX(-50%) rotate(45deg); }
        .header_item .toggle.active span:nth-of-type(2) {
          top: 37%;
          transform: translateX(-50%) rotate(135deg);
          opacity: 0; }
        .header_item .toggle.active span:nth-of-type(3) {
          top: 37%;
          transform: translateX(-50%) rotate(-45deg); }
      .header_item .toggle.active .txt:before, .header_item .toggle.active .txt:after {
        color: #5A4398; }
      .header_item .toggle.active .txt:before {
        opacity: 0; }
      .header_item .toggle.active .txt:after {
        opacity: 1; }

@media (hover: hover) {
  .header_ttl:hover {
    color: #FFE100; }

  .header_link li:hover a, .header_link li:hover span {
    cursor: pointer;
    color: #5A4398;
    background-color: #FFE100; }

  .header_item a:hover {
    background-color: #FFE100; }
  .header_item .toggle:hover {
    cursor: pointer;
    background-color: #FFE100;
    color: #5A4398; }
    .header_item .toggle:hover span {
      background-color: #5A4398; }
      .header_item .toggle:hover span:nth-of-type(2) {
        transform: translateX(-50%) rotate(15deg); }
    .header_item .toggle:hover .txt:before, .header_item .toggle:hover .txt:after {
      color: #5A4398; } }
@media (max-width: 1280px) {
  .header_all {
    width: 100%;
    padding: 0 0 0 40px; }

  .header_ttl {
    font: 2rem/1em "Inter Tight", sans-serif;
    font-weight: 700;
    margin: 0; }
    .header_ttl span {
      max-width: 175px; }

  .header_box {
    width: calc(100% - 320px);
    max-width: 610px !important; }

  .header_link {
    max-width: 405px;
    width: calc(100% - 190px); }
    .header_link li a, .header_link li span {
      padding: 0;
      transition: 0.3s;
      /*font: 1.25rem/1.1em $go;
      font-weight: 700;*/
      height: 40px; }

  .header_item {
    width: 180px; }
    .header_item a {
      transition: 0.3s;
      padding: 20px 0 0;
      width: 90px;
      height: 90px;
      font: 1.2rem/1em "Noto Sans JP", sans-serif;
      font-weight: 700; }
      .header_item a span {
        background-size: 36px;
        padding: 35px 0 0; }
    .header_item .toggle {
      width: 90px;
      height: 90px; }
      .header_item .toggle span {
        width: 35px;
        height: 3px; }
        .header_item .toggle span:nth-of-type(1) {
          top: 25%; }
        .header_item .toggle span:nth-of-type(2) {
          top: 35%; }
        .header_item .toggle span:nth-of-type(3) {
          top: 45%; }
      .header_item .toggle .txt {
        top: 62%;
        font: 1.3rem/1em "Noto Sans JP", sans-serif;
        font-weight: 700;
        height: 1.3rem; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  header {
    background-color: #fff; }

  .header_box {
    width: calc(100% - 320px);
    max-width: 180px !important; }

  .header_link {
    display: none; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .header_all {
    width: 100%;
    padding: 0 0 0 20px; }

  .header_ttl {
    font: 2rem/1em "Inter Tight", sans-serif;
    font-weight: 700;
    margin: 0; }
    .header_ttl span {
      margin: 0 15px 0 0; }

  .header_box {
    width: calc(100% - 320px);
    max-width: 130px !important; }

  .header_item {
    width: 130px; }
    .header_item a {
      padding: 15px 0 0;
      width: 65px;
      height: 65px;
      font: 1.1rem/1em "Noto Sans JP", sans-serif;
      font-weight: 700; }
      .header_item a span {
        background-size: 25px;
        padding: 27px 0 0; }
    .header_item .toggle {
      width: 65px;
      height: 65px; }
      .header_item .toggle span {
        width: 25px;
        height: 2px; }
        .header_item .toggle span:nth-of-type(1) {
          top: 24%; }
        .header_item .toggle span:nth-of-type(2) {
          top: 35%; }
        .header_item .toggle span:nth-of-type(3) {
          top: 46%; }
      .header_item .toggle .txt {
        top: 61%; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .header_all {
    width: 100%;
    padding: 0 0 0 10px; }

  .header_ttl {
    font: 1.9rem/1em "Inter Tight", sans-serif;
    font-weight: 700;
    margin: 0;
    display: block;
    position: relative;
    width: 175px;
    padding: 35px 10px 0 0;
    text-align: right; }
    .header_ttl span {
      margin: 0;
      position: absolute;
      left: 0;
      top: 0;
      max-width: 175px;
      width: 100%; }

  .header_box {
    width: calc(100% - 225px);
    max-width: 130px; } }
/*max-width:480px*/
/******************/
header.open .header_all {
  position: relative;
  z-index: 9999; }
  header.open .header_all .header_ttl,
  header.open .header_all .header_link,
  header.open .header_all .header_item > a {
    opacity: 0;
    position: relative;
    pointer-events: none; }

nav {
  position: fixed;
  inset: 0;
  z-index: -8889;
  background: #fff;
  opacity: 0;
  transition: .3s;
  pointer-events: none; }
  nav.open {
    opacity: 1;
    z-index: 8889;
    pointer-events: all; }

.gnav-scroll {
  height: 100vh;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.gnav-scroll::-webkit-scrollbar {
  display: none; }

.gnav {
  max-width: 1160px;
  width: calc(100% - 280px);
  margin: 0 auto;
  padding: 180px 0 300px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between; }
  .gnav .menu {
    width: calc((100% - 40px)/2);
    max-width: 480px;
    margin-bottom: 80px;
    letter-spacing: 0.04em; }
    .gnav .menu a {
      transition: .3s;
      display: block;
      font: 1.7rem/1.3em "Noto Sans JP", sans-serif;
      font-weight: 500;
      padding: 18px 50px 19px 25px;
      position: relative;
      border-bottom: #D5D4D4 1px solid;
      background: url("../images/common/arrow.svg") center right 20px no-repeat; }
    .gnav .menu p {
      padding: 0 0 0 25px;
      position: relative;
      font: 2.4rem/1.3em "Noto Sans JP", sans-serif;
      font-weight: 700;
      margin: 0 0 28px; }
      .gnav .menu p:before {
        position: absolute;
        content: "";
        display: block;
        width: 2px;
        height: 36px;
        background-color: #5A4398;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
  .gnav > p {
    letter-spacing: 0.04em;
    text-align: center;
    width: 100%;
    font: 1.8rem/1em "Noto Sans JP", sans-serif;
    font-weight: 400; }
    .gnav > p a {
      position: relative; }
  .gnav .bnr {
    width: 100%;
    max-width: 820px;
    margin: 0 auto 33px; }
    .gnav .bnr ul {
      display: flex; }
    .gnav .bnr li {
      width: calc((100% - 40px)/3); }
      .gnav .bnr li:nth-of-type(1) a {
        background-color: #7A64AA;
        border-radius: 10px 0 0 10px; }
      .gnav .bnr li:nth-of-type(2) {
        margin-right: 40px; }
        .gnav .bnr li:nth-of-type(2) a {
          background-color: #5A4398;
          border-radius: 0 10px 10px 0; }
      .gnav .bnr li:nth-of-type(3) a {
        align-items: flex-start;
        background: url("../images/common/mark.svg") left 20px center no-repeat #F2F2F2;
        border-radius: 10px;
        color: #000;
        padding: 0 10px 0 90px; }
    .gnav .bnr a {
      font: 1.8rem/1.3em "Noto Sans JP", sans-serif;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-align: center;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      width: 100%;
      color: #fff;
      height: 70px;
      padding: 0 10px; }

@media (hover: hover) {
  .gnav .menu a:hover {
    background-color: #E2DCF0;
    background-position: center right 15px; }
  .gnav > p a:hover {
    top: -5px;
    color: #5A4398; }
  .gnav .bnr li:nth-of-type(1) a:hover {
    color: #5A4398;
    background-color: #FFE100; }
  .gnav .bnr li:nth-of-type(2) a:hover {
    color: #5A4398;
    background-color: #FFE100; }
  .gnav .bnr li:nth-of-type(3) a:hover {
    background: url("../images/common/mark.svg") left 20px center no-repeat #FFE100; } }
@media (max-width: 1280px) {
  .gnav {
    max-width: 1160px;
    width: calc(100% - 220px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  header.open .header_all {
    background-color: #fff;
    position: relative;
    z-index: 9999; }
    header.open .header_all .header_ttl,
    header.open .header_all .header_link,
    header.open .header_all .header_item > a {
      opacity: 1;
      position: relative;
      pointer-events: all; }

  .gnav {
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 130px 0 300px; }
    .gnav .menu {
      margin: 0 auto 80px;
      width: 100%;
      max-width: 480px; }
    .gnav .bnr {
      width: 100%;
      max-width: 480px;
      margin: 0 auto 33px; }
      .gnav .bnr ul {
        display: flex;
        flex-wrap: wrap;
        max-width: 768px; }
      .gnav .bnr li {
        width: calc(100%/2); }
        .gnav .bnr li:nth-of-type(2) {
          margin-right: 0; }
        .gnav .bnr li:nth-of-type(3) {
          width: 100%;
          max-width: 240px;
          margin: 25px auto 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .gnav .bnr {
    display: none; }
  .gnav > p {
    font: 1.6rem/1.3em "Noto Sans JP", sans-serif;
    font-weight: 400; }
  .gnav .menu:nth-of-type(2) {
    margin-bottom: 35px; }
  .gnav .menu a {
    transition: .3s;
    display: block;
    font: 1.6rem/1.3em "Noto Sans JP", sans-serif;
    font-weight: 500;
    position: relative;
    border-bottom: #D5D4D4 1px solid;
    background: url("../images/common/arrow.svg") center right 20px no-repeat; }
  .gnav .menu p {
    padding: 0 0 0 25px;
    font: 2.4rem/1em "Noto Sans JP", sans-serif;
    font-weight: 700;
    margin: 0 0 25px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .gnav {
    padding: 100px 0 300px;
    width: calc(100% - 40px);
    max-width: 350px; }
    .gnav .menu a {
      font: 1.5rem/1.3em "Noto Sans JP", sans-serif;
      font-weight: 500; }
    .gnav .menu p {
      font: 2.2rem/1.3em "Noto Sans JP", sans-serif;
      font-weight: 700; }
      .gnav .menu p:before {
        height: 30px; }
    .gnav > p {
      font: 1.5rem/1.3em "Noto Sans JP", sans-serif;
      font-weight: 400; } }
/*max-width:480px*/
/******************/
.foreign-link.active {
  color: #FFE100; }

.foreign-link_nav {
  position: fixed;
  left: 0;
  top: 120px;
  width: 100%;
  padding: 50px 100px 100px;
  background-color: rgba(77, 77, 77, 0.95);
  pointer-events: none;
  opacity: 0;
  z-index: -9999;
  transition: .3s; }
  .foreign-link_nav.open {
    pointer-events: all;
    opacity: 1;
    z-index: 6666; }

.foreign-link_nav_box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  max-width: 960px;
  margin: 0 auto; }
  .foreign-link_nav_box > div {
    width: 50%; }
  .foreign-link_nav_box a {
    color: #fff;
    transition: .3s;
    display: block;
    font: 1.7rem/59px "Noto Sans JP", sans-serif;
    height: 60px;
    font-weight: 500;
    padding: 0 50px 0 25px;
    position: relative;
    border-bottom: #D5D4D4 1px solid;
    background: url("../images/common/arrow_y.svg") center right 20px no-repeat; }
  .foreign-link_nav_box p {
    color: #fff;
    width: fit-content;
    padding: 0 0 0 25px;
    position: relative;
    font: 2.4rem/1em "Noto Sans JP", sans-serif;
    font-weight: 700;
    margin: 0 auto; }
    .foreign-link_nav_box p:before {
      position: absolute;
      content: "";
      display: block;
      width: 2px;
      height: 36px;
      background-color: #FFE100;
      left: 0;
      top: 50%;
      transform: translateY(-50%); }

@media (hover: hover) {
  .foreign-link_nav_box a:hover {
    background-color: rgba(0, 0, 0, 0.5);
    background-position: center right 15px; } }
@media (max-width: 1280px) {
  .foreign-link_nav {
    top: 90px;
    padding: 50px 60px 100px; }

  .foreign-link_nav_box p {
    margin: 0 0 0 50px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .foreign-link_nav {
    display: none; } }
/*max-width:1280px*/
/******************/
.view {
  width: fit-content;
  color: #FFE100;
  font: 1.8rem/46px "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  position: relative;
  display: block;
  transform: scale(1);
  padding: 0 65px 0 0; }
  .view:before {
    position: absolute;
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    border: 1px solid #FFE100;
    border-radius: 50%;
    top: 0;
    right: 0; }
  .view:after {
    position: absolute;
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background-color: #FFE100;
    border-radius: 50%;
    top: 20px;
    right: 20px; }

@keyframes dotFlash {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 225, 0, 0.35), 0 0 0 0 rgba(255, 225, 0, 0.18); }
  45% {
    transform: scale(1.5);
    box-shadow: 0 0 0 8px rgba(255, 225, 0, 0.18), 0 0 0 16px rgba(255, 225, 0, 0.08); }
  100% {
    transform: scale(1.1);
    box-shadow: 0 0 0 16px rgba(255, 225, 0, 0), 0 0 0 28px rgba(255, 225, 0, 0); } }
@keyframes dotFlash02 {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(90, 67, 152, 0.35), 0 0 0 0 rgba(90, 67, 152, 0.18); }
  45% {
    transform: scale(1.5);
    box-shadow: 0 0 0 8px rgba(90, 67, 152, 0.18), 0 0 0 16px rgba(90, 67, 152, 0.08); }
  100% {
    transform: scale(1.1);
    box-shadow: 0 0 0 16px rgba(90, 67, 152, 0), 0 0 0 28px rgba(90, 67, 152, 0); } }
/******************/
.link_menu {
  padding: 140px 0 200px; }

.link_menu_all {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1670px;
  width: calc(100% - 80px);
  margin: 0 auto; }
  .link_menu_all a {
    border-radius: 10px;
    width: calc((100% - 50px)/3);
    max-width: 540px;
    min-height: 250px;
    color: #fff;
    background-color: #5A4398;
    padding: 10px 20px 10px 13%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start; }
    .link_menu_all a .view {
      color: #FFE100; }
      .link_menu_all a .view:before {
        border: 1px solid #FFE100; }
      .link_menu_all a .view:after {
        background-color: #FFE100; }
    .link_menu_all a p {
      transition: .3s;
      font: 3rem/1.5em "Noto Sans JP", sans-serif;
      font-weight: 700;
      letter-spacing: 0.08em;
      margin: 0 0 20px; }
      .link_menu_all a p span {
        font-family: "Inter Tight", sans-serif;
        display: block; }
  .link_menu_all .new {
    background: #7A64AA url("../images/common/recruit_new.svg") center left 3.8vw no-repeat; }
  .link_menu_all .career {
    background: #5A4398 url("../images/common/recruit_career.svg") center left 3.8vw no-repeat; }
  .link_menu_all .global {
    background: #4D4D4D url("../images/common/recruit_global.svg") center left 3.8vw no-repeat; }
    .link_menu_all .global span {
      font-family: "Noto Sans JP", sans-serif;
      display: block; }

@media (hover: hover) {
  .link_menu_all a:hover .view:after {
    animation: dotFlash 0.6s ease-out forwards; }
  .link_menu_all a:hover p {
    color: #FFE100; } }
@media (max-width: 1280px) {
  .link_menu_all {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: calc(100% - 80px); }
    .link_menu_all a {
      width: calc((100% - 60px)/2);
      padding: 10px 20px 10px 200px;
      margin: 0 15px 30px;
      min-height: 220px; }
    .link_menu_all .new {
      background: #7A64AA url("../images/common/recruit_new.svg") center left 70px no-repeat; }
    .link_menu_all .career {
      background: #5A4398 url("../images/common/recruit_career.svg") center left 70px no-repeat; }
    .link_menu_all .global {
      background: #4D4D4D url("../images/common/recruit_global.svg") center left 70px no-repeat; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .link_menu_all {
    display: block;
    width: calc(100% - 80px); }
    .link_menu_all a {
      min-height: 220px;
      width: 100%;
      padding: 10px 20px 10px 210px;
      margin: 0 auto 30px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .link_menu {
    background-color: #fff;
    padding: 100px 0 120px; }

  .link_menu_all {
    width: calc(100% - 60px);
    margin: 0 auto; }
    .link_menu_all a {
      width: 100%;
      min-height: 210px;
      margin: 0 auto 20px;
      padding: 10px 20px 10px 180px; }
      .link_menu_all a p {
        transition: .3s;
        font: 2.8rem/1.5em "Noto Sans JP", sans-serif;
        font-weight: 700; }
    .link_menu_all .new {
      background: #7A64AA url("../images/common/recruit_new.svg") center left 60px no-repeat; }
    .link_menu_all .career {
      background: #5A4398 url("../images/common/recruit_career.svg") center left 60px no-repeat; }
    .link_menu_all .global {
      background: #4D4D4D url("../images/common/recruit_global.svg") center left 60px no-repeat; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .link_menu {
    background-color: #fff;
    padding: 80px 0 95px; }

  .link_menu_all {
    display: block;
    max-width: 480px;
    width: calc(100% - 30px);
    margin: 0 auto; }
    .link_menu_all a {
      width: 100%;
      max-width: 340px;
      min-height: 170px;
      margin: 0 auto 20px;
      padding: 20px 20px 10px 145px; }
      .link_menu_all a .view {
        color: #FFE100; }
        .link_menu_all a .view:before {
          border: 1px solid #FFE100; }
        .link_menu_all a .view:after {
          background-color: #FFE100; }
      .link_menu_all a p {
        transition: .3s;
        font: 2rem/1.5em "Noto Sans JP", sans-serif;
        font-weight: 700;
        margin: 0 0 10px; }
    .link_menu_all .new {
      background: #7A64AA url("../images/common/recruit_new.svg") center left 35px no-repeat; }
    .link_menu_all .career {
      background: #5A4398 url("../images/common/recruit_career.svg") center left 35px no-repeat; }
    .link_menu_all .global {
      background: #4D4D4D url("../images/common/recruit_global.svg") center left 35px no-repeat; } }
/*max-width:480px*/
/************************************/
footer {
  background: linear-gradient(to right, #8274A7, #4D3882); }

.footer_all,
.footer_global {
  max-width: 1530px;
  padding: 110px 0 75px;
  width: calc(100% - 100px);
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }

.footer_left {
  width: 50%; }

.footer_mv {
  background: url("../images/common/footer_logo.svg") center center no-repeat;
  background-size: contain;
  aspect-ratio: 660/797;
  width: 100%;
  max-width: 660px;
  margin: 0 auto;
  height: auto;
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }

.address_box .address_ttl {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  font: 2.8rem/1em "Inter Tight", sans-serif;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #fff;
  margin: 0 0 30px; }
  .address_box .address_ttl span {
    margin: 0 20px 0 0;
    aspect-ratio: 234/40;
    width: 100%;
    max-width: 234px;
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    height: auto;
    background: url("../images/common/logo01.svg") center center no-repeat;
    background-size: contain; }
.address_box dl {
  color: #fff;
  margin: 0 0 26px; }
.address_box dd {
  font: 1.6rem/1.8em "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.04em; }
.address_box dt {
  font: 2rem/1em "Noto Sans JP", sans-serif;
  font-weight: 700;
  margin: 0 0 15px; }
.address_box a {
  color: #fff;
  text-decoration: none;
  font: 1.6rem/1em "Noto Sans JP", sans-serif;
  font-weight: 500; }
.address_box .btn {
  text-align: left;
  margin: 30px 0 0;
  display: block;
  background-color: #fff;
  color: #5A4398;
  width: 220px;
  height: 60px;
  border-radius: 50px;
  position: relative;
  font: 700 1.6rem/60px "Noto Sans JP", sans-serif;
  padding: 0 0 0 35px; }
  .address_box .btn:after {
    position: absolute;
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background-color: #5A4398;
    top: 27px;
    right: 25px;
    transition: .3s;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    border-radius: 0; }

.footer_right {
  width: 50%;
  padding: 0 80px;
  transition: .3s; }
  .footer_right a {
    color: #fff;
    text-decoration: none;
    font: 1.6rem/1.5em "Noto Sans JP", sans-serif;
    font-weight: 500; }
  .footer_right ul, .footer_right div {
    transition: .3s;
    max-width: 411px;
    width: 100%;
    margin: 0 auto 105px; }
  .footer_right li {
    margin: 25px 0 0; }
    .footer_right li a {
      font: 1.7rem/1.5em "Noto Sans JP", sans-serif;
      font-weight: 700;
      margin: 0; }

@media (hover: hover) {
  .footer_left a:hover {
    color: #FFE100; }
  .footer_left .btn:hover {
    color: #5A4398;
    background-color: #FFE100; }
    .footer_left .btn:hover:after {
      right: 20px; }

  .footer_right a:hover {
    color: #FFE100; } }
@media (max-width: 1280px) {
  .footer_all .footer_right {
    width: 60%;
    padding-right: 0; }
  .footer_all .footer_left {
    width: 40%; }

  .footer_global .footer_right ul, .footer_global .footer_right div {
    max-width: 300px;
    margin: 0 0 0 auto; } }
@media (max-width: 1024px) {
  .footer_all,
  .footer_global {
    max-width: 768px;
    width: calc(100% - 80px); }
    .footer_all .footer_right,
    .footer_global .footer_right {
      padding: 0; }
      .footer_all .footer_right .footer_menu,
      .footer_all .footer_right .address_box,
      .footer_global .footer_right .footer_menu,
      .footer_global .footer_right .address_box {
        width: fit-content;
        margin: 0; }
      .footer_all .footer_right .address_box,
      .footer_global .footer_right .address_box {
        order: 1; }
      .footer_all .footer_right .address_box,
      .footer_global .footer_right .address_box {
        order: 2; }
        .footer_all .footer_right .address_box li:first-of-type,
        .footer_global .footer_right .address_box li:first-of-type {
          margin: 0; }

  .footer_all .footer_right {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0; }
  .footer_all .footer_left {
    width: 100%;
    max-width: 480px;
    margin: 0 auto 50px; }

  .footer_global {
    align-items: center; }
    .footer_global .footer_left {
      width: fit-content; }
    .footer_global .footer_right {
      width: fit-content; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  footer {
    background: linear-gradient(#8274A7, #4D3882); }

  .footer_all,
  .footer_global {
    padding: 90px 0 105px;
    width: calc(100% - 60px); }
    .footer_all .footer_left,
    .footer_all .footer_right,
    .footer_global .footer_left,
    .footer_global .footer_right {
      width: 100%;
      display: block; }
    .footer_all .footer_right ul, .footer_all .footer_right .address_box,
    .footer_global .footer_right ul,
    .footer_global .footer_right .address_box {
      width: fit-content;
      margin: 0 auto; }

  .address_box {
    text-align: center; }
    .address_box .address_ttl {
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      .address_box .address_ttl span {
        margin: 0 auto 18px; }
    .address_box .btn {
      margin: 30px auto 0; }

  .footer_right .footer_menu {
    display: none; }

  .footer_all .footer_left {
    width: 100%;
    max-width: 320px;
    margin: 0 auto 50px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_all,
  .footer_global {
    padding: 70px 0 90px;
    width: calc(100% - 30px); }

  .address_box dd {
    font: 1.5rem/1.8em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.04em; }
  .address_box a {
    font: 1.5rem/1em "Noto Sans JP", sans-serif;
    font-weight: 500; } }
/*max-width:480px*/
/************************************/
.scroll-infinity {
  margin-bottom: 100px; }

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden; }

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0; }
  .scroll-infinity__list li {
    margin: 0 50px 0 0;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto; }

.scroll-infinity__list--left {
  animation: infinity-scroll-left 120s infinite linear 0.5s both;
  margin: 0 0 15px; }

.scroll-infinity__list--left li {
  background-image: url("../images/index/scroll_top.png");
  width: 3526px;
  aspect-ratio: 3526 / 180; }

.scroll-infinity__list--right {
  animation: infinity-scroll-right 130s infinite linear 0.5s both; }

.scroll-infinity__list--right li {
  background-image: url("../images/index/scroll_btm.png");
  width: 2977px;
  aspect-ratio: 2977 / 180; }

@media (max-width: 1280px) {
  .scroll-infinity {
    margin-bottom: 80px; }

  .scroll-infinity__list li {
    margin: 0 35px 0 0; }

  .scroll-infinity__list--left li {
    width: 3026px; }

  .scroll-infinity__list--right li {
    width: 2577px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .scroll-infinity__list--left li {
    width: 2526px; }

  .scroll-infinity__list--right li {
    width: 2077px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .scroll-infinity__list--left li {
    width: auto;
    height: 80px; }

  .scroll-infinity__list--right li {
    width: auto;
    height: 80px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .scroll-infinity {
    margin-bottom: 0; }

  .scroll-infinity__list--left li {
    width: auto;
    height: 60px; }

  .scroll-infinity__list--right li {
    width: auto;
    height: 60px; } }
/*max-width:480px*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0%); } }
.scroll-infinity__list--right {
  animation: infinity-scroll-right 80s infinite linear 0.5s both; }

/************************************/
.btm_fixed {
  position: fixed;
  bottom: -70px;
  right: 0;
  z-index: 777;
  width: 100%; }
  .btm_fixed .btm_fixed_menu {
    display: none; }
  .btm_fixed .page_top {
    margin: 0 0 0 auto;
    display: block;
    width: 70px;
    height: 70px;
    background-color: #D5D4D4;
    position: relative; }
    .btm_fixed .page_top:before {
      position: absolute;
      content: "";
      transition: .3s;
      left: 55%;
      top: 45%;
      width: 15px;
      height: 15px;
      border-top: 4px solid #5A4398;
      border-right: 4px solid #5A4398;
      transform: rotate(-45deg) translate(-50%, -50%); }
  .btm_fixed.active {
    bottom: 0; }

@media (hover: hover) {
  .btm_fixed .page_top:hover {
    cursor: pointer; }
    .btm_fixed .page_top:hover:before {
      top: 40%; }
  .btm_fixed .btm_fixed_menu a:hover {
    background-color: #FFE100 !important;
    color: #5A4398; } }
/*min-width:1920px*/
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .btm_fixed {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch; }
    .btm_fixed .btm_fixed_menu {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: stretch;
      width: calc(100% - 60px); }
      .btm_fixed .btm_fixed_menu a {
        font: clamp(1.3rem, 2.8vw, 1.6rem)/1.3em "Noto Sans JP", sans-serif;
        font-weight: 700;
        letter-spacing: 0.02em;
        padding: 0 10px;
        color: #fff;
        width: calc(100%/3);
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center; }
        .btm_fixed .btm_fixed_menu a:nth-of-type(1) {
          background-color: #7A64AA; }
        .btm_fixed .btm_fixed_menu a:nth-of-type(2) {
          background-color: #5A4398; }
        .btm_fixed .btm_fixed_menu a:nth-of-type(3) {
          background-color: #4D4D4D; }
        .btm_fixed .btm_fixed_menu a br {
          display: none !important; }
    .btm_fixed .page_top {
      width: 60px;
      height: 60px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .btm_fixed .btm_fixed_menu {
    width: calc(100% - 50px); }
    .btm_fixed .btm_fixed_menu a {
      font: clamp(1.3rem, 2.8vw, 1.6rem)/1.3em "Noto Sans JP", sans-serif;
      font-weight: 700;
      letter-spacing: 0.02em;
      padding: 0 10px;
      text-align: center; }
      .btm_fixed .btm_fixed_menu a:nth-of-type(1) {
        background-color: #7A64AA; }
      .btm_fixed .btm_fixed_menu a:nth-of-type(2) {
        background-color: #5A4398; }
      .btm_fixed .btm_fixed_menu a:nth-of-type(3) {
        background-color: #4D4D4D; }
      .btm_fixed .btm_fixed_menu a br {
        display: block; }
  .btm_fixed .page_top {
    width: 50px;
    height: 50px; } }
/*max-width:480px*/
/**********************************/
.pankuzu {
  max-width: 1920px;
  width: calc(100% - 80px);
  margin: 0 auto;
  padding: 120px 0 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start; }
  .pankuzu li {
    font: 1.1rem/1em "Noto Sans JP", sans-serif;
    font-weight: 400;
    padding: 0 10px 0 0;
    margin: 0 10px 20px 0;
    position: relative; }
    .pankuzu li:before {
      position: absolute;
      content: "/";
      right: -1px; }
    .pankuzu li:last-of-type:before {
      display: none; }

@media (hover: hover) {
  .pankuzu li a:hover {
    color: #5A4398; } }
@media (max-width: 1280px) {
  .pankuzu {
    padding: 90px 0 0; } }
/*max-width:480px*/
@media (max-width: 768px) {
  .pankuzu {
    display: none; } }
/*max-width:768px*/
/*max-width:480px*/
html.translated-ltr .header_all {
  padding-left: 15px; }
html.translated-ltr .header_ttl {
  transform: scale(0.9);
  transform-origin: left center; }
html.translated-ltr .header_box {
  max-width: 770px; }
html.translated-ltr .mv_box h1 span font {
  display: block; }
html.translated-ltr .mv_box h1 font {
  display: none; }
html.translated-ltr .btm_fixed_menu {
  display: none; }

/*min-width:1920px*/
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  html.translated-ltr .header_all {
    padding-left: 5px; }
  html.translated-ltr .header_ttl {
    transform: scale(1);
    font-size: 1.8rem;
    letter-spacing: 0.01em; } }
/*max-width:768px*/
/*max-width:480px*/
