@charset "UTF-8";
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

body {
  min-height: 100vh;
  line-height: 1.5;
}

h1, h2, h3, h4, button, input, label {
  line-height: 1.1;
}

input, button, textarea, select {
  font: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

:root {
  --header-height: 0px;
}

html {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: 62.5%;
  color: #222;
  background-color: #fff;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  margin: 0;
  padding: var(--header-height) 0 0;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #222;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}

ul, ol {
  padding-left: 0;
  margin: 0;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #138995;
}

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

sup, sub {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  sup, sub {
    font-size: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .spOnly {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pcOnly {
    display: none !important;
  }
}
.align-c {
  text-align: center !important;
}
.align-l {
  text-align: left !important;
}
.align-r {
  text-align: right !important;
}

/* =====================

margin

====================== */
.mt-0 {
  margin-top: 0 !important;
}
.mt-20 {
  margin-top: 2rem !important;
}
.mt-30 {
  margin-top: 3rem !important;
}
.mt-40 {
  margin-top: 4rem !important;
}
.mt-60 {
  margin-top: 6rem !important;
}
.mt-80 {
  margin-top: 8rem !important;
}
.mt-100 {
  margin-top: 10rem !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}
.mb-20 {
  margin-bottom: 2rem !important;
}
.mb-40 {
  margin-bottom: 4rem !important;
}
.mb-60 {
  margin-bottom: 6rem !important;
}
.mb-80 {
  margin-bottom: 8rem !important;
}
.mb-100 {
  margin-bottom: 10rem !important;
}

.container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
}

.article {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .main {
    overflow: hidden;
  }
}
/* =====================

tags

====================== */
.tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 14px 8px;
}
.tags a {
  display: inline-block;
  border: 1px solid #138995;
  border-radius: 999px;
  padding: 9px 16px 8px;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.6rem;
  color: #138995;
  white-space: nowrap;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.tags a:hover {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .tags {
    gap: 3.2vw 2.1333333333vw;
  }
  .tags a {
    padding: 2.4vw 3.7333333333vw 2.1333333333vw;
    font-size: 1.3rem;
  }
}

/* =====================

fade & slide up

====================== */
.fade-slide-up {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

/* =====================

topic path

====================== */
.topicPath {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 17px;
  padding: 30px 36px;
  -webkit-box-shadow: inset 0px 2px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0px 2px 2px rgba(0, 0, 0, 0.1);
  font-size: 1.3rem;
  line-height: 2rem;
  color: #00747F;
}
.topicPath li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 17px;
}
.topicPath li:not(:first-child)::before {
  content: "";
  display: block;
  width: 6px;
  height: 9px;
  background: url("/recruit/common/img/icon_topicpath.svg") 0 0/cover no-repeat;
}
.topicPath a {
  color: #222;
}
.topicPath a:hover {
  color: #00747F;
}
@media screen and (max-width: 767px) {
  .topicPath {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 3.2vw;
    padding: 2.6666666667vw 5.3333333333vw;
    -webkit-box-shadow: none;
            box-shadow: none;
    font-size: 1.1rem;
    line-height: 1.3rem;
  }
  .topicPath li {
    gap: 2.6666666667vw 3.2vw;
  }
  .topicPath li:not(:first-child)::before {
    width: 1.6vw;
    height: 2.4vw;
  }
}

/* =====================

heading

====================== */
.h-1 {
  padding: 60px 0;
  margin-bottom: 80px;
  border-bottom: 1px solid #138995;
  font-size: 4rem;
  font-weight: 700;
  line-height: 200%;
  letter-spacing: 0.04em;
}
.h-1 span {
  display: block;
  color: #138995;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
}
.h-1 + *:first-of-type {
  padding-top: 0;
}

.h-2 {
  padding: 40px 0;
  color: #00747F;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.04em;
}

.h-3 {
  margin: 7px 0 40px;
  padding: 14px 0;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 175%;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #138995;
}

.h-4 {
  margin: 8px 0 40px 0;
  color: #00747F;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.04em;
}

.h-5 {
  margin: 8px 0 32px 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .h-1 {
    padding: 12.2666666667vw 5.3333333333vw;
    margin: 0 -5.3333333333vw 16vw;
    font-size: 3.2rem;
    line-height: 135%;
  }
  .h-2 {
    padding: 8.5333333333vw 0;
    font-size: 2.4rem;
    line-height: 135%;
  }
  .h-3 {
    margin: 0 0 10.6666666667vw;
    padding: 1.8666666667vw 0 2.6666666667vw;
    font-size: 2.2rem;
  }
  .h-4 {
    margin: 2.1333333333vw 0 10.6666666667vw;
    font-size: 2rem;
  }
  .h-5 {
    margin: 2.1333333333vw 0 8.5333333333vw;
    font-size: 1.6rem;
    line-height: 187.5%;
  }
}
/* =====================

anchor

====================== */
.anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 40px;
  margin-bottom: 30px;
}
.anchor a {
  display: block;
  border-bottom: 1px solid #B5C6C8;
  padding: 0 37px 16px 0;
  position: relative;
}
.anchor a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  display: inline-block;
  width: 0;
  height: 1px;
  background: #138995;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}
.anchor a::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 0;
  right: 10px;
  background: url("/recruit/common/img/arrow_green_right.svg") 0 0/contain no-repeat;
  -webkit-transform: translateY(0.4em) rotate(90deg);
          transform: translateY(0.4em) rotate(90deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.anchor a:hover::before {
  width: 100%;
}
.anchor a:hover::after {
  -webkit-transform: scale(1.2) translateY(0.4em) rotate(90deg);
          transform: scale(1.2) translateY(0.4em) rotate(90deg);
}
@media screen and (max-width: 767px) {
  .anchor {
    gap: 6.4vw 5.3333333333vw;
    margin-bottom: 10.6666666667vw;
  }
  .anchor a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4vw;
    padding: 0 8.5333333333vw 2.6666666667vw 0;
  }
  .anchor a::before {
    content: none;
  }
  .anchor a::after {
    width: 3.2vw;
    height: 3.2vw;
    top: 50%;
    right: 2.6666666667vw;
    -webkit-transform: rotate(90deg) translateX(calc(-50% - 1.3333333333vw));
            transform: rotate(90deg) translateX(calc(-50% - 1.3333333333vw));
  }
}

/* =====================

lead, text

====================== */
.lead {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 175%;
  letter-spacing: 0.04em;
  margin-bottom: 48px;
}

.text {
  margin-bottom: 16px;
  font-size: 1.6rem;
  line-height: 175%;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .lead {
    margin-bottom: 8vw;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 200%;
  }
  .text {
    margin-bottom: 1em;
    font-size: 1.4rem;
    line-height: 200%;
  }
}
/* =====================

gradation

====================== */
.gradation {
  background: linear-gradient(245deg, #FBF7EE 5.55%, #DEF4F6 73.54%);
}

/* =====================

image

====================== */
.img img {
  width: 100%;
}
.img figcaption {
  margin: 4px 0 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 175%;
  letter-spacing: 0.04em;
}
.img figcaption .caption-title {
  margin-top: 10px;
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .img figcaption {
    margin: 1.0666666667vw 0 4.2666666667vw;
    font-size: 1.4rem;
    line-height: 150%;
  }
}

@media screen and (min-width: 768px) {
  .imgColumn {
    margin: 60px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 40px;
  }
  .imgColumn_1 {
    padding: 0 90px;
  }
  .imgColumn_2 {
    padding: 0 42px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .imgColumn_2 .img {
    width: calc((100% - 40px) / 2);
  }
  .imgColumn_3 {
    padding: 0 48px;
  }
  .imgColumn_3 .img {
    width: calc((100% - 80px) / 3);
  }
  .imgFloat {
    margin: 60px auto;
    overflow: hidden;
  }
  .imgFloat_L .img {
    float: left;
    margin-right: 40px;
  }
  .imgFloat_R .img {
    float: right;
    margin-left: 40px;
  }
  .imgSize_L {
    max-width: 488px;
  }
  .imgSize_M {
    max-width: 308px;
  }
}
@media screen and (max-width: 767px) {
  .imgColumn, .imgFloat {
    margin: 16vw auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.6666666667vw;
  }
  .imgFloat .img {
    -webkit-box-ordinal-group: 1000;
        -ms-flex-order: 999;
            order: 999;
  }
}
.parallelogram {
  clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  .parallelogram + figcaption {
    padding-right: 14%;
  }
}

/* =====================

list

====================== */
.listUl, .listOl {
  margin-bottom: 32px;
}
.listUl .listUl, .listUl .listOl, .listOl .listUl, .listOl .listOl {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .listUl, .listOl {
    margin-bottom: 8.5333333333vw;
  }
}

.listUl li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 10px;
}
.listUl li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.6em;
  left: 10px;
  width: 6px;
  height: 6px;
  background-color: #138995;
  border-radius: 100%;
}
.listUl li ul, .listUl li ol {
  margin-top: 10px;
}
.listUl li ul > li {
  padding-left: 19px;
}
.listUl li ul > li::before {
  width: 5px;
  height: 5px;
  left: 4px;
  background-color: #222;
}
.listUl li ul > li ul > li::before {
  width: 4px;
  height: 4px;
  left: 5px;
  background-color: #138995;
}
@media screen and (max-width: 767px) {
  .listUl li {
    padding-left: 6.9333333333vw;
    margin-bottom: 2.6666666667vw;
  }
  .listUl li::before {
    top: 0.5em;
    left: 2.6666666667vw;
    width: 1.6vw;
    height: 1.6vw;
  }
  .listUl li ul, .listUl li ol {
    margin-top: 2.6666666667vw;
  }
  .listUl li ul > li {
    padding-left: 5.0666666667vw;
  }
  .listUl li ul > li::before {
    width: 1.3333333333vw;
    height: 1.3333333333vw;
    left: 1.0666666667vw;
  }
  .listUl li ul > li ul > li::before {
    width: 1.0666666667vw;
    height: 1.0666666667vw;
    left: 1.3333333333vw;
  }
}

.listOl {
  counter-reset: number 0;
}
.listOl > li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 10px;
  counter-increment: number;
}
.listOl > li::before {
  content: counter(number);
  width: 30px;
  margin-right: 10px;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #138995;
  font-size: 2rem;
  line-height: 2.2rem;
}
.listOl > li ul, .listOl > li ol {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .listOl > li {
    padding-left: 8vw;
    margin-bottom: 2.6666666667vw;
  }
  .listOl > li::before {
    width: 8vw;
    margin-right: 0;
    top: -0.5333333333vw;
  }
  .listOl > li ul, .listOl > li ol {
    margin-top: 2.6666666667vw;
  }
}

.listOl_circle > li {
  padding-left: 32px;
}
.listOl_circle > li::before {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #138995;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .listOl_circle > li {
    padding-left: 7.7333333333vw;
  }
  .listOl_circle > li::before {
    width: 5.8666666667vw;
    height: 5.8666666667vw;
  }
}

.listOl_small > li {
  padding-left: 33px;
}
.listOl_small > li::before {
  width: 23px;
  height: 23px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .listOl_small > li {
    padding-left: 7.4666666667vw;
  }
  .listOl_small > li::before {
    width: 6.1333333333vw;
    height: 6.1333333333vw;
  }
}

.note {
  margin-bottom: 16px;
  font-size: 1.4rem;
}
.note li {
  padding: 0 0 8px 40px;
  position: relative;
}
.note li span {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
}
.note.character_1 li {
  padding-left: 1.3em;
}
.note.character_1 li span {
  width: 1.3em;
}
.note.character_2 li {
  padding-left: 2em;
}
.note.character_2 li span {
  width: 2em;
}
@media screen and (max-width: 767px) {
  .note {
    margin-bottom: 4.2666666667vw;
    font-size: 1.2rem;
  }
  .note li {
    padding: 0 0 2.1333333333vw 10.6666666667vw;
  }
  .note li span {
    width: 10.6666666667vw;
  }
}

/* =====================

link button

====================== */
.linkArrow {
  display: inline-block;
  padding-left: 28px;
  position: relative;
  color: #222;
  cursor: pointer;
}
.linkArrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.25em;
  left: 2px;
  width: 18px;
  height: 18px;
  background: url("/recruit/common/img/icon_angle.svg") 0 0/contain no-repeat;
}
.linkArrow[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 10px;
  vertical-align: middle;
  background: url("/recruit/common/img/arrow_green.svg") 0 0/contain no-repeat;
}
.linkArrow[href$=".pdf"]::after {
  content: none;
}
.linkArrow[href$=".pdf"] .fileSize {
  display: inline-block;
  margin-left: 12px;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 175%;
  letter-spacing: 0.04em;
  color: #666;
}
.linkArrow[href$=".pdf"] .fileSize::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 1.6rem;
  height: 1.6rem;
  background: url("/recruit/common/img/icon_pdf.svg") 0 0/contain no-repeat;
  vertical-align: baseline;
}
@media screen and (min-width: 768px) {
  .linkArrow:hover {
    color: #138995;
  }
}
@media screen and (max-width: 767px) {
  .linkArrow {
    padding-left: 7.4666666667vw;
  }
  .linkArrow::before {
    left: 0.5333333333vw;
    width: 4.8vw;
    height: 4.8vw;
  }
  .linkArrow[target=_blank]::after {
    margin-left: 2.6666666667vw;
  }
  .linkArrow[href$=".pdf"] .fileSize {
    margin-left: 2.6666666667vw;
    font-size: 1.3rem;
  }
  .linkArrow[href$=".pdf"] .fileSize::before {
    margin-right: 2.6666666667vw;
  }
}

.button {
  display: inline-block;
  padding: 16px 60px 16px 32px;
  border-radius: 999px;
  background: #138995;
  border: 1px solid #138995;
  font-weight: 500;
  line-height: 175%;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
  cursor: pointer;
  outline: 0;
}
.button::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 28px;
  width: 12px;
  height: 12px;
  background: url("/recruit/common/img/arrow_white.svg") 50% 50%/contain no-repeat;
}
.button[target=_blank]::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.button.button_modal::after {
  background-image: url(/recruit/common/img/icon_plus_white.svg);
  width: 13px;
  height: 13px;
}
.button.button_modal:hover::after {
  background-image: url(/recruit/common/img/icon_plus.svg);
}
.button.button_l {
  padding: 24px 70px 24px 40px;
  font-weight: bold;
}
.button.button_l::after {
  width: 19px;
  height: 19px;
}
@media screen and (min-width: 768px) {
  .button::before {
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
  }
  .button:hover {
    color: #138995;
  }
  .button:hover::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .button:hover::after {
    background-image: url("/recruit/common/img/arrow_green_right.svg");
  }
}
@media screen and (max-width: 767px) {
  .button {
    padding: 4.2666666667vw 16vw 3.7333333333vw 8.5333333333vw;
    font-size: 1.6rem;
  }
  .button::after {
    right: 7.4666666667vw;
    width: 3.2vw;
    height: 3.2vw;
  }
  .button.button_l {
    padding: 6.4vw 18.6666666667vw 5.8666666667vw 10.6666666667vw;
  }
  .button.button_l::after {
    width: 5.0666666667vw;
    height: 5.0666666667vw;
  }
  .button.button_modal::after {
    width: 3.4666666667vw;
    height: 3.4666666667vw;
  }
}

/* =====================

table

====================== */
.tableLayer {
  width: 100%;
  margin: 32px 0;
  border-collapse: collapse;
  border-top: 1px solid #BEBEBE;
}
.tableLayer th, .tableLayer td {
  border-bottom: 1px solid #BEBEBE;
  vertical-align: middle;
  padding: 18px 20px;
}
.tableLayer th *:first-of-type, .tableLayer td *:first-of-type {
  margin-top: 0;
}
.tableLayer th *:last-of-type, .tableLayer td *:last-of-type {
  margin-bottom: 0;
}
.tableLayer th {
  text-align: center;
  font-weight: 700;
  color: #138995;
}
@media screen and (max-width: 767px) {
  .tableLayer {
    margin: 8.5333333333vw 0;
  }
  .tableLayer th, .tableLayer td {
    padding: 5.3333333333vw;
  }
}

/* =====================

index link

====================== */
.indexLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 50px;
  margin: 32px auto;
}
.indexLink a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 300px;
  height: 162px;
  padding: 12px 24px;
  gap: 10px;
  border-radius: 10px;
  border: 1px solid #138995;
  background: #138995;
  font-size: 1.8rem;
  line-height: 150%;
  overflow: hidden;
  z-index: 1;
  color: #fff;
}
.indexLink a span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 16px;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.indexLink a span::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url(/recruit/common/img/arrow_white.svg) 0 0/contain no-repeat;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.indexLink a[target=_blank] span::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .indexLink a::before {
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
  }
  .indexLink a:hover {
    color: #138995;
  }
  .indexLink a:hover::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .indexLink a:hover span::after {
    background-image: url(/recruit/common/img/arrow_green_right.svg);
  }
}
.indexLink.indexLink-col2 {
  width: 650px;
}
@media screen and (max-width: 767px) {
  .indexLink {
    gap: 8.5333333333vw;
    padding: 0 5.3333333333vw;
  }
  .indexLink li {
    width: 100%;
  }
  .indexLink a {
    width: 100%;
    height: auto;
    padding: 6.4vw;
    border-radius: 2.6666666667vw;
    line-height: 175%;
  }
  .indexLink a span {
    gap: 4.2666666667vw;
  }
  .indexLink a span::after {
    width: 3.2vw;
    height: 3.2vw;
  }
  .indexLink.indexLink-col2 {
    width: 100%;
  }
}

/* =====================

faq

====================== */
.faq dt {
  position: relative;
  margin-top: 32px;
  padding: 8px 0 24px 50px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.04em;
}
.faq dd {
  position: relative;
  margin-bottom: 32px;
  padding: 8px 0 32px 50px;
  border-bottom: 1px solid #BEBEBE;
  font-size: 1.8rem;
  line-height: 175%;
  letter-spacing: 0.04em;
}
.faq dt::before, .faq dd:before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  font-size: 1.8rem;
  font-weight: 500;
}
.faq dt::before {
  content: "Q";
  background: #138995;
  color: #FFF;
}
.faq dd:before {
  content: "A";
  background: #E9F9F9;
  color: #00747F;
}
@media screen and (max-width: 767px) {
  .faq dt {
    margin-top: 8.5333333333vw;
    padding: 2.1333333333vw 0 6.4vw 13.3333333333vw;
    font-size: 1.8rem;
  }
  .faq dd {
    margin-bottom: 8.5333333333vw;
    padding: 2.1333333333vw 0 8.5333333333vw 13.3333333333vw;
    font-size: 1.4rem;
  }
  .faq dt::before, .faq dd:before {
    width: 10.1333333333vw;
    height: 10.1333333333vw;
    top: 1.0666666667vw;
  }
}

/* =====================

recommend

====================== */
.recommend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 40px 40px 51px;
  margin: 60px auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  background: #69B4BB;
  clip-path: polygon(50px 0, 100% 0, calc(100% - 50px) 100%, 0 100%);
}
@media screen and (max-width: 767px) {
  .recommend {
    margin: 24vw -2rem;
    padding: 17.0666666667vw 0;
    gap: 0;
    clip-path: polygon(10.6666666667vw 0, 100% 0, 100% calc(100% - 48.8vw), calc(100% - 8.8vw) 100%, 0 100%, 0 48.8vw);
  }
}

.recommend-title {
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.04em;
}

.recommendLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  margin: 16px auto 0;
}
.recommendLink .button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 290px;
  height: 80px;
  border-radius: 10px;
  background: #FFF;
  line-height: 1.3;
  color: #222;
  font-weight: 600;
  letter-spacing: 0.64px;
  text-align: left;
}
.recommendLink .button::before {
  background-color: #00747F;
}
.recommendLink .button::after {
  background-image: url("/recruit/common/img/arrow_green_right.svg");
}
@media screen and (min-width: 768px) {
  .recommendLink .button:hover {
    color: #fff;
  }
  .recommendLink .button:hover::after {
    background-image: url("/recruit/common/img/arrow_white.svg");
  }
}
@media screen and (max-width: 767px) {
  .recommendLink {
    gap: 3.2vw;
    padding: 0;
  }
  .recommendLink li {
    width: 74.6666666667vw;
  }
  .recommendLink .button {
    width: 100%;
    height: 18.6666666667vw;
    padding: 3.2vw 6.4vw;
    border-radius: 2.6666666667vw;
    gap: 2.4vw;
  }
}

/* =====================

modal

====================== */
.modal {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  border: none;
  overflow: visible;
  padding: 0;
  max-width: 85vw;
  max-height: 85vh;
}

.modal[open] {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.modal::-ms-backdrop {
  background: rgba(0, 0, 0, 0);
  -ms-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.modal::backdrop {
  background: rgba(0, 0, 0, 0);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.modal[open]::-ms-backdrop {
  background: rgba(0, 0, 0, 0.7);
}

.modal[open]::backdrop {
  background: rgba(0, 0, 0, 0.7);
}

.modal-inner {
  position: relative;
  padding: 40px;
}

.entryModal-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .entryModal-btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.modal-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: -2rem;
  right: -2rem;
  width: 4rem;
  height: 4rem;
  padding: 0;
  border-radius: 999px;
  background-color: #138995;
  z-index: 10000;
  border: none;
  outline: none;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.modal-close:hover {
  background-color: #0CA9B9;
}

/* ========================================

header

========================================= */
.header {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  z-index: 1000;
}
.header-logo {
  margin: 0 auto 0 0;
  font-size: 1.5rem;
  font-weight: 500;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.header-logo img {
  width: 125px;
  height: auto;
  aspect-ratio: 125/48;
}
.header-logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  letter-spacing: 0.03em;
}

.header-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 21px 36px;
}

.headerNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px 25px;
  margin-right: 30px;
}
.headerNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .headerNav {
    display: none;
  }
}

.headerNav-links {
  gap: 50px;
}
.headerNav-links a {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  color: #222;
  letter-spacing: 0.04em;
}
.headerNav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2em;
  display: inline-block;
  width: 0;
  height: 2px;
  background: #222;
  -webkit-transition: width 0.25s;
  transition: width 0.25s;
}
.headerNav-links a:hover::after {
  width: 100%;
}

.headerNav-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.headerNav-buttons li {
  position: relative;
}
.headerNav-buttons li > a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  background: #138995;
  border: 1px solid #138995;
  padding: 10px 18px 8px;
  border-radius: 999px;
  color: #fff;
  overflow: hidden;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.9rem;
  letter-spacing: 0.04em;
  z-index: 1;
}
.headerNav-buttons li > a::before {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.headerNav-buttons li > a svg {
  width: 12px;
  height: 12px;
}
.headerNav-buttons li > a:hover {
  color: #138995;
}
.headerNav-buttons li > a:hover svg path {
  fill: #138995;
}
.headerNav-buttons li > a:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.headerNav-buttons li > a[href="/recruit/experienced/"] {
  background-color: #222;
  border-color: #222;
}
.headerNav-buttons li > a[href="/recruit/experienced/"]:hover {
  color: #222;
}
.headerNav-buttons li > a[href="/recruit/experienced/"]:hover svg path {
  fill: #222;
}
.headerNav-buttons li > a[href="#group"] {
  background-color: #616161;
  border-color: #616161;
}
.headerNav-buttons li > a[href="#group"]:hover {
  color: #616161;
}
.headerNav-buttons li > a[href="#group"]:hover svg path {
  fill: #616161;
}

.header-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.header-sns a {
  width: 2.5rem;
  height: 2.5rem;
}
.header-sns a:hover {
  opacity: 0.7;
}

.headerToggle {
  border: none;
  background: transparent;
  outline: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  cursor: pointer;
}

.globalNav-open .headerToggle-open {
  display: none;
  opacity: 0;
}

.headerToggle-close {
  display: none;
}
.globalNav-open .headerToggle-close {
  display: block;
}

@media screen and (max-width: 767px) {
  .header-logo {
    font-size: 1.14rem;
  }
  .header-logo a {
    gap: 1.3rem;
  }
  .header-logo img {
    width: 8.5rem;
  }
  .header-container {
    padding: 2rem;
  }
  .headerToggle {
    width: 2.6rem;
    height: 2.6rem;
  }
  .headerToggle svg {
    width: 2.5rem;
    height: 1.6rem;
  }
}
/* groupPanel */
.groupPanel {
  --arrow-x: 32px;
  position: absolute;
  margin-top: 16px;
  padding: 54px 62px 42px;
  width: 831px;
  right: 0;
  background: #fff;
  border: 1px solid #555;
  border-radius: 6px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  opacity: 0;
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
  pointer-events: none;
  -webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, transform 0.25s ease;
  transition: opacity 0.25s ease, transform 0.25s ease, -webkit-transform 0.25s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
}

.groupPanel.is-active {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}

.groupPanel::before {
  content: "";
  position: absolute;
  top: -9px;
  left: var(--arrow-x);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #555;
}

.groupPanel::after {
  content: "";
  position: absolute;
  top: -8px;
  left: var(--arrow-x);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #fff;
}

.groupPanel-cell {
  width: calc((100% - 30px) / 2);
}

.groupPanel-cell .linkArrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #138995;
  padding-bottom: 14px;
  margin-bottom: 10px;
  font-weight: 700;
}
.groupPanel-cell .linkArrow::before {
  content: none;
}

.groupPanel-cell p {
  font-size: 1.4rem;
  line-height: 175%;
  letter-spacing: 0.04em;
}

/* ========================================

global navigation

========================================= */
.globalNav {
  position: fixed;
  left: 0;
  z-index: 999;
  background: #FFF;
  width: 100%;
  -webkit-transform: translateY(-100vh);
          transform: translateY(-100vh);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  opacity: 0;
}
.globalNav-open .globalNav {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.globalNav-arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #138995;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 999px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  vertical-align: bottom;
  margin-left: 6px;
}
.globalNav-arrow::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: url(/recruit/common/img/arrow_white.svg) 0 0/contain no-repeat;
}

/* Desktop Menu Styles */
@media screen and (min-width: 768px) {
  .globalNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: calc(100svh - var(--header-height) + 1);
    top: calc(var(--header-height) - 1px);
    overflow: hidden;
  }
  .globalNav-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 70px 0;
    margin: 0 auto;
    padding: 80px 0;
    width: 1100px;
    max-height: calc(100svh - var(--header-height));
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
  }
  .globalNav-cell {
    width: 345px;
  }
  .globalNav-cell:nth-child(3) {
    width: 398px;
  }
  .globalNav-cell ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 14px;
  }
  .globalNav-cell ul a {
    font-family: "Noto Sans CJK JP";
    font-size: 1.5rem;
    line-height: 2.38rem;
    letter-spacing: 0.04em;
  }
  .globalNav-cell ul a:hover {
    color: #138995;
  }
  .globalNav-category {
    margin-bottom: 30px;
    font-size: 1.6rem;
    line-height: 2.4rem;
    font-weight: 700;
    color: #138995;
  }
  .globalNav-category .pcOnly {
    margin-bottom: 7px;
    display: block;
    color: #138995;
    font-size: 4rem;
    line-height: 110%;
    font-weight: 400;
  }
  .globalNav-category .pcOnly > span {
    font-size: 2.2rem;
  }
  .globalNav-category a {
    display: block;
  }
  .globalNav-category a::after {
    display: inline-block;
  }
  .globalNav-category a:hover .globalNav-arrow {
    background-color: #0CA9B9;
  }
  .globalNav-lower > ul a[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 10px;
    background: url("/recruit/common/img/arrow_green_right.svg") 0 0/contain no-repeat;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
/* Mobile Menu Styles */
@media screen and (max-width: 767px) {
  .globalNav {
    pointer-events: none;
    height: 100svh;
    top: 0;
    padding-top: var(--header-height);
  }
  .globalNav-open .globalNav {
    pointer-events: auto;
  }
  .globalNav-inner {
    height: calc(100svh - var(--header-height));
    overflow-y: scroll;
  }
  .globalNav-category {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 4.2666666667vw 5.3333333333vw;
    background: #E9F9F9;
    border-top: 1px solid #AEDBE0;
    color: #138995;
  }
  .globalNav-category a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    pointer-events: none;
  }
  .globalNav-category .globalNav-arrow {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .globalNav-category.is-open .globalNav-arrow {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  .globalNav-lower {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: max-height 0.3s ease;
    transition: max-height 0.3s ease;
  }
  .globalNav-lower > ul {
    padding: 6.4vw 5.3333333333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4.2666666667vw 6.4vw;
  }
  .globalNav-lower > ul a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.1333333333vw;
  }
  .globalNav-lower > ul a::after {
    content: "";
    display: block;
    width: 3.2vw;
    height: 3.2vw;
    background: url("/recruit/common/img/arrow_green_right.svg") 0 0/contain no-repeat;
  }
  .globalNav-lower > ul a[target=_blank]::after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
/* ========================================

footer

========================================= */
.footer {
  background-color: #fff;
}

.footer-container {
  max-width: 1280px;
  position: relative;
  padding: 50px 20px;
  margin: auto;
}

.pagetop {
  position: relative;
}
.pagetop a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  bottom: 40px;
  right: 40px;
  background-color: #138995;
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 10;
}
.pagetop a img {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.pagetop a.is-finish {
  position: absolute;
  bottom: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
@media screen and (min-width: 768px) {
  .pagetop a:hover {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  .pagetop a.is-finish:hover {
    -webkit-transform: scale(1.5) translateY(50%);
            transform: scale(1.5) translateY(50%);
  }
}

.footerNav {
  border-bottom: 1px solid #B5C6C8;
  padding-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.footerNav-cell {
  width: 20%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 1.3rem;
  line-height: 2.38rem;
  letter-spacing: 0.04em;
}
.footerNav-cell h2 {
  font-size: 1.4rem;
  line-height: 3.6rem;
  font-weight: 700;
}
.footerNav-cell a {
  text-decoration: none;
  color: #222;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.footerNav-cell a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1.3rem;
  height: 1.3rem;
  margin-left: 5px;
  vertical-align: middle;
  background: url(/recruit/common/img/arrow_green.svg) 0 0/contain no-repeat;
}
.footerNav-cell a:hover {
  color: #138995;
}

.footer-low {
  padding-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 33px;
}

.footer-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 23px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.footer-logo img {
  width: 139px;
  height: auto;
}

.footer-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.footer-sns a {
  width: 2.5rem;
  height: 2.5rem;
}
.footer-sns a:hover {
  opacity: 0.7;
}

.footer-other {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin-top: 30px;
  gap: 0.5em 1em;
}
.footer-other .linkArrow {
  padding-left: 0;
  font-size: 1.3rem;
}
.footer-other .linkArrow::before {
  content: none;
}
@media screen and (max-width: 767px) {
  .footer-other {
    margin-top: 0;
  }
}

.copyright {
  margin: 0 0 0 auto;
  font-size: 1.2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .footer .container {
    padding: 4rem 0;
  }
  .pagetop {
    width: 100%;
  }
  .pagetop a {
    right: 3rem;
    bottom: 2rem;
  }
  .footerNav-cell {
    display: none;
  }
  .footer-logo {
    font-size: 1.5rem;
    font-weight: 500;
    gap: 1.7rem;
  }
  .footer-logo img {
    width: 11.2rem;
  }
  .footer-low {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
  }
  .footer-sns {
    gap: 1.9rem;
  }
  .footer-sns img {
    width: 100%;
    height: 100%;
  }
  .copyright {
    margin: 0;
    line-height: 2rem;
  }
}
/* ========================================

home

========================================= */
.home {
  background-image: linear-gradient(88deg, #fbf7ee, #def4f6);
}

@media screen and (min-width: 768px) {
  .homeMV {
    background: linear-gradient(45deg, #def4f6, #fbf7ee);
    -webkit-mask-image: url("/recruit/img/candidate_mask.png");
            mask-image: url("/recruit/img/candidate_mask.png");
    -webkit-mask-size: cover;
            mask-size: cover;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 50% bottom;
            mask-position: 50% bottom;
    position: relative;
    z-index: 1;
    padding-bottom: 12.5vw;
  }
  .homeMV-inner {
    position: relative;
    z-index: 1;
    background: url("/recruit/img/bg_mv.png") 50% 0/contain no-repeat;
    max-width: 1440px;
    aspect-ratio: 1484/891;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .homeMV-inner h1 {
    text-align: center;
    padding: 4.1666666667vw 0 0 2.7777777778vw;
  }
  .homeMV-inner h1 img {
    width: 40.5555555556vw;
    max-width: 584px;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .home .header {
    background: transparent;
  }
  .homeMV {
    background: url("/recruit/img/bg_mv_sp.png") 0 0/contain no-repeat;
    aspect-ratio: 375/675;
    position: relative;
  }
  .homeMV h1 {
    margin: auto;
    padding-top: 70.6666666667vw;
    text-align: center;
  }
  .homeMV h1 img {
    width: 84.2666666667vw;
    height: 17.8666666667vw;
  }
}
.homeMV-buttons {
  position: absolute;
  bottom: 6.9444444444vw;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  z-index: 2;
}
.homeMV-buttons li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  background: #138995;
  border: 1px solid #138995;
  width: 358px;
  padding: 19px 18px 18px;
  border-radius: 999px;
  color: #fff;
  overflow: hidden;
  position: relative;
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  z-index: 1;
}
.homeMV-buttons li > a::before {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.homeMV-buttons li > a svg {
  width: 16px;
  height: 16px;
  position: absolute;
  right: 20px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.homeMV-buttons li > a:hover {
  color: #138995;
}
.homeMV-buttons li > a:hover svg path {
  fill: #138995;
}
.homeMV-buttons li > a:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
@media screen and (min-width: 768px) {
  .homeMV-buttons .button_modal {
    width: 358px;
    padding: 19px 18px 18px;
    font-size: 2rem;
    line-height: 3rem;
    font-weight: 700;
  }
  .homeMV-buttons .button_modal::after {
    width: 16px !important;
    height: 16px !important;
  }
}
.homeMV-buttons li:last-child a {
  background-color: #222;
  border-color: #222;
}
.homeMV-buttons li:last-child a:hover {
  color: #222;
}
.homeMV-buttons li:last-child a:hover svg path {
  fill: #222;
}
@media screen and (max-width: 767px) {
  .homeMV-buttons {
    gap: 3.4666666667vw;
    bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .homeMV-buttons li > a, .homeMV-buttons li > button {
    width: 60.8vw;
    padding: 3.2vw 2.6666666667vw;
    font-size: 1.3rem;
    line-height: 2rem;
  }
  .homeMV-buttons li > a::before, .homeMV-buttons li > button::before {
    content: none;
  }
  .homeMV-buttons li > a svg, .homeMV-buttons li > button svg {
    width: 2.9333333333vw;
    height: 2.9333333333vw;
    right: 3.4666666667vw;
  }
  .homeMV-buttons li > button::after {
    width: 2.9333333333vw;
    height: 2.9333333333vw;
    position: absolute;
    right: 3.4666666667vw;
  }
}

.homeMV-group {
  position: absolute;
  top: 28px;
  right: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  z-index: 10;
}
.homeMV-group a {
  font-size: 1.3rem;
  line-height: 1.5rem;
  position: relative;
}
.homeMV-group a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2em;
  display: inline-block;
  width: 0;
  height: 1px;
  background: #222;
  -webkit-transition: width 0.25s;
  transition: width 0.25s;
}
.homeMV-group a:hover::after {
  width: 100%;
}

.homeMV-intern {
  position: relative;
}
.homeMV-intern a {
  position: fixed;
  bottom: 117px;
  right: 29px;
  z-index: 10;
  display: block;
  width: 132px;
  height: 132px;
  border-radius: 999px;
  background-color: #fbf7ee;
  border: 1px solid #138995;
  color: #138995;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2rem;
}
.homeMV-intern a.is-finish {
  position: absolute;
  bottom: 70px;
}
.homeMV-intern a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 50%;
  z-index: -1;
  background-color: #138995;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.homeMV-intern a:hover {
  color: #fff;
}
.homeMV-intern a:hover svg path {
  fill: #fff;
}
.homeMV-intern a:hover::before {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
  z-index: 0;
}

.homeMV-internInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 132px;
  height: 132px;
  position: relative;
  z-index: 1;
}
.homeMV-internInner span {
  font-size: 1.8rem;
}
.homeMV-internInner svg {
  margin-top: 13px;
}

.home .main {
  overflow: hidden;
}

.homeWrap {
  max-width: 1220px;
  margin: 0 auto;
  padding: 170px 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 170px;
}
@media screen and (max-width: 767px) {
  .homeWrap {
    padding: 23.2vw 5.3333333333vw;
    gap: 45.3333333333vw;
  }
}

.homeSection-title {
  font-weight: 400;
  font-size: 9rem;
  line-height: 10.5rem;
  color: #138995;
}
.homeSection-title span {
  font-size: 6rem;
}
@media screen and (max-width: 767px) {
  .homeSection-title {
    font-size: 7rem;
    line-height: 96%;
  }
  .homeSection-title span {
    font-size: 4rem;
  }
}

.homeSection-title_ja {
  margin-top: 7px;
  font-weight: 700;
  font-size: 2rem;
  line-height: 2.4rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .homeSection-title_ja {
    margin-top: 6.4vw;
    font-size: 1.8rem;
    line-height: 2rem;
  }
}

.homeSection-title_2 {
  font-size: 6rem;
  line-height: 7rem;
  font-weight: 400;
  color: #138995;
}
@media screen and (max-width: 767px) {
  .homeSection-title_2 {
    font-size: 4rem;
    line-height: 4.7rem;
  }
}

.home-text {
  font-size: 1.6rem;
  line-height: 3.3rem;
  letter-spacing: 0.04em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .home-text {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
}

.home-arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #222;
  padding-right: 49px;
  position: relative;
  min-height: 4rem;
}
.home-arrow span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 50%;
  right: 2rem;
  background-color: #138995;
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  z-index: 10;
}
.home-arrow span::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url("/recruit/common/img/arrow_white.svg") 0 0/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .home-arrow:hover span {
    background-color: #0CA9B9;
  }
}
@media screen and (max-width: 767px) {
  .home-arrow {
    padding-right: 14.4vw;
  }
  .home-arrow span::after {
    width: 2.9333333333vw;
    height: 2.9333333333vw;
  }
}

.homeNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 21px;
  width: 308px;
}
.homeNav li {
  border-bottom: 1px solid #B5C7C8;
}
.homeNav a {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  color: #000;
  padding-bottom: 17px;
  position: relative;
}
.homeNav a span {
  display: block;
  margin-bottom: 3px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0;
  color: #138995;
}
.homeNav a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  display: inline-block;
  width: 0;
  height: 1px;
  background: #138995;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}
.homeNav a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 13px;
  height: 12px;
  background: url("/recruit/common/img/arrow_green_right.svg") 0 0/contain no-repeat;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.homeNav a:hover::before {
  width: 100%;
}
.homeNav a:hover::after {
  -webkit-transform: translateY(-50%) scale(1.2);
          transform: translateY(-50%) scale(1.2);
}
@media screen and (max-width: 767px) {
  .homeNav {
    width: 100%;
    gap: 5.6vw;
  }
  .homeNav a {
    font-size: 1.6rem;
    padding-bottom: 4.5333333333vw;
  }
  .homeNav a span {
    font-size: 1.3rem;
  }
  .homeNav a::after {
    right: 4vw;
    width: 3.2vw;
    height: 2.9333333333vw;
  }
}

.home-lead {
  font-size: 2.6rem;
  line-height: 4.2rem;
  letter-spacing: 0.12em;
  font-weight: bold;
}
.home-lead span {
  color: #00747F;
}
@media screen and (max-width: 767px) {
  .home-lead {
    font-size: 2.2rem;
    line-height: 4rem;
  }
}

.homeParallelogram {
  display: block;
  width: 524px;
  color: #222;
}
.homeParallelogram:hover {
  color: #138995;
}

.homeParallelogram-img {
  display: block;
  width: 524px;
  height: 289px;
  position: relative;
  overflow: hidden;
  clip-path: polygon(64px 0, 100% 0, calc(100% - 64px) 100%, 0 100%);
}
.homeParallelogram-img img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
}
a:hover .homeParallelogram-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.homeParallelogram-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 11px;
  padding-left: 19px;
  width: 460px;
  font-size: 1.6rem;
  line-height: 2.2rem;
  letter-spacing: 0.04em;
  font-weight: 700;
}
.homeParallelogram-text span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  margin-right: 16px;
  font-weight: 600;
  font-size: 18px;
  line-height: 21px;
  color: #138995;
}
.homeParallelogram-text span::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 40px;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
  background-color: #B5C6C8;
}

@media screen and (max-width: 767px) {
  .homeParallelogram {
    width: 94.6666666667vw;
  }
  .homeParallelogram-img {
    width: 113.3333333333vw;
    height: auto;
    clip-path: polygon(13.8666666667vw 0, 100% 0, 100% 100%, 0 100%);
  }
  .homeParallelogram-text {
    margin-top: 4.2666666667vw;
    width: 100%;
    font-size: 1.5rem;
    padding: 0 5.3333333333vw 0 0;
  }
  .homeParallelogram-text span {
    font-size: 1.8rem;
    line-height: 2.3rem;
    gap: 3.2vw;
  }
  .homeParallelogram-text span::after {
    height: 12vw;
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
}
.homeCandidate {
  position: relative;
  background: url("/recruit/img/bg_candidate.jpg") 0 0/cover no-repeat;
  -webkit-mask-image: url("/recruit/img/candidate_mask.png");
          mask-image: url("/recruit/img/candidate_mask.png");
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 50% bottom;
          mask-position: 50% bottom;
  margin-top: -4.3055555556vw;
  min-height: calc(100vh + var(--header-height));
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .homeCandidate {
    margin-top: 0;
  }
}

.homeCandidate-inner {
  padding: var(--header-height) 0 0;
  z-index: 2;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  background: url("/recruit/img/candidate_cover.png") 0 0/cover no-repeat;
  opacity: 0;
  text-align: center;
  font-size: 1.8rem;
  line-height: 5rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.homeCandidate-inner p {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}
.homeCandidate-inner p:not(:first-child) {
  margin-top: 3em;
}
@media screen and (max-width: 767px) {
  .homeCandidate-inner {
    font-size: 1.3rem;
    line-height: 2.5rem;
  }
}

.homeAbout {
  position: relative;
}
@media screen and (min-width: 768px) {
  .homeAbout {
    margin-bottom: 140px;
  }
}
.homeAbout .homeNav {
  margin-top: 68px;
}
.homeAbout .home-lead {
  position: absolute;
  top: 29px;
  left: 376px;
}
.homeAbout .homeAbout-img {
  position: absolute;
  top: 165px;
  left: 346px;
  width: 740px;
  height: 445px;
}
@media screen and (max-width: 767px) {
  .homeAbout .homeNav {
    margin-top: 14.9333333333vw;
  }
  .homeAbout .home-lead {
    position: static;
    margin-top: 7.7333333333vw;
    text-align: center;
  }
  .homeAbout .homeAbout-img {
    position: static;
    margin: 9.6vw 0 0 1.8666666667vw;
    width: 86.6666666667vw;
    height: auto;
  }
}

.homeProjects {
  margin-top: 210px;
  padding: 24px 0 450px;
  position: relative;
}
.homeProjects .homeSection-title_ja {
  margin-top: 3rem;
}
.homeProjects .home-text {
  margin-top: 30px;
}
.homeProjects .homeParallelogram {
  position: absolute;
}
.homeProjects .homeParallelogram[href="/recruit/about/project01/"] {
  top: 0;
  left: 518px;
}
.homeProjects .homeParallelogram[href="/recruit/about/project02/"] {
  top: 373px;
  left: 268px;
}
@media screen and (max-width: 767px) {
  .homeProjects {
    margin: 17.6vw -5.3333333333vw 0 0;
    padding: 0;
  }
  .homeProjects .homeSection-title_ja {
    margin-top: 1em;
  }
  .homeProjects .home-text {
    margin: 8vw 0;
  }
  .homeProjects .homeParallelogram {
    position: static;
  }
  .homeProjects .homeParallelogram:last-child {
    margin-top: 13.8666666667vw;
  }
}

.homeCareers .home-text {
  margin-top: 64px;
}
.homeCareers .homeNav {
  margin-top: 50px;
}
.homeCareers .tags {
  margin-top: 50px;
  width: 303px;
}
@media screen and (max-width: 767px) {
  .homeCareers .home-text {
    margin-top: 6.4vw;
  }
  .homeCareers .homeNav {
    margin-top: 11.7333333333vw;
  }
  .homeCareers .tags {
    margin-top: 16.5333333333vw;
    width: 100%;
  }
}

.homeCareers-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 52px;
}

.homeCareers-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 72px;
}

.homeCareers-bodyL {
  width: 381px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.homeCareers-bodyR {
  position: relative;
}
.homeCareers-bodyR .swiper {
  width: 61.8055555556vw;
  max-width: 1524px;
}

@media screen and (max-width: 767px) {
  .homeCareers-head {
    display: block;
  }
  .homeCareers-body {
    display: block;
  }
  .homeCareers-bodyL {
    width: 100%;
    margin-bottom: 17.0666666667vw;
  }
  .homeCareers-bodyR {
    margin-right: -5.3333333333vw;
  }
  .homeCareers-bodyR .swiper {
    width: 100%;
  }
}
.homeSlide .homeParallelogram {
  width: 381px;
  position: relative;
}
.homeSlide .homeParallelogram-img {
  width: 381px;
  height: 419px;
  clip-path: polygon(92px 0, 100% 0, calc(100% - 92px) 100%, 0 100%);
}
.homeSlide .homeParallelogram-text {
  display: block;
  padding: 0 56px 0 0;
  width: 300px;
  position: relative;
}
.homeSlide .homeParallelogram-text span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #138995;
  width: 4rem;
  height: 4rem;
  margin: 0;
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 999px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 10;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.homeSlide .homeParallelogram-text span::after {
  display: block;
  width: 12px;
  height: 12px;
  background: url(/recruit/common/img/arrow_white.svg) 0 0/contain no-repeat;
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.homeSlide .homeParallelogram:hover .homeParallelogram-text span {
  background-color: #0CA9B9;
}
.homeSlide .tags {
  margin-top: 16px;
  gap: 8px;
}
.homeSlide .tags a {
  padding: 7px 12px;
  font-size: 1.3rem;
  line-height: 1.4rem;
}
@media screen and (max-width: 767px) {
  .homeSlide .homeParallelogram {
    width: 94.6666666667vw;
  }
  .homeSlide .homeParallelogram-img {
    width: 100%;
    height: auto;
    clip-path: polygon(24.5333333333vw 0, 100% 0, calc(100% - 24.5333333333vw) 100%, 0 100%);
  }
  .homeSlide .homeParallelogram-img img {
    width: 100%;
    height: auto;
  }
  .homeSlide .homeParallelogram-text {
    width: 90%;
  }
  .homeSlide .homeParallelogram-text span::after {
    width: 3.2vw;
    height: 3.2vw;
  }
  .homeSlide .tags {
    margin-top: 4.2666666667vw;
    gap: 2.1333333333vw;
  }
  .homeSlide .tags a {
    padding: 1.8666666667vw 3.2vw;
    font-size: 1.2rem;
    line-height: 1.3rem;
  }
}

.swiper-slide {
  width: 381px !important;
}
@media screen and (max-width: 767px) {
  .swiper-slide {
    width: 100% !important;
  }
}

.homeSlide-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  margin: 28px 0 0 518px;
  width: 146px;
}
.homeSlide-btns .swiper-button-prev, .homeSlide-btns .swiper-button-next, .homeSlide-btns .swiper_pause {
  position: static !important;
  width: 44px;
  height: 44px;
  margin: 0;
  border: 1px solid #138995;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
}
.homeSlide-btns .swiper-button-prev svg, .homeSlide-btns .swiper-button-next svg, .homeSlide-btns .swiper_pause svg {
  width: 8px;
  height: 13px;
}
.homeSlide-btns .swiper-button-prev:hover, .homeSlide-btns .swiper-button-next:hover, .homeSlide-btns .swiper_pause:hover {
  background-color: #138995;
}
.homeSlide-btns .swiper-button-prev:hover svg path, .homeSlide-btns .swiper-button-next:hover svg path, .homeSlide-btns .swiper_pause:hover svg path {
  fill: #fff;
}
.homeSlide-btns .swiper-button-prev svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.homeSlide-btns .swiper_playBtn {
  opacity: 0;
  display: none;
  width: 11px !important;
  height: 13px !important;
  position: relative;
  left: 2px;
}
.homeSlide-btns .swiper_pause.paused .swiper_pauseBtn {
  opacity: 0;
  display: none;
}
.homeSlide-btns .swiper_pause.paused .swiper_playBtn {
  opacity: 1;
  display: block;
}
.homeSlide-btns .swiper_pause.paused:hover .swiper_playBtn path {
  fill: #fff;
}
@media screen and (max-width: 767px) {
  .homeSlide-btns {
    margin: 6.6666666667vw 0 0;
    padding-right: 6.6666666667vw;
    width: 100%;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .homeSlide-btns .swiper-button-prev, .homeSlide-btns .swiper-button-next, .homeSlide-btns .swiper_pause {
    width: 11.7333333333vw;
    height: 11.7333333333vw;
  }
  .homeSlide-btns .swiper-button-prev svg, .homeSlide-btns .swiper-button-next svg, .homeSlide-btns .swiper_pause svg {
    width: 2.1333333333vw;
    height: 3.4666666667vw;
  }
  .homeSlide-btns .swiper_playBtn {
    width: 2.9333333333vw !important;
    height: 3.4666666667vw !important;
    left: 0.2666666667vw;
  }
}

.homeSlide-number {
  position: absolute;
  top: 0;
  left: 32px;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1;
  color: #138995;
}
@media screen and (max-width: 767px) {
  .homeSlide-number {
    left: 8.5333333333vw;
  }
}

.homeWorkplace .home-text {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .homeWorkplace .homeSection-title {
    font-size: 6.4rem;
  }
  .homeWorkplace .home-text {
    margin-top: 1rem;
  }
  .homeWorkplace .homeNav {
    margin-top: 12.8vw;
  }
}

.homeWorkplace-head {
  margin-top: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .homeWorkplace-head {
    display: block;
    margin-top: 16vw;
  }
}

.homeWorkplace-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*justify-content: space-between;*/
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 71px;
  margin-top: 42px;
}
.homeWorkplace-body .homeParallelogram {
  position: relative;
}
.homeWorkplace-body .homeParallelogram > p {
  position: absolute;
  top: -20px;
  left: -21px;
  font-weight: 500;
  font-size: 3.6rem;
  line-height: 4.2rem;
  color: #138995;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 76px;
  padding: 0 36px;
  background: #FFF;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  clip-path: polygon(16px 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
}
.homeWorkplace-body .homeParallelogram:hover .homeParallelogram-text::before {
  width: 100%;
}
.homeWorkplace-body .homeParallelogram:hover .homeParallelogram-text::after {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.homeWorkplace-body .homeParallelogram:nth-child(2) {
  margin-top: 80px;
}
.homeWorkplace-body .homeParallelogram-text {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 5.6rem;
  border-bottom: 1px solid #B5C7C8;
  position: relative;
}
.homeWorkplace-body .homeParallelogram-text::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  display: inline-block;
  width: 0;
  height: 1px;
  background: #138995;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}
.homeWorkplace-body .homeParallelogram-text::after {
  content: "";
  display: block;
  width: 13px;
  height: 12px;
  background: url(/recruit/common/img/arrow_green_right.svg) 0 0/contain no-repeat;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .homeWorkplace-body {
    display: block;
    margin-top: 28.8vw;
  }
  .homeWorkplace-body .homeParallelogram > p {
    top: -0.6em;
    left: 0;
    font-size: 3.2rem;
    line-height: 1;
  }
  .homeWorkplace-body .homeParallelogram:nth-child(2) {
    margin-top: 27.7333333333vw;
  }
  .homeWorkplace-body .homeParallelogram-text {
    margin-top: 0;
    padding-left: 5.0666666667vw;
    font-size: 1.6rem;
  }
}

.homeEntry .headerNav-buttons {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  margin-top: 60px;
}
.homeEntry .headerNav-buttons a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 483px;
  height: 130px;
  font-size: 2.6rem;
  line-height: 4rem;
  font-weight: bold;
}
.homeEntry .headerNav-buttons a svg {
  position: absolute;
  right: 42px;
  width: 23px;
  height: 23px;
}
.homeEntry .homeNav {
  width: 100%;
  margin-top: 40px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
}
.homeEntry .homeNav a {
  padding: 0 48px 12px 20px;
  font-size: 1.6rem;
  line-height: 2.7rem;
}
.homeEntry .homeNav a::after {
  background-image: url("/recruit/common/img/arrow_green.svg");
  width: 16px;
  height: 16px;
  top: 40%;
}
@media screen and (max-width: 767px) {
  .homeEntry .headerNav-buttons {
    margin: 16vw -5.3333333333vw 0;
    height: 45.3333333333vw;
    position: relative;
  }
  .homeEntry .headerNav-buttons li {
    position: absolute;
  }
  .homeEntry .headerNav-buttons li:nth-child(1) {
    left: 0;
  }
  .homeEntry .headerNav-buttons li:nth-child(2) {
    right: 0;
    bottom: 0;
  }
  .homeEntry .headerNav-buttons a {
    height: 40vw;
    padding: 0;
    font-size: 1.8rem;
    line-height: 2.4rem;
    border-radius: 0;
    gap: 5.6vw;
    text-align: center;
  }
  .homeEntry .headerNav-buttons a[href="/recruit/newgraduate/"] {
    width: 52.8vw;
    clip-path: polygon(0 0, 100% 0, 84% 100%, 0% 100%);
  }
  .homeEntry .headerNav-buttons a[href="/recruit/experienced/"] {
    width: 54.9333333333vw;
    padding-left: 10.6666666667vw;
    clip-path: polygon(16% 0, 100% 0, 100% 100%, 0% 100%);
  }
  .homeEntry .headerNav-buttons a svg {
    position: static;
    width: 6.4vw;
    height: 6.4vw;
  }
  .homeEntry .homeNav {
    width: 78.1333333333vw;
    margin: 8vw auto 0;
    gap: 2.9333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .homeEntry .homeNav li {
    border-bottom: none;
  }
  .homeEntry .homeNav a {
    padding: 2.6666666667vw 13.3333333333vw 2.6666666667vw 8.8vw;
    font-size: 1.4rem;
    line-height: 2.7rem;
    background-color: #fff;
    clip-path: polygon(5% 0, 100% 0, 95% 100%, 0% 100%);
  }
  .homeEntry .homeNav a::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    top: 50%;
    right: 8.8vw;
  }
}

.homeEntry-subTitle {
  text-align: center;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .homeEntry-subTitle {
    margin-top: 16vw;
  }
}

.homePolicy {
  background-color: #fff;
  max-width: 996px;
  border-radius: 8px;
  padding: 25px 30px 0;
  margin: auto;
}
.homePolicy h2 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 110%;
}
.homePolicy .text {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .homePolicy h2 {
    font-size: 1.7rem;
  }
}

/* ========================================

about

========================================= */
/* history */
@media screen and (min-width: 768px) {
  .history {
    padding: 80px 0 100px;
    margin: 50px 0 60px;
  }
  .history .container {
    background: url("/recruit/about/history/img/history_line.png") 253px bottom no-repeat;
    width: 1100px;
    height: 3847px;
  }
}
@media screen and (max-width: 767px) {
  .history {
    padding: 17.0666666667vw 0 12.8vw;
    margin-top: 10.6666666667vw;
  }
  .history .container {
    padding: 0 8vw 13.3333333333vw 13.3333333333vw;
    background: url("/recruit/about/history/img/history_line_sp.png") 0 bottom/12vw no-repeat;
  }
}

.historyBox {
  position: relative;
}

.history-year {
  color: #138995;
  font-size: 5.6rem;
  line-height: 120%;
  letter-spacing: 0.04em;
  position: relative;
}
.history-year::before {
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  background: url("/recruit/about/history/img/dot.svg") 0 0/contain no-repeat;
  position: absolute;
  top: 0.5em;
}
@media screen and (max-width: 767px) {
  .history-year::before {
    width: 5.6vw;
    height: 5.6vw;
    top: 0.4em;
    left: -6.4vw;
  }
}

.history-title {
  margin-bottom: 20px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .history-title {
    margin-bottom: 8vw;
  }
}

@media screen and (min-width: 768px) {
  .history-img {
    width: 404px;
    position: absolute;
  }
  .historyBox_1876 {
    padding-left: 438px;
  }
  .historyBox_1876 .history-year::before {
    left: -78px;
  }
  .historyBox_1876 .history-img {
    left: 0;
    top: 80px;
  }
  .historyBox_1936 {
    margin-top: 30px;
    padding-right: 32px;
    padding-left: 482px;
  }
  .historyBox_1936 .history-year, .historyBox_1936 .history-title {
    position: relative;
    top: -40px;
    margin-left: -150px;
  }
  .historyBox_1936 .history-year::before {
    left: -65px;
  }
  .historyBox_1936 .history-img {
    left: 0;
    top: 100px;
  }
  .historyBox_1936 .text {
    position: relative;
    top: -30px;
  }
  .historyBox_1937 {
    margin-top: 200px;
    padding-right: 450px;
    padding-left: 42px;
  }
  .historyBox_1937 .history-year, .historyBox_1937 .history-title {
    margin-right: -91px;
  }
  .historyBox_1937 .history-year::before {
    right: -74px;
  }
  .historyBox_1937 .history-img {
    right: 0;
    top: 130px;
  }
  .historyBox_1949 {
    margin-top: 200px;
    padding-right: 680px;
  }
  .historyBox_1949 .history-year, .historyBox_1949 .history-title {
    margin-right: -152px;
  }
  .historyBox_1949 .history-year::before {
    right: -74px;
  }
  .historyBox_1949 .text {
    position: absolute;
    right: 0;
    top: 80px;
    width: 460px;
  }
  .historyBox_1959 {
    margin-top: 170px;
    padding-left: 429px;
  }
  .historyBox_1959 .history-year::before {
    left: -78px;
  }
  .historyBox_1959 .history-img {
    left: 0;
    top: 80px;
  }
  .historyBox_1967 {
    margin-top: 180px;
    padding-right: 32px;
    padding-left: 512px;
  }
  .historyBox_1967 .history-year, .historyBox_1967 .history-title {
    margin-left: -72px;
  }
  .historyBox_1967 .history-year::before {
    left: -65px;
  }
  .historyBox_1967 .history-img {
    left: 40px;
    top: 130px;
  }
  .historyBox_1982 {
    margin-top: 200px;
    padding-right: 450px;
    padding-left: 42px;
  }
  .historyBox_1982 .history-year, .historyBox_1982 .history-title {
    margin-right: -63px;
  }
  .historyBox_1982 .history-year::before {
    right: -74px;
  }
  .historyBox_1982 .history-img {
    right: 0;
    top: 90px;
  }
  .historyBox_2007 {
    margin-top: 240px;
    padding-right: 625px;
  }
  .historyBox_2007 .history-year, .historyBox_2007 .history-title {
    margin-right: -95px;
  }
  .historyBox_2007 .history-year::before {
    right: -84px;
  }
  .historyBox_2007 .history-img {
    right: 60px;
    top: 40px;
  }
  .historyBox_2015 {
    margin-top: 180px;
    padding-right: 32px;
    padding-left: 502px;
  }
  .historyBox_2015 .history-year, .historyBox_2015 .history-title {
    margin-left: -62px;
  }
  .historyBox_2015 .history-year::before {
    left: -65px;
  }
  .historyBox_2015 .history-img {
    left: 20px;
    top: 60px;
  }
  .historyBox_2023 {
    margin-top: 100px;
    padding-right: 410px;
  }
  .historyBox_2023 .history-year, .historyBox_2023 .history-title {
    margin-right: 71px;
  }
  .historyBox_2023 .history-year::before {
    right: -74px;
  }
  .historyBox_2023 .history-img {
    right: 0;
    top: 0;
  }
  .historyBox_2023 .text {
    width: 560px;
    margin: 0 0 0 auto;
  }
  .historyBox_2025 {
    margin-top: 100px;
    padding-right: 410px;
  }
  .historyBox_2025 .history-year, .historyBox_2025 .history-title {
    margin-right: -103px;
  }
  .historyBox_2025 .history-year::before {
    right: -54px;
  }
  .historyBox_2025 .history-img {
    right: 0;
    top: 120px;
  }
  .historyBox_2025 .text {
    width: 560px;
    margin: 0 0 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .history-img {
    margin-bottom: 8vw;
  }
  .history-year.align-r, .history-title.align-r {
    text-align: left !important;
  }
  .historyBox + .historyBox {
    margin-top: 16vw;
  }
  .historyBox_1936 {
    position: relative;
    top: -10.6666666667vw;
  }
  .historyBox_1936 .history-year::before {
    left: -13.3333333333vw;
  }
  .historyBox_1937 .history-year, .historyBox_1937 .history-title {
    padding-left: 8vw;
  }
  .historyBox_1937 .history-year::before {
    left: -5.8666666667vw;
  }
  .historyBox_1949 .history-year::before {
    left: -9.0666666667vw;
  }
  .historyBox_1959 .history-year::before {
    left: -11.2vw;
  }
  .historyBox_1967 .history-year::before {
    left: -8.5333333333vw;
  }
  .historyBox_1982 .history-year::before {
    left: -13.3333333333vw;
  }
  .historyBox_2007 .history-year::before {
    left: -10.6666666667vw;
  }
  .historyBox_2015 .history-year::before {
    left: -11.2vw;
  }
  .historyBox_2023 .history-year, .historyBox_2023 .history-title {
    padding-left: 8vw;
  }
  .historyBox_2023 .history-year::before {
    left: -6.4vw;
  }
  .historyBox_2025 .history-year::before {
    left: -13.3333333333vw;
  }
}
/* number */
.numberArea {
  padding: 40px 0 80px;
}

.numberWrap, .numberWrap-graph {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 22px 0;
  margin-bottom: 50px;
}

.numberWrap-graph {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 36px;
}

.numberBox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  width: 492px;
  height: 185px;
  clip-path: polygon(40px 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
  text-align: center;
}
.numberBox .number {
  margin-right: 20px;
}

.numberBox::before, .numberBox::after, .numberGraph-graph::before, .numberGraph-graph::after {
  content: "";
  display: block;
  position: absolute;
  background: 0 0/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .numberBox::before, .numberBox::after, .numberGraph-graph::before, .numberGraph-graph::after {
    zoom: 0.7;
  }
}

@media screen and (min-width: 768px) {
  .numberBox-kokunai, .numberBox-kaigai, .numberBox-tenkai {
    width: 372px;
    margin: 0 -3px;
  }
  .numberBox-profit, .numberBox-oversea {
    width: 332px;
    margin: 0 -3px;
  }
  .numberBox-roe {
    width: 432px;
    margin: 0 -3px;
  }
}
.numberBox-souritu .number {
  margin: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .numberBox-souritu .number {
    margin-left: 5.3333333333vw;
  }
}

.numberBox-souritu::before {
  background-image: url("/recruit/about/number/img/icon_souritu.png");
  width: 6.6rem;
  height: 6.6rem;
  top: 7.9rem;
  left: 7.5rem;
}
@media screen and (max-width: 767px) {
  .numberBox-souritu::before {
    left: 16vw;
  }
}

.numberBox-sougyou::before, .numberBox-sougyou::after {
  background-image: url("/recruit/about/number/img/icon_sougyou.png");
  width: 3.4rem;
  height: 5.2rem;
  top: 9rem;
  left: 12rem;
}
@media screen and (max-width: 767px) {
  .numberBox-sougyou::before, .numberBox-sougyou::after {
    left: 30.9333333333vw;
  }
}

.numberBox-sougyou::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  left: auto;
  right: 14rem;
}

.numberBox-kokunai::before {
  background-image: url("/recruit/about/number/img/icon_kokunai.png");
  width: 5.6rem;
  height: 5.8rem;
  top: 2.4rem;
  right: 5.5rem;
}

.numberBox-kaigai::before {
  background-image: url("/recruit/about/number/img/icon_kaigai.png");
  width: 5.5rem;
  height: 5.5rem;
  top: 2.2rem;
  right: 5.6rem;
}

.numberBox-tenkai::before {
  background-image: url("/recruit/about/number/img/icon_tenkai.png");
  width: 5.3rem;
  height: 5.4rem;
  top: 2.3rem;
  right: 5.6rem;
}

.numberBox-share::before {
  background-image: url("/recruit/about/number/img/icon_share.png");
  width: 3.8rem;
  height: 7rem;
  top: 7.6rem;
  left: 10rem;
}

.numberBox-revenue::before {
  background-image: url("/recruit/about/number/img/icon_revenue.png");
  width: 6.1rem;
  height: 6.6rem;
  top: 2.6rem;
  right: 5.6rem;
}

.numberBox-profit::before {
  background-image: url("/recruit/about/number/img/icon_profit.png");
  width: 6.5rem;
  height: 5.7rem;
  top: 2rem;
  right: 3rem;
}

.numberBox-oversea::before {
  background-image: url("/recruit/about/number/img/icon_oversea.png");
  width: 6.7rem;
  height: 6rem;
  top: 2rem;
  right: 3rem;
}

.numberBox-roe::before {
  background-image: url("/recruit/about/number/img/icon_roe.png");
  width: 5.4rem;
  height: 5.4rem;
  top: 2.4rem;
  right: 4.2rem;
}

.numberBox-holiday::before {
  background-image: url("/recruit/about/number/img/icon_holiday.png");
  width: 7.2rem;
  height: 7.2rem;
  top: 2.9rem;
  right: 5.9rem;
}

.numberBox-overtime::before {
  background-image: url("/recruit/about/number/img/icon_overtime.png");
  width: 6.2rem;
  height: 6.2rem;
  top: 2.4rem;
  right: 5.9rem;
}

.numberGraph-parental .numberGraph-graph::after {
  background-image: url("/recruit/about/number/img/icon_parental.png");
  width: 6.8rem;
  height: 5.8rem;
  top: 4rem;
  left: 11rem;
}
@media screen and (max-width: 767px) {
  .numberGraph-parental .numberGraph-graph::after {
    zoom: 0.9;
    left: 26.6666666667vw;
  }
}

.numberGraph-utRate .numberGraph-graph::after {
  background-image: url("/recruit/about/number/img/icon_utrate.png");
  width: 6rem;
  height: 6rem;
  top: 4.5rem;
  right: 5.1rem;
}
@media screen and (max-width: 767px) {
  .numberGraph-utRate .numberGraph-graph::after {
    zoom: 0.8;
  }
}

.number-title {
  margin-bottom: 8px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.4rem;
  letter-spacing: 0.04em;
}

.number {
  display: block;
  color: #138995;
  font-size: 9rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.02em;
  position: relative;
}
.number::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  bottom: 0;
  border-bottom: 4px solid #FFCE51;
  z-index: -1;
}

.number-unit {
  font-size: 2.6rem;
  line-height: 2.8rem;
  color: #222 !important;
}

.number-year {
  position: absolute;
  bottom: 4px;
  margin-right: 20px;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .number-year {
    font-size: 1.1rem;
    bottom: 0vw;
  }
}

.numberGraph {
  position: relative;
  text-align: center;
}

.numberGraph-graph {
  position: relative;
}

.numberGraph-date {
  margin-top: 0.5em;
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: 0.04em;
}

.numberGraph-age .number, .numberGraph-sex .number, .numberGraph-hsRatio .number {
  font-size: 6.2rem;
  position: absolute;
  text-align: left;
}
.numberGraph-age .number::after, .numberGraph-sex .number::after, .numberGraph-hsRatio .number::after {
  content: none;
}
.numberGraph-age .number span:first-of-type, .numberGraph-sex .number span:first-of-type, .numberGraph-hsRatio .number span:first-of-type {
  display: block;
  color: #222;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  letter-spacing: 0.04em;
}

.numberGraph-sex .number, .numberGraph-hsRatio .number {
  font-size: 4.2rem;
}
.numberGraph-sex .number span:first-of-type, .numberGraph-hsRatio .number span:first-of-type {
  font-size: 1.4rem;
}

.numberGraph-age_20 {
  top: 35px;
  right: 54px;
  color: #fff;
}

.numberGraph-age_30 {
  top: 189px;
  right: 10px;
  color: #fff;
}

.numberGraph-age_40 {
  top: 275px;
  left: 88px;
}

.numberGraph-age_50 {
  top: 112px;
  left: 45px;
}

.numberGraph-age_60 {
  top: 10px;
  left: 80px;
}

.numberGraph-sex_f {
  top: 27px;
  right: 20px;
  color: #fff;
}

.numberGraph-sex_m {
  top: 137px;
  left: 66px;
}

.numberGraph-hsRatio_h {
  top: 27px;
  right: 20px;
  color: #fff;
}

.numberGraph-hsRatio_s {
  top: 137px;
  left: 66px;
}

.numberGraph-parental .number {
  position: absolute;
  top: 60%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.numberGraph-utRate .number {
  position: absolute;
  top: 55%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.numberGraph-secondment .number {
  position: absolute;
  top: 55%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .numberArea {
    padding: 17.0666666667vw 0 0;
    overflow: hidden;
  }
  .numberWrap, .numberWrap-graph {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.3333333333vw 0;
    margin-bottom: 13.3333333333vw;
  }
  .numberWrap-graph {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 13.3333333333vw 0;
  }
  .numberBox {
    width: 91.7333333333vw;
    height: 34.6666666667vw;
    clip-path: polygon(8vw 0, 100% 0, calc(100% - 8vw) 100%, 0 100%);
  }
  .number-title {
    margin-bottom: 2.1333333333vw;
    font-size: 1.3rem;
    line-height: 133%;
  }
  .number {
    font-size: 6.3rem;
  }
  .number::after {
    border-bottom-width: 0.8vw;
  }
  .number-unit {
    font-size: 1.8rem;
    line-height: 2rem;
  }
  .numberGraph .number-title {
    font-size: 1.8rem;
  }
  .numberGraph-date {
    line-height: 1.8rem;
  }
  .numberGraph-age .number, .numberGraph-sex .number, .numberGraph-hsRatio .number {
    font-size: 4.6rem;
  }
  .numberGraph-age .number span:first-of-type, .numberGraph-sex .number span:first-of-type, .numberGraph-hsRatio .number span:first-of-type {
    font-size: 1.2rem;
    line-height: 1.8rem;
  }
  .numberGraph-age img {
    width: 85.8666666667vw;
  }
  .numberGraph-sex img, .numberGraph-hsRatio img {
    width: 64.5333333333vw;
  }
  .numberGraph-sex .number, .numberGraph-hsRatio .number {
    font-size: 3.8rem;
  }
  .numberGraph-age_20 {
    top: 6.9333333333vw;
    right: 10.6666666667vw;
  }
  .numberGraph-age_30 {
    top: 37.8666666667vw;
    right: 2.1333333333vw;
  }
  .numberGraph-age_40 {
    top: 54.9333333333vw;
    left: 17.6vw;
  }
  .numberGraph-age_50 {
    top: 18.1333333333vw;
    left: 9.0666666667vw;
  }
  .numberGraph-age_60 {
    top: 2.1333333333vw;
    left: 19.7333333333vw;
  }
  .numberGraph-sex_f, .numberGraph-hsRatio_h {
    top: 6.4vw;
    right: 6.4vw;
  }
  .numberGraph-sex_m, .numberGraph-hsRatio_s {
    top: 32.8vw;
    left: 16vw;
  }
  .numberGraph-parental .numberGraph-graph {
    width: 64.5333333333vw;
  }
  .numberGraph-parental .number {
    top: 55%;
    font-size: 7.7rem;
  }
  .numberGraph-parental .number-unit {
    font-size: 3.4rem;
  }
  .numberGraph-utRate .numberGraph-graph, .numberGraph-secondment .numberGraph-graph {
    width: 64.5333333333vw;
  }
  .numberGraph-utRate .number, .numberGraph-secondment .number {
    font-size: 7.7rem;
  }
  .numberGraph-utRate .number-unit, .numberGraph-secondment .number-unit {
    font-size: 3.4rem;
  }
  .numberBox-souritu, .numberBox-share {
    margin-left: 5.3333333333vw;
  }
  .numberBox-kokunai, .numberBox-kaigai, .numberBox-tenkai {
    width: 69.3333333333vw;
  }
  .numberBox-profit, .numberBox-oversea, .numberBox-roe {
    width: 80vw;
  }
  .numberBox-kokunai, .numberBox-profit {
    margin-left: 12.8vw;
  }
  .numberBox-kaigai, .numberBox-oversea {
    margin-left: 4.8vw;
  }
  .numberBox-tenkai, .numberBox-roe {
    margin-left: -3.4666666667vw;
  }
}
/* products */
.productsMovie {
  width: 566px;
}
.productsMovie iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9 !important;
}
@media screen and (max-width: 767px) {
  .productsMovie {
    width: 100%;
  }
}

.productsListArea {
  background: #E9F9F9;
  padding: 56px 0;
}

.productsList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px;
}

.productsList-item {
  width: calc((100% - 60px) / 2);
  background-color: #fff;
  padding: 71px 30px 32px;
  position: relative;
}
.productsList-item .img figcaption {
  padding: 10px;
}
.productsList-item #modal5 .modal-inner iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 9/16;
}
.productsList-item .note.character_1 li {
  padding-bottom: 0;
}

.productsList-tag {
  position: absolute;
  top: -8px;
  left: -15px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #138995;
  height: 55px;
  padding: 0 30px;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);
}

@media screen and (max-width: 767px) {
  .productsListArea {
    padding: 14.9333333333vw 0;
  }
  .productsList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16vw;
  }
  .productsList-item {
    width: 100%;
    padding: 17.6vw 3.3333333333vw 6.4vw;
  }
  .productsList-item .img figcaption {
    padding: 2.6666666667vw 2vw;
  }
  .productsList-item .modal-inner {
    padding: 0;
  }
  .productsList-item .modal-inner iframe {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9;
    vertical-align: bottom;
  }
  .productsList-tag {
    top: -2.2vw;
    left: -2.6666666667vw;
    height: 14.1333333333vw;
    padding: 0 6.9333333333vw;
    font-size: 1.8rem;
    clip-path: polygon(2.6666666667vw 0, 100% 0, calc(100% - 2.6666666667vw) 100%, 0 100%);
  }
}
/* personality */
.personalityTitle {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

@media screen and (min-width: 768px) {
  .idealWrap .img:nth-child(1) {
    margin: 0 100px;
  }
}

/* vision */
.vision {
  padding: 48px 0 96px;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .vision {
    padding: 12.8vw 0 25.6vw;
    margin-top: 17.0666666667vw;
  }
}

.visionCell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 55px;
}
.visionCell > * {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.visionCell ~ .visionCell {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .visionCell {
    gap: 9.6vw;
  }
  .visionCell ~ .visionCell {
    margin-top: 17.0666666667vw;
  }
}

.vision-text {
  margin: 0 50px;
  color: #000;
  font-size: 2rem;
  font-weight: 400;
  line-height: 245%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .vision-text {
    margin: 0;
    font-size: 1.6rem;
    text-align: left;
  }
}

.visionWay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 36px 34px;
  margin: 0 67px;
}
@media screen and (max-width: 767px) {
  .visionWay {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    gap: 5.3333333333vw;
  }
}

.visionWay-item {
  width: calc(50% - 17px);
  background: -webkit-gradient(linear, left bottom, left top, from(#FFF), to(#FFF)), #E8E8E8;
  background: linear-gradient(0deg, #FFF 0%, #FFF 100%), #E8E8E8;
  padding: 32px 48px 62px;
  color: #222;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 175%;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 767px) {
  .visionWay-item {
    width: 100%;
    padding: 6.4vw;
    font-size: 1.8rem;
  }
}

.visionWay_title {
  margin-bottom: 16px;
  color: #00747F;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 767px) {
  .visionWay_title {
    margin-bottom: 4.2666666667vw;
    font-size: 2.2rem;
  }
}

.visionChallenge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}

.visionChallenge-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .visionChallenge-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.visionChallenge-item h3 {
  background: #69B4BB;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 240px;
  padding: 24px 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  color: var(--white, #FFF);
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 49px;
}
@media screen and (max-width: 767px) {
  .visionChallenge-item h3 {
    width: 100%;
    padding: 4.2666666667vw;
    font-size: 2.2rem;
    line-height: 1.5;
  }
}
.visionChallenge-item dl {
  background: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% - 240px);
  padding: 26px 40px 30px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.visionChallenge-item dl dt {
  padding-bottom: 6px;
  border-bottom: 1px solid #138995;
  width: 100%;
  color: #222;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.96px;
}
.visionChallenge-item dl dd {
  color: #000;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 175%;
  letter-spacing: 0.64px;
}
@media screen and (max-width: 767px) {
  .visionChallenge-item dl {
    width: 100%;
    padding: 4.8vw 6.4vw;
  }
  .visionChallenge-item dl dt {
    font-size: 2rem;
  }
  .visionChallenge-item dl dd {
    text-align: left;
    font-size: 1.4rem;
  }
}

/* ========================================

newgraduate

========================================= */
/* requirements */
.requirementsTbl th {
  width: 10em;
}
@media screen and (max-width: 767px) {
  .requirementsTbl th {
    width: 6em;
  }
}

.requirementsProcess {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.requirementsProcess dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 240px;
  padding: 24px 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  background: #69B4BB;
  color: #FFF;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.requirementsProcess dt span {
  font-size: 5.6rem;
  font-weight: 500;
}
.requirementsProcess dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% - 240px);
  padding: 30px 26px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  background: #E9F9F9;
}
.requirementsProcess dd .text {
  text-align: center;
  margin-bottom: 0;
}
.requirementsProcess .requirementsProcess-title {
  width: 100%;
  padding-bottom: 6px;
  border-bottom: 1px solid #138995;
  color: #222;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.04em;
}
.requirementsProcess + .requirementsProcess {
  margin-top: 50px;
}
.requirementsProcess + .requirementsProcess::before {
  content: "";
  display: block;
  position: absolute;
  top: -33px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  margin-left: 120px;
  border-style: solid;
  border-right: 43px solid transparent;
  border-left: 43px solid transparent;
  border-top: 23px solid #138995;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .requirementsProcess {
    display: block;
  }
  .requirementsProcess dt {
    width: 100%;
    padding: 2.1333333333vw 8.5333333333vw;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.8666666667vw;
    font-size: 1.6rem;
  }
  .requirementsProcess dt span {
    font-size: 4rem;
  }
  .requirementsProcess dd {
    width: 100%;
    padding: 8vw 6.9333333333vw;
    gap: 3.2vw;
  }
  .requirementsProcess dd .text {
    text-align: left;
  }
  .requirementsProcess .requirementsProcess-title {
    padding-bottom: 1.6vw;
    font-size: 2.2rem;
    line-height: 150%;
  }
  .requirementsProcess + .requirementsProcess {
    margin-top: 13.3333333333vw;
  }
  .requirementsProcess + .requirementsProcess::before {
    top: -8.8vw;
    border-right-width: 11.4666666667vw;
    border-left-width: 11.4666666667vw;
    border-top-width: 6.1333333333vw;
    margin: 0;
  }
}

.requirementsContact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  width: 80%;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .requirementsContact {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1em;
    width: 100%;
  }
}

.requirementsGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  margin-top: 64px;
  padding: 48px 68px;
  gap: 32px;
  background: #E9F9F9;
}
.requirementsGroup h3 {
  width: 100%;
  padding-bottom: 8px;
  color: #222;
  text-align: center;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.04em;
}
.requirementsGroup .requirementsGroup-cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 48.3402489627%;
  padding: 36px 24px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 15px;
  background: #FFF;
}
.requirementsGroup .requirementsGroup-cell p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .requirementsGroup {
    width: 100vw;
    margin: 17.0666666667vw -5.3333333333vw 0;
    padding: 12.8vw 8vw;
    gap: 8.5333333333vw;
    background: #E9F9F9;
  }
  .requirementsGroup h3 {
    padding-bottom: 2.1333333333vw;
    font-size: 2.4rem;
  }
  .requirementsGroup .requirementsGroup-cell {
    width: 100%;
    padding: 9.6vw 6.4vw;
    gap: 2.1333333333vw;
    border-radius: 4vw;
  }
  .requirementsGroup .linkArrow {
    font-size: 1.6rem;
  }
}

/* インターン＆イベント */
@media screen and (max-width: 767px) {
  .workStyle-openBtn_newgraduate {
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    height: auto !important;
    position: static !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    font-size: 1.3rem;
    font-weight: 500;
  }
  #calendar.modal .workStyleModal-body {
    padding: 8vw 0;
  }
  #calendar.modal .workStyleModal-body img {
    max-width: none;
    width: 200%;
  }
}
/* ========================================

experienced

========================================= */
@media screen and (min-width: 768px) {
  .experiencedIndex a {
    width: 330px;
  }
}
@media screen and (max-width: 767px) {
  .experiencedIndex a {
    font-size: 1.6rem;
  }
}

/* ========================================

works

========================================= */
.worksJob {
  position: relative;
}
@media screen and (max-width: 767px) {
  .worksJob img {
    width: 100%;
  }
}

.worksModalButton {
  position: absolute;
  background: transparent;
  border: none;
  outline: none;
  overflow: hidden;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.56px;
  line-height: 16px;
  padding: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .worksModalButton {
    width: 130px;
    height: 39px;
    border-radius: 999px;
    background-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .worksModalButton {
    width: 26.6666666667vw;
    height: 0;
    padding-top: 9.3333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .worksModalButton_01,
  .worksModalButton_03,
  .worksModalButton_04,
  .worksModalButton_05,
  .worksModalButton_06 {
    top: 195px;
    width: 126px;
    height: 70px;
    z-index: 1;
    font-size: 15px;
    line-height: 21px;
    clip-path: polygon(114px 0%, 100% 50%, 114px 100%, 0% 100%, 11px 50%, 0% 0%);
    background: #428CAE;
    color: #fff;
    border-radius: 0;
  }
  .worksModalButton_01:hover,
  .worksModalButton_03:hover,
  .worksModalButton_04:hover,
  .worksModalButton_05:hover,
  .worksModalButton_06:hover {
    background: #3F9DC9;
  }
  .worksModalButton_01 {
    left: 250px;
    clip-path: polygon(0% 0%, 114px 0, 100% 50%, 114px 100%, 0% 100%);
  }
  .worksModalButton_02 {
    top: 163px;
    left: 372px;
    width: 514px;
    height: 114px;
    padding-bottom: 74px;
    border-radius: 6px;
    z-index: 0;
    background-color: #B2E0F5;
    color: #2798CC;
    font-size: 16px;
  }
  .worksModalButton_02:hover {
    background-color: #8FDAFB;
  }
  .worksModalButton_03 {
    left: 375px;
  }
  .worksModalButton_04 {
    left: 500px;
  }
  .worksModalButton_05 {
    left: 625px;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .worksModalButton_06 {
    left: 750px;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .worksModalButton_07,
  .worksModalButton_08,
  .worksModalButton_09,
  .worksModalButton_10,
  .worksModalButton_12 {
    top: 389px;
    color: #00747F;
  }
  .worksModalButton_07,
  .worksModalButton_13,
  .worksModalButton_15,
  .worksModalButton_22,
  .worksModalButton_23 {
    left: 248px;
  }
  .worksModalButton_08,
  .worksModalButton_14,
  .worksModalButton_16,
  .worksModalButton_24,
  .worksModalButton_25 {
    left: 386px;
  }
  .worksModalButton_09,
  .worksModalButton_11,
  .worksModalButton_17,
  .worksModalButton_26,
  .worksModalButton_27 {
    left: 526px;
  }
  .worksModalButton_10,
  .worksModalButton_28,
  .worksModalButton_29 {
    left: 664px;
  }
  .worksModalButton_11 {
    top: 434px;
  }
  .worksModalButton_12,
  .worksModalButton_18,
  .worksModalButton_20,
  .worksModalButton_30 {
    left: 802px;
  }
  .worksModalButton_13,
  .worksModalButton_14,
  .worksModalButton_17,
  .worksModalButton_18,
  .worksModalButton_19 {
    top: 557px;
  }
  .worksModalButton_15,
  .worksModalButton_16,
  .worksModalButton_20,
  .worksModalButton_21 {
    top: 602px;
  }
  .worksModalButton_17 {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0;
  }
  .worksModalButton_19,
  .worksModalButton_21 {
    left: 941px;
  }
  .worksModalButton_07,
  .worksModalButton_08,
  .worksModalButton_09,
  .worksModalButton_10,
  .worksModalButton_11,
  .worksModalButton_12,
  .worksModalButton_13,
  .worksModalButton_14,
  .worksModalButton_15,
  .worksModalButton_16,
  .worksModalButton_17,
  .worksModalButton_18,
  .worksModalButton_19,
  .worksModalButton_20,
  .worksModalButton_21 {
    color: #00747F;
  }
  .worksModalButton_07:hover,
  .worksModalButton_08:hover,
  .worksModalButton_09:hover,
  .worksModalButton_10:hover,
  .worksModalButton_11:hover,
  .worksModalButton_12:hover,
  .worksModalButton_13:hover,
  .worksModalButton_14:hover,
  .worksModalButton_15:hover,
  .worksModalButton_16:hover,
  .worksModalButton_17:hover,
  .worksModalButton_18:hover,
  .worksModalButton_19:hover,
  .worksModalButton_20:hover,
  .worksModalButton_21:hover {
    color: #00747F;
    background-color: #B2F5E2;
  }
  .worksModalButton_22,
  .worksModalButton_24,
  .worksModalButton_26,
  .worksModalButton_28,
  .worksModalButton_30 {
    top: 689px;
  }
  .worksModalButton_23,
  .worksModalButton_25,
  .worksModalButton_27,
  .worksModalButton_29 {
    top: 738px;
  }
  .worksModalButton_22,
  .worksModalButton_23,
  .worksModalButton_24,
  .worksModalButton_25,
  .worksModalButton_26,
  .worksModalButton_27,
  .worksModalButton_28,
  .worksModalButton_29,
  .worksModalButton_30 {
    color: #C38144;
  }
  .worksModalButton_22:hover,
  .worksModalButton_23:hover,
  .worksModalButton_24:hover,
  .worksModalButton_25:hover,
  .worksModalButton_26:hover,
  .worksModalButton_27:hover,
  .worksModalButton_28:hover,
  .worksModalButton_29:hover,
  .worksModalButton_30:hover {
    background-color: #F5DBB2;
  }
  .worksModalButton_31,
  .worksModalButton_32,
  .worksModalButton_33,
  .worksModalButton_34,
  .worksModalButton_35,
  .worksModalButton_36 {
    top: 71px;
    color: #2A8FBE;
  }
  .worksModalButton_31:hover,
  .worksModalButton_32:hover,
  .worksModalButton_33:hover,
  .worksModalButton_34:hover,
  .worksModalButton_35:hover,
  .worksModalButton_36:hover {
    background: #B2E0F5;
  }
  .worksModalButton_31 {
    left: 141px;
  }
  .worksModalButton_32 {
    left: 279px;
  }
  .worksModalButton_33 {
    left: 417px;
  }
  .worksModalButton_34 {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    left: 555px;
  }
  .worksModalButton_35 {
    left: 693px;
  }
  .worksModalButton_36 {
    left: 829px;
  }
}
@media screen and (max-width: 767px) {
  .worksModalButton_01 {
    top: 72.2666666667vw;
    left: 14.1333333333vw;
    width: 61.0666666667vw;
    height: 9.0666666667vw;
  }
  .worksModalButton_02 {
    top: 82.1333333333vw;
    left: 10.9333333333vw;
    width: 74.4vw;
    height: 49.6vw;
    padding-top: 49.6vw;
    z-index: 0;
  }
  .worksModalButton_03 {
    top: 84vw;
    left: 14.1333333333vw;
    width: 61.0666666667vw;
    height: 9.0666666667vw;
    z-index: 1;
  }
  .worksModalButton_04 {
    top: 95.7333333333vw;
    left: 14.1333333333vw;
    width: 61.0666666667vw;
    height: 9.0666666667vw;
    z-index: 1;
  }
  .worksModalButton_05 {
    top: 107.4666666667vw;
    left: 14.1333333333vw;
    width: 61.0666666667vw;
    height: 9.0666666667vw;
    z-index: 1;
  }
  .worksModalButton_06 {
    top: 119.2vw;
    left: 14.1333333333vw;
    width: 61.0666666667vw;
    height: 9.0666666667vw;
    z-index: 1;
  }
  .worksModalButton_07 {
    top: 166.4vw;
    left: 30.4vw;
  }
  .worksModalButton_08 {
    top: 166.4vw;
    left: 59.2vw;
  }
  .worksModalButton_09 {
    top: 186.1333333333vw;
    left: 30.4vw;
  }
  .worksModalButton_10 {
    top: 186.1333333333vw;
    left: 59.2vw;
  }
  .worksModalButton_11 {
    top: 197.3333333333vw;
    left: 30.4vw;
  }
  .worksModalButton_12 {
    top: 215.4666666667vw;
    left: 30.4vw;
  }
  .worksModalButton_13 {
    top: 231.4666666667vw;
    left: 30.4vw;
  }
  .worksModalButton_14 {
    top: 231.4666666667vw;
    left: 59.2vw;
  }
  .worksModalButton_15 {
    top: 242.4vw;
    left: 30.4vw;
  }
  .worksModalButton_16 {
    top: 242.4vw;
    left: 59.2vw;
  }
  .worksModalButton_17 {
    top: 259.2vw;
    left: 30.4vw;
  }
  .worksModalButton_18 {
    top: 277.3333333333vw;
    left: 30.4vw;
  }
  .worksModalButton_19 {
    top: 277.3333333333vw;
    left: 59.2vw;
  }
  .worksModalButton_20 {
    top: 288.2666666667vw;
    left: 30.4vw;
  }
  .worksModalButton_21 {
    top: 288.2666666667vw;
    left: 59.2vw;
  }
  .worksModalButton_22 {
    top: 332.8vw;
    left: 2.6666666667vw;
  }
  .worksModalButton_23 {
    top: 344vw;
    left: 60vw;
  }
  .worksModalButton_24 {
    top: 332.8vw;
    left: 31.4666666667vw;
  }
  .worksModalButton_25 {
    top: 355.7333333333vw;
    left: 2.6666666667vw;
  }
  .worksModalButton_26 {
    top: 332.8vw;
    left: 60vw;
  }
  .worksModalButton_27 {
    top: 355.7333333333vw;
    left: 31.4666666667vw;
  }
  .worksModalButton_28 {
    top: 344vw;
    left: 2.6666666667vw;
  }
  .worksModalButton_29 {
    top: 355.7333333333vw;
    left: 60vw;
  }
  .worksModalButton_30 {
    top: 344vw;
    left: 31.4666666667vw;
  }
  .worksModalButton_31 {
    top: 15.2vw;
    left: 2.4vw;
  }
  .worksModalButton_32 {
    top: 15.2vw;
    left: 31.2vw;
  }
  .worksModalButton_33 {
    top: 15.2vw;
    left: 60vw;
  }
  .worksModalButton_34 {
    top: 26.6666666667vw;
    left: 2.4vw;
  }
  .worksModalButton_35 {
    top: 26.6666666667vw;
    left: 31.2vw;
  }
  .worksModalButton_36 {
    top: 26.6666666667vw;
    left: 60vw;
  }
}
/* interview */
.tag-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1000px;
  margin: auto;
  padding: 64px 0;
  gap: 14px 8px;
}

.tag-filter li {
  display: inline-block;
  border: 1px solid #138995;
  border-radius: 999px;
  padding: 9px 16px 8px;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.6rem;
  color: #138995;
  white-space: nowrap;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  cursor: pointer;
}
.tag-filter li.active {
  background-color: #138995;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .tag-filter {
    padding: 0 0 16vw;
    gap: 2.6666666667vw 2.1333333333vw;
  }
  .tag-filter li {
    padding: 2.4vw 4.2666666667vw 2.1333333333vw;
    font-size: 1.3rem;
  }
}
.interviewList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 80px 0;
  padding-bottom: 64px;
  position: relative;
}

.interviewList-item {
  width: 33.3333333333%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.interviewList-item.is-hidden {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}
.interviewList-item .tags {
  margin-top: 10px;
  width: calc(100% - 92px);
}
.interviewList-item .tags a {
  padding: 6px 12px 5px;
  font-size: 1.3rem;
}

.interviewList-link {
  display: block;
  position: relative;
  color: #222;
}

.interviewList-number {
  position: absolute;
  top: 0;
  left: 24px;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1;
  color: #138995;
}

.interviewList-img {
  display: block;
  position: relative;
  overflow: hidden;
  clip-path: polygon(92px 0, 100% 0, calc(100% - 92px) 100%, 0 100%);
}

.interviewList-imgHover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 48px 0 68px;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  font-size: 16px;
  font-weight: 700;
  line-height: 200%;
  letter-spacing: 0.64px;
}
.interviewList-link:hover .interviewList-imgHover {
  opacity: 1;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .interviewList-imgHover {
    display: none;
  }
}

.interviewList-img_tag {
  position: absolute;
  top: -1em;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  height: 30px;
  padding: 0 20px;
  background: -webkit-gradient(linear, left top, right top, color-stop(10.96%, var(--hover, #0CA9B9)), color-stop(90.41%, #70D5C8)), #EBEBEB;
  background: linear-gradient(90deg, var(--hover, #0CA9B9) 10.96%, #70D5C8 90.41%), #EBEBEB;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 27px;
  letter-spacing: 0.64px;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
}
.interviewList-link:hover .interviewList-img_tag {
  opacity: 1;
  top: 0;
}
@media screen and (max-width: 767px) {
  .interviewList-img_tag {
    display: none;
  }
}

.interviewList-name {
  width: calc(100% - 92px);
  padding: 6px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 225%;
  letter-spacing: 0.04em;
}
a:hover .interviewList-name {
  color: #138995;
}

.interviewList-join {
  width: calc(100% - 92px);
  padding: 0 6px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.04em;
}
a:hover .interviewList-join {
  color: #138995;
}

@media screen and (max-width: 767px) {
  .interviewList {
    gap: 13.3333333333vw 0;
    padding: 0 2.28vw 13.3333333333vw;
  }
  .interviewList-item {
    width: 100%;
    padding-left: 6.9333333333vw;
  }
  .interviewList-item .tags {
    margin-top: 2.6666666667vw;
    width: 100%;
  }
  .interviewList-item .tags a {
    padding: 1.6vw 3.2vw 1.3333333333vw;
  }
  .interviewList-number {
    left: 3.2vw;
  }
  .interviewList-img {
    clip-path: polygon(18.9333333333vw 0, 100% 0, calc(100% - 18.9333333333vw) 100%, 0 100%);
  }
  .interviewList-name {
    width: 100%;
    padding: 1.6vw;
  }
  .interviewList-join {
    width: 100%;
    padding: 0 1.6vw;
  }
}
.interviewHead .h-1 {
  margin-bottom: 0;
  border: none;
}

.interviewHead-info {
  position: relative;
  padding: 48px 520px 56px 0 !important;
}
.interviewHead-info .note {
  margin-top: 32px;
  color: #999;
}

.interviewHead-number {
  color: #138995;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1;
}

.interviewHead-h1 {
  padding: 16px 0 40px;
  color: #222;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 6rem;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.interviewHead-name {
  margin: 50px 0 10px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.04em;
}

.interviewHead-join {
  font-size: 1.6rem;
  line-height: 180%;
  letter-spacing: 0.04em;
}

.interviewHead-mv {
  position: absolute;
  top: 0;
  left: 505px;
  clip-path: polygon(16% 0, 100% 0, 84% 100%, 0 100%);
}

@media screen and (max-width: 767px) {
  .interviewHead-info {
    padding: 0 0 13.3333333333vw !important;
  }
  .interviewHead-info .tags a {
    padding: 1.6vw 3.2vw 1.3333333333vw;
  }
  .interviewHead-number {
    margin: 0 0 105.3333333333vw 3.2vw;
  }
  .interviewHead-h1 {
    padding: 10.6666666667vw 0 8vw;
    font-size: 2.4rem;
    line-height: 145%;
  }
  .interviewHead-name {
    margin: 5.3333333333vw 0;
  }
  .interviewHead-mv {
    top: 0;
    left: -21.3333333333vw;
    bottom: auto;
    width: auto;
    max-width: none;
    height: 111.7333333333vw;
    clip-path: polygon(30% 0, 100% 0, 84% 100%, 14% 100%);
  }
}
.interviewArea {
  padding: 96px 0 48px;
}
.interviewArea .anchor {
  margin-top: 64px;
}
.interviewArea .parallelogram {
  clip-path: polygon(14% 0, 100% 0, 86% 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  .interviewArea .imgFloat.imgFloat_L {
    padding-left: 509px;
    position: relative;
  }
  .interviewArea .imgFloat.imgFloat_L .img {
    left: 0;
  }
  .interviewArea .imgFloat.imgFloat_R {
    padding-right: 509px;
    position: relative;
  }
  .interviewArea .imgFloat.imgFloat_R .img {
    right: 0;
  }
  .interviewArea .img {
    position: absolute;
    top: 0;
  }
  .interviewArea .img + * {
    padding-top: 0;
  }
}

.interview-lead {
  padding: 64px 0 16px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 0.04em;
}
.container .interview-lead:first-child {
  padding-top: 0;
}

.h-2 + .interview-lead {
  padding: 8px 0 32px;
}

.interviewBelt img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .interviewArea {
    padding: 12.8vw 0;
  }
  .interviewArea .imgFloat .img {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    margin-bottom: 4.2666666667vw;
  }
  .interview-lead {
    padding: 12.8vw 0 2.1333333333vw;
    font-size: 1.6rem;
  }
  .h-2 + .interview-lead {
    padding: 1.0666666667vw 0 7.4666666667vw;
  }
}
/* ========================================

work style

========================================= */
.workStyleArea .container {
  position: relative;
}
@media screen and (min-width: 768px) {
  .workStyleArea {
    padding: 120px 0;
  }
  .workStyleArea .h-2 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .workStyleArea {
    padding: 0 0 13.3333333333vw;
  }
}

.workStyleWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .workStyleWrap {
    width: 116vw;
    gap: 3.7333333333vw 0;
    margin: 0 -8vw;
  }
}

.workStyle {
  position: relative;
  padding: 45px 16px 66px;
  margin-left: -48px;
  cursor: pointer;
}
.workStyle::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  clip-path: polygon(54px 0, 100% 0, calc(100% - 54px) 100%, 0 100%);
}
@media screen and (max-width: 767px) {
  .workStyle {
    width: 56.8vw;
    margin: 0 0 0 -5.3333333333vw;
    padding: 0;
  }
  .workStyle::before {
    clip-path: polygon(32px 0, 100% 0, calc(100% - 32px) 100%, 0 100%);
  }
}

.workStyle-inner {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 0 37px 0 44px;
}
@media screen and (max-width: 767px) {
  .workStyle-inner {
    padding: 5.3333333333vw 0 8vw 11.2vw;
  }
}

@media screen and (min-width: 768px) {
  .workStyle-flex {
    width: 504px;
    margin-left: 125px;
  }
  .workStyle-overtime {
    width: 494px;
  }
  .workStyle-friday {
    width: 377px;
    margin-left: 67px;
  }
  .workStyle-dining {
    width: 317px;
  }
  .workStyle-remote {
    width: 350px;
  }
  .workStyle-nforest {
    width: 458px;
    margin-left: 60px;
  }
  .workStyle-night {
    width: 484px;
  }
  .workStyle-short {
    width: 375px;
    margin-left: 0;
  }
  .workStyle-childcare {
    width: 337px;
  }
  .workStyle-hour {
    width: 330px;
  }
  .workStyle-dx {
    width: 504px;
    margin-left: 122px;
  }
  .workStyle-advice {
    width: 494px;
  }
  .workStyle-recruiting {
    width: 356px;
    margin-left: 60px;
  }
  .workStyle-level {
    width: 356px;
  }
  .workStyle-inspection {
    width: 334px;
  }
  .workStyle-learning {
    width: 435px;
    margin-left: 0;
  }
  .workStyle-english {
    width: 357px;
  }
  .workStyle-mentor {
    width: 330px;
  }
  .workStyle-dormitory {
    width: 504px;
    margin-left: 122px;
  }
  .workStyle-cafeteria {
    width: 494px;
  }
  .workStyle-insurance {
    width: 337px;
    margin-left: 60px;
  }
  .workStyle-club {
    width: 327px;
  }
  .workStyle-refresh {
    width: 388px;
  }
  .workStyle-stock {
    width: 514px;
    margin-left: 0;
  }
  .workStyle-sideline {
    width: 486px;
  }
}
@media screen and (max-width: 767px) {
  .workStyle-flex {
    width: 88.2666666667vw;
    margin-left: 10.6666666667vw;
  }
  .workStyle-overtime {
    width: 60.5333333333vw;
  }
  .workStyle-friday {
    width: 59.7333333333vw;
  }
  .workStyle-dining {
    margin-left: -2.6666666667vw;
  }
  .workStyle-nforest {
    width: 88.2666666667vw;
    margin-left: 13.3333333333vw;
  }
  .workStyle-night {
    width: 88.2666666667vw;
  }
  .workStyle-short {
    margin-left: -3.7333333333vw;
  }
  .workStyle-hour {
    width: 88.2666666667vw;
    margin-left: 6.9333333333vw;
  }
  .workStyle-dx {
    width: 60.5333333333vw;
    margin-left: -4.2666666667vw;
  }
  .workStyle-advice {
    width: 59.7333333333vw;
  }
  .workStyle-recruiting {
    margin-left: -1.0666666667vw;
  }
  .workStyle-inspection {
    width: 88vw;
    margin-left: 10.6666666667vw;
  }
  .workStyle-learning {
    width: 88.2666666667vw;
    margin-left: 2.6666666667vw;
  }
  .workStyle-english {
    margin-left: -2.6666666667vw;
  }
  .workStyle-dormitory {
    width: 88.2666666667vw;
    margin-left: 13.3333333333vw;
  }
  .workStyle-cafeteria {
    width: 88.2666666667vw;
    margin-left: 4.2666666667vw;
  }
  .workStyle-insurance {
    width: 57.0666666667vw;
    margin-left: -1.0666666667vw;
  }
  .workStyle-club {
    width: 59.7333333333vw;
  }
  .workStyle-refresh {
    width: 88.2666666667vw;
    margin-left: 10.6666666667vw;
  }
  .workStyle-stock {
    margin-left: 0;
  }
}
.workStyle-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0 10px;
  background: -webkit-gradient(linear, left top, right top, from(#0CA9B9), to(#70D5C8));
  background: linear-gradient(90deg, #0CA9B9 0%, #70D5C8 100%);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.7rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .workStyle-label {
    padding: 0 2.1333333333vw;
    font-size: 1.2rem;
    line-height: 2.3rem;
  }
}

.workStyle-title {
  padding: 16px 0;
  color: #138995;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 122%;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.workStyle-title span {
  font-size: 2.6rem;
}
@media screen and (max-width: 767px) {
  .workStyle-title {
    padding: 2.1333333333vw 8vw 0 0;
    font-size: 2.6rem;
    line-height: 126%;
  }
  .workStyle-title span {
    font-size: 1.6rem;
  }
}

.workStyle-text {
  padding-right: 30px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.3rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .workStyle-text {
    display: none;
  }
}

.workStyle-openBtn {
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: absolute;
  right: 58px;
  bottom: -46px;
  padding: 0;
}
.workStyle:hover .workStyle-openBtn {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
@media screen and (max-width: 767px) {
  .workStyle-openBtn {
    width: 7.4666666667vw;
    height: 7.4666666667vw;
    right: 10.1333333333vw;
    bottom: 2.6666666667vw;
  }
}

@media screen and (min-width: 768px) {
  .workStyleModal {
    max-width: 840px;
  }
}
@media screen and (max-width: 767px) {
  .workStyleModal {
    max-width: none;
    max-height: none;
  }
}

.workStyleModal-inner {
  max-width: 85vw;
  max-height: 85vh;
  overflow-y: auto;
}

.workStyleModal-head {
  padding: 50px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #E9F9F9;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .workStyleModal-head {
    padding: 8vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.3333333333vw;
  }
}

.workStyleModal-img {
  width: 402px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .workStyleModal-img {
    width: 100%;
  }
}

.workStyleModal-info h4 {
  color: #138995;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 3.4rem;
  letter-spacing: 0.04em;
  margin-bottom: 20px;
}

.workStyleModal-body {
  padding: 40px 50px 50px;
}
@media screen and (max-width: 767px) {
  .workStyleModal-body {
    padding: 8vw;
  }
}

.workStyleBelt img {
  width: 100%;
}

.workStyleMovieArea {
  margin: 60px auto;
  padding: 58px 90px 24px;
  width: 100%;
  max-width: 994px;
  background-color: #E9F9F9;
}
.workStyleMovieArea .productsMovie {
  width: 100%;
  max-width: 810px;
}
.workStyleMovieArea h3 {
  margin: 40px 0 20px;
  font-size: 1.8rem;
  line-height: 133.333%;
  letter-spacing: 0.72px;
}
@media screen and (max-width: 767px) {
  .workStyleMovieArea {
    margin: 8vw auto;
    padding: 5.3333333333vw;
  }
  .workStyleMovieArea h3 {
    margin: 6.4vw 0 4.2666666667vw;
    font-size: 1.6rem;
  }
}

/* lifestyle */
.lifeStyle .container:last-of-type {
  padding-bottom: 140px;
}
@media screen and (max-width: 767px) {
  .lifeStyle .container:last-of-type {
    padding-bottom: 16vw;
  }
}
.lifeStyle .h-1 {
  border-bottom: 0;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .lifeStyle .recommendLink .button {
    width: 330px;
  }
}

.lifestyleSection {
  background: right bottom/cover no-repeat;
  height: 280px;
  padding-top: 60px;
  margin-bottom: 60px;
}
.lifestyleSection h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 76px;
  padding: 0 36px;
  background: #FFF;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  clip-path: polygon(16px 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
  color: #00747f;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 1.28px;
}
@media screen and (max-width: 767px) {
  .lifestyleSection {
    height: 48vw;
    padding-top: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
  .lifestyleSection h2 {
    height: 13.8666666667vw;
    padding: 0 5.3333333333vw;
    margin-left: -1rem;
    font-size: 2.2rem;
  }
}

.lifestyleSection_1 {
  background-image: url("/recruit/work-style/lifestyle/img/bg_h2_1.jpg");
}

.lifestyleSection_2 {
  background-image: url("/recruit/work-style/lifestyle/img/bg_h2_2.jpg");
}

@media screen and (max-width: 767px) {
  .lifestyleSection_1 {
    background-image: url("/recruit/work-style/lifestyle/img/bg_h2_1_sp.jpg");
  }
  .lifestyleSection_2 {
    background-image: url("/recruit/work-style/lifestyle/img/bg_h2_2_sp.jpg");
  }
}
@media screen and (max-width: 767px) {
  .lifestyleMap {
    width: 270.3333333333px;
  }
}

.lifestyleMap-text {
  padding: 0 90px;
  margin: 11px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.lifestyleMap-text .align-r {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .lifestyleMap-text {
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .lifestyleMap-text .note {
    font-size: 1rem;
  }
  .lifestyleMap-text .align-r {
    text-align: left !important;
  }
  .lifestyleMap-text .align-r p {
    margin: 0.5rem 0;
  }
}

.lifeStyle-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 50px auto 30px;
  background-color: #00747F;
  border-radius: 4px;
  padding: 2px 30px;
  height: 53px;
  color: #fff;
  font-size: 2.2rem;
  position: relative;
}
.lifeStyle-title::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  border-top: 10px solid #00747f;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .lifeStyle-title {
    padding: 0.5333333333vw 6.9333333333vw;
    gap: 3.7333333333vw;
    height: 12vw;
    font-size: 1.8rem;
  }
  .lifeStyle-title::after, .lifeStyle-title img {
    zoom: 0.85;
  }
  .lifeStyle-title::after {
    bottom: -2.4vw;
  }
}

.lifeStyleFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .lifeStyleFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8vw;
    margin: 0 -2rem;
    overflow: hidden;
  }
  .lifeStyleFlex:last-of-type {
    margin-bottom: 26.6666666667vw;
  }
}

.lifeStyleFlex-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  -ms-flex-preferred-size: calc(50% + 13px);
      flex-basis: calc(50% + 13px);
  background-color: #fff;
  clip-path: polygon(62px 0, 100% 0, calc(100% - 62px) 100%, 0 100%);
  margin: 0 -13px;
  padding: 17px 62px 17px 102px;
  font-size: 1.5rem;
}
.lifeStyleFlex-item h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2px 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.72px;
}
.lifeStyleFlex-item:nth-child(odd) h4 {
  background: -webkit-gradient(linear, left top, right top, from(#0CA9B9), to(#70D5C8));
  background: linear-gradient(90deg, #0CA9B9 0%, #70D5C8 100%);
}
.lifeStyleFlex-item:nth-child(even) h4 {
  background: -webkit-gradient(linear, left top, right top, from(#DD6F22), color-stop(55.29%, #D77D3D), to(#FFC881)), -webkit-gradient(linear, left top, right top, from(#E78054), to(#F4C587));
  background: linear-gradient(90deg, #DD6F22 0%, #D77D3D 55.29%, #FFC881 100%), linear-gradient(90deg, #E78054 0%, #F4C587 100%);
}
@media screen and (max-width: 767px) {
  .lifeStyleFlex-item {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    clip-path: polygon(17.6vw 0, 100% 0, calc(100% - 17.6vw) 100%, 0 100%);
    margin: 0 -9.6vw;
    padding: 5.3333333333vw 20.2666666667vw 5.3333333333vw 22.9333333333vw;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px) {
  .lifeStyleFlex-outerLink {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    padding: 30px 0 0 102px;
  }
}
@media screen and (max-width: 767px) {
  .lifeStyleFlex-outerLink {
    margin: 0 13.3333333333vw;
  }
}

.lifeStyleFlex-access {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  color: #138995;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.96px;
}
.lifeStyleFlex-access span {
  font-size: 1.8rem;
}
.lifeStyleFlex-access span:nth-child(2) {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .lifeStyleFlex-access {
    font-size: 1.8rem;
  }
  .lifeStyleFlex-access span {
    font-size: 1.4rem;
  }
  .lifeStyleFlex-access span:nth-child(2) {
    font-size: 1.2rem;
  }
}

.lifeStyleFlex-note {
  font-size: 1.5rem;
  line-height: 130%;
}
@media screen and (max-width: 767px) {
  .lifeStyleFlex-note {
    font-size: 1rem;
  }
}

.lifeStyleFlex-bold {
  color: #138995;
  font-size: 1.8rem;
  font-weight: 700;
}
.lifeStyleFlex-bold span {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .lifeStyleFlex-bold {
    font-size: 1.6rem;
  }
}

.lifeStyleFaq {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.lifeStyleFaq dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 14px 20px;
  gap: 16px;
  border-bottom: 1px solid #0CA9B9;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.96px;
}
.lifeStyleFaq dt::before {
  content: "Q";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #138995;
  border-radius: 100%;
  width: 44.1px;
  height: 44px;
  font-family: Roboto;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1;
  color: #FFF;
}
.lifeStyleFaq dd {
  margin: 0 0 24px 70px;
  padding: 30px;
  border-radius: 8px;
  background-color: #fff;
  line-height: 175%;
  letter-spacing: 0.64px;
  position: relative;
}
.lifeStyleFaq dd::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -24px;
  right: 40px;
  width: 32px;
  height: 24px;
  background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, transparent), color-stop(51%, rgb(255, 255, 255)));
  background: linear-gradient(to right top, transparent 50%, rgb(255, 255, 255) 51%);
}
@media screen and (max-width: 767px) {
  .lifeStyleFaq {
    gap: 5.3333333333vw;
  }
  .lifeStyleFaq + .lifeStyleFaq {
    margin-top: 7.2vw;
  }
  .lifeStyleFaq dt {
    padding: 3.2vw 2.6666666667vw;
    gap: 4.2666666667vw;
    font-size: 2rem;
    line-height: 150%;
    letter-spacing: 0.8px;
  }
  .lifeStyleFaq dt::before {
    width: 10.9333333333vw;
    height: 10.9333333333vw;
    font-size: 2rem;
  }
  .lifeStyleFaq dd {
    margin: 0 0 6.4vw;
    padding: 8vw;
    border-radius: 2.1333333333vw;
  }
  .lifeStyleFaq dd::after {
    bottom: -6.4vw;
    right: 10.6666666667vw;
    width: 8.5333333333vw;
    height: 6.4vw;
  }
}

@media screen and (min-width: 768px) {
  .lifeStyleFaq_column {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px 40px;
  }
  .lifeStyleFaq_column dd {
    width: calc((100% - 70px - 40px) / 2);
    margin-left: 0;
  }
  .lifeStyleFaq_column dd:first-of-type {
    margin-left: 70px;
  }
}
/*# sourceMappingURL=style.css.map */