@charset "UTF-8";
body {
  background-color: #fff;
  color: #2D2E34;
  /* font-family: 'Noto Sans', 'Noto Sans JP', YuGothic, YuGothicM, "メイリオ", sans-serif; */
  font-family: 'Noto Sans JP', sans-serif;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    body {
      background-color: #fff; } }

a {
  color: #2D2E34;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s; }

p, li, dt, dd, h1, h2, h3, h4 {
  line-height: 1.7;
  font-weight: normal; }

p {
  font-size: .9rem;
line-height: 30px; }

h2, h3, h4, p, span {
  letter-spacing: 0.05rem; }

/* h2 {
  text-align: center;
  margin-bottom: 72px; } */
  h2 span {
    display: block; }
  h2 .ttl-en {
    font-family: 'Roboto', sans-serif;
    letter-spacing: .15em;
    font-size: 3.75rem;
    line-height: 1.4; }
  h2 .ttl-jp {
    font-size: 1.125rem;
    font-weight: 400; }
  /* @media screen and (max-width: 767px) {
    h2 {
      margin-bottom: 56px; }
      h2 .ttl-en {
        font-size: 3rem; }
      h2 .ttl-jp {
        font-size: 0.9rem; } } */

/* particles */
#particle-container {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: -1; }

/* float */
.f-l {
  float: left; }

.f-r {
  float: right; }

/* smartphone */
@media screen and (min-width: 768px) {
  .pc-only {
    display: block; }
  .sp-only {
    display: none !important; }
  .pc-tb-only {
    display: block; }
  .br-pc {
    display: block; }
  .br-sp {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important; }
  .pc-tb_only {
    display: block; }
  .sp-only {
    display: block; }
  .br-pc {
    display: none !important; }
  .br-sp {
    display: block; } }

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

@media screen and (min-width: 320px) {
  .ssp-only {
    display: none; } }

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

/* layout */
.content-wrap {
  max-width: 1200px;
  margin: 0 auto; }
  @media screen and (max-width: 1240px) {
    .content-wrap {
      margin: 0 20px; } }

img {
  width: 100%;
  height: auto;
  vertical-align: middle; }

.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.t-l {
  text-align: left; }

.t-c {
  text-align: center; }

.t-r {
  text-align: right; }

.fixed {
  position: fixed;
  width: 100%; }

.bg-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden; }

/* btn */
.btn-common a {
  display: block;
  width: 100%;
  max-width: 328px;
  height: 60px;
  line-height: 56px;
  background-color: #2D2E34;
  color: #fff;
  text-align: center;
  position: relative;
  border-radius: 40px;
  overflow: hidden;}

  @media screen and (min-width: 768px) {
    /* .btn-common a::before {
      content: "";
      display: block;
      width: 0;
      height: 60px;
      background-color: #777;
      transition: .3s;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
    } */

    .btn-cv a::before {
      background-color: #941f1f;
    }

    .btn-common a:hover::before {
      width: 100%;
    }
  }
  .btn-common a span {
    position: relative;
    z-index: 2;
  }
  .btn-common a span.jp {
    font-size: 16px;
    font-weight: 500; }
  .btn-common a span.en {
    font-family: 'Roboto', sans-serif;
    font-size: 1.5rem;
    letter-spacing: .15em; }
  .btn-common a::after {
    content: "";
    width: 20px;
    height: 15px;
    display: block;
    background-image: url(img/right-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 2;}

.btn-cv a {
  background-color: #AC1111; }

.link-s span, .link-s a {
  display: block;
  color: #2D2E34;
  font-weight: 500;
  font-size: 14px;
  position: relative;
  /* padding-left: 16px;  */
}
  .link-s span::after,
  .link-s a::after {
    content: "";
    display: block;
    width: 15px;
    height: 6px;
    background: url(./img/right-arrow-black.svg) no-repeat center/cover;
    /* border-top: 2px solid #2D2E34;
    border-right: 2px solid #2D2E34;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); */
    position: absolute;
    top: 9px;
    right: -25px;
  }

.Roboto {
  font-family: 'Roboto', sans-serif;
  letter-spacing: .15em; }

/* .content-area {
  margin-bottom: 120px; }
  @media screen and (max-width: 767px) {
    .content-area {
      margin-bottom: 80px; } } */

/* モーダルCSS */
#openModal {
  cursor: pointer; }

.modalArea {
  display: none;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); }

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1080px;
  background-color: #fff;
  border-radius: 0;
}
  @media screen and (max-width: 767px) {
    .modalWrapper {
      width: 90%; } }

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  font-size: 1.5rem;
  cursor: pointer;
  color: #fff; }

.modalContents {
  overflow-y: scroll;
  max-height: calc(100vh - 100px); }
  @media screen and (max-width: 767px) {
    .modalContents {
      max-height: calc(100vh - 120px); } }
  .modalContents h3 {
    background-color: #2D2E34;
    color: #fff;
    font-size: 1.125rem;
    font-weight: bold;
    padding: 12px 40px;
    border-radius: 0;
  }
    @media screen and (max-width: 767px) {
      .modalContents h3 {
        padding: 12px 20px; } }
  .modalContents .modalContent {
    padding: 40px; }
    @media screen and (max-width: 767px) {
      .modalContents .modalContent {
        padding: 20px; } }


/* .page-content {
  padding-top: 64px; } */
  .page-content h1 {
    font-family: 'Roboto', sans-serif;
    letter-spacing: .15em;
    font-size: 5.5rem;
    margin-bottom: 56px;
    /* text-align: center;  */
  }
  .page-content .text-area h2 {
    margin-bottom: 40px; }
    .page-content .text-area h2 .ttl-jp {
      font-size: 1.5rem;
      font-weight: bold;
      letter-spacing: .25em; }
  .page-content .text-area p {
    max-width: 480px;
    margin: 0 auto; }
  .page-content .text-area p + p {
    margin-top: 24px; }
  /* @media screen and (max-width: 767px) {
    .page-content {
      padding-top: 40px; }
      .page-content h1 {
        font-size: 15vw;
        margin-bottom: 48px; }
      .page-content .text-area h2 .ttl-jp {
        font-size: 1.25rem; } } */

.mv-area {
  padding-bottom: 70px;
  height: 100vh;
  background: url(./img/mv-image.jpg) no-repeat center/cover;
  position: relative;
  box-sizing: border-box;
  box-sizing: border-box;
}
.mv-area:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(45, 46, 52, .2);
}
.mv-area .content-wrap {
  height: 100%;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.mv-area .mv-title {
  padding-left: 47px;
  width: 100%;
  position: relative;
  z-index: 1; }
  .mv-area .mv-title:before {
    content: '';
    width: 7px;
    position: absolute;
    top: 15px;
    bottom: 8px;
    left: 0;
    background: linear-gradient(to bottom, #3F6F89, #AF8F50);
    z-index: 1; }
  .mv-area .mv-title h1 {
    margin-bottom: 35px; }
    .mv-area .mv-title h1 .ttl-jp {
      color: #fff;
      font-weight: 600;
      font-size: 2.25rem;
      letter-spacing: .9rem; }
  .mv-area .mv-title p {
    color: #fff;
    line-height: 27px;
    margin-bottom: 20px;
  }
  .mv-area .mv-title p:last-of-type {
    margin-bottom: 0;
  }

.mv-area .scroll span {
  display: block;
  width: 1px;
  height: 0;
  background-color: #2D2E34;
  position: absolute;
  top: calc(100% + 24px);
  left: 12%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 9999;
  -webkit-animation: scroll-anim 2.5s ease-in-out infinite;
  animation: scroll-anim 2.5s ease-in-out infinite; }

.mv-area .scroll p {
  position: absolute;
  top: calc(100% + 24px);
  left: 13%;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl; }

@media screen and (max-width: 767px) {
  .mv-area {
    padding: 250px 0 50px;
    height: auto;
  }
  .mv-area .mv-title {
    padding-left: 0;
  }
  .mv-area .mv-title:before {
    display: none;
  }
  .mv-area .mv-title h1 {
    margin-bottom: 25px;
  }
  .mv-area .mv-title h1 .ttl-jp {
    font-size: 28px;
  }
  .mv-area .mv-title p {
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 25px;
  }
  /* .mv-area .mv-img {
    width: 100%;
    margin-left: -20px;
    position: relative; }
  .mv-area .mv-title {
    width: 100%;
    margin-top: 32px; }
    .mv-area .mv-title h1 {
      margin-bottom: 32px; }
      .mv-area .mv-title h1 .ttl-en {
        font-size: 13vw;
        margin-bottom: 4px; }
      .mv-area .mv-title h1 .ttl-jp {
        font-size: 8vw; }
    .mv-area .mv-title p {
      font-size: 0.875rem; }  */
    }

@-webkit-keyframes scroll-anim {
  0% {
    height: 0;
    opacity: 0; }
  30% {
    height: 120px;
    opacity: 1; }
  50% {
    height: 120px;
    opacity: 0; }
  100% {
    height: 120px;
    opacity: 0; } }

@keyframes scroll-anim {
  0% {
    height: 0;
    opacity: 0; }
  30% {
    height: 120px;
    opacity: 1; }
  50% {
    height: 120px;
    opacity: 0; }
  100% {
    height: 120px;
    opacity: 0; } }


/* banner area */
.banner-area {
  padding: 60px 0 30px;
  background: #fff;
}
.banner-area ul {
  display: flex;
  justify-content: center;
}
.banner-area ul li {
  margin-right: 15px;
  width: calc(33.333% - 10px);
  position: relative;
  box-sizing: border-box;
}
.banner-area ul li:nth-child(1) a {
  /* background-image: url(./img/6I9A8008.jpg); */
}
.banner-area ul li:nth-child(2) a {
  /* background-image: url(./img/banner-02.jpg); */
}
.banner-area ul li:nth-child(2) a  .hover-scale-bg {
  background-position-y: bottom;
}
.banner-area ul li:nth-child(3) a {
  margin-right: 0;
  /* background-image: url(./img/3V8A4645.jpg); */
}
.banner-area ul li a {
  padding: 90px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: no-repeat center/cover;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
.banner-area ul li a:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #2D2E34;
  opacity: .4;
}
.banner-area ul li a .common-btn img {
  transition: all .3s;
}
.banner-area ul li a:hover .common-btn img {
  transform: translateX(4px);
}
.banner-area ul li a h2 {
  position: relative;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  line-height: 30px;
  font-family: 'Roboto', sans-serif;
  text-transform: uppercase;
  text-align: left;
}
.banner-area ul li a .common-btn {
  margin-left: auto;
}

/* service area */
.service-area {
  padding: 60px 0;
  background: #eee;
}
.service-area .common-title {
  margin-bottom: 40px;
}
.service-area-cont ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.service-area-cont ul li {
  margin-right: 0;
  width: calc(33.333% - 13.333px);
}
.service-area-cont ul li:last-child {
  margin-right: 0;
}
.service-area ul li a h2 {
  width: calc(100% - 32px);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
}
.service-area-cont ul li a {
  padding: 150px 20px 15px;
}
.service-area-cont ul li a .common-btn {
  width: 23px;
  height: 23px;
}
.service-area-cont ul li a .common-btn img {
  width: 8px;
}

@media screen and (max-width: 1200px) {
  .service-area-cont ul {
    gap: 15px;
  }
  .service-area-cont ul li {
    width: calc(50% - 7.5px);
  }
}
@media screen and (max-width: 979px) {
  .banner-area ul {
    flex-wrap: wrap;
  }
  .banner-area ul li {
    width: 100%;
  }
  .banner-area ul li:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .banner-area ul li a {
    padding: 60px 20px 60px 30px;
  }
  .banner-area ul li a h2 {
    font-size: 16px;
  }
}

/* value-area */
.value-area {
  padding: 80px 0 110px;
}
.value-cont {
  padding-top: 60px;
  position: relative;
}
.value-cont:last-of-type {
  margin-top: 100px;
}
.value-cont:last-of-type:before {
  right: calc((100vw - 1200px) / 2 * -1);
  left: initial;
}
.value-cont:last-of-type .value-title {
  margin-left: auto;
  text-align: right;
}
.value-cont:last-of-type .value-title:before {
  left: 0;
}
.value-cont:last-of-type .value-title h3 {
  padding-right: 0;
  padding-left: 40px;
  text-align: right;
}
.value-cont:before {
  content: '';
  width: calc(980px + ((100vw - 980px) / 2));
  height: 70%;
  position: absolute;
  top: 0;
  left: calc((100vw - 1200px) / 2 * -1);
  background: #2D2E34;
}
.value-title {
  max-width: 1090px;
  margin-bottom: 60px;
  position: relative;
}
.value-title h3 {
  padding-right: 40px;
  background: #2D2E34;
  display: inline-block;
  position: relative;
  color: #fff;
  font-size: 42px;
  font-weight: 600;
}
.value-title:before {
  content: '';
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 40px;
}
.value-cont ul {
  display: flex;
  align-items: stretch;
}
.value-item {
  margin-right: 15px;
  padding: 45px 35px;
  width: calc(33.3333% - 10px);
  background: #eee;
  position: relative;
  box-sizing: border-box;
}
.value-item:last-child {
  margin-right: 0;
}
.value-item > img {
  width: 90px;
  height: auto;
  position: absolute;
  top: -25px;
  right: 20px;
}
.value-item-inner {

}
.value-item-inner img {
  margin-bottom: 25px;
  width: auto;
  height: 45px;

}
.value-item-inner h4 {
  margin-bottom: 30px;
  color: #2D2E34;
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 2px;
}
.value-item-inner p {
  font-size: 15px;
  line-height: 30px;
  text-align: justify;
}

@media screen and (max-width: 1240px) {
  .value-cont:before {
    left: -20px;
  }
  .value-cont:last-of-type:before {
    right: -20px;
  }
  .value-item {
    padding-right: 30px;
    padding-left: 30px;
  }
  .value-title {
    width: calc(960px + ((100vw - 980px) / 2));
  }
}
@media screen and (max-width: 1090px) and (min-width: 980px) {
  .value-cont:before {
    width: 100vw;
  }
  .value-title {
    width: 100%;
  }
  .value-title:before {
    top: 34px;
  }
  .value-title h3 {
    font-size: 36px;
  }
}
@media screen and (max-width: 979px) {
  .value-title {
    width: 100%;
  }
  .value-item > img {
    width: 80px;
    right: 10px;
  }
  .value-title:before {
    top: 30px;
  }
  .value-title h3 {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .value-area {
    padding: 60px 0 40px;
  }
  .value-cont {
    padding-top: 60px;
  }
  .value-cont:last-of-type {
    margin-top: 40px;
  }
  .value-cont:before {
    height: 80%;
  }
  .value-cont ul {
    flex-wrap: wrap;
  }
  .value-cont ul li {
    margin-right: 0;
    margin-bottom: 40px;
    width: 100%;
  }
  .value-title:before {
    top: 22px;
  }
  .value-cont:last-of-type .value-title h3 {
    padding-left: 20px;
  }
  .value-title h3 {
    padding-right: 20px;
    font-size: 24px;
  }
}

.company-area {
  padding: 80px 0 60px;
  position: relative;
}
.company-cont-left {
  width: 50%;
}
.company-cont-left table {
  text-align: left;
}
.company-cont-left table th,
.company-cont-left table td {
  padding-bottom: 30px;
  color: #2D2E34;
  font-size: 14px;
  font-weight: 500;
  line-height: 25px;
  text-align: left;
}
.company-cont-left table th {
  width: 140px;
}
.company-cont-right {
  width: 50vw;
  position: absolute;
  top: 150px;
  right: 0;
  bottom: 0;
}
.company-cont-right iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 979px) {
  .company-area {
    padding-bottom: 0;
  }
  .company-cont-left {
    width: 100%;
  }
  .company-cont-right {
    margin-top: 30px;
    padding-top: 50%;
    width: 100vw;
    position: relative;
    top: initial;
  }
}
@media screen and (max-width: 767px) {
  .company-area {
    padding-top: 60px;
  }
  .company-cont-left table th {
    width: 100px;
  }
  .company-cont-left table th,
  .company-cont-left table td {
    padding-bottom: 20px;
  }
  .company-cont-right {
    padding-top: 70%;
  }
}

.service-area .service-content {
  position: relative; }
  .service-area .service-content .service-img {
    width: 55.8%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0; }
  .service-area .service-content .service-text {
    margin-top: 8%;
    width: 50%;
    min-width: 400px;
    padding: 5% 6.5%;
    background-color: #fff;
    -webkit-box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 1; }
    .service-area .service-content .service-text h3 {
      margin-bottom: 24px; }
      .service-area .service-content .service-text h3 span {
        display: block;
        line-height: 1.2; }
      .service-area .service-content .service-text h3 span:first-of-type {
        font-size: 3.25rem; }
      .service-area .service-content .service-text h3 span:nth-of-type(2) {
        font-size: 1.875rem; }
    .service-area .service-content .service-text p {
      margin-bottom: 40px; }

@media screen and (max-width: 767px) {
  .service-area .service-content .service-img {
    width: 100vw;
    margin-left: -20px;
    position: relative; }
  .service-area .service-content .service-text {
    margin-top: -16px;
    width: 100%;
    min-width: 100%;
    padding: 24px; }
    .service-area .service-content .service-text h3 {
      margin-bottom: 24px; }
      .service-area .service-content .service-text h3 span:first-of-type {
        font-size: 2.6rem; }
      .service-area .service-content .service-text h3 span:nth-of-type(2) {
        font-size: 1.5rem; }
    .service-area .service-content .service-text p {
      margin-bottom: 40px; } }

.news-content-area {
  padding: 100px 0;
}
.news-area .news-list {
  margin-bottom: 80px; }
  .news-area .news-list li {
    width: 30%;
    background-color: #fff;
    -webkit-box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.15);
    transition: .5s; }
    .news-area .news-list li a {
      display: block;
      padding: 32px; }

    @media screen and (min-width: 768px) {
      .news-area .news-list li:hover {
        -webkit-box-shadow: 0px 2px 30px 0px rgba(0, 0, 0, 0.25);
        box-shadow: 0px 2px 30px 0px rgba(0, 0, 0, 0.25);
      }
    }
    .news-area .news-list li .date {
      display: inline-block;
      font-size: 12px;
      font-weight: 500;
      padding: 0 12px;
      height: 32px;
      line-height: 32px;
      color: #2D2E34;
      font-family: 'Roboto', sans-serif;
      background-color: #eee;
      margin-bottom: 16px; }
    .news-area .news-list li h3 {
      font-size: 1rem; }

.news-area .btn-common a {
  margin: 0 auto; }

@media screen and (max-width: 767px) {
  .news-content-area {
    padding: 60px 0;
  }
  .news-area .news-list {
    margin-bottom: 56px; }
    .news-area .news-list li {
      width: 100%; }
      .news-area .news-list li a {
        display: block;
        padding: 24px; }
    .news-area .news-list li + li {
      margin-top: 24px; } }

.recruit-area .recruit-img {
  margin-bottom: 56px; }
  .recruit-area .recruit-img .img {
    width: calc(100% / 3 - 6px); }

.recruit-area p {
  text-align: center;
  margin-bottom: 40px; }

.recruit-area .btn-common a {
  margin: 0 auto; }

@media screen and (max-width: 767px) {
  .recruit-area .recruit-img .img:first-of-type {
    width: 100%;
    margin-bottom: 8px; }
  .recruit-area .recruit-img .img:nth-of-type(2),
  .recruit-area .recruit-img .img:nth-of-type(3) {
    width: calc(50% - 4px); } }


/* members message css */
#about-page .message-content {
  position: relative;
}
#about-page .message-area .common-title {
  margin-bottom: 55px;
}
  /* #about-page .message-content .message-img {
    width: 55.8%;
    position: absolute;
    z-index: 0; } */
#about-page .message-content:first-of-type {
  margin-bottom: 120px;
  padding-top: 110px;
}
#about-page .message-content:first-of-type .message-img {
  background-image: url(./img/message-01.jpg) ;
  right: calc((100vw - 980px) / 2 * -1);
}
#about-page .message-content:last-of-type {
  padding-top: 200px;
}
#about-page .message-content:last-of-type .message-img {
  background-image: url(./img/message-02.jpg) ;
  left: calc((100vw - 980px) / 2 * -1);
}
#about-page .message-list {
  max-width: 980px;
  margin: 0 auto;
}
  #about-page .message-content .message-img {
    padding-top: 55%;
    width: 50vw;
    background: no-repeat top center/cover;
    position: absolute;
    top: 0;
  }
    /* #about-page .message-content:first-of-type .message-img {
      top: 0;
      right: 0; }
  #about-page .message-content:nth-of-type(2) .message-img {
    top: 0;
    left: 0; } */
  #about-page .message-content .message-text {
    /* margin-top: 6%; */
    width: calc(50% + 55px);
    /* min-width: 400px; */
    padding: 55px 55px 45px 55px;
    background-color: #fff;
    /* -webkit-box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.15); */
    position: relative;
    box-sizing: border-box;
    z-index: 1;
    text-align: right;
  }
    #about-page .message-content .message-text span {
      display: inline-block;
      font-size: 14px;
      font-weight: 500;
      line-height: 30px;
      letter-spacing: 1.5px;
    }
    #about-page .message-content .message-text .message-text-title {
      text-align: left;
    }
    #about-page .message-content .message-text h3 {
      color: #2D2E34;
      font-size: 26px;
      font-weight: 600;
      margin-bottom: 30px;
      letter-spacing: 5px;
      text-align: left;
    }
    #about-page .message-content .message-text p {
      font-weight: 500;
      text-align: justify;
    }
    #about-page .message-content .message-text a {
      margin-top: 30px;
      font-size: 13px;
      font-weight: 500;
      text-decoration: underline;
      display: inline-block;
    }
    #about-page .message-content .message-text p + p {
      margin-top: 24px;
    }
    #about-page .message-content input {
      display: none;
    }

    #about-page .message-content label {
      display: block;
      cursor: pointer;
      font-weight: bold;
      -webkit-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s;
      position: relative;
      text-align: center;
      color: #2D2E34;
      margin-top: 16px;
    }

    #about-page .message-content label.label-open::before,
    #about-page .message-content label.label-close::before {
      content: "";
      display: inline-block;
      width: 12px;
      height: 12px;
      border-bottom: 2px solid #2D2E34;
      border-right: 2px solid #2D2E34;
    }

    #about-page .message-content label.label-open::before {
      transform: rotate(45deg) translateY(-50%);
      margin-right: 16px;
    }

    #about-page .message-content label.label-close::before {
      transform: rotate(-135deg) translateY(-50%);
      margin-right: 8px;
      margin-bottom: 3px;
    }

    #about-page .message-content .css-acc:checked + label.label-open {
      display: none;
    }

    #about-page .message-content .acc-show {
      height: 0;
      overflow: hidden;
      opacity: 0;
      margin-top: 0;
      -webkit-transition: all .5s;
      -o-transition: all .5s;
      transition: all .5s;
      position: relative;
    }


    #about-page .message-content .css-acc:checked ~ .acc-show {
      height: auto;
      opacity: 1;
      margin-top: 24px;
    }

    #about-page .message-content .css-acc:checked ~ .acc-show::before {
      opacity: 1;
      padding-top: 24px;
    }


#about-page .profile-area table {
  max-width: 768px;
  width: 100%;
  border-spacing: 0;
  margin: 0 auto;
  border-top: 1px solid #2D2E34; }
  #about-page .profile-area table th,
  #about-page .profile-area table td {
    font-weight: normal;
    padding: 24px 40px;
    border-bottom: 1px solid #2D2E34;
    text-align: left;
    vertical-align: top;}
  #about-page .profile-area table th {
    width: 22%; }
  #about-page .profile-area table td {
    width: 78%; }
@media screen and (min-width: 1600px) {
      #about-page .message-content .message-img {
        width: calc(50% + 310px);
      }
      #about-page .message-content:first-of-type .message-img {
        right: -310px;
      }
      #about-page .message-content:last-of-type .message-img {
        left: -310px;
      }
    }
  @media screen and (max-width: 1020px) and  (min-width: 980px) {
    #about-page .message-content:first-of-type .message-img {
      right: -20px;
    }
    #about-page .message-content:last-of-type .message-img {
      left: -20px;
    }
  }
  @media screen and (max-width: 979px) {
    #about-page .message-area {
      padding-bottom: 50px !important;
    }
    #about-page .message-content .message-img {
      padding-top: 70%;
      width: 100vw;
      position: relative;
    }
    #about-page .message-content:first-of-type {
      margin-bottom: 60px;
      padding-top: 0;
    }
    #about-page .message-content:first-of-type .message-img {
      position: relative;
      right: 20px;
    }
    #about-page .message-content .message-text {
      width: 100%;
      top: -55px;
    }
    #about-page .message-content:last-of-type {
      padding-top: 0;
    }
    #about-page .message-content:last-of-type .message-img {
      left: -20px;
    }
  }
@media screen and (max-width: 767px) {
  #about-page .message-area {
    padding-top: 60px !important;
  }
  #about-page .message-area .common-title {
    margin-bottom: 40px;
  }
  #about-page .message-content .message-text {
    padding: 30px;
    top: -30px;
  }
  #about-page .message-content:first-of-type {
    margin-bottom: 40px;
  }
  #about-page .message-content .message-img {
    padding-top: 80%;
  }
  /* #about-page .message-content:first-of-type {
    margin-bottom: 80px; }
  #about-page .message-content .message-img {
    width: 100vw;
    margin-left: -20px;
    position: relative; }
  #about-page .message-content .message-text {
    margin-top: -16px;
    width: 100%;
    min-width: 100%;
    padding: 24px; }
    #about-page .message-content .message-text h3 {
      margin-bottom: 24px;
      font-size: 1.5rem; }
  #about-page .profile-area table th,
  #about-page .profile-area table td {
    padding: 8px 16px; }
  #about-page .profile-area table th {
    width: 30%; }
  #about-page .profile-area table td {
    width: 70%; }  */
  }
#about-page .message-area {
  padding: 90px 0 100px;
  position: relative;
}
#about-page .message-area:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #eee;
  z-index: -2;
}

#recruit-page .interview-area {
    padding: 100px 0 10px;
}
#recruit-page .interview-area .common-title {
  margin-bottom: 55px;
}
#recruit-page .interview-area .interview-list {
  max-width: 980px;
  margin: 0 auto;
}
#recruit-page .vision-area {
  padding: 150px 0 70px;
}
#recruit-page .vision-area .content-wrap {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
}
#recruit-page .vision-area h2 {
  margin-bottom: 70px;
}
#recruit-page .vision-area h2 span {
  color: #2D2E34;
  font-size: 28px;
  font-weight: 600;
  line-height: 50px;
  text-align: center;
  letter-spacing: 9px;
}
#recruit-page .vision-area p {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
  text-align: center;
  letter-spacing: 1.5px;
}
#recruit-page .vision-area p:last-child {
  margin-bottom: 0;
}
#recruit-page .vision-area-news {
  margin-bottom: 60px;
}
#recruit-page .vision-area-news p {
  margin-bottom: 0;
}
#recruit-page .vision-area-news p:first-child {
  margin-bottom: 15px;
}
#recruit-page .vision-area-news p a {
  padding: 2px 6px 4px;
  text-decoration: underline;
  font-size: 24px !important;
  background: linear-gradient(to right, #3F6F89, #AF8F50);
  color: #fff;
  letter-spacing: 4px !important;
}
#recruit-page .vision-area .content-wrap > img {
  width: 400px;
  height: auto;
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
  #recruit-page .vision-area .btn-common a:before {
    height: 90px;
  }
  #recruit-page .vision-area .btn-common a {
    max-width: 400px;
    margin: 70px auto 0;
    height: 90px;
    line-height: 20px;
    border-radius: 60px;
  }
  #recruit-page .vision-area .btn-common a span {
  }
  #recruit-page .vision-area .btn-common a span:first-child {
    font-size: 18px;
    line-height: 60px;
    letter-spacing: 3.5px;
  }
  #recruit-page .vision-area .btn-common a span:last-child {
    position: relative;
    top: -10px;
    font-size: 14px;
    letter-spacing: 1.5px;
  }
  @media screen and (max-width: 979px) {
    #recruit-page .vision-area h2 {
      margin-bottom: 40px;
    }
    #recruit-page .vision-area h2 span {
      font-size: 24px;
    }
  }
  @media screen and (max-width: 767px) {
    #recruit-page .vision-area {
      padding: 80px 0 60px;
    }
    #recruit-page .vision-area-news {
      margin-bottom: 40px;
    }
    #recruit-page .vision-area-news p a {
      padding: 2px 6px 4px;
      font-size: 20px !important;
      letter-spacing: 2px !important;
    }
    #recruit-page .vision-area .content-wrap {
      margin: 0 20px;
    }
    #recruit-page .vision-area .content-wrap > img {
      width: 250px;
      top: -40px;
    }
    #recruit-page .vision-area h2 {
      margin-bottom: 30px;
    }
    #recruit-page .vision-area h2 span {
      font-size: 18px;
      line-height: 35px;
      letter-spacing: 5px;
    }
    #recruit-page .vision-area p {
      font-size: 14px;
      line-height: 27px;
    }
    #recruit-page .vision-area .btn-common a {
      margin-top: 50px;
      height: 80px;
    }
    #recruit-page .vision-area .btn-common a span:first-child {
      font-size: 16px;
      line-height: 54px;
    }

  }
  #recruit-page .interview-area .interview-content {
    position: relative;
    margin-bottom: 90px;
  }
  #recruit-page .interview-area .interview-content:nth-child(odd) .interview-img {
    left: calc((100vw - 980px) / 2 * -1);
  }
  #recruit-page .interview-area .interview-content:nth-child(even) .interview-img {
    right: calc((100vw - 980px) / 2 * -1);
  }
  #recruit-page .interview-area .interview-content:nth-child(odd) .interview-member {
    padding-right: 90px;
  }
  #recruit-page .interview-area .interview-content:nth-child(even) .interview-member {
    padding-left: 90px;
  }
  #recruit-page .interview-area .interview-content:nth-child(odd) .interview-text {
    margin-left: auto;
  }
  #recruit-page .interview-area .interview-content:nth-child(1) {
    padding-top: 260px;
  }
  #recruit-page .interview-area .interview-content:nth-child(1) .interview-img {
    background-image: url(./img/interview-01.jpg);
  }
  #recruit-page .interview-area .interview-content:nth-child(2) {
    padding-top: 130px;
  }
  #recruit-page .interview-area .interview-content:nth-child(2) .interview-img {
    background-image: url(./img/interview-03.jpg);
    /* background-image: url(./img/interview-02-new.jpg); */
  }
    #recruit-page .interview-area .interview-content:nth-child(3) {
    padding-top: 230px;
  }
  #recruit-page .interview-area .interview-content:nth-child(3) .interview-img {
    background-image: url(./img/interview-04.jpg);
  }
  #recruit-page .interview-area .interview-img {
    padding-top: 55%;
    width: 50vw;
    background: no-repeat top center/cover;
    position: absolute;
    top: 0;
    z-index: 0;
  }
  #recruit-page .interview-area .interview-member {
    background-color: rgba(45, 46, 52, .8);
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    color: #fff;
    padding: 35px;
    width: 100%;
  }
  #recruit-page .interview-area .interview-member h4 {
    margin-bottom: 15px;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 3.5px;
  }

  #recruit-page .interview-area .interview-member p {
    font-size: 14px;
    font-weight: 400;
    line-height: 27px;
    text-align: justify;
  }

  #recruit-page .interview-area .interview-text {
    padding: 55px;
    width: calc(50% + 55px);
    background-color: #fff;
    position: relative;
    box-sizing: border-box;
    z-index: 1;
    text-align: right;
  }
    #recruit-page .interview-area .interview-text h3 {
      margin-bottom: 30px;
      color: #2D2E34;
      font-weight: 600;
      font-size: 18px;
      line-height: 30px;
      letter-spacing: 2px;
      text-align: left;
    }
    #recruit-page .interview-area .interview-text p {
      font-weight: 500;
      text-align: justify;
    }
    #recruit-page .interview-area .interview-text a {
      margin-top: 30px;
      font-size: 13px;
      font-weight: 500;
      text-decoration: underline;
      display: inline-block;
    }
    #recruit-page .interview-area .interview-text .interview-name {
      display: block;
      text-align: right; }

    @media screen and (min-width: 1600px) {
      #recruit-page .interview-area .interview-content .interview-img {
        width: calc(50% + 310px);
      }
      #recruit-page .interview-area .interview-content:nth-child(odd) .interview-img {
        left: -310px;
      }
      #recruit-page .interview-area .interview-content:nth-child(even) .interview-img {
        right: -310px;
      }
    }
    @media screen and (max-width: 1020px) and  (min-width: 980px) {
    #recruit-page .interview-area .interview-content:nth-child(1) {
      padding-top: 200px;
    }
    #recruit-page .interview-area .interview-content:nth-child(1) .interview-img {
      left: -20px;
    }
    #recruit-page .interview-area .interview-content:nth-child(even) .interview-img {
      right: -20px;
    }
    #recruit-page .interview-area .interview-content:nth-child(3) {
      padding-top: 150px;
    }
    #recruit-page .interview-area .interview-content:nth-child(odd) .interview-img {
      left: -20px;
    }
    /* #recruit-page .interview-area .interview-member h4 {
      font-size: 1.18vw;
    }

    #recruit-page .interview-area .interview-member p {
      font-size: 0.88vw;
    } */
  }
  @media screen and (max-width: 979px) {
    #recruit-page .interview-area .interview-content {
      margin-bottom: 0;
      padding-top: 0 !important;
    }
    #recruit-page .interview-area .interview-img {
      padding-top: 70%;
      width: 100vw;
      position: relative;
    }
    #recruit-page .interview-area .interview-member {
      padding: 35px 20px 90px !important;
    }
    #recruit-page .interview-area .interview-content:nth-child(odd) .interview-img {
      left: -20px;
    }
    #recruit-page .interview-area .interview-content:nth-child(even) .interview-img {
      right: 20px;
    }
    #recruit-page .interview-area .interview-text {
      width: 100%;
      top: -55px;
    }
  }

  @media screen and (max-width: 767px) {
    #recruit-page .interview-area {
      padding-top: 60px;
    }
    #recruit-page .interview-area .interview-member {
      padding: 30px 20px 60px !important;
    }
    #recruit-page .interview-area .interview-img {
      padding-top: 150%;
    }
    #recruit-page .interview-area .interview-member h4 {
      margin-bottom: 10px;
      font-size: 15px;
      letter-spacing: 2px;
    }
    #recruit-page .interview-area .interview-member p {
      font-size: 12px;
      line-height: 23px;
    }
    #recruit-page .interview-area .interview-text {
      padding: 30px;
      top: -30px
    }
    #recruit-page .interview-area .interview-text h3 {
      margin-bottom: 20px;
    }
    /* #recruit-page .interview-area .interview-content {
      margin-bottom: 64px; }
      #recruit-page .interview-area .interview-content .interview-img {
        margin-left: -20px; }
      #recruit-page .interview-area .interview-content:nth-of-type(3) {
        margin-bottom: 0; }
    #recruit-page .interview-area .interview-img {
      width: 100vw;
      position: relative; }
    #recruit-page .interview-area .interview-text {
      margin-top: -12px;
      width: 100%;
      min-width: 100%;
      padding: 20px; }
      #recruit-page .interview-area .interview-text .interview-name {
        display: block;
        text-align: right; }
      #recruit-page .interview-area .interview-member {
      width: 100%;
      bottom: 0;
      padding: 12px 16px 24px;
      }

      #recruit-page .interview-area .interview-content:nth-of-type(2) .interview-member {
        padding: 12px 16px 24px;
      }
      #recruit-page .interview-area .interview-member h4 {
        font-size: 1rem;
      }

      #recruit-page .interview-area .interview-member p {
        font-size: 0.75rem; */
      /* } */
    }

    @media screen and (max-width: 320px) {
      #recruit-page .interview-area .interview-member h4 {
        font-size: 0.875rem;
      }

      #recruit-page .interview-area .interview-member p {
        font-size: 0.6rem;
      }

    }
  #recruit-page .welfare-area {
    padding: 80px 0 100px;
  }
  #recruit-page .welfare-area .common-title {
    margin-bottom: 65px;
  }
  #recruit-page .welfare-area .welfare-list {
    align-items: stretch;
  }
  #recruit-page .welfare-area .welfare-list > li {
    margin-right: 15px;
    width: calc(33.333% - 10px);
    background-color: #eee;
    padding: 50px 55px 40px;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    box-sizing: border-box;
    cursor: pointer;
  }
  #recruit-page .welfare-area .welfare-list > li:last-child {
    margin-right: 0;
  }
  #recruit-page .welfare-area .welfare-top {
    margin-bottom: 25px;
    width: 100%;
  }
  #recruit-page .welfare-area .welfare-icon {
    margin: 0 auto 25px;
    width: 120px;
    height: 120px;
    background: #2D2E34;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
  }
    #recruit-page .welfare-area .welfare-icon img {
      width: auto;
    height: 60px;
  }
  #recruit-page .welfare-area .welfare-title {
    margin-bottom: 30px;
    text-align: center;
  }
  #recruit-page .welfare-area .welfare-title p {
    color: #2D2E34;
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 30px;
    text-transform: uppercase;
  }
  #recruit-page .welfare-area .welfare-title h3 {

  }
    #recruit-page .welfare-area .welfare-list > li .img {
      width: 90%;
      max-width: 106px;
      margin: 0 auto 16px; }
    #recruit-page .welfare-area .welfare-list > li h3 {
      font-weight: 500;
      font-size: 18px;
      letter-spacing: 2px;
    }
    #recruit-page .welfare-area .welfare-list > li .welfare-content-wrap {
      text-align: center;
    }

    #recruit-page .welfare-area .welfare-list > li .link-s {
      margin: 0 auto;
      display: inline-block;
    }

    #recruit-page .welfare-area .welfare-list > li .welfare-content-list {
      width: 100%;
      display: inline-block;
      /* min-width: 60%; */
    }
      #recruit-page .welfare-area .welfare-list > li .welfare-content-list li {
        font-size: 0.875rem;
        position: relative;
        padding-left: 14px;
        text-align: left;}
        #recruit-page .welfare-area .welfare-list > li .welfare-content-list li::before {
          content: "";
          width: 4px;
          height: 4px;
          background-color: #2D2E34;
          border-radius: 50%;
          position: absolute;
          top: 9px;
          left: 0; }
      #recruit-page .welfare-area .welfare-list > li .welfare-content-list li + li {
        margin-top: 4px; }
  #recruit-page .welfare-area .welfare-content {
    margin-bottom: 24px; }
    #recruit-page .welfare-area .welfare-content h4 {
      font-size: 1rem;
      font-weight: bold;
      position: relative;
      padding-left: 20px;
      margin-bottom: 8px; }
      #recruit-page .welfare-area .welfare-content h4::before {
        content: "";
        width: 8px;
        height: 8px;
        display: block;
        background-color: #2D2E34;
        border-radius: 50%;
        position: absolute;
        top: 9px;
        left: 0; }
    #recruit-page .welfare-area .welfare-content p {
      font-size: 0.875rem; }
    #recruit-page .welfare-area .welfare-content:last-of-type {
      margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    #recruit-page .welfare-area {
      padding: 60px 0 80px;
    }
    #recruit-page .welfare-area .common-title {
      margin-bottom: 40px;
    }
    #recruit-page .welfare-area .welfare-list > li {
      margin-right: 0;
      width: 100%;
      /* padding: 20px 56px; */
      margin-bottom: 24px; }
      #recruit-page .welfare-area .welfare-list > li:last-of-type {
        margin-bottom: 0; }
      #recruit-page .welfare-area .welfare-list > li .img {
        width: 90%;
        max-width: 106px;
        margin: 0 auto 16px; } }
  #recruit-page .recruit-info-area {
    padding: 80px 0;
    position: relative;
    z-index: 1; }
    #recruit-page .recruit-info-area .btn-common p {
      font-size: 20px;
      font-weight: 500;
      display: inline-block;
      position: relative;
    }
    #recruit-page .recruit-info-area .btn-common p:before {
      content: '';
      width: 2px;
      height: 25px;
      background: #2D2E33;
      position: absolute;
      bottom: 2px;
      left: -25px;
      transform: rotate(-40deg);
    }
    #recruit-page .recruit-info-area .btn-common p:after {
      content: '';
      width: 2px;
      height: 25px;
      background: #2D2E33;
      position: absolute;
      bottom: 2px;
      right: -20px;
      transform: rotate(40deg);
    }
    #recruit-page .recruit-info-area .btn-common a {
      margin: 10px auto 0;
      background: #AF8F50;
    }
    #recruit-page .recruit-info-area .content-wrap {
      max-width: 980px;
      margin: 0 auto;
    }
    #recruit-page .recruit-info-area .content-wrap h2 {
      margin-bottom: 40px;
    }
    #recruit-page .recruit-info-area .content-wrap h2 .ttl-en {
      margin-bottom: 5px;
      font-family: 'Roboto', sans-serif;
      font-size: 36px;
      font-weight: 600;
      line-height: 50px;
      letter-spacing: 0;
    }
    #recruit-page .recruit-info-area .content-wrap h2 .ttl-jp {
      font-size: 15px;
      font-weight: 500;
      letter-spacing: 1.5px;
    }
    #recruit-page .recruit-info-area .content-wrap > p {
      max-width: 768px;
      margin: 0 auto 80px;
      text-align: center;
    }
    @media screen and (max-width: 980px) {
      #recruit-page .recruit-info-area .content-wrap {
        margin-right: 20px !important;
        margin-left: 20px !important;
      }
    }
    #recruit-page .recruit-info-area .info-content + .info-content {
      margin-top: 80px; }
    #recruit-page .recruit-info-area .info-content {
      text-align: center; }
      #recruit-page .recruit-info-area .info-content h3 {
        display: inline-block;
        width: 410px;
        color: #fff;
        height: 56px;
        line-height: 56px;
        font-size: 1.125rem;
        font-weight: bold;
        border-radius: 28px;
        letter-spacing: .05em; }
        #recruit-page .recruit-info-area .info-content h3 strong {
          font-size: 1.5rem; }
      #recruit-page .recruit-info-area .info-content .content-inner {
        padding: 80px 80px 45px;
        background-color: #fff;
        margin-top: -28px; }
        #recruit-page .recruit-info-area .intro-content .content-inner {
          padding-top: 70px;
          text-align: center;
        }
      #recruit-page .recruit-info-area .intro-content .content-inner  h4 {
        margin-bottom: 20px;
        font-size: 22px;
        font-weight: bold;
        display: inline-block;
        position: relative;
      }
      #recruit-page .recruit-info-area .intro-content .content-inner  h4:before {
        content: '';
        width: 15px;
        height: 15px;
        background: #2D2E33;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: -30px;
        transform: translateY(-50%);
      }
      #recruit-page .recruit-info-area .intro-content .content-inner  p {

      }
    #recruit-page .recruit-info-area .flow-content .content-inner {
      padding: 10px 0 0 0; }
      #recruit-page .recruit-info-area .flow-content .content-inner.new-grad {
        padding: 80px 60px 60px; }
    #recruit-page .recruit-info-area .flow-content .flow-list {
      padding: 50px 0 30px;
      position: relative;
    }
    #recruit-page .recruit-info-area .flow-content .content-inner.new-grad .flow-list {
      padding: 50px 0 30px;
      position: relative;
      border: 1px solid #ccc;
    }
    #recruit-page .recruit-info-area .flow-content .flow-list:first-child {
      margin-bottom: 50px;
    }
    #recruit-page .recruit-info-area .flow-content .flow-list > div {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
    }
    @media screen and (max-width: 768px) {
      #recruit-page .recruit-info-area .flow-content .flow-list > div {
        justify-content: flex-start;
      }
    }
    #recruit-page .recruit-info-area .flow-content .flow-list > p {
      margin-top: 20px;
      width: 100%;
      font-size: 14px;
      text-align: center;
    }
    #recruit-page .recruit-info-area .flow-content li {
      width: 25%;
      position: relative;
     }
      #recruit-page .recruit-info-area .flow-content .flow-list li:not(:last-child):before {
        content: '';
        width: 15px;
        height: 30px;
        background: url(./img/right-triangle.svg) no-repeat center/contain;
        position: absolute;
        top: 50%;
        right: -5%;
        transform: translateY(-50%);
      }
      #recruit-page .recruit-info-area .flow-content li .number {
        display: block;
        margin: 0 auto 20px;
        border: none;
        font-family: 'Roboto', sans-serif;
        line-height: 31px;
        font-size: 15px;
        font-weight: 600;
        text-transform: uppercase;
        text-align: center; }
        #recruit-page .recruit-info-area .flow-content li .flow-icon {
          margin: 0 auto 25px;
          width: 70px;
          height: 70px;
          display: flex;
          justify-content: center;
          align-items: center;
          background: #eee;
          border-radius: 50%;
        }
        #recruit-page .recruit-info-area .flow-content li .flow-icon img {
          width: auto;
          height: 35px;
        }
      #recruit-page .recruit-info-area .flow-content li h4 {
        font-size: 16px;
        font-weight: 600;
        line-height: 30px;
        text-align: center;
        letter-spacing: 1.5px;
      }
        #recruit-page .recruit-info-area .flow-content li h4 span {
          display: block;
          font-size: 12px;
          font-weight: 600;
          line-height: 20px;
        }
      #recruit-page .recruit-info-area .flow-content li .img {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 88px;
        margin: 0 auto; }
      #recruit-page .recruit-info-area .flow-content li:first-of-type .img {
        width: 59px; }
      #recruit-page .recruit-info-area .flow-content li:nth-of-type(2) .img {
        width: 65px; }
      #recruit-page .recruit-info-area .flow-content li:nth-of-type(3) .img {
        width: 88px; }
      #recruit-page .recruit-info-area .flow-content li:nth-of-type(4) .img {
        width: 79px; }

    /* 20250612 */
    @media screen and (min-width: 768px) {
      #recruit-page .recruit-info-area .flow-content .flow-list--new li {
        width: 20%;
      }
    }
    #recruit-page .recruit-info-area .flow-content .flow-list--new li .flow-icon img {
      height: 45px;
    }

    @media screen and (max-width: 767px) {
      #recruit-page .recruit-info-area .flow-content .flow-list li:nth-of-type(4):before {
        content: none !important;
      }
    }
    /* ここまで */

    #recruit-page .recruit-info-area .conditions-content table {
      /* max-width: 768px; */
      width: 100%;
      margin: auto;
      border-spacing: 0; }
      #recruit-page .recruit-info-area .conditions-content table th {
        width: 180px;
        font-weight: normal;
        text-align: left;
        vertical-align: top; }
        #recruit-page .recruit-info-area .conditions-content table th span {
          display: block;
          color: #2D2E34;
          font-size: 15px;
          font-weight: 500;
          line-height: 30px;
          /* height: 32px; */
          /* line-height: 31px;  */
        }
      #recruit-page .recruit-info-area .conditions-content table td {
        padding-bottom: 35px;
        width: calc(100% - 180px);
        font-size: 15px;
        font-weight: 500;
        line-height: 30px;
        text-align: left;
      }
      #recruit-page .recruit-info-area .conditions-content table td a {
        color: #2D2E34;
        text-decoration: underline;
      }
      .page-template-page-recruit .common-recruit a {
      }
      .page-template-page-recruit .common-recruit a:after {
        content: '';
        width: 2px;
        height: 100px;
        background: #fff;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
        animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
        z-index: 1;
      }
      @-webkit-keyframes sdl {
        0% {
          -webkit-transform: scale(1, 0);
                  transform: scale(1, 0);
          -webkit-transform-origin: 0 0;
                  transform-origin: 0 0;
        }
        35% {
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1);
          -webkit-transform-origin: 0 0;
                  transform-origin: 0 0;
        }
        35.1% {
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1);
          -webkit-transform-origin: 0 100%;
                  transform-origin: 0 100%;
        }
        70%, 100% {
          -webkit-transform: scale(1, 0);
                  transform: scale(1, 0);
          -webkit-transform-origin: 0 100%;
                  transform-origin: 0 100%;
        }
      }

      @keyframes sdl {
        0% {
          -webkit-transform: scale(1, 0);
                  transform: scale(1, 0);
          -webkit-transform-origin: 0 0;
                  transform-origin: 0 0;
        }
        35% {
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1);
          -webkit-transform-origin: 0 0;
                  transform-origin: 0 0;
        }
        35.1% {
          -webkit-transform: scale(1, 1);
                  transform: scale(1, 1);
          -webkit-transform-origin: 0 100%;
                  transform-origin: 0 100%;
        }
        70%, 100% {
          -webkit-transform: scale(1, 0);
                  transform: scale(1, 0);
          -webkit-transform-origin: 0 100%;
                  transform-origin: 0 100%;
        }
      }

      .page-template-page-recruit .common-recruit-title h2 {
        font-size: 100px;
        line-height: 130px;
      }
      .page-template-page-recruit .common-recruit-title p {
        font-size: 20px;
        letter-spacing: 4px;
      }
    @media screen and (max-width: 979px) {
      .page-template-page-recruit .common-recruit-title h2 {
        font-size: 80px;
        line-height: 100px;
      }
    }
    @media screen and (max-width: 767px) {
      .page-template-page-recruit .common-recruit a:after {
        height: 70px;
      }
      .page-template-page-recruit .common-recruit-title h2 {
        font-size: 50px;
        line-height: 50px;
      }
      .page-template-page-recruit .common-recruit-title p {
        font-size: 16px;
        letter-spacing: 2px;
      }
    }
      @media screen and (max-width: 767px) {
      #recruit-page .recruit-info-area {
        padding: 64px 0; }
        #recruit-page .recruit-info-area .flow-content li:nth-child(2)::before {
          display: none;
        }
        #recruit-page .recruit-info-area .content-wrap > p {
          margin: 0 auto 64px; }
        #recruit-page .recruit-info-area .info-content + .info-content {
          margin-top: 64px; }
        #recruit-page .recruit-info-area .info-content h3 {
          display: inline-block;
          width: 280px;
          height: 40px;
          line-height: 40px;
          font-size: 1rem;
          border-radius: 20px; }
          #recruit-page .recruit-info-area .info-content h3 strong {
            font-size: 1.25rem; }
        #recruit-page .recruit-info-area .info-content .content-inner {
          padding: 60px 30px 50px;
          margin-top: -20px; }
          #recruit-page .recruit-info-area .intro-content .content-inner h4 {
            font-size: 20px;
          }
        #recruit-page .recruit-info-area .flow-content .content-inner {
          padding: 0; }
        #recruit-page .recruit-info-area .flow-content li {
          margin-bottom: 20px;
          width: 50%;
          /* padding: 40px 20px 20px; */
          /* width: 100%;  */
        }
        #recruit-page .recruit-info-area .flow-content .content-inner.new-grad {
          padding: 60px 20px 40px;
        }
        #recruit-page .recruit-info-area .flow-content .content-inner.new-grad .flow-list {
        }

        #recruit-page .recruit-info-area .flow-content li .flow-icon {
          margin-bottom: 10px;
        }
        #recruit-page .recruit-info-area .flow-content .flow-list > p {
          margin-top: 0;
          margin-bottom: 30px;

        }
        #recruit-page .recruit-info-area .flow-content li h4 {
          font-size: 15px;
        }
        #recruit-page .recruit-info-area .flow-content .content-inner.new-grad .flow-list {
          padding: 30px 0 0px;
        }
          #recruit-page .recruit-info-area .flow-content li h4 {
            margin-bottom: 24px;
            height: auto; }
          #recruit-page .recruit-info-area .flow-content li .img {
            height: auto; }
          #recruit-page .recruit-info-area .flow-content li .number {
            width: 90%;
            margin: 0 auto 8px; }
        #recruit-page .recruit-info-area .conditions-content dt {
          margin-bottom: 8px; }
          #recruit-page .recruit-info-area .conditions-content dt span {
            display: block;
            border-bottom: 2px solid #eee;
            padding: 0;
            font-weight: 500;
            text-align: left;
            height: 40px;
            line-height: 31px; }
        #recruit-page .recruit-info-area .conditions-content dd {
          text-align: left; }
          #recruit-page .recruit-info-area .conditions-content dd a {
            text-decoration: underline;
            text-align: left; }
        #recruit-page .recruit-info-area .conditions-content dl + dl {
          margin-top: 24px; } }
  #recruit-page .new-graduate-area {
    background-color: #eee; }
    #recruit-page .new-graduate-area .info-content h3 {
      background-color: #2D2E34; }
    #recruit-page .new-graduate-area .wakuwaku-list li {
      width: calc(100% / 6 - 20px); }
      #recruit-page .new-graduate-area .wakuwaku-list li .number {
        display: block;
        text-align: center;
        color: #2D2E34;
        font-size: 3.5rem; }
      #recruit-page .new-graduate-area .wakuwaku-list li h4 {
        font-size: 1.125rem;
        font-weight: bold;
        text-align: center;
        margin-bottom: 24px; }
      #recruit-page .new-graduate-area .wakuwaku-list li .img {
        width: 90%;
        max-width: 126px;
        margin: 0 auto 24px; }
      #recruit-page .new-graduate-area .wakuwaku-list li p {
        text-align: left;
        font-size: 0.875rem; }
    @media screen and (max-width: 767px) {
      #recruit-page .recruit-info-area .flow-content .flow-list {
        padding: 60px 30px 10px;
      }
      #recruit-page .new-graduate-area .wakuwaku-list li {
        width: 48%; }
        #recruit-page .new-graduate-area .wakuwaku-list li .number {
          font-size: 2.5rem;
          line-height: 1.2; }
        #recruit-page .new-graduate-area .wakuwaku-list li h4 {
          font-size: 1rem;
          margin-bottom: 8px; }
        #recruit-page .new-graduate-area .wakuwaku-list li .img {
          margin: 0 auto 16px; } }
  #recruit-page .mid-career-recruitment-area {
    background-color: #eee; }
    #recruit-page .food-creator-area {
      background-color: #eee; }
    #recruit-page .mid-career-recruitment-area .info-content h3 {
      background-color: #2D2E34; }
      #recruit-page .food-creator-area .info-content h3 {
        background-color: #2D2E34;
      }
  #recruit-page .entry-area .content-wrap > p {
    max-width: 480px;
    margin: 0 auto 56px; }
  #recruit-page .entry-area .btn-common a {
    margin: 0 auto 80px; }
  #recruit-page .entry-area .entry-info {
    max-width: 480px;
    border: 1px solid #2D2E34;
    padding: 24px;
    margin: 0 auto; }
    #recruit-page .entry-area .entry-info .entry-info-inner {
      max-width: 288px;
      margin: 0 auto; }
      #recruit-page .entry-area .entry-info .entry-info-inner h3 {
        font-size: 1rem;
        margin-bottom: 24px; }
      #recruit-page .entry-area .entry-info .entry-info-inner dl dt,
      #recruit-page .entry-area .entry-info .entry-info-inner dl dd {
        display: inline-block; }
  @media screen and (max-width: 767px) {
    #recruit-page .entry-area .content-wrap > p {
      margin: 0 auto 40px; }
    #recruit-page .entry-area .btn-common a {
      margin: 0 auto 64px; }
    #recruit-page .entry-area .entry-info {
      padding: 20px; } }

.tab-content {
  display: none;
  overflow: hidden; }

#new-graduate:checked ~ .new-graduate-area,
#mid-career-recruitment:checked ~ .mid-career-recruitment-area,
#food-creator:checked ~ .food-creator-area {
  display: block; }

.tabs {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  text-align: center;
}
  .tabs input[name="tab-item"] {
    display: none; }
.tabs-wrap {
  display: flex;
  justify-content: center;
}
  .tabs .tab-item {
    display: inline-block;
    /* width: 50%; */
    width: 33.333%;
    box-sizing: border-box;
    /* width: calc(48% - 20px); */
    /* max-width: 420px; */
    border-radius: 0;
    font-weight: 600;
    font-size: 20px;
    height: 80px;
    line-height: 80px;
    letter-spacing: 2px;
    /* margin-bottom: -8px; */
    cursor: pointer; }
    @media screen and (min-width: 768px) {
        .tabs .tab-item br {
          display: none;
      }
    }
  .tabs .tab-new-graduate {
    color: #2D2E34;
    border-top: 2px solid #2D2E34;
    /* margin-right: 2%; */
    /* margin-left: 20px;  */
  }
  .tabs .tab-mid-career-recruitment {
    color: #2D2E34;
    border-top: 2px solid #2D2E34;
    border-right: 2px solid #2D2E34;
    border-left: 2px solid #2D2E34;
    /* margin-right: 20px;  */
  }
  .tabs .tab-food-creator {
    color: #2D2E34;
    border-top: 2px solid #2D2E34;
    /* margin-right: 20px;  */
  }
  .tabs input:checked + .tab-new-graduate {
    height: 90px;
    line-height: 90px;
    background-color: #2D2E34;
    color: #fff; }
  .tabs input:checked + .tab-mid-career-recruitment {
    height: 90px;
    line-height: 90px;
    background-color: #2D2E34;
    color: #fff; }
    .tabs input:checked + .tab-food-creator {
      height: 90px;
      line-height: 90px;
      background-color: #2D2E34;
      color: #fff; }
    .candidate-content .content-inner {
      padding-right: 60px !important;
      padding-left: 60px !important;
    }
    .candidate-list {
      display: flex;
      align-items: flex-start;
    }
    .candidate-list-item {
      width: calc(33.3333% - 16.666px);
    }
    .candidate-list-item:not(:last-child) {
      margin-right: 25px;
    }
    .candidate-list-item-icon {
      margin-bottom: 20px;
      height: 180px;
      position: relative;
    }
    .candidate-list-item-icon p {
      position: absolute;
      top: 0;
      left: 0;
      font-size: 20px;
      font-weight: 500;
    }
    .candidate-list-item-icon img {
      width: initial;
      height: 100%;
    }
    .candidate-list-item-desc {
      text-align: left;
    }
    .candidate-list-item-desc p {
      margin-bottom: 20px;
      font-size: 15px;
      line-height: 27px;
      font-weight: 500;
      letter-spacing: 0;
    }
    .candidate-list-item-desc ul {
      max-width: 200px;
      margin: 0 auto;
      width: 100%;
      position: relative;
    }
    .candidate-list-item-desc ul:before {
      content: '';
      width: 2px;
      background: #2D2E33;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
    }
    .candidate-list-item-desc  ul li {
      padding: 10px 0;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      font-size: 13px;
      font-weight: 500;
      border: 1px solid #2D2E33;
      background: #fff;
      box-sizing: border-box;
      z-index: 1;
    }
    .candidate-list-item-desc  ul li:first-child {
      border: 1px solid #eee;
      background: #eee;
      font-size: 15px;
    }
    .candidate-list-item-desc  ul li:not(:last-child) {
      margin-bottom: 23px;
    }
    @media screen and (max-width: 980px) {
      .candidate-content .content-inner {
        padding-right: 40px !important;
        padding-left: 40px !important;
      }
    }
  @media screen and (max-width: 767px) {
    .tabs .tab-item {
      font-size: 14px;
      line-height: 20px !important;
      height: 60px;
      display: flex;
      justify-content: center;
      align-items: center;
      /* line-height: 60px;  */
    }
      .tabs input:checked + .tab-new-graduate {
        height: 70px;
        /* height: 70px; */
        /* line-height: 70px; */
      }
      .tabs input:checked + .tab-mid-career-recruitment {
        height: 70px;
       }
       .tabs input:checked + .tab-food-creator {
        height: 70px;
      }
       #recruit-page .recruit-info-area .flow-content .flow-list {

       }
       .candidate-list {
        display: block;
       }
       .candidate-content .content-inner {
        padding-right: 30px !important;
        padding-left: 30px !important;
      }
       .candidate-list-item {
        margin-right: 0 !important;
        width: 100%;
       }
       .candidate-list-item:not(:last-child) {
        margin-bottom: 50px;
       }
       .candidate-list-item-icon {
        height: 150px;
       }
       .candidate-list-item-desc  ul li:not(:last-child) {
        margin-bottom: 15px;
      }
    }

#news-page .news-list {
  /* max-width: 768px; */
  margin: 0 auto; }
  /* #news-page .news-list li + li {
    margin-top: 16px; } */
  #news-page .news-list .date {
    padding: 6px 10px;
    width: 96px;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    height: 32px;
    line-height: 32px;
    color: #2D2E34;
    background-color: #eee;
    margin-bottom: 10px; }
  #news-page .news-list h3 {
    /* width: calc(100% - 120px); */
    width: 100%;
    font-size: 1rem;
    line-height: 28px; }
    #news-page .news-list {
      display: flex;
      flex-wrap: wrap;
    }
    #news-page .news-list li {
      margin-bottom: 40px;
      width: calc(33.333% - 20px);
    }
    #news-page .news-list li a {
      display: block !important;
    }
    #news-page .news-list li:not(:nth-child(3n)) {
      margin-right: 30px;
    }
    #news-page .news-list li .news-list-thumb {
      margin-bottom: 20px;
      width: 100%;
      padding-top: 60%;
      background: no-repeat center/cover;
    }
@media screen and (max-width: 767px) {
  /* #news-page .news-list li + li { */
    /* margin-top: 24px; } */
  /* #news-page .news-list a {
    display: block; } */
  #news-page .news-list .date {
    /* display: block; */
    margin-bottom: 8px; }
  #news-page .news-list h3 {
    width: 100%;
    line-height: 1.7; }
    #news-page .news-list li {
      margin-right: 0 !important;
      margin-bottom: 30px;
      width: 100%;
    }
    #news-page .news-list li .news-list-thumb {
      margin-bottom: 15px;
    }
  }

.detail-page-content {
  padding: 100px 0;
}
.detail-page-content .detail-page {
  max-width: 768px;
  margin: 0 auto;
}

.detail-page-content .detail-page .detail-ttl {
  margin-bottom: 64px;
}

.detail-page-content .detail-page h1 {
  font-weight: bold;
  font-size: 1.5rem;
}

.detail-page-content .detail-content h2,
.detail-page-content .detail-content h3,
.detail-page-content .detail-content p,
.detail-page-content .detail-content div,
.detail-page-content .detail-content ul,
.detail-page-content .detail-content ol {
  margin-bottom: 24px;
}

.detail-page-content .detail-content .border-box h2,
.detail-page-content .detail-content .border-box h3,
.detail-page-content .detail-content .border-box p,
.detail-page-content .detail-content .border-box div,
.detail-page-content .detail-content .border-box ul,
.detail-page-content .detail-content .border-box ol {
  margin-bottom: 0;
}

.detail-page-content .detail-content h2 {
  font-size: 1.125rem;
  font-weight: bold;
  text-align: left;
  padding-bottom: 8px;
  border-bottom: 1px solid #2D2E34;
}

.detail-page-content .detail-content h3 {
  font-size: 1rem;
  font-weight: bold;
  color: #2D2E34;
}

@media screen and (max-width: 500px) {
  .detail-page-content .detail-content iframe {
    width: 100%;
  }
}

.detail-page-content .detail-content a {
  text-decoration: underline;
}

.detail-page-content .detail-content .border-box {
  padding: 24px;
  border: 1px solid #2D2E34;
}

.detail-page-content .detail-content dt,
.detail-page-content .detail-content dd {
  display: inline-block;
}

.detail-page-content .detail-content {
  margin-bottom: 80px;
}

.detail-page-content .detail-page .btn-common a {
  margin: 0 auto;
}

.detail-page-content .detail-content ul {
  list-style: disc;
  padding-left: 20px;
}

.detail-page-content .detail-content ol {
  list-style: decimal;
  padding-left: 20px;
}

.detail-page-content .detail-content ol ol {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .detail-page-content {
    padding: 60px 0;
  }
}

#news-detail-page h1 {
  margin-bottom: 20px;
  letter-spacing: 2px;
}

#news-detail-page .date {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  padding: 0 12px;
  height: 32px;
  line-height: 32px;
  color: #2D2E34;
  background-color: #eee;
  margin-bottom: 16px;
  margin-bottom: 20px;
}


/* トップ メインビジュアル */
.imgEffectAnime_main_text_01 {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-name: imgEffectAnime_main_text_01;
  animation-name: imgEffectAnime_main_text_01;
  visibility: visible !important; }

.imgEffectAnime_main_text_02 {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-name: imgEffectAnime_main_text_02;
  animation-name: imgEffectAnime_main_text_02;
  visibility: visible !important; }

@-webkit-keyframes imgEffectAnime_main_text_01 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  30% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

@keyframes imgEffectAnime_main_text_01 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  30% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes imgEffectAnime_main_text_02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  50% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  80% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

@keyframes imgEffectAnime_main_text_02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  50% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  80% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

/* img effect  ------- cover fadeIn */
.imgEffectAnime_fadeIn {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.0s;
  animation-duration: 1.0s;
  -webkit-animation-name: imgEffectAnime_fadeIn;
  animation-name: imgEffectAnime_fadeIn;
  visibility: visible !important; }

@-webkit-keyframes imgEffectAnime_fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

@keyframes imgEffectAnime_fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

/* img effect  ------- top-dowm */
.imgEffectAnime {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.0s;
  animation-duration: 1.0s;
  -webkit-animation-name: imgEffectAnime;
  animation-name: imgEffectAnime;
  visibility: visible !important; }

@-webkit-keyframes imgEffectAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

@keyframes imgEffectAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

/* img effect  ------- left-right */
.imgEffectAnime_left_right {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.0s;
  animation-duration: 1.0s;
  -webkit-animation-name: imgEffectAnime_left_right;
  animation-name: imgEffectAnime_left_right;
  visibility: visible !important; }

@-webkit-keyframes imgEffectAnime_left_right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

@keyframes imgEffectAnime_left_right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

/* img effect  ------- right - left */
.imgEffectAnime_right_left {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.0s;
  animation-duration: 1.0s;
  -webkit-animation-name: imgEffectAnime_right_left;
  animation-name: imgEffectAnime_right_left;
  visibility: visible !important; }

@-webkit-keyframes imgEffectAnime_right_left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

@keyframes imgEffectAnime_right_left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

/* img effect  ------- _bottom_top */
.imgEffectAnime_bottom_top {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.0s;
  animation-duration: 1.0s;
  -webkit-animation-name: imgEffectAnime_bottom_top;
  animation-name: imgEffectAnime_bottom_top;
  visibility: visible !important; }

@-webkit-keyframes imgEffectAnime_bottom_top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -ms-transform: translateY(40px);
    transform: translateY(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

@keyframes imgEffectAnime_bottom_top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -ms-transform: translateY(40px);
    transform: translateY(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

/* img effect  ------- cover fade in */
.imgEffectAnime_bg_cover {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.0s;
  animation-duration: 1.0s;
  -webkit-animation-name: imgEffectAnime_bg_cover;
  animation-name: imgEffectAnime_bg_cover;
  visibility: visible !important; }

@-webkit-keyframes imgEffectAnime_bg_cover {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  50% {
    opacity: 0.7;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

@keyframes imgEffectAnime_bg_cover {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 0.4;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

/* #top-head {
  height: 100px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999;
}
  #top-head .logo {
    width: 140px;
    line-height: 100px; }
  #top-head .nav li {
    display: inline-block; }
    #top-head .nav li a {
      color: #fff;
      font-family: 'Roboto', sans-serif;
      line-height: 100px;
      font-size: 1rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0;
      position: relative;}
      #top-head .nav li a.current:before {
        width: 100%;
      }
  @media screen and (min-width: 768px) {
    #top-head .nav li a {
      overflow: hidden;
    }
    #top-head .nav li a::before {
      content: "";
      transition: .3s;
      display: block;
      width: 0;
      height: 2px;
      background-color: #fff;
      position: absolute;
      bottom: -20px;
      left: 0;
    }
    #top-head .nav li a:hover::before {
      width: 100%;
    }
  }
  #top-head .nav li + li {
    margin-left: 50px; }
  @media screen and (max-width: 979px) {
    #top-head .logo {
      width: 100px;
    }
    #top-head .nav li + li {
      margin-left: 30px;
    }
    #top-head .nav li a {
      line-height: 80px;
      font-size: 15px;
    }
  }
  @media screen and (max-width: 767px) {
    #top-head .logo {
      line-height: 80px;
    }
    #top-head .nav li a {
      line-height: 30px;
    }
    #top-head .nav li {
      margin-right: 30px;
      margin-left: 0 !important;
    }
  } */

/* footer */
#back-to-top {
  padding: 15px 0;
  background: #eee;
  box-sizing: border-box;
  text-align: center;
  transition: all .3s;
  cursor: pointer;
}
#back-to-top:hover {
  opacity: .7;
}
#back-to-top p {
  color: #2D2E34;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  #back-to-top p {
    font-size: 12px;
  }
}
footer {
  background-color: #2D2E34;
  padding: 60px 0 30px; }
  footer .footer-top {
    padding-bottom: 20px;
    border-bottom: 1px solid #777;
    margin-bottom: 25px; }
    footer .footer-top li {
      display: inline-block;
      line-height: 20px; }
      footer .footer-top li a {
        color: #fff;
        font-family: 'Roboto', sans-serif;
        font-size: 13px;
        font-weight: 500;
        line-height: 18px;
        text-transform: uppercase;

      }
      /* footer .footer-top ul > div {
        display: none;
      } */
    @media screen and (min-width: 768px) {
      footer .footer-top a:hover {
        opacity: 0.7;
        transition: .5s;
      }
    }
    footer .footer-top li + li {
      margin-left: 24px; }
    footer .footer-top .bub-resort,
    footer .footer-top .privacypolicy {
      padding-left: 24px;
      border-left: 1px solid #fff; }
    footer .footer-top .privacypolicy a {
      /* font-size: 1rem;  */
    }
    footer .footer-top .sns-list a {
      width: 32px;
      height: 32px;
      display: block; }
  footer .footer-bottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end; }
    footer .footer-bottom .img {
      width: 100px;
      height: auto;
      /* margin-right: 24px;  */
    }
    footer .footer-bottom p {
      color: #fff;
      font-size: 0.875rem;
      margin-top: 18px; }
    footer .footer-bottom small {
      font-family: 'Roboto', sans-serif;
      font-size: 12px;
      color: #fff;
    }
  @media screen and (max-width: 767px) {
    footer {
      padding-top: 40px;
    }
    footer .footer-top li + li {
      margin-left: 20px;
    }

    .footer-top ul {
      margin-bottom: 20px;
    }
    footer .footer-top .sns-list a {
      width: 26px;
      height: 26px;
    }
    footer .footer-bottom {
      align-items: center;
    }
    footer .footer-bottom .img {
      width: 80px;
    }
    footer .footer-bottom small {
      font-size: 11px;
    }
    /* footer {
      padding: 80px 0 16px; }
      footer .footer-top {
        padding-bottom: 24px;
        margin-bottom: 24px; }
        footer .footer-top ul:first-of-type {
          margin-bottom: 8px; }
        footer .footer-top li a {
          font-size: 1.125rem; }
        footer .footer-top .privacypolicy {
          border-left: 0;
          padding-left: 0;
          margin-left: 0;
          margin-top: 16px;}
          footer .footer-top .privacypolicy a {
            font-size: 0.875rem; }
        footer .footer-top li + li {
          margin-left: 16px; }
      footer .footer-bottom .img {
        width: 144px;
        margin-right: 20px; }
      footer .footer-bottom .company-info {
        width: calc(100% - 164px);
        margin-bottom: 64px; }
        footer .footer-bottom .company-info p {
          margin-top: 0;
          font-size: 0.75rem; }
      footer .footer-bottom small {
        font-size: 0.75rem;
        margin-bottom: 0; }
        footer .footer-top .bub-resort {
          display: block;
          padding-left: 0;
          border-left: none;
          margin: 16px 0 0; }  */
        }
        @media screen and (max-width: 480px) {
          footer .footer-top .privacypolicy  {
            margin-left: 0;
            padding-left: 0;
            border: none;
          }
          .sns-list {
            float: left;
          }
        }


.navigation .screen-reader-text,
.next.page-numbers,
.prev.page-numbers {
  display: none !important;
}

.navigation {
  margin-top: 40px;
  text-align: center;
}
.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-numbers {
  margin: 0 10px;
  width: 40px;
  height: 40px;
  background: #eee;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #2D2E34;
  transition: all .3s;
}
.page-numbers:hover {
  background: #2D2E34;
  color: #fff;
}
.page-numbers.current {
  background: #2D2E34;
  color: #fff;
}

@media screen and (max-width: 767px) {
  /* .page-numbers {
    font-size: 1.5rem;
    padding: 0 16px;
  } */
}


#breadcrumbs {
  margin-bottom: 12px;
  font-size: 0.875rem;
}


/* #recruit-page .new-graduate-area .flow-content li {
  width: 18%;
} */

#recruit-page .new-graduate-area .flow-content li:nth-of-type(2) .img {
  width: 80px;
}

#recruit-page .new-graduate-area .flow-content li:nth-of-type(3) .img {
  width: 76px;
}

#recruit-page .new-graduate-area .flow-content li:nth-of-type(4) .img {
  width: 88px;
}

#recruit-page .new-graduate-area .flow-content li:nth-of-type(5) .img {
  width: 80px;
}

@media screen and (max-width: 767px) {
  #recruit-page .new-graduate-area .flow-content li {
    width: 50%;
  }
}

.session-list > li {
  width: 23%;
}

.session-list li a {
  display: block;
  height: 100%;
  background-color: #fff;
  -webkit-box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.15);
}

.session-list li a .text {
  padding: 20px;
}

.session-list li a h3 {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 8px;
}

.session-list li a p {
  font-size: 0.875rem;
  margin-bottom: 8px;
}

.session-list li ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.session-list li a li {
  width: 50%;
  font-size: 0.75rem;
  display: inline-block;
  color: #2D2E34;
}

@media screen and (max-width: 767px) {
  .session-list > li {
    width: 100%;
  }

  .session-list > li + li {
    margin-top: 24px;
  }
}

.common-title {
  margin-bottom: 70px;
  padding-left: 40px;
  position: relative;
}
.common-title:before {
  content: '';
  width: 6px;
  position: absolute;
  top: 6px;
  bottom: 8px;
  left: 0;
  background: linear-gradient(to bottom, #3F6F89, #AF8F50);
}
.common-title h2 {
  margin-bottom: 10px;
  color: #2D2E34;
  font-size: 50px;
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  line-height: 50px;
  text-transform: uppercase;
}
.common-title p {
  color: #2D2E34;
  font-size: 14px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 979px) {
  .common-title {
    margin-bottom: 50px;
  }
  .common-title h2 {
    font-size: 42px;
    line-height: 42px;
  }
}
@media screen and (max-width: 979px) {
  .common-title {
    margin-bottom: 40px;
    padding-left: 25px;
  }
  .common-title:before {
    top: 3px;
  }
  .common-title h2 {
    margin-bottom: 6px;
    font-size: 36px;
    line-height: 36px;
  }
  .common-title p {
    font-size: 13px;
    letter-spacing: 1px;
  }
}

.common-btn {
  width: 50px;
  height: 50px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  border-radius: 50%;
  border: 1px solid #fff;
  box-sizing: border-box;
}
.common-btn img {
  width: 16px;
  height: auto;

}
.common-recruit {
  position: relative;
}
.common-recruit a {
  padding: 250px 0;
  position: relative;
  display: block;
}
.common-recruit a:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #2D2E34;
  opacity: .2;
}
.common-recruit a:hover .common-btn img {
  transform: translateX(6px);
}
.common-recruit .common-btn {
  width: 80px;
  height: 80px;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
}
.common-recruit .common-btn img {
  width: 30px;
  transition: all .3s;
}
.common-recruit-title {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 1;
}
.common-recruit-title h2 {
  margin-bottom: 10px;
  color: #fff;
  font-family: 'Roboto', sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 60px;
  text-transform: uppercase;
}
.common-recruit-title p {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 30px;
  letter-spacing: 3.5px;
}
@media screen and (max-width: 979px) {
  .common-recruit a {
    padding: 200px 0;
  }
  .common-recruit .common-btn {
    width: 70px;
    height: 70px;
    right: 20px;
  }
  .common-recruit-title h2 {
    font-size: 42px;
    line-height: 42px;
  }
}
@media screen and (max-width: 767px) {
  .common-btn {
    width: 40px;
    height: 40px;
  }
  .common-btn img {
    width: 14px;
  }
  .common-recruit a {
    padding: 150px 0;
  }
  .common-recruit .common-btn {
    width: 50px;
    height: 50px;
  }
  .common-recruit .common-btn img {
    width: 20px;
  }
  .common-recruit-title h2 {
    font-size: 32px;
    line-height: 32px;
  }
  .common-recruit-title p {
    font-size: 14px;
    letter-spacing: 2px;
  }
}


/* page members css */
.members-mv {
  width: 100vw;
  height: 100vh;
  background: url(./img/members-mv-04.jpg) no-repeat center/cover;
  position: relative;
  box-sizing: border-box;
}
.members-mv:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #2D2E34;
  opacity: .4;
}
.members-mv-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.members-mv-title h1 {
  color: #fff;
  font-family: 'Roboto', sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 60px;
  text-transform: uppercase;
}
.members-mv-message {
  display: none;
  padding-top: 15px;
  width: 100%;
  position: absolute;
  bottom: 0;
  background: rgba(45, 46, 52, .8);
  z-index: 1;
}
.members-mv-message .content-wrap {
  position: relative;
}
.members-mv-message .content-wrap > h2 {
  position: absolute;
  top: -50px;
  left: 0;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #aaa;
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  font-size: 60px;
  line-height: 80px;
}
.members-mv-message-sub {
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.members-mv-message-sub p {
  margin-right: 10px;
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  line-height: 20px;
}
.members-mv-message-sub img {
  width: 12px;
  height: auto;
}
.members-mv-message-slides {
  margin-top: 25px;
  overflow: hidden;
}
.slick-track {
  /* height: 110px !important; */
}
.members-mv-message-slides-item {
  /* width: 2500px; */
}
.members-mv-message-slides-item.slide03 ul li{
  width: calc(20% - 20px);
}
.members-mv-message-slides-item ul {
  width: 100%;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}
.members-mv-message-slides-item ul li {
  margin-right: 20px;
  padding-bottom: 25px;
  width: 100%;
  /* width: calc(14% - 17px); */
  box-sizing: border-box;
}
.members-mv-message-slides-item-top {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
.members-mv-message-slides-item-top p {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 25px;
  position: relative;
}
.members-mv-message-slides-item-top p:first-child {
  padding-right: 40px;
}
.members-mv-message-slides-item-top p:first-child:before {
  content: '';
  width: 20px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  transform: translateX(-50%);
}
.members-mv-message-slides-item-bottom p {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
  text-align: justify;
  letter-spacing: 0;
}

.members-value-area {
  padding: 100px 0;
}
/* .members-value-title {
  margin-bottom: 80px;
  text-align: center;
}
.members-value-title h2 {
  margin-bottom: 15px;
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  font-size: 50px;
  color: #2D2E34;
  text-transform: uppercase;
}
.members-value-title p {
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 2px;
} */
.members-value-area-cont {
  max-width: 720px;
  margin: 0 auto;
}
.members-value-area-cont img {
  width: 100%;
  height: auto;
}
.members-value-area-cont img:last-child {
  display: none;
}
@media screen and (max-width: 979px) {
  .members-mv-message .content-wrap > h2 {
    font-size: 50px;
  }
  .members-value-title h2 {
    font-size: 42px;
    line-height: 42px;
  }
  .members-value-title {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .members-value-area {
    padding: 50px 0;
  }
  .members-mv-message {
    padding-top: 30px;
  }
  .members-mv-message .content-wrap > h2 {
    font-size: 30px;
    top: -47px;
  }
  .members-mv-message-sub p {
    font-size: 10px;
  }
  .members-value-title h2 {
    font-size: 32px;
    line-height: 32px;
  }
  .members-value-title p {
    font-size: 15px;
    letter-spacing: 1px;
  }
  .members-value-title p br {
    display: none;
  }
  .members-value-title {
    margin-bottom: 40px;
  }
  .members-value-cont {
    width: 130%;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .members-value-area-cont img:first-child {
    display: none;
  }
  .members-value-area-cont img:last-child {
    display: block;
  }
}
.comment-area {
  padding: 100px 0 60px;
}
.comment-area .content-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 100px 0;
}
.comment-cont {
  width: 100%;
  display: flex;
  gap: 60px 0;
  flex-wrap: wrap;
}
.comment-cont h3 {
  padding-bottom: 30px;
  width: 100%;
  border-bottom: 1px solid #ddd;
  font-size: 28px;
  font-weight: 500;
  text-transform: uppercase;
}
.comment-cont h3 span {
  font-size: 13px;
  display: inline-block;
  margin-left: 20px;
  color: #777;
}
.comment-cont ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 50px;
}
.comment-cont ul li {
  width: calc(33.3333% - 33.3333px);
  display: flex;
  align-items: flex-start;
  gap: 0 15px;
}
.comment-thumb {
  width: 80px;
  height: 80px;
  background: no-repeat center/cover;
  border-radius: 50%;
}
.comment-detail {
  width: calc(100% - 95px);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
}
.comment-detail h4 {
  width: 100%;
  font-size: 16px;
  font-weight: 500;
}
.comment-detail p {
  width: 100%;
  font-size: 14px;
  line-height: 22px;
}
.comment-cont .more {
}
.comment-cont .more-inner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 50px;
}
.comment-cont .more-button {
  display: none;
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  text-decoration: underline;
}
@media screen and (max-width: 979px) {
  .comment-cont ul li {
    width: 100%;
  }
  .comment-cont .more {
    display: none;
  }
  .comment-cont .more-button {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .comment-area {
    padding: 60px 0 40px;
  }
  .comment-area .content-wrap {
    gap: 60px 0;
  }
  .comment-cont {
    gap: 30px 0;
  }
  .comment-cont h3 {
    padding-bottom: 15px;
    font-size: 24px;
  }
  .comment-cont:nth-child(2) h3 span {
    margin-left: 0;
    display: block;
  }
  .comment-cont ul {
    gap: 30px 0;
  }
  .comment-cont .more-inner {
    gap: 30px 0;
  }
  .comment-thumb {
    width: 60px;
    height: 60px;
  }
  .comment-detail {
    width: calc(100% - 75px);
    gap: 5px 0;
  }
  .comment-detail h4 {
  }
  .comment-detail p {
  }
}

/* page recruit css */
.recruit-video-area {
  margin-bottom: 100px;
  padding-bottom: 60px;
  position: relative;
}
.recruit-video-area:before {
  content: '';
  height: 60%;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: #eee;
}
.recruit-video-area .swiper-button-prev,
.recruit-video-area .swiper-button-next {
    margin-top: initial;
    width: 60px;
    height: 60px;
    transform: translateY(-50%);
}
.recruit-video-area .swiper-button-prev {
    background: url(./img/prev.svg) no-repeat center/contain;
}
.recruit-video-area .swiper-button-prev:after {
  content: '';
}
.recruit-video-area .swiper-button-next {
  background: url(./img/next.svg) no-repeat center/contain;
}
.recruit-video-area .swiper-button-next:after {
  content: '';
}
.recruit-video-list {
  display: flex;
  justify-content: space-between;
}
.recruit-video-list-item {
  width: calc(50% - 15px);
}
.recruit-video-list-item-video {
  margin-bottom: 20px;
  padding-top: 70%;
  position: relative;
  border: 3px solid #2D2E33;
}
.recruit-video-list-item-video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.recruit-video-list-item-desc {
  position: relative;
}
.recruit-video-list-item-desc h3 {
  margin-bottom: 10px;
  padding-left: 20px;
  border-left: 4px solid #2D2E33;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 1px;
}
.recruit-video-list-item-desc p {
  line-height: 20px;
  font-size: 14px;
}
.recruit-session-area {

}
.recruit-session-area .common-title {
  margin-bottom: 50px;
}
.recruit-session-cont {
  display: flex;
}
.recruit-session-item {
  padding-top: 40%;
  width: 50vw;
  position: relative;
}
.recruit-session-item a .hover-scale-bg {
  background-position-y: top;
}
.recruit-session-item a {
  padding: 40px 45px 45px;
  display: flex;
  justify-content: center;
  align-content: space-between;
  flex-wrap: wrap;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: no-repeat top center/cover;
  box-sizing: border-box;
  text-align: center;
}
.recruit-session-item a:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #2D2E34;
  opacity: .3;
}
.recruit-session-item-top {
  width: 100%;
  position: relative;
}
.recruit-session-item-top p {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 2px;
}
.recruit-session-item-bottom {
  width: 100%;
  position: relative;
}
.recruit-session-item-bottom h3 {
  margin-bottom: 40px;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: 45px;
  letter-spacing: 3.5px;
}
.recruit-session-item-bottom-btn {
  max-width: 280px;
  margin: 0 auto;
  padding: 12px 0;
  width: 100%;
  display: inline-block;
  position: relative;
  background: #fff;
  box-sizing: border-box;
  border-radius: 30px;
}
.recruit-session-item-bottom-btn p {
  color: #2D2E34;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1.5px;
}
.recruit-session-item-bottom-btn img {
  width: 15px;
  height: auto;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
@media screen and (max-width: 1090px) and (min-width: 980px) {
  .recruit-session-item-bottom h3 {
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 32px;
  }
}
@media screen and (max-width: 979px) {
  .recruit-session-item {
    padding-top: 50%;
  }
  .recruit-session-item a {
    padding-right: 30px;
    padding-left: 30px;
  }
  .recruit-session-item-top p {
    font-size: 16px;
  }
  .recruit-session-item-bottom h3 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 2px;
  }
  #recruit-page .welfare-area .welfare-list > li {
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media screen and (max-width: 767px) {
  .recruit-video-area {
    margin-bottom: 60px;
    padding-bottom: 40px;
  }
  .recruit-video-area .swiper-button-prev,
  .recruit-video-area .swiper-button-next {
      width: 35px;
      height: 35px;
  }
  .recruit-video-list-item-desc h3 {
    font-size: 18px;
    padding-left: 15px;
  }
  .recruit-video-list-item-desc p {
    letter-spacing: 0;
  }
  .recruit-session-area .common-title {
    margin-bottom: 40px;
  }
  .recruit-session-cont {
    flex-wrap: wrap;
  }
  .recruit-session-item {
    padding-top: 90%;
    width: 100%;
  }
  .recruit-session-item a {
    padding-top: 20px;
    padding-bottom: 30px;
  }
  .recruit-session-item-bottom h3 {
    font-size: 16px;
  }
  .recruit-session-item-bottom-btn {
    padding: 6px 0;
  }
  .recruit-session-item-bottom-btn p {
    font-size: 14px;
  }
}
.recruit-info-area {
  padding: 70px 0 110px;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
.recruit-info-area h3 {
  color: #2D2E34;
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 1.5px;
}
.recruit-info-text {

}
.recruit-info-text ul {
  margin-top: 30px;
}
.recruit-info-text ul li {
  margin-bottom: 5px;
  color: #2D2E34;
  font-size: 15px;
}
.recruit-info-text ul li:last-child {
  margin-bottom: 0;
}
.recruit-info-text ul li a {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .recruit-info-area {
    padding: 50px 0;
  }
  .recruit-info-text ul {
    margin-top: 20px;
  }
}

/* page common css */
.page-header {
  padding-bottom: 100px;
  width: 100%;
  height: 500px;
  background: #2D2E34;
  box-sizing: border-box;
}
.page-header .content-wrap {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.page-header-title {
  padding-left: 42px;
  position: relative;
}
.page-header-title:before {
  content: '';
  width: 7px;
  position: absolute;
  top: 6px;
  bottom: 8px;
  left: 0;
  background: linear-gradient(to bottom, #3F6F89, #AF8F50);
}
.page-header-title h1 {
  margin-bottom: 10px;
  color: #fff;
  font-family: 'Roboto', sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 60px;
  text-transform: uppercase;
  letter-spacing: 0;
}
.page-header-title p {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 1.5px;
}
.error-page {
  max-width: 768px;
  margin: 0 auto;
  padding: 80px 0;
  text-align: center;
}
.error-page .sp-b {
  display: none;
}
.error-page .btn-common {
  margin-top: 40px;
}
.error-page .btn-common a {
  margin: 0 auto;
}
.hover-scale-item {
  position: relative;
  overflow: hidden;
}
.hover-scale-bg {
  background: no-repeat center/cover;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: all .3s;
  z-index: -1;
}
.hover-scale-bg.active {
  transform: scale(1.1);
}
.fixed-recruit {
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 999;
}
.fixed-recruit a {
  width: 100px;
  height: 100px;
  background: #AF8F50;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  text-align: center;
  transition: all .3s;
}
.fixed-recruit a:hover {
  transform: scale(1.1);
}
.fixed-recruit a span {
  display: inline-block;
  position: relative;
  top: 3px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 1.5px;
}
.page-template-page-members .fixed-recruit {
  display: none;
}
.page-template-page-recruit .fixed-recruit a span {
  top: initial;
  font-family: 'Roboto', sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0;
}
@media screen and (max-width: 979px) {
  .page-header {
    padding-bottom: 70px;
    height: 400px;
  }
}
@media screen and (max-width: 767px) {
  .page-header {
    padding-bottom: 50px;
    height: 350px;
}
  .page-header-title {
    padding-left: 30px;
  }
  .page-header-title:before {
    top: 4px;
    bottom: 6px;
  }
  .page-header-title h1 {
    font-size: 36px;
    line-height: 36px;
  }
  .fixed-recruit {
    right: 10px;
    bottom: 10px;
  }
  .fixed-recruit a {
    width: 80px;
    height: 80px;
  }
  .fixed-recruit a span {
    top: 3px;
    font-size: 12px;
    line-height: 17px;
    letter-spacing: 1px;
}
.error-page {
  padding: 60px 0;
}
.error-page .sp-b {
  display: block;
}
}

/* 翻訳追加 */
.header__gtranslate {
  margin-left: 40px;
}

.gtranslate_wrapper {
  width: 148px !important;
  overflow: inherit !important;
  position: relative;
}

.gtranslate_wrapper .gt_switcher,
.gtranslate_wrapper .gt_switcher .gt_selected a {
  width: 148px !important;
}

.gtranslate_wrapper a img {
  width: auto;
}

.gtranslate_wrapper .selected a {
  border: none !important;
  background: #fff;
  padding: 0 5px;
  width: 140px !important;
}

.gtranslate_wrapper .gt_option {
  position: absolute !important;
  top: 32px;
  left: 0;
  width: 148px !important;
}

.gtranslate_wrapper .gt_selected a:after {
  top: 6px;
}

.gt_switcher .gt_selected a {
  color: #333 !important;
}

@media screen and (max-width: 979px) {
  .header__gtranslate {
    margin-left: 0;
    position: absolute;
    top: 32px;
    right: 88px;
  }
}

@media screen and (max-width: 767px) {
  .header__gtranslate {
    top: 13px;
    right: 72px;
  }

  .gtranslate_wrapper {
    width: 130px !important;
  }

  .gtranslate_wrapper .gt_switcher,
  .gtranslate_wrapper .gt_switcher .gt_selected a {
    width: 130px !important;
  }

  .gtranslate_wrapper .gt_option {
    width: 130px !important;
  }
}


.members-value-title {
  margin-bottom: 3rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.members-value-title .common-title {
  margin-bottom: 0;
}
.members-value-title > p {
  font-weight: 500;
  text-align: right;
}
.members-value-item {
  padding: 35px 25px;
  border-radius: 5px;
  background: #fff;
  border: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.members-value-item:not(:last-child) {
  margin-bottom: 10px;
}
.members-value-item-left {
  padding-left: 70px;
  width: 30%;
  box-sizing: border-box;
  position: relative;
}
.members-value-item-left p {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #F4F5F5;
  font-family: 'Roboto', sans-serif;
  font-size: 80px;
  font-style: normal;
  font-weight: 700;
  line-height: 80px; /* 100% */
}
.members-value-item-left h3 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px; /* 176.471% */
  letter-spacing: 0.85px;
  position: relative;
}
.members-value-item-right {
  width: 65%;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px; /* 186.667% */
  letter-spacing: 0.75px;
}
@media screen and (max-width: 979px) {
  .members-value-item-left {
    padding-left: 0;
  }
  .members-value-item-left p {
    top: -40px;
    font-size: 60px;
    transform: initial;
  }
}
@media screen and (max-width: 767px) {
  .members-value-title {
    margin-bottom: 2rem;
    display: block;
  }
  .members-value-title .common-title {
    margin-bottom: 1rem;
  }
  .members-value-title > p {
    line-height: 25px;
    text-align: left;
  }
  .members-value-item {
    padding: 50px 20px 25px;
    display: block;
  }
  .members-value-item-left {
    margin-bottom: 10px;
    width: 100%;
  }
  .members-value-item-left p {
    top: -50px;
  }
  .members-value-item-right {
    width: 100%;
  }
  .members-value-item-right p {
    text-align: justify;
  }
}

/* 追加css 28.02.2024 */
.recruit-fixed-button {
  padding: 2rem 0;
  width: 100vw;
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 20px;
  z-index: 10;
}
.recruit-fixed-button-item {
  padding: 18px 20px 18px 30px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  gap: 0 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.recruit-fixed-button-item:first-child {
  background: #3F6F89;
}
/* .recruit-fixed-button-item:nth-child(2) {
  background: #3F6F89;
} */
.recruit-fixed-button-item:last-child {
  background: #AF8F50;
}
.recruit-fixed-button-item span {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .1em;
}
.recruit-fixed-button-item span br {
  display: none;
}
.recruit-fixed-button-item img {
  width: 20px;
  height: auto;
  position: relative;
  bottom: -1px;
}
.recruit-modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(5px);
}
.recruit-modal > img{
  width: 40px;
  position: absolute;
  top: 60px;
  right: 60px;
  z-index: 5;
  cursor: pointer;
}
.recruit-modal-container {
  max-width: 980px;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  gap: 0 40px;
  position: relative;
  z-index: 1;
}
.recruit-modal-item {
  padding: 50px;
  width: calc(50% - 20px);
  border: 1px solid #fff;
  text-align: center;
}
.recruit-modal-item h3 {
  margin-bottom: 70px;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  position: relative;
}
.recruit-modal-item h3:before {
  content: '';
  width: 40px;
  height: 2px;
  background: linear-gradient(to right, #3F6F89, #AF8F50);
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}
.recruit-modal-item p {
  color: #fff;
  font-size: 16px;
}
.recruit-modal .btn-common {
  margin-top: 40px;
}
.recruit-modal .btn-common a {
  background: #AF8F50;
}
@media screen and (max-width: 979px) {
  .recruit-modal > img{
    right: 20px;
  }
  .recruit-modal-item {
    padding: 50px 30px;
  }
  .recruit-fixed-button {
    padding: 0;
    gap: 0;
  }
  .recruit-fixed-button-item {
    width: 50%;
    box-shadow: none;
    padding: 18px;
    justify-content: space-between;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .recruit-fixed-button {

  }
  .recruit-fixed-button-item {
    width: 50%;
    padding: 16px 0;
    justify-content: center;
  }
  .recruit-fixed-button-item span {
    font-size: 15px;
    text-align: center;
  }
  .recruit-fixed-button-item span br {
    display: block;
  }
  .recruit-fixed-button-item img {
    display: none;
  }
  .recruit-modal > img{
    width: 30px;
    top: 25px;
  }
  .recruit-modal-container {
    gap: 20px 0;
    align-content: center;
  }
  .recruit-modal-item {
    padding: 40px 30px 30px;
    width: 100%;
  }
  .recruit-modal-item h3 {
    margin-bottom: 50px;
    font-size: 22px;
  }
  .recruit-modal-item h3:before {
    bottom: -20px;
  }
  .recruit-modal-item p {
    font-size: 15px;
  }
  .recruit-modal .btn-common {
    margin-top: 30px;
  }
}

.footer-bottom__left {
  width: 70%;
}

.footer-bottom__image {
  display: flex;
}

.footer-bottom__image .img:nth-of-type(2) {
  width: 160px;
  margin-left: 20px;
}
footer .footer-bottom .footer-bottom__left p {
  font-size: 0.6rem;
  line-height: 1.7;
}

footer .footer-bottom .footer-bottom__left p a {
  text-decoration: underline;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .footer-bottom__left {
    width: 100%;
    margin-bottom: 24px;
  }
}
