@charset "UTF-8";
/* -------------------------------------------------- */
/* file   : base.css                                  */
/* update : 2023                                      */
/* -------------------------------------------------- */
/* -------------------------------------------------- */
/* 全デバイス共通(PC向け) */
/* --------------------------------------------------- */
/* body */
/* -------------------------------------------------- */
body {
  color: #222222;
  -webkit-text-size-adjust: 100%;
}

/* font */
/* -------------------------------------------------- */
/* link */
/* -------------------------------------------------- */
a:link {
  color: #1b1b1b;
  text-decoration: none;
  word-break: break-all;
}
a:visited {
  color: #1b1b1b;
  text-decoration: none;
}
a:hover {
  color: #1b1b1b;
}
a:hover img {
  opacity: 0.7;
  transition: 0.5s;
}

/* topic_path */
/* -------------------------------------------------- */
#breadCrumb {
  margin: 0 0 30px;
}
#breadCrumb ul {
  display: flex;
  justify-content: flex-start;
}
#breadCrumb ul li {
  color: #9a9a9a;
  font-size: 12px;
}
#breadCrumb ul li a {
  text-decoration: underline;
  color: #1b1b1b;
}
#breadCrumb ul li:last-child a {
  text-decoration: none;
}

/* header */
/* -------------------------------------------------- */
header {
  background: #FFF;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 10001;
}
header .header_content {
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 120px;
}
header .header_content .header_inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
}
header .header_content .logo {
  margin-left: 30px;
}
header .header_content .logo img {
  width: auto;
  height: 60px;
}
header .header_content nav {
  width: calc(100% - 150px);
  flex-grow: 1;
  box-sizing: border-box;
  padding-left: 50px;
}
header .header_content nav ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
header .header_content nav ul li {
  line-height: 1.4;
  text-align: center;
  margin-right: 3.6%;
  font-size: clamp(11px, 1vw, 15px);
}
header .header_content nav ul li a {
  display: block;
  padding: 5px 0;
  position: relative;
  word-break: keep-all;
}
header .header_content nav ul li a::before {
  background: #990044;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: center top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
header .header_content nav ul li a:hover::before {
  transform-origin: center top;
  transform: scale(1, 1);
}
header .header_content .header_entry {
  margin-left: auto;
  height: 100%;
  width: 150px;
}
header .header_content .header_entry a {
  background: #990044;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  color: #FFF;
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.1em;
  transition: 0.3s;
}
header .header_content .header_entry a:hover {
  opacity: 0.8;
  transition: 0.3s;
}
header .header_content .btn_mid-career {
  position: absolute;
  top: 0;
  right: 170px;
}
header .header_content .btn_mid-career a {
  display: block;
  color: #990044;
  border: solid 1px #990044;
  line-height: 1;
  padding: 7px 12px;
}
header.fixed {
  background: rgba(255, 255, 255, 0.9);
}

.sp_btn01 {
  display: none;
}

/* h */
/* -------------------------------------------------- */
/* footer*/
/* -------------------------------------------------- */
.entry_btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 200px;
  z-index: 1000;
}
.entry_btn a {
  display: block;
  position: relative;
}
.entry_btn a:hover img {
  opacity: 1;
}

/*footerまでスクロールしたら消す*/
.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.entry_bnr {
  max-width: 1160px;
  box-sizing: border-box;
  padding: 0 30px;
  margin: 0 auto 150px;
}
.entry_bnr a {
  display: block;
  background: #990044 url(/recruit/common/img/arrow_entry_bnr.svg) no-repeat right 60px center;
  border-radius: 10px;
  padding: 60px 0;
  transition: 0.3s;
}
.entry_bnr a .box {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFF;
}
.entry_bnr a .box .main_txt {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 60px;
  letter-spacing: 0.08em;
  line-height: 1;
  margin-right: 30px;
}
.entry_bnr a .box .sub_txt {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}
.entry_bnr a:hover {
  opacity: 0.8;
  transition: 0.3s;
  background: #990044 url(/recruit/common/img/arrow_entry_bnr.svg) no-repeat right 40px center;
}

.footer_link {
  max-width: 1160px;
  margin: 0 auto 25px;
  box-sizing: border-box;
  padding: 0 30px;
  display: flex;
  justify-content: center;
}
.footer_link li {
  margin-right: 2.5em;
  position: relative;
  font-size: clamp(11px, 1vw, 15px);
}
.footer_link li::before {
  content: "/";
  display: block;
  position: absolute;
  right: -1.5em;
  top: 2%;
  font-size: clamp(11px, 1vw, 15px);
}
.footer_link li:last-child {
  margin-right: 0;
}
.footer_link li:last-child::before {
  display: none;
}
.footer_link li a {
  display: block;
  padding-bottom: 5px;
  position: relative;
}
.footer_link li a::before {
  background: #990044;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: center top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.footer_link li a:hover::before {
  transform-origin: center top;
  transform: scale(1, 1);
}

footer {
  background: #444444;
  color: #FFF;
}
footer .footer_content {
  max-width: 1160px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 50px 30px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
footer .footer_content .content_l .company {
  font-weight: 700;
  margin-bottom: 10px;
}
footer .footer_content .content_l .company a {
  text-decoration: underline;
}
footer .footer_content .content_l a {
  color: #FFF;
}
footer .footer_content .content_l a.fax_link {
  pointer-events: none;
}
footer .footer_content .content_r {
  margin-left: auto;
  font-weight: 400;
  font-size: 11px;
  line-height: 1;
}

/* frame */
/* -------------------------------------------------- */
#container {
  word-break: break-all;
  background: #F2F1F6;
  position: relative;
  opacity: 0;
  transition: 1s;
}
#container.active {
  opacity: 1;
}
#container::before {
  content: "";
  display: block;
  position: absolute;
  right: 20px;
  top: 405px;
  width: 9.35px;
  height: 393.85px;
  background: url(/recruit/common/img/side_logo.svg) no-repeat center center;
}

#wrap {
  padding: 120px 30px;
}

article {
  max-width: 1300px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 100px;
  background: #FFF;
  border-radius: 5px;
}

.h1_wrap {
  padding-top: 80px;
  text-align: center;
  margin-bottom: 30px;
}
.h1_wrap h1 {
  font-family: "Barlow", sans-serif;
  font-size: clamp(40px, 5.38vw, 70px);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #990044;
  line-height: 1;
  margin-bottom: 20px;
}
.h1_wrap .h1_sub {
  font-size: 20px;
  font-weight: 700;
}

#topic_path {
  max-width: 1300px;
  margin: 0 auto 15px;
}
#topic_path ul {
  display: flex;
  justify-content: flex-start;
}
#topic_path ul li {
  color: #990044;
  color: #222222;
}
#topic_path ul li a {
  color: #222222;
}
#topic_path ul li:last-child a {
  color: #990044;
}

.section_contents {
  max-width: 1160px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 30px;
}

.read_more {
  width: 180px;
}
.read_more a {
  display: block;
  background: #990044;
  color: #FFF;
  text-align: center;
  border-radius: 5px;
  padding: 15px 0;
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.1em;
  transition: 0.3s;
}
.read_more a:hover {
  transition: 0.3s;
  opacity: 0.8;
}

.pager {
  position: relative;
}
.pager ul {
  display: flex;
  justify-content: center;
}
.pager ul li {
  width: 34px;
  height: 34px;
  box-sizing: border-box;
  margin-right: 10px;
}
.pager ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #F2F1F6;
  text-align: center;
  font-family: "Barlow", sans-serif;
  border-radius: 5px;
  letter-spacing: 0.1em;
  border: solid 2px #F2F1F6;
  transition: 0.3s;
}
.pager ul li a:hover {
  border: solid 2px #990044;
  color: #990044;
  background: transparent;
  transition: 0.3s;
}
.pager ul li:last-child {
  margin-right: 0;
}
.pager ul li.selected a {
  border: solid 2px #990044;
  color: #990044;
  background: transparent;
}
.pager ul li.next a {
  background: transparent;
  border: none;
  box-sizing: border-box;
}
.pager ul li.next a img {
  width: 30px;
  height: 8px;
}
.pager ul li.prev a {
  background: transparent;
  border: none;
  box-sizing: border-box;
}
.pager ul li.prev a img {
  width: 30px;
  height: 8px;
}

/* layout */
/* -------------------------------------------------- */
img {
  width: 100%;
  height: auto;
}

.pc {
  display: block;
}

.pc_i {
  display: inline-block;
}

.sp {
  display: none;
}

.sp_i {
  display: none;
}

.bold {
  font-weight: bold;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
}

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (max-width: 1330px) {
  #container::before {
    display: none;
  }
}
@media screen and (min-width: 1151px) and (max-width: 1330px) {
  header {
    background: #FFF;
  }
  header .header_content nav {
    margin-left: 30px;
    flex-grow: 1;
  }
  header .header_content nav ul li {
    line-height: 1.4;
    text-align: center;
  }
  header .header_content .header_entry {
    margin-left: auto;
    height: 100%;
    width: 150px;
  }
  header .header_content .header_entry a {
    background: #990044;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
    color: #FFF;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 0.1em;
    transition: 0.3s;
  }
  header .header_content .header_entry a:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
}
@media screen and (max-width: 1150px) {
  article {
    padding: 50px;
  }
  #wrap {
    padding: 120px 30px 60px;
  }
  .entry_bnr {
    margin: 0 auto 75px;
  }
  .h1_wrap {
    padding-top: 40px;
  }
  header {
    background: #FFF;
  }
  header .header_content nav {
    display: none;
  }
  header .header_content .header_entry {
    display: none;
  }
  header .header_content .sp_btn01 {
    display: block;
    width: 50px;
    height: 50px;
    margin-right: 15px;
  }
}
/* スクロールイベント*/
/* -------------------------------------------------- */
.text-animation {
  opacity: 0;
}
.text-animation.show {
  opacity: 1;
}
.text-animation.show .text-animation-span {
  display: inline-block;
  overflow: hidden;
}
.text-animation.show span {
  display: inline-block;
  letter-spacing: 0.1em;
  animation: showText 0.5s backwards;
}

@keyframes showText {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade {
  opacity: 0;
}

.fade-02.displayed {
  animation-delay: 0.3s;
}

.displayed {
  animation: fadeUp 2s forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ---------------全デバイス共通(pc)-end--------------------- */
/*----------------------------------------------------------*/
/* tablet用のCSS */
/*----------------------------------------------------------*/
@media screen and (min-width: 560px) {
  /* tablet */
  /* -------------------tablet END------------------------- */
}
/*----------------------------------------------------------*/
/* sp用のCSS */
/*----------------------------------------------------------*/
@media screen and (max-width: 750px) {
  /* sp */
  header .header_content {
    max-width: inherit;
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
  }
  header .header_content .logo {
    margin-left: 15px;
  }
  header .header_content .logo img {
    width: auto;
    height: 50px;
  }
  header .header_content nav {
    display: none;
  }
  header .header_content .btn_mid-career {
    display: none;
  }
  /* footer*/
  /* -------------------------------------------------- */
  .entry_btn {
    position: fixed;
    bottom: 15px;
    right: 15px;
    width: 100px;
  }
  .entry_bnr {
    max-width: inherit;
    padding: 0;
    margin: 0;
  }
  .entry_bnr a {
    display: block;
    background: #990044 url(/recruit/common/img/arrow01_sp.svg) no-repeat right 50px bottom 55px/32px auto;
    border-radius: 0;
    padding: 30px 0;
    transition: inherit;
  }
  .entry_bnr a .box {
    display: block;
    text-align: center;
  }
  .entry_bnr a .box .main_txt {
    font-size: 34px;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .entry_bnr a .box .sub_txt {
    font-size: 14px;
    margin-top: 10px;
  }
  .entry_bnr a:hover {
    opacity: 1;
    transition: inherit;
    background: #990044 url(/recruit/common/img/arrow01_sp.svg) no-repeat right 50px bottom 55px/32px auto;
  }
  .entry_bnr.sp_menu a {
    background-image: none;
    border-radius: 5px;
    border: solid 1px #FFF;
  }
  .entry_bnr.sp_menu a .box .main_txt {
    font-size: 24px;
    margin-bottom: 0;
  }
  .entry_bnr.sp_menu {
    margin-bottom: 100px;
  }
  .footer_link {
    display: none;
  }
  footer .footer_content {
    max-width: inherit;
    margin: 0;
    padding: 30px 15px;
    display: block;
    text-align: center;
  }
  footer .footer_content .content_l {
    margin-bottom: 20px;
  }
  footer .footer_content .content_l .company {
    font-weight: 700;
    margin-bottom: 10px;
  }
  footer .footer_content .content_l a {
    color: #FFF;
  }
  footer .footer_content .content_r {
    margin-left: 0;
    font-weight: 400;
    font-size: 10px;
    line-height: 1;
    text-align: center;
  }
  /* frame */
  /* -------------------------------------------------- */
  #container::before {
    display: none;
  }
  #wrap {
    padding: 80px 20px 60px;
  }
  article {
    max-width: inherit;
    margin: 0;
    padding: 30px 20px;
  }
  .h1_wrap {
    padding-top: 40px;
    text-align: center;
    margin-bottom: 20px;
  }
  .h1_wrap h1 {
    font-size: 34px;
    margin-bottom: 10px;
  }
  .h1_wrap .h1_sub {
    font-size: 16px;
  }
  #topic_path {
    display: none;
  }
  .read_more {
    width: 150px;
  }
  .read_more a {
    display: block;
    background: #990044;
    color: #FFF;
    text-align: center;
    border-radius: 5px;
    padding: 10px 0;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.1em;
    transition: inherit;
  }
  .read_more a:hover {
    transition: inherit;
    opacity: 1;
  }
  .section_contents {
    max-width: inherit;
    margin: 0;
    box-sizing: border-box;
    padding: 0 20px;
  }
  .pager ul li {
    width: 28px;
    height: 28px;
  }
  .pager ul li a {
    transition: inherit;
  }
  .pager ul li a:hover {
    border: none;
    color: #222;
    background: transparent;
    transition: 0.3s;
  }
  .pager ul li:last-child {
    margin-right: 0;
  }
  .pager ul li.selected a {
    border: solid 1px #990044;
    color: #990044;
    background: #F2F1F6;
  }
  .pager ul li.next a img {
    width: 24px;
    height: auto;
  }
  /* layout */
  /* -------------------------------------------------- */
  .pc {
    display: none;
  }
  .pc_i {
    display: none;
  }
  .sp {
    display: block;
  }
  .sp_i {
    display: inline-block;
  }
  /* ---------------------SP END----------------------------- */
}/*# sourceMappingURL=base.css.map */