@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, dl, dt, dd, ul, ol, li {
  font-size: 100%;
  line-height: 1;
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

/* =======================================
 base style
======================================= */
body {
  background: #fff;
  font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', sans-serif;
  line-height: 1;
  margin: auto;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  body {
    font-size: 1.333vw;
  }
}

@media only screen and (min-width: 1200px) {
  body {
    font-size: 16px;
    min-width: 1200px;
  }
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 3.467vw;
    overflow-x: hidden;
  }
}

img {
  width: 100%;
  backface-visibility: hidden;
}

.main-wrapper {
  position: relative;
}

.section-container {
  margin: auto;
  position: relative;
}

@media only screen and (min-width: 769px) {
  .section-container {
    width: 83.333vw;
    max-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .section-container {
    padding: 0 6.133%;
  }
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

.menu {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

@media only screen and (min-width: 769px) {
  .menu {
    background-color: #fff;
  }
}

@media only screen and (max-width: 768px) {
  .menu {
    background-color: #fff;
    background-size: 100% auto;
  }
}

.menu a {
  text-decoration: none;
}

.menu__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media only screen and (min-width: 769px) {
  .menu__wrapper-logo img {
    width: 13.5em;
  }
}

@media only screen and (max-width: 768px) {
  .menu__wrapper-logo img {
    width: 43vw;
    margin-left: -4vw;
  }
}

.menu__wrapper-menu {
  display: flex;
  justify-content: space-between;
  gap: 1em;
  margin-right: -1.5em;
}

@media only screen and (min-width: 769px) {
  .menu__wrapper-menu {
    margin-top: 0.5em;
  }
}

.menu__wrapper-menu a {
  color: #000;
  display: inline-block;
}

.menu__wrapper-entry {
  background-color: #3366CC;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .menu__wrapper-entry {
    padding: 1.2em 1em;
  }
}

@media only screen and (max-width: 768px) {
  .menu__wrapper-entry {
    padding: 5.2vw 4vw;
  }
}

@media only screen and (min-width: 769px) {
  .menu__wrapper-entry-href img {
    width: 4.9em;
    margin-bottom: 0.4em;
  }
}

@media only screen and (max-width: 768px) {
  .menu__wrapper-entry-href img {
    width: 20vw;
    margin-bottom: 2vw;
  }
}

.menu__wrapper-entry-href p {
  color: #fff;
  font-weight: bold;
}

@media only screen and (min-width: 769px) {
  .menu__wrapper-entry-href p {
    font-size: 1em;
  }
}

@media only screen and (max-width: 768px) {
  .menu__wrapper-entry-href p {
    font-size: 2vw;
  }
}

.menu__wrapper-spmenu .menubtn {
  width: 12vw;
  background: transparent;
  border: none;
  position: relative;
  z-index: 9;
  margin-left: -3vw;
  margin-right: -4vw;
}

.menu__wrapper-spmenu ul {
  display: none;
  width: 50vw;
  background: #fff;
  list-style: none;
  position: absolute;
  top: 0vw;
  right: 0;
  padding: 20vw 2vw 8vw 2vw;
}

.menu__wrapper-spmenu ul li {
  padding: 4.5vw 4vw;
}

.menu__wrapper-spmenu ul li a {
  color: #000;
  font-size: 5vw;
}

.menu__wrapper-spmenu ul .line {
  border-top: 1px solid #ccc;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(3px);
  z-index: 5;
}

.hidden {
  display: none;
}

.top {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .top {
    background: url("/files/uploads/recruit/pc/bg_top.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 59.438em;
  }
}

@media only screen and (max-width: 768px) {
  .top {
    background: url("/files/uploads/recruit/sp/bg_top.jpg") no-repeat 50% 0;
    background-size: 100% auto;
    height: 116.133vw;
    margin-top: 12vw;
  }
}

.top__wrapper {
  position: relative;
}

.top__wrapper-slogan {
  position: absolute;
}

@media only screen and (min-width: 769px) {
  .top__wrapper-slogan {
    width: 33%;
    top: -19.2em;
    left: 1em;
  }
}

@media only screen and (max-width: 768px) {
  .top__wrapper-slogan {
    width: 44vw;
    left: -40vw;
    top: -42vw;
  }
}

.top__wrapper-tag {
  position: absolute;
}

@media only screen and (min-width: 769px) {
  .top__wrapper-tag {
    width: 22.3%;
    top: -2em;
    left: 8em;
  }
}

@media only screen and (max-width: 768px) {
  .top__wrapper-tag {
    width: 33vw;
    left: -40vw;
    top: -3vw;
  }
}

.top__wrapper-recruit {
  position: absolute;
}

@media only screen and (min-width: 769px) {
  .top__wrapper-recruit {
    width: 35%;
    top: 7.2em;
    left: 1.7em;
  }
}

@media only screen and (max-width: 768px) {
  .top__wrapper-recruit {
    width: 45vw;
    left: -44vw;
    top: 17vw;
  }
}

.message {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}

@media only screen and (min-width: 769px) {
  .message {
    background: #fff;
    height: 110.938em;
  }
}

@media only screen and (max-width: 768px) {
  .message {
    padding-bottom: 20vw;
  }
}

.message__wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .message__wrapper {
    margin-top: 3em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper {
    margin-top: 6vw;
  }
}

@media only screen and (min-width: 769px) {
  .message__wrapper-scroll {
    width: 4em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-scroll {
    width: 10vw;
  }
}

.message__wrapper-title {
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .message__wrapper-title {
    margin-top: 2.063em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-title {
    margin-top: 4.4vw;
  }
}

.message__wrapper-title h1 {
  font-family: 'Source Sans Pro', sans-serif;
  color: #3366CC;
  font-weight: bold;
  letter-spacing: 0.03em;
}

@media only screen and (min-width: 769px) {
  .message__wrapper-title h1 {
    font-size: 3.625em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-title h1 {
    font-size: 9.333vw;
  }
}

.message__wrapper-title img {
  margin-top: 0.5em;
}

@media only screen and (min-width: 769px) {
  .message__wrapper-title img {
    width: 24.125em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-title img {
    width: 51.467vw;
  }
}

.message__wrapper-president {
  z-index: 3;
}

@media only screen and (min-width: 769px) {
  .message__wrapper-president {
    margin-top: 2.75em;
  }
  .message__wrapper-president img {
    width: 52.375em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-president {
    margin-top: 5.867vw;
  }
  .message__wrapper-president img {
    width: 80vw;
  }
}

.message__wrapper-content {
  z-index: 2;
  border: 1px solid #3366CC;
  background-color: #fff;
}

@media only screen and (min-width: 769px) {
  .message__wrapper-content {
    margin-top: -5.188em;
    padding: 9.625em 5.188em 7.063em 5.188em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-content {
    margin-top: -11.067vw;
    padding: 17vw 5.6vw 11vw 5.6vw;
  }
}

.message__wrapper-content p {
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  padding-bottom: 2em;
}

@media only screen and (min-width: 769px) {
  .message__wrapper-content p {
    font-size: 1.063em;
    line-height: 1.6em;
    letter-spacing: 0.08em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-content p {
    font-size: 3.5vw;
    line-height: 5.5vw;
    letter-spacing: 0.1vw;
  }
}

.message__wrapper-content p span {
  margin-left: -0.3em;
}

@media only screen and (min-width: 769px) {
  .message__wrapper-content p span {
    margin-left: -0.3em;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-content p span {
    margin-left: -1.8vw;
  }
}

.message__wrapper-content-signature {
  position: relative;
}

@media only screen and (min-width: 769px) {
  .message__wrapper-content-signature {
    left: 27em;
    top: 2em;
    width: 47%;
  }
}

@media only screen and (max-width: 768px) {
  .message__wrapper-content-signature {
    left: 29vw;
    top: 4vw;
    width: 49vw;
  }
}

.message__ele-1, .message__ele-2, .message__ele-3, .message__ele-4 {
  position: absolute;
}

.message__ele-1 {
  z-index: 3;
}

@media only screen and (min-width: 769px) {
  .message__ele-1 {
    width: 16%;
    top: -37.5em;
    left: -1em;
  }
}

@media only screen and (max-width: 768px) {
  .message__ele-1 {
    width: 20vw;
    top: -112vw;
    left: 4vw;
  }
}

@media only screen and (min-width: 769px) {
  .message__ele-2 {
    width: 60%;
    top: 72em;
    left: 41em;
  }
}

@media only screen and (max-width: 768px) {
  .message__ele-2 {
    width: 77vw;
    top: 243vw;
    left: 41vw;
  }
}

@media only screen and (min-width: 769px) {
  .message__ele-3 {
    width: 2.3%;
    top: 3em;
    left: 0;
  }
}

@media only screen and (max-width: 768px) {
  .message__ele-3 {
    width: 3vw;
    top: 9vw;
    left: 2vw;
  }
}

@media only screen and (max-width: 768px) {
  .message__ele-4 {
    width: 0.2vw;
    margin-top: -101vw;
  }
}

.company {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .company {
    background: url("/files/uploads/recruit/pc/bg_company.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 51.75em;
    margin-bottom: 1em;
  }
}

@media only screen and (max-width: 768px) {
  .company {
    background: url("/files/uploads/recruit/sp/bg_company.jpg") no-repeat 50% 0;
    background-size: 100% auto;
    height: 170.8vw;
  }
}

.company__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.company__wrapper-title {
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .company__wrapper-title {
    margin-top: -27em;
  }
}

@media only screen and (max-width: 768px) {
  .company__wrapper-title {
    margin-top: -80.3vw;
  }
}

.company__wrapper-title h1 {
  font-family: 'Source Sans Pro', sans-serif;
  color: #3366CC;
  font-weight: bold;
  letter-spacing: 0.03em;
}

@media only screen and (min-width: 769px) {
  .company__wrapper-title h1 {
    font-size: 3.625em;
  }
}

@media only screen and (max-width: 768px) {
  .company__wrapper-title h1 {
    font-size: 9.333vw;
  }
}

.company__wrapper-title img {
  margin-top: 0.5em;
}

@media only screen and (min-width: 769px) {
  .company__wrapper-title img {
    width: 7.125em;
  }
}

@media only screen and (max-width: 768px) {
  .company__wrapper-title img {
    width: 22.667vw;
  }
}

@media only screen and (min-width: 769px) {
  .company__wrapper-year {
    width: 53%;
    margin-top: 3.5em;
  }
}

@media only screen and (max-width: 768px) {
  .company__wrapper-year {
    margin-top: 7vw;
    width: 87vw;
  }
}

.company__wrapper-content {
  background: linear-gradient(to right, #3366CC, #1D2087);
  position: absolute;
}

@media only screen and (min-width: 769px) {
  .company__wrapper-content {
    width: 36.75em;
    height: 23.313em;
    top: -6em;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

@media only screen and (max-width: 768px) {
  .company__wrapper-content {
    width: 92vw;
    height: 70.667vw;
    top: 6vw;
  }
}

.company__wrapper-content p {
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  color: #fff;
}

@media only screen and (min-width: 769px) {
  .company__wrapper-content p {
    font-size: 1.063em;
    line-height: 1.6em;
    letter-spacing: 0.08em;
  }
}

@media only screen and (max-width: 768px) {
  .company__wrapper-content p {
    font-size: 3.5vw;
    line-height: 5.5vw;
    letter-spacing: 0.1vw;
  }
}

@media only screen and (min-width: 769px) {
  .company__wrapper-content p {
    line-height: 1.94;
    margin: 3.5em 2.53em 0;
  }
}

@media only screen and (max-width: 768px) {
  .company__wrapper-content p {
    font-size: 3.73vw;
    letter-spacing: 0.075em;
    margin: 8vw 4.93vw 0;
  }
}

.history {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .history {
    background: url("/files/uploads/recruit/pc/bg_history.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 76em;
  }
}

@media only screen and (max-width: 768px) {
  .history {
    background: url("/files/uploads/recruit/sp/bg_history.jpg") no-repeat 50% 0;
    background-size: 100% auto;
    height: 220.133vw;
    overflow: hidden;
  }
}

.history__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.history__wrapper-title {
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-title {
    margin-top: -1em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-title {
    margin-top: 15vw;
  }
}

.history__wrapper-title h1 {
  font-family: 'Source Sans Pro', sans-serif;
  color: #3366CC;
  font-weight: bold;
  letter-spacing: 0.03em;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-title h1 {
    font-size: 3.625em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-title h1 {
    font-size: 9.333vw;
  }
}

.history__wrapper-title img {
  margin-top: 0.5em;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-title img {
    width: 6.063em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-title img {
    width: 22.667vw;
  }
}

.history__wrapper-introduction {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-introduction {
    margin-top: 1.8em;
  }
  .history__wrapper-introduction-topline {
    border-top: 1px solid #000;
    width: 50em;
  }
  .history__wrapper-introduction p {
    font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    text-align: center;
    padding: 1em 0;
  }
}

@media only screen and (min-width: 769px) and (min-width: 769px) {
  .history__wrapper-introduction p {
    font-size: 1.063em;
    line-height: 1.6em;
    letter-spacing: 0.08em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 768px) {
  .history__wrapper-introduction p {
    font-size: 3.5vw;
    line-height: 5.5vw;
    letter-spacing: 0.1vw;
  }
}

@media only screen and (min-width: 769px) {
  .history__wrapper-introduction-underline {
    border-bottom: 1px solid #000;
    width: 50em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-introduction {
    margin-top: 10vw;
  }
  .history__wrapper-introduction-topline {
    border-top: 1px solid #000;
    width: 85vw;
  }
  .history__wrapper-introduction p {
    font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    text-align: center;
    padding: 1em 0;
  }
}

@media only screen and (max-width: 768px) and (min-width: 769px) {
  .history__wrapper-introduction p {
    font-size: 1.063em;
    line-height: 1.6em;
    letter-spacing: 0.08em;
  }
}

@media only screen and (max-width: 768px) and (max-width: 768px) {
  .history__wrapper-introduction p {
    font-size: 3.5vw;
    line-height: 5.5vw;
    letter-spacing: 0.1vw;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-introduction-underline {
    border-bottom: 1px solid #000;
    width: 85vw;
  }
}

.history__wrapper-main {
  position: relative;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main {
    margin-top: 15em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main {
    margin-top: 59vw;
  }
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-logo {
    position: relative;
    top: 8.5em;
    left: 3.3em;
    width: 55%;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-logo {
    position: relative;
    width: 16vw;
    left: 8vw;
    top: -9.5vw;
  }
}

.history__wrapper-main-year h2 {
  font-family: 'Source Sans Pro', sans-serif;
  display: block;
  position: absolute;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-year h2 {
    font-size: 2em;
    width: 4.375em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-year h2 {
    font-size: 5vw;
    width: 14vw;
    text-shadow: #fff 2px 0 8px;
  }
}

.history__wrapper-main-year p {
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  color: #fff;
  display: block;
  position: relative;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-year p {
    font-size: 1.063em;
    line-height: 1.6em;
    letter-spacing: 0.08em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-year p {
    font-size: 3.5vw;
    line-height: 5.5vw;
    letter-spacing: 0.1vw;
  }
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-year p {
    width: 13.75em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-year p {
    font-size: 2.3vw;
    line-height: 3.2vw;
    width: 34vw;
  }
}

.history__wrapper-main-1975 h2 {
  color: #4EACD4;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-1975 h2 {
    top: -5.4em;
    left: 2.6em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-1975 h2 {
    top: -52vw;
    left: 11vw;
  }
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-1975 p {
    top: -8.5em;
    left: 9em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-1975 p {
    top: -45vw;
    left: 20vw;
  }
}

.history__wrapper-main-1985 h2 {
  color: #4DB3BE;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-1985 h2 {
    top: 2em;
    left: 14em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-1985 h2 {
    top: -18vw;
    left: 53vw;
  }
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-1985 p {
    top: -2.5em;
    left: 14.4em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-1985 p {
    top: -32vw;
    left: 31.5vw;
  }
}

.history__wrapper-main-1995 h2 {
  color: #4A87A1;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-1995 h2 {
    top: 15.2em;
    left: 10em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-1995 h2 {
    top: 39vw;
    left: 36vw;
  }
}

.history__wrapper-main-1995 p {
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-1995 p {
    top: -2.5em;
    left: 0.4em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-1995 p {
    top: -27vw;
    left: -0.5vw;
  }
}

.history__wrapper-main-2005 h2 {
  color: #4E6882;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-2005 h2 {
    top: 14.9em;
    left: -5em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-2005 h2 {
    top: 36vw;
    left: -26vw;
  }
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-2005 p {
    top: -17em;
    left: -10em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-2005 p {
    top: -62vw;
    left: -25vw;
  }
}

.history__wrapper-main-2015 h2 {
  color: #D67C98;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-2015 h2 {
    top: 2.2em;
    left: -9.5em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-2015 h2 {
    top: -21vw;
    left: -33vw;
  }
}

@media only screen and (min-width: 769px) {
  .history__wrapper-main-2015 p {
    top: -35.5em;
    left: -6em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-main-2015 p {
    top: -99vw;
    left: -16vw;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-href {
    position: absolute;
    margin-top: 200vw;
  }
}

.history__wrapper-href a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #3366CC;
  border: 2px solid #3366CC;
}

@media only screen and (min-width: 769px) {
  .history__wrapper-href a {
    gap: 0.2em;
    width: 15em;
    height: 3.125em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-href a {
    width: 55vw;
    height: 12vw;
  }
}

@media only screen and (min-width: 769px) {
  .history__wrapper-href-arrow {
    margin-top: -0.4em;
  }
}

@media only screen and (max-width: 768px) {
  .history__wrapper-href-arrow {
    margin-top: -0.9vw;
  }
}

@media only screen and (min-width: 769px) {
  .slider {
    margin-top: 2em;
    margin-bottom: 7em;
  }
}

@media only screen and (max-width: 768px) {
  .slider {
    padding: 0 2vw;
    margin-top: 7vw;
    margin-bottom: 21vw;
  }
}

.slider .company-slider-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  display: flex !important;
  border: 1px solid #3366CC;
}

@media only screen and (min-width: 769px) {
  .slider .company-slider-wrapper {
    width: 62.5em !important;
    height: 39em;
    padding: 2.5em 3.7em;
  }
}

@media only screen and (max-width: 768px) {
  .slider .company-slider-wrapper {
    width: 90vw !important;
    height: 69vw;
    overflow: hidden;
    padding: 3vw 2vw;
    gap: 2vw;
  }
}

@media only screen and (min-width: 769px) {
  .slider .company-slider-wrapper img {
    width: 56em;
  }
}

@media only screen and (max-width: 768px) {
  .slider .company-slider-wrapper img {
    width: 79vw;
  }
}

.slider .company-slider-wrapper h2 {
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  color: #3366CC;
}

@media only screen and (min-width: 769px) {
  .slider .company-slider-wrapper h2 {
    font-size: 1.875em;
    letter-spacing: 0.2em;
    margin-top: 1em;
  }
}

@media only screen and (max-width: 768px) {
  .slider .company-slider-wrapper h2 {
    font-size: 4vw;
    margin-top: 2vw;
  }
}

@media only screen and (min-width: 769px) {
  .slider .company-slider-wrapper p {
    font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    margin-top: 1em;
  }
}

@media only screen and (min-width: 769px) and (min-width: 769px) {
  .slider .company-slider-wrapper p {
    font-size: 1.063em;
    line-height: 1.6em;
    letter-spacing: 0.08em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 768px) {
  .slider .company-slider-wrapper p {
    font-size: 3.5vw;
    line-height: 5.5vw;
    letter-spacing: 0.1vw;
  }
}

@media only screen and (max-width: 768px) {
  .slider .company-slider-wrapper p {
    font-size: 3.7vw;
    line-height: 5vw;
    text-align: center;
  }
}

@media only screen and (min-width: 769px) {
  .gallery {
    background: url("/files/uploads/recruit/pc/bg_gallery.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 19.688em;
    margin-top: 2em;
  }
}

@media only screen and (max-width: 768px) {
  .gallery {
    background: url("/files/uploads/recruit/sp/bg_gallery.jpg") no-repeat 50% 0;
    background-size: 100% auto;
    height: 28.5vw;
  }
}

.welfare {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .welfare {
    background: url("/files/uploads/recruit/pc/bg_welfare.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 122.5em;
  }
}

@media only screen and (max-width: 768px) {
  .welfare {
    background: url("/files/uploads/recruit/sp/bg_welfare.jpg") no-repeat 50% 0;
    background-size: 100% auto;
    height: 362.267vw;
  }
}

.welfare__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper {
    margin-top: 4em;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper {
    margin-top: 13vw;
  }
}

.welfare__wrapper-title {
  position: relative;
  text-align: center;
}

.welfare__wrapper-title h1 {
  font-family: 'Source Sans Pro', sans-serif;
  color: #3366CC;
  font-weight: bold;
  letter-spacing: 0.03em;
  color: #fff;
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-title h1 {
    font-size: 3.625em;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-title h1 {
    font-size: 9.333vw;
  }
}

.welfare__wrapper-title img {
  margin-top: 0.5em;
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-title img {
    width: 6.188em;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-title img {
    width: 21.333vw;
  }
}

.welfare__wrapper-introduction {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-introduction {
    margin-top: 3vw;
  }
}

.welfare__wrapper-introduction p {
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-introduction p {
    font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    padding: 1em 0;
  }
}

@media only screen and (min-width: 769px) and (min-width: 769px) {
  .welfare__wrapper-introduction p {
    font-size: 1.063em;
    line-height: 1.6em;
    letter-spacing: 0.08em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 768px) {
  .welfare__wrapper-introduction p {
    font-size: 3.5vw;
    line-height: 5.5vw;
    letter-spacing: 0.1vw;
  }
}

.welfare__wrapper-main {
  display: grid;
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-main {
    margin-top: 3em;
    grid-template-columns: repeat(2, 31.25em);
    grid-template-rows: repeat(4, 17.5em);
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-main {
    margin-top: 8vw;
    grid-template-columns: repeat(2, 42.667vw);
    grid-template-rows: auto;
  }
}

.welfare__wrapper-main__section:nth-child(4n+0), .welfare__wrapper-main__section:nth-child(4n+1) {
  background: linear-gradient(to right top, #3a6cd0, #8fb5fd);
}

.welfare__wrapper-main__section:nth-child(4n+0) p, .welfare__wrapper-main__section:nth-child(4n+1) p {
  color: #fff;
}

.welfare__wrapper-main__section:nth-child(4n+2), .welfare__wrapper-main__section:nth-child(4n+3) {
  background-color: #fff;
}

.welfare__wrapper-main__section:nth-child(4n+2) p:not(:first-child), .welfare__wrapper-main__section:nth-child(4n+3) p:not(:first-child) {
  color: #3366CC;
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-main__section {
    padding: 2em 2.28em 2em;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-main__section {
    display: grid;
    grid-template-rows: 35vw 1fr;
    padding: 4vw 3vw 6vw 3vw;
  }
}

.welfare__wrapper-main__section-title {
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-main__section-title {
    flex-direction: column;
    display: grid;
    grid-template-rows: 18vw 14vw;
    justify-items: center;
  }
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-main__section-title img {
    width: 20%;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-main__section-title img {
    width: 20vw;
  }
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-main__section-title p {
    font-size: 1.6em;
    letter-spacing: 0.01em;
    font-weight: bold;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-main__section-title p {
    font-size: 4.4vw;
    line-height: 5vw;
    text-align: center;
    font-weight: bold;
  }
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-main__section-title p span {
    font-size: 0.7em;
    margin-left: -0.5em;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-main__section-title p span {
    font-size: 3.4vw;
  }
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-main__section-content p {
    margin-top: 0.8em;
    font-size: 1.0625em;
    line-height: 2em;
    letter-spacing: 0.075em;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-main__section-content p {
    font-size: 3.73vw;
    letter-spacing: 0.075em;
    line-height: 4.5vw;
  }
}

.welfare__wrapper-add {
  display: grid;
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-add {
    padding-top: 4em;
    grid-template-columns: repeat(2, 31.25em);
    grid-template-rows: repeat(1, 3.125em);
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-add {
    padding-top: 7vw;
    grid-template-columns: repeat(2, 42.667vw);
    grid-template-rows: repeat(1, 10.667vw);
  }
}

.welfare__wrapper-add__section:nth-child(1) {
  background: linear-gradient(to right top, #3a6cd0, #8fb5fd);
}

.welfare__wrapper-add__section:nth-child(1) p {
  color: #fff;
}

.welfare__wrapper-add__section:nth-child(2) {
  background: #fff;
}

.welfare__wrapper-add__section:nth-child(2) p {
  color: #3366CC;
}

.welfare__wrapper-add__section {
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .welfare__wrapper-add__section p {
    display: inline-block;
    font-size: 1.6em;
    letter-spacing: 0.01em;
    font-weight: bold;
    line-height: 2em;
  }
}

@media only screen and (max-width: 768px) {
  .welfare__wrapper-add__section p {
    font-size: 4vw;
    line-height: 11vw;
    font-weight: bold;
  }
}

@media only screen and (min-width: 769px) {
  .career {
    background: url("/files/uploads/recruit/pc/bg_career.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 78em;
    margin-top: -25em;
  }
}

@media only screen and (max-width: 768px) {
  .career {
    background: url("/files/uploads/recruit/sp/bg_career.jpg") no-repeat 50% 0;
    background-size: 100% auto;
    height: 121.2vw;
  }
}

.career__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.career__wrapper-title {
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .career__wrapper-title {
    padding-top: 4em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-title {
    padding-top: 9vw;
  }
}

.career__wrapper-title h1 {
  font-family: 'Source Sans Pro', sans-serif;
  color: #3366CC;
  font-weight: bold;
  letter-spacing: 0.03em;
}

@media only screen and (min-width: 769px) {
  .career__wrapper-title h1 {
    font-size: 3.625em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-title h1 {
    font-size: 9.333vw;
  }
}

.career__wrapper-title img {
  margin-top: 0.5em;
}

@media only screen and (min-width: 769px) {
  .career__wrapper-title img {
    width: 12.563em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-title img {
    width: 37.333vw;
  }
}

.career__wrapper-list p:not(:last-of-type) {
  color: #1D2087;
}

.career__wrapper-list p:last-of-type {
  color: #F0615A;
}

.career__wrapper-list p {
  font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', sans-serif;
  font-weight: bold;
  display: inline-block;
  position: absolute;
}

@media only screen and (min-width: 769px) {
  .career__wrapper-list p {
    font-size: 1.125em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-list p {
    font-size: 3.5vw;
  }
}

@media only screen and (min-width: 769px) {
  .career__wrapper-list-1 {
    top: 27em;
    left: 11.3em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-list-1 {
    top: 77vw;
    left: 5vw;
  }
}

@media only screen and (min-width: 769px) {
  .career__wrapper-list-2 {
    top: 23.5em;
    left: 16.5em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-list-2 {
    top: 69vw;
    left: 16vw;
  }
}

@media only screen and (min-width: 769px) {
  .career__wrapper-list-3 {
    top: 19.3em;
    left: 27.3em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-list-3 {
    top: 61vw;
    left: 42vw;
  }
}

@media only screen and (min-width: 769px) {
  .career__wrapper-list-4 {
    top: 15em;
    left: 34em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-list-4 {
    top: 52vw;
    left: 55vw;
  }
}

@media only screen and (min-width: 769px) {
  .career__wrapper-list-5 {
    top: 10.2em;
    left: 42.5em;
  }
}

@media only screen and (max-width: 768px) {
  .career__wrapper-list-5 {
    top: 41vw;
    left: 75vw;
  }
}

@media only screen and (min-width: 769px) {
  .member {
    background: url("/files/uploads/recruit/pc/bg_member.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 115em;
    margin-top: -25em;
  }
}

@media only screen and (max-width: 768px) {
  .member {
    background: url("/files/uploads/recruit/sp/bg_member.jpg") no-repeat 50% 0;
    background-size: 100% auto;
    height: 383.333vw;
    overflow: hidden;
  }
}

.member__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.member__wrapper-title {
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .member__wrapper-title {
    padding-top: 4em;
    padding-bottom: 1em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-title {
    padding-top: 10vw;
  }
}

.member__wrapper-title h1 {
  font-family: 'Source Sans Pro', sans-serif;
  color: #3366CC;
  font-weight: bold;
  letter-spacing: 0.03em;
}

@media only screen and (min-width: 769px) {
  .member__wrapper-title h1 {
    font-size: 3.625em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-title h1 {
    font-size: 9.333vw;
  }
}

.member__wrapper-title img {
  margin-top: 0.5em;
}

@media only screen and (min-width: 769px) {
  .member__wrapper-title img {
    width: 7.188em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-title img {
    width: 21.333vw;
  }
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice {
    display: flex;
    justify-content: space-between;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice {
    margin-top: 20vw;
  }
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-avatar {
    margin-top: 5em;
  }
  .member__wrapper-voice-avatar img {
    width: 28.5em;
  }
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 50%;
  }
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content-slogan {
    width: 16em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-slogan {
    display: flex;
    align-items: center;
    justify-items: center;
    justify-content: space-between;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-slogan-img {
    width: 38vw;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-slogan-sp {
    width: 45vw;
  }
}

.member__wrapper-voice-content-title {
  display: flex;
  align-items: center;
  align-self: start;
  gap: 0.5em;
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content-title {
    margin-top: 3em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-title {
    margin-top: 6vw;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-title img:first-child {
    width: 2.5vw;
  }
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content-title img:last-child {
    width: 20em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-title img:last-child {
    width: 56vw;
  }
}

.member__wrapper-voice-content-text {
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content-text {
    font-size: 1.063em;
    line-height: 1.6em;
    letter-spacing: 0.08em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-text {
    font-size: 3.5vw;
    line-height: 5.5vw;
    letter-spacing: 0.1vw;
  }
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content-text {
    margin-top: 1.4em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-text {
    font-size: 3.73vw;
    letter-spacing: 0.05em;
    margin-top: 4vw;
  }
}

.member__wrapper-voice-content-alignright {
  align-self: end;
}

.member__wrapper-voice-content-alignleft {
  align-self: start;
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content-href {
    margin: 2em 0.6em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-href {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.member__wrapper-voice-content-href a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #3366CC;
  border: 2px solid #3366CC;
  background-color: #fff;
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content-href a {
    gap: 0.2em;
    width: 15em;
    height: 3.125em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-href a {
    margin-top: 9vw;
    width: 67vw;
    height: 13vw;
    gap: 1.2vw;
  }
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice-content-href-arrow {
    margin-top: -0.4em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice-content-href-arrow {
    margin-top: -0.9vw;
  }
}

@media only screen and (min-width: 769px) {
  .member__wrapper-voice:nth-child(3) {
    margin-top: 3em;
  }
}

@media only screen and (max-width: 768px) {
  .member__wrapper-voice:nth-child(3) {
    margin-top: 25vw;
  }
}

@media only screen and (min-width: 769px) {
  .entry_box {
    margin: 0 auto;
    display:flex;
  }
}

@media only screen and (max-width: 768px) {
  .entry_box {
    display:block;
  }
}

.member__wrapper-ele img {
  width: 40vw;
}

.member__wrapper-ele-1 {
  position: absolute;
  top: 37vw;
  left: -1vw;
}

.member__wrapper-ele-2 {
  position: absolute;
  top: 205vw;
  left: 60vw;
}

.entry {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .entry {
    background-size: 125em auto;
    padding-bottom: 7em;
  }
}

@media only screen and (max-width: 768px) {
  .entry {
    margin-bottom: 11vw;
  }
}

.entry__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.entry__wrapper-title {
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-title {
    padding-top: 4em;
    padding-bottom: 2.5em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-title {
    margin-top: 9vw;
  }
}

.entry__wrapper-title h1 {
  font-family: 'Source Sans Pro', sans-serif;
  color: #3366CC;
  font-weight: bold;
  letter-spacing: 0.03em;
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-title h1 {
    font-size: 3.625em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-title h1 {
    font-size: 9.333vw;
  }
}

.entry__wrapper-title img {
  margin-top: 0.5em;
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-title img {
    width: 6.125em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-title img {
    width: 18.667vw;
  }
}

.entry__wrapper-main-content {
  display: grid;
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-main-content {
    grid-template-columns: 8.938em 1fr;
    padding: 1.6em 0.8em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-main-content {
    grid-template-columns: 20vw 1fr;
    padding: 4vw 2vw;
  }
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-main-content h3 {
    line-height: 2em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-main-content h3 {
    line-height: 5vw;
  }
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-main-content p {
    line-height: 2em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-main-content p {
    line-height: 5vw;
    font-size: 3vw;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-main-content p .move-to-left {
    margin-left: -2vw;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-main-content p .move-to-right {
    margin-right: 3vw;
  }
}

.entry__wrapper-main-line {
  border-top: 1px solid #3366CC;
}

.entry__wrapper-href {
  background: linear-gradient(to right, #3366CC, #1D2087);
  color: #fff;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-href {
    margin-top: 4em;
    width: 31.25em;
    height: 5em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-href {
    margin-top: 9vw;
    width: 69vw;
    height: 12vw;
  }
}

.entry__wrapper-href-container {
  color: #fff;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-href-container-title p {
    font-size: 1.8em;
    margin-top: 0.8em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-href-container-title p {
    font-size: 4vw;
    margin-top: 3.8vw;
  }
}

.entry__wrapper-href-container-arrow {
  position: absolute;
}

@media only screen and (min-width: 769px) {
  .entry__wrapper-href-container-arrow {
    right: 1em;
    top: 1.8em;
    width: 6em;
  }
}

@media only screen and (max-width: 768px) {
  .entry__wrapper-href-container-arrow {
    right: 8vw;
    top: 3.3vw;
    width: 9vw;
  }
}