@charset "UTF-8";
/* ===================================================================
CSS information

file name  : message.css
author     : Abilive
style info : 代表メッセージ & 採用コンセプト
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.c-anchor {
  position: relative;
  z-index: 2;
  border-top: none;
  background: #FFF;
}
@media only screen and (min-width: 768px) {
  .c-anchor__list {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .c-anchor__item {
    width: calc(265 / 1120 * 100%) !important;
    max-width: calc(265 / var(--tsuruga-parent-font-size) * 1rem);
  }
  .c-anchor__item:last-child {
    margin-right: 0 !important;
  }
}
.c-anchor__link .img {
  aspect-ratio: 1 / 1;
}
.c-anchor__link .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-section {
  position: relative;
}
.p-section__inner {
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .p-section__inner {
    padding-block: calc(100 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-section__inner {
    padding-block: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section__inner__txt {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  --tsuruga-container-width: var(--tsuruga-content-0);
}
@media only screen and (max-width: 767px) {
  .p-section__inner__txt {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-section__inner__txt {
    margin-bottom: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section__inner__txt .c-title--t1 {
  position: relative;
}
.p-section__inner__txt .c-title--t1:before {
  display: none;
}
.p-section__inner__txt .c-title--t1:after {
  content: "";
  display: block;
  margin-inline: auto;
  width: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  height: calc(19 / var(--tsuruga-parent-font-size) * 1rem);
  background: no-repeat top center;
}
@media only screen and (min-width: 768px) {
  .p-section__inner__txt .c-title--t1:after {
    margin-top: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-section__inner__txt .c-title--t1:after {
    margin-top: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section__inner__txt .c-title--t1:not(.js-inview):after, .p-section__inner__txt .c-title--t1.js-inview.is-inview:after {
  background-image: url(../../company/images/line.svg);
}
.p-section__inner__txt .txt {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin-top: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  gap: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 1200px) and (max-width: 1440px) {
  .p-section__inner__txt .txt p {
    max-width: calc(800 / var(--tsuruga-parent-font-size) * 1rem);
    margin-inline: auto;
  }
}
@media only screen and (min-width: 768px) {
  .p-section__inner__txt .txt p {
    text-align: center;
  }
}
.p-section__inner__txt .txt p.u-color {
  color: #2E6898;
}
.p-section__inner__img1 {
  width: calc(480 / 1920 * 100%);
}
@media only screen and (min-width: 768px) {
  .p-section__inner__img1 {
    position: absolute;
    bottom: calc(-64 / var(--tsuruga-parent-font-size) * 1rem);
    left: 0;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1440px) {
  .p-section__inner__img1 {
    width: calc(400 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-section__inner__img1 {
    width: calc(430 / 1920 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-section__inner__img1 {
    width: calc(220 / 390 * 100%);
    margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section__inner__img1 .img1 {
  position: relative;
  width: calc(320 / 480 * 100%);
  margin-left: auto;
  z-index: 2;
}
.p-section__inner__img2 {
  width: calc(550 / 1920 * 100%);
}
@media only screen and (min-width: 768px) {
  .p-section__inner__img2 {
    position: absolute;
    right: calc(90 / 1920 * 100%);
    bottom: calc(-120 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .p-section__inner__img2 {
    width: calc(450 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-section__inner__img2 {
    width: calc(400 / 1920 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-section__inner__img2 {
    width: calc(180 / 390 * 100%);
    margin: calc(-180 / var(--tsuruga-parent-font-size) * 1rem) calc(20 / var(--tsuruga-parent-font-size) * 1rem) 0 auto;
  }
}
.p-section__inner__img2 .img1 {
  width: calc(400 / 550 * 100%);
  margin-left: auto;
}
.p-section__inner__img2 .img2 {
  width: calc(240 / 550 * 100%);
  margin-top: calc(-120 / 550 * 100%);
}
@media only screen and (max-width: 767px) {
  .p-section__inner__img2 .img2 {
    margin-top: calc(-20 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section--message:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(200 / 1920 * 100%);
  background: repeat-y left top / 100% auto;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .p-section--message:before {
    top: calc(-40 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-section--message:before {
    width: calc(85 / 375 * 100%);
  }
}
.p-section--message:after {
  content: "";
  position: absolute;
  right: 0;
  width: calc(360 / 1920 * 100%);
  aspect-ratio: 360 / 545;
  background: no-repeat bottom right / contain;
  z-index: 1;
}
@media only screen and (min-width: 1025px) {
  .p-section--message:after {
    bottom: calc(284 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-section--message:after {
    top: calc(97 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-section--message:after {
    right: calc(-42 / var(--tsuruga-parent-font-size) * 1rem);
    top: calc(33 / var(--tsuruga-parent-font-size) * 1rem);
    width: calc(175 / 375 * 100%);
  }
}
.p-section--message:not(.js-inview):before, .p-section--message.js-inview.is-inview:before {
  background-image: url(../images/common/bg_deco2.svg);
}
.p-section--message:not(.js-inview):after, .p-section--message.js-inview.is-inview:after {
  background-image: url(../images/common/bg_deco1.svg);
}
.p-section--concept {
  overflow: hidden;
  background: #F5F7F8;
}
@media only screen and (max-width: 767px) {
  .p-section--concept {
    margin-bottom: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section--concept:before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  transform: rotateY(180deg);
  width: calc(200 / 1920 * 100%);
  background: repeat-y left top / 100% auto;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .p-section--concept:before {
    top: calc(-40 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-section--concept:before {
    width: calc(85 / 375 * 100%);
  }
}
.p-section--concept:not(.js-inview):before, .p-section--concept.js-inview.is-inview:before {
  background-image: url(../images/common/bg_deco2.svg);
}
@media only screen and (min-width: 1025px) {
  .p-section--concept .p-section__inner__txt p {
    max-width: calc(900 / var(--tsuruga-parent-font-size) * 1rem);
    margin-inline: auto;
  }
}
.p-section--concept .p-section__inner__txt p .keyword {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  column-gap: calc(8 / var(--tsuruga-parent-font-size) * 1rem);
  color: #AAAAAA;
  line-height: 1.4;
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-section--concept .p-section__inner__txt p .keyword {
    --tsuruga-target-font-size: 40;
  }
}
@media only screen and (max-width: 767px) {
  .p-section--concept .p-section__inner__txt p .keyword {
    --tsuruga-target-font-size: 24;
  }
}
.p-section--concept .p-section__inner__txt p .keyword span {
  color: #2E6898;
  line-height: 1.4;
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-section--concept .p-section__inner__txt p .keyword span {
    --tsuruga-target-font-size: 20;
  }
}
@media only screen and (max-width: 767px) {
  .p-section--concept .p-section__inner__txt p .keyword span {
    --tsuruga-target-font-size: 18;
  }
}
@media only screen and (min-width: 768px) {
  .p-section--concept .p-section__inner__txt p .keyword:not(:first-child) {
    margin-left: calc(-20 / var(--tsuruga-parent-font-size) * 1rem);
  }
}

.p-section-sub {
  --gap: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  position: relative;
  margin-top: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  padding: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  border-radius: 10px;
  background: #FFF;
  margin-right: auto;
  margin-left: auto;
  --tsuruga-container-width: var(--tsuruga-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-section-sub {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-3);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-section-sub {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-3);
  }
}
@media only screen and (max-width: 767px) {
  .p-section-sub {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-section-sub {
    margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
    padding: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section-sub:before {
  content: "";
  display: block;
  position: absolute;
  left: calc(-77 / 1320 * 100%);
  top: 0;
  width: calc(268 / var(--tsuruga-parent-font-size) * 1rem);
  aspect-ratio: 268 / 184;
  background: no-repeat top center;
}
@media only screen and (min-width: 768px) {
  .p-section-sub:before {
    margin-top: calc(-20 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-section-sub:before {
    margin-top: calc(-80 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-section-sub:before {
    width: calc(188 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section-sub:not(.js-inview):before, .p-section-sub.js-inview.is-inview:before {
  background-image: url(../../message/images/recruit_concept.svg);
  background-size: contain;
}
.p-section-sub__inner {
  max-width: calc(1120 / var(--tsuruga-parent-font-size) * 1rem);
  margin-inline: auto;
}
@media only screen and (min-width: 1025px) {
  .p-section-sub__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: center;
    align-items: center;
    column-gap: calc(128 / 1120 * 100%);
  }
}
@media only screen and (max-width: 1024px) {
  .p-section-sub__inner {
    display: flex;
    flex-direction: column;
    row-gap: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section-sub .c-title {
  width: fit-content;
}
@media only screen and (min-width: 1025px) {
  .p-section-sub .c-title {
    margin-left: auto;
  }
}
@media only screen and (max-width: 1024px) {
  .p-section-sub .c-title {
    margin-inline: auto;
  }
}
.p-section-sub__list {
  display: flex;
  gap: var(--gap);
}
@media only screen and (min-width: 1025px) {
  .p-section-sub__list {
    width: 45vw;
    max-width: calc(860 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-section-sub__list {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .p-section-sub__list {
    flex-direction: column;
  }
}
.p-section-sub__item {
  overflow: visible;
  display: flex;
  text-decoration: none;
  align-items: center;
  padding: calc(26 / var(--tsuruga-parent-font-size) * 1rem) calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  background-color: #F5F7F8;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-section-sub__item {
    width: calc((100% - var(--gap)) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .p-section-sub__item {
    width: 100%;
  }
}
.p-section-sub__item .num {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: calc(9 / var(--tsuruga-parent-font-size) * 1rem);
  position: absolute;
  left: calc(41 / 420 * 100%);
  top: calc(-14 / var(--tsuruga-parent-font-size) * 1rem);
  color: #2E6898;
  font-family: var(--tsuruga-title-en-font);
  letter-spacing: 0;
  line-height: 1;
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-section-sub__item .num {
    --tsuruga-target-font-size: 40;
  }
}
@media only screen and (max-width: 767px) {
  .p-section-sub__item .num {
    --tsuruga-target-font-size: 24;
  }
}
.p-section-sub__item .num__arrow {
  width: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-section-sub__item .icon {
  width: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  display: block;
  overflow: hidden;
  border: 1px solid #fff;
  background-color: #fff;
  border-radius: 100px;
  flex-shrink: 0;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  fill: var(--tsuruga-color-accent);
}
.p-section-sub__item .icon img {
  width: calc(38 / 80 * 100%);
}
.p-section-sub__item .icon .o-icon {
  --tsuruga-icon-width: calc(38 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-section-sub__item .icon {
    width: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-section-sub__item .text {
  display: block;
  padding-left: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
  display: block;
  line-height: 1.3;
  font-size: calc(var(--tsuruga-target-font-size) / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-section-sub__item .text {
    --tsuruga-target-font-size: 20;
  }
}
@media only screen and (min-width: 768px) {
  .p-section-sub__item .text {
    word-break: keep-all;
    overflow-wrap: break-word;
  }
}
@media only screen and (max-width: 767px) {
  .p-section-sub__item .text {
    padding-left: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
