@charset "UTF-8";
/* ------------------------------------

colors setting

------------------------------------ */
/* ------------------------------------

colors setting の変数ではなく
下記の左側の変数をcssで指定する

×：$black
◯：$dark-text

------------------------------------ */
/*  text-color
*----------------------------------- */
/*  background-color
*----------------------------------- */
/*  border-color
*----------------------------------- */
/*  system-color
*----------------------------------- */
/*  cv
*----------------------------------- */
/*  footer
*----------------------------------- */
/*  menu
*----------------------------------- */
/*  new icon
*----------------------------------- */
/*  horizontal
*----------------------------------- */
/*  slick-color
*----------------------------------- */
.en {
  font-family: din-2014, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.en02 {
  font-family: din-2014, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.yakuhan {
  font-family: "YakuHanJP", "ryo-gothic-plusn", sans-serif;
}

/* mobile */
/* ------------------------------------

中面 common (TOP以外)

------------------------------------ */
/*  anchor_link
*----------------------------------- */
.p-anchor_link {
  padding-top: 80px;
  margin-top: -80px;
}
@media screen and (max-width: 760px) {
  .p-anchor_link {
    padding-top: 20%;
    margin-top: -20%;
  }
}

/*  pan
*----------------------------------- */
.pan {
  padding: 20px 40px;
}
@media print, screen and (max-width: 760px) {
  .pan {
    display: none;
  }
}
.pan li {
  display: inline;
  font-size: 12px;
  list-style: none;
}
.pan li:after {
  content: "|";
  margin: 0 5px;
}
.pan li:last-child:after {
  content: none;
}

/*  list-page__main
*----------------------------------- */
.list-page__main {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 761px) {
  .list-page__main {
    width: 1200px;
  }
}
@media print, screen and (max-width: 760px) {
  .list-page__main {
    width: 90%;
  }
}

@media print, screen and (max-width: 760px) {
  .page-form .list-page__main .brick-form__row {
    padding-left: 0;
    padding-right: 0;
  }
}

@media print, screen and (max-width: 760px) {
  .page-form .list-page__main .l-form-container__flow {
    margin-left: 0;
    margin-right: 0;
  }
}

@media print, screen and (max-width: 760px) {
  .page-number .list-page__main {
    width: auto;
    margin-bottom: 18%;
  }
}

/*  index
*----------------------------------- */
.page-index .list-page .list-page__main .l-page-index {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index {
    width: 100%;
  }
}
.page-index .list-page .list-page__main .l-page-index__container {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 46px 40px;
  width: 100%;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index__container {
    gap: 5vw;
  }
}
.page-index .list-page .list-page__main .l-page-index .p-item {
  width: 580px;
  position: relative;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index .p-item {
    width: 100%;
  }
}
.page-index .list-page .list-page__main .l-page-index .p-item a {
  width: 100%;
  height: 100%;
  min-height: 250px;
  padding: 30px 34px 41px;
  background-color: #17344B;
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  align-items: center;
  position: relative;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index .p-item a {
    width: 100%;
    height: auto;
    min-height: auto;
    padding: 8vw 5vw 9vw;
    gap: 4vw;
    flex-wrap: wrap;
  }
}
.page-index .list-page .list-page__main .l-page-index .p-item a::after {
  position: absolute;
  z-index: 1000;
  content: "";
  width: 40px;
  height: 1px;
  background-color: #F4F4F4;
  bottom: 20px;
  right: 22px;
  transition: 0.3s;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index .p-item a::after {
    bottom: 3.6vw;
    right: 4vw;
  }
}
.page-index .list-page .list-page__main .l-page-index .p-item a:hover {
  opacity: 0.8;
}
.page-index .list-page .list-page__main .l-page-index .p-item a:hover .c-button {
  background-color: #000000;
}
.page-index .list-page .list-page__main .l-page-index .p-item a:hover::after {
  transform: translateX(15px);
}
.page-index .list-page .list-page__main .l-page-index .p-item__image {
  margin-bottom: 25px;
  width: 100%;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index .p-item__image {
    margin-bottom: 0;
  }
}
.page-index .list-page .list-page__main .l-page-index .p-item__info {
  text-align: center;
  margin: 0 auto;
}
.page-index .list-page .list-page__main .l-page-index .p-item__catch {
  font-size: 42px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: #fff;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index .p-item__catch {
    font-size: 10vw;
    margin-bottom: 2vw;
  }
}
.page-index .list-page .list-page__main .l-page-index .p-item__title {
  font-size: 17px;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index .p-item__title {
    font-size: 4.2vw;
    line-height: 1.4;
  }
}
.page-index .list-page .list-page__main .l-page-index .p-item:nth-child(2n) {
  margin-right: 0;
}
.page-index .list-page .list-page__main .l-page-index .p-item:last-child {
  margin-right: 0;
}
.page-index .list-page .list-page__main .l-page-index .p-item .c-button {
  width: 40px;
  height: 1px;
  background-color: #17344B;
  position: absolute;
  bottom: 20px;
  right: 24.5px;
}
@media print, screen and (max-width: 760px) {
  .page-index .list-page .list-page__main .l-page-index .p-item .c-button {
    right: 5vw;
  }
}

@media print, screen and (max-width: 760px) {
  .page-about-index .list-page .p-item a {
    padding: 8vw !important;
  }
}

@media print, screen and (max-width: 760px) {
  .page-occupation .list-page .list-page__main .l-page-index .p-item a {
    padding-bottom: 7vw;
  }
}
.page-occupation .list-page .list-page__main .l-page-index .p-item__title {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
}
@media print, screen and (max-width: 760px) {
  .page-occupation .list-page .list-page__main .l-page-index .p-item__title {
    font-size: 5.6vw;
  }
}

/*  l-our-works
*----------------------------------- */
.l-our-works {
  padding: 46px 0 88px;
  border-top: 1px solid #505050;
}
@media (max-width: 760px) {
  .l-our-works {
    padding: 12.8205128205vw 5vw 22.0512820513vw;
  }
}
.l-our-works__container {
  max-width: 1200px;
  margin: 0 auto;
}
.l-our-works ul {
  display: flex;
  flex-wrap: wrap;
  gap: 19px;
}
@media (max-width: 760px) {
  .l-our-works ul {
    flex-flow: column;
    gap: 4.358974359vw;
  }
}
@media (min-width: 761px) {
  .l-our-works ul li {
    width: calc((100% - 57px) / 4);
  }
}
.l-our-works ul a {
  padding: 15px 15px 12px;
  display: block;
  border: 1px solid #fff;
  height: 100%;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  .l-our-works ul a {
    display: grid;
    grid-template-columns: 39.7435897436vw 1fr;
    column-gap: 2.5641025641vw;
    align-items: center;
    padding: 2.8205128205vw;
  }
}
@media (min-width: 761px) {
  .l-our-works ul img {
    margin-bottom: 12px;
  }
}
.l-our-works ul p {
  font-size: 1.5rem;
  font-weight: 500;
  width: fit-content;
  height: fit-content;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .l-our-works ul p {
    flex: 1;
    font-size: 15px;
    font-size: 3.8461538462vw;
  }
}

/*  l-other-talk
*----------------------------------- */
.l-other-talk {
  padding: 46px 0 88px;
  border-top: 1px solid #505050;
}
@media (max-width: 760px) {
  .l-other-talk {
    padding: 12.8205128205vw 5vw 22.0512820513vw;
  }
}
.l-other-talk__container {
  max-width: 1200px;
  margin: 0 auto;
}
.l-other-talk ul {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}
@media (max-width: 760px) {
  .l-other-talk ul {
    gap: 5.641025641vw;
  }
}
@media (min-width: 761px) {
  .l-other-talk ul li {
    width: calc((100% - 44px) / 3);
  }
}
.l-other-talk ul .p-item a {
  padding: 18px;
  display: block;
  border: 1px solid #fff;
  height: 100%;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  .l-other-talk ul .p-item a {
    padding: 4.6153846154vw;
  }
}
.l-other-talk ul .p-item__photo {
  margin-bottom: 22px;
}
@media (max-width: 760px) {
  .l-other-talk ul .p-item__photo {
    margin-bottom: 4.6153846154vw;
  }
}
.l-other-talk ul .p-item__sub_title {
  text-align: center;
  font-size: 2rem;
  font-family: din-2014, sans-serif;
  font-weight: bold;
  color: #17344B;
  display: block;
  line-height: 1;
  margin-bottom: 0.5em;
  letter-spacing: 0.03em;
}
@media (max-width: 760px) {
  .l-other-talk ul .p-item__sub_title {
    margin-bottom: 0.2em;
    font-size: 20px;
    font-size: 5.1282051282vw;
  }
}
.l-other-talk ul .p-item__title {
  font-size: 2.2rem;
  font-weight: bold;
  width: fit-content;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .l-other-talk ul .p-item__title {
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.l-other-talk ul .p-item.current {
  display: none;
}

/*  l-cmn-member
*----------------------------------- */
.l-cmn-member {
  background: #ebf3fa;
  padding: 75px 0 80px;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member {
    padding: 13% 5%;
  }
}

.l-cmn-member .l-member__header {
  text-align: center;
  margin-bottom: 25px;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__header {
    margin-bottom: 3%;
  }
}
.l-cmn-member .l-member__header__title {
  font-family: din-2014, sans-serif;
  font-size: 66px;
  font-weight: 500;
  line-height: 1;
  color: #006dbc;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__header__title {
    font-size: 16vw;
  }
}
.l-cmn-member .l-member__header__subtitle {
  font-size: 17px;
  font-weight: 500;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__header__subtitle {
    font-size: 4vw;
    margin-top: -2%;
  }
}
.l-cmn-member .l-member__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 1200px;
  margin: 0 auto 50px;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__list {
    width: 100%;
    margin: 0 auto 10%;
    padding-bottom: 12%;
  }
}
.l-cmn-member .l-member__list .p-item {
  width: 380px;
  margin-right: 30px;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__list .p-item {
    width: 100%;
    margin-right: 0;
  }
}
.l-cmn-member .l-member__list .p-item:nth-child(3n) {
  margin-right: 0;
}
.l-cmn-member .l-member__list .p-item__photo {
  width: 100%;
  height: 0;
  padding-bottom: 56.2%;
  line-height: 0;
  position: relative;
  overflow: hidden;
}
.l-cmn-member .l-member__list .p-item__photo img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1000;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.l-cmn-member .l-member__list .p-item__inner {
  margin-top: 15px;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__list .p-item__inner {
    margin-top: 3%;
  }
}
.l-cmn-member .l-member__list .p-item__post-title {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 10px;
  max-height: 60px;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__list .p-item__post-title {
    font-size: 4.2vw;
    margin-bottom: 4%;
    max-height: 13vw;
  }
}
.l-cmn-member .l-member__list .p-item__post-name {
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 8px;
  max-height: 40px;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__list .p-item__post-name {
    font-size: 3.8vw;
    margin-bottom: 2%;
    max-height: 8vw;
  }
}
.l-cmn-member .l-member__list .p-item__post-company {
  font-size: 13px;
  line-height: 1.7;
  font-weight: 500;
  max-height: 50px;
}
@media print, screen and (max-width: 760px) {
  .l-cmn-member .l-member__list .p-item__post-company {
    font-size: 3vw;
    line-height: 1.4;
    max-height: 9vw;
  }
}

.l-company-link {
  padding: 37px 0 70px;
  border-top: 1px solid #505050;
}
@media (max-width: 760px) {
  .l-company-link {
    padding: 12.8205128205vw 5vw 22.0512820513vw;
  }
}
.l-company-link__container {
  max-width: 1200px;
  margin: 0 auto;
}
.l-company-link ul {
  display: flex;
  flex-wrap: wrap;
  gap: 19px;
}
@media (max-width: 760px) {
  .l-company-link ul {
    flex-flow: column;
    gap: 4.358974359vw;
  }
}
@media (min-width: 761px) {
  .l-company-link ul li {
    width: calc((100% - 57px) / 4);
  }
}
.l-company-link ul a {
  padding: 15px 15px 12px;
  display: block;
  border: 1px solid #fff;
  height: 100%;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  .l-company-link ul a {
    display: grid;
    grid-template-columns: 39.7435897436vw 1fr;
    column-gap: 2.5641025641vw;
    align-items: center;
    padding: 2.8205128205vw;
  }
}
@media (min-width: 761px) {
  .l-company-link ul img {
    margin-bottom: 12px;
  }
}
.l-company-link ul p {
  font-size: 1.5rem;
  font-weight: 500;
  width: fit-content;
  height: fit-content;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .l-company-link ul p {
    flex: 1;
    font-size: 15px;
    font-size: 3.8461538462vw;
  }
}

.common-btn {
  width: 557px;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .common-btn {
    width: 90vw;
  }
}
.common-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  font-size: 1.9rem;
  font-weight: bold;
  background: #E60038;
  color: #fff;
  padding: 28px 0;
  position: relative;
}
@media print, screen and (max-width: 760px) {
  .common-btn a {
    text-align: center;
    padding: 7.9vw 0;
    gap: 6vw;
  }
}
.common-btn a::after {
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  z-index: 1000;
  width: 0;
  height: 0;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  content: "";
}
@media print, screen and (max-width: 760px) {
  .common-btn a::after {
    right: 5vw;
  }
}
.common-btn .en {
  font-size: 36px;
}
@media print, screen and (max-width: 760px) {
  .common-btn .en {
    font-size: 7.6vw;
    display: block;
  }
}
.common-btn .ja {
  font-size: 15px;
  font-weight: 700;
}
@media print, screen and (max-width: 760px) {
  .common-btn .ja {
    font-size: 3.8vw;
    display: block;
  }
}

/* ------------------------------------

中面個別 (TOP以外)

------------------------------------ */
/*  〇〇ページ
*----------------------------------- */
/*  会社概要 profile
*----------------------------------- */
.page-profile .profile {
  padding-top: 320px;
  margin: 0 -83px 140px;
  background: url("../company/images/profile/profile_bg.jpg") center top/contain no-repeat;
}
@media (min-width: 761px) {
  .page-profile .profile {
    width: 1366px;
  }
}
@media (max-width: 760px) {
  .page-profile .profile {
    background: url("../company/images/profile/sp/profile_bg.jpg") center top/contain no-repeat;
    padding-top: 71.7948717949vw;
    margin: 0 -5vw 25.641025641vw;
  }
}
.page-profile .profile__box {
  box-sizing: border-box;
  max-width: 1200px;
  padding: 60px 20px 70px;
  margin: 0 auto;
  background-color: rgba(23, 52, 75, 0.91);
}
@media (max-width: 760px) {
  .page-profile .profile__box {
    padding: 5vw 5vw 7vw;
  }
}
.page-profile .profile table {
  width: 100%;
  max-width: 952px;
  margin: 0 auto;
}
.page-profile .profile table tr:not(:last-child) th,
.page-profile .profile table tr:not(:last-child) td {
  border-bottom: 1px solid #3e5262;
}
.page-profile .profile table th,
.page-profile .profile table td {
  padding: 1em 0;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 760px) {
  .page-profile .profile table th,
.page-profile .profile table td {
    font-size: 16px;
    font-size: 4.1025641026vw;
    line-height: 1.36;
  }
}
.page-profile .profile table th {
  width: 188px;
  font-weight: 500;
}
@media (max-width: 760px) {
  .page-profile .profile table th {
    width: 28.2051282051vw;
  }
}
.page-profile .access__title {
  margin-bottom: 54px;
  text-align: center;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 760px) {
  .page-profile .access__title {
    margin-bottom: 13.8461538462vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-profile .access__title span {
  margin-bottom: 0.2em;
  display: block;
  font-size: 5.5rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  font-family: din-2014, sans-serif;
}
@media (max-width: 760px) {
  .page-profile .access__title span {
    font-size: 35px;
    font-size: 8.9743589744vw;
  }
}
.page-profile .access-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 35px;
  row-gap: 30px;
}
@media (max-width: 760px) {
  .page-profile .access-list {
    row-gap: 12.8205128205vw;
    grid-template-columns: 1fr;
  }
}
.page-profile .access-list__item {
  text-align: center;
  letter-spacing: 0.01em;
}
.page-profile .access-list__item iframe {
  margin-bottom: 20px;
  aspect-ratio: 568/373;
}
@media (max-width: 760px) {
  .page-profile .access-list__item iframe {
    margin-bottom: 5.1282051282vw;
  }
}
.page-profile .access-list__item span {
  margin-bottom: 0.5em;
  display: block;
  font-size: 1.9rem;
  font-weight: 500;
}
@media (max-width: 760px) {
  .page-profile .access-list__item span {
    font-size: 19px;
    font-size: 4.8717948718vw;
  }
}
.page-profile .access-list__item p {
  font-size: 1.6rem;
  line-height: 1.875;
}
@media (max-width: 760px) {
  .page-profile .access-list__item p {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}

/*  企業理念 philosophy
*----------------------------------- */
.page-philosophy .mv {
  min-height: 867px;
  margin: 0 -83px -309px;
  background: url("../company/images/philosophy/mv.jpg") center/contain no-repeat;
}
@media (min-width: 761px) {
  .page-philosophy .mv {
    padding-top: 44px;
    width: 1366px;
  }
}
@media (max-width: 760px) {
  .page-philosophy .mv {
    margin: 0 -5vw -19.4871794872vw;
    min-height: 99.7435897436vw;
    background: url("../company/images/philosophy/sp/mv.jpg") center top 13.5897435897vw/contain no-repeat;
  }
}
.page-philosophy .mv__title {
  width: fit-content;
  margin: 0 auto;
}
.page-philosophy .mv__title img {
  max-width: 919px;
  height: auto;
}
@media (max-width: 760px) {
  .page-philosophy .mv__title img {
    max-width: 68.9743589744vw;
  }
}
.page-philosophy .mv__title span {
  margin-top: 0.8em;
  display: block;
  line-height: 1;
  text-align: center;
  font-family: din-2014, sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.07em;
}
@media (max-width: 760px) {
  .page-philosophy .mv__title span {
    font-size: 15px;
    font-size: 3.8461538462vw;
  }
}
.page-philosophy .section {
  margin-bottom: 70px;
  padding: 80px 60px 60px;
  background-color: rgba(23, 52, 75, 0.9);
}
@media (max-width: 760px) {
  .page-philosophy .section {
    margin-bottom: 17.9487179487vw;
    padding: 9.2307692308vw 6.6666666667vw;
  }
}
.page-philosophy .section__title {
  text-align: center;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 30px;
  padding-bottom: 40px;
  position: relative;
}
@media (max-width: 760px) {
  .page-philosophy .section__title {
    margin-bottom: 7.6923076923vw;
    padding-bottom: 7.1794871795vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-philosophy .section__title::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 25px;
  background-color: #fff;
  display: block;
  margin: auto;
  content: "";
}
@media (max-width: 760px) {
  .page-philosophy .section__title::before {
    width: 6.4102564103vw;
  }
}
.page-philosophy .section__title span {
  display: block;
  text-align: center;
  font-family: din-2014, sans-serif;
  font-size: 5.5rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  margin-bottom: 10px;
}
@media (max-width: 760px) {
  .page-philosophy .section__title span {
    font-size: 35px;
    font-size: 8.9743589744vw;
    margin-bottom: 2vw;
  }
}
.page-philosophy .section__title--invert::before {
  background-color: #17344B;
}
.page-philosophy .section__title--invert span {
  color: #17344B;
}
.page-philosophy .section--invert {
  background-color: rgba(255, 255, 255, 0.9);
  color: #000;
}
.page-philosophy .section-box {
  margin: 40px auto 20px;
  max-width: 1013px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 41px;
}
@media (max-width: 760px) {
  .page-philosophy .section-box {
    margin: 10.2564102564vw auto 0;
    gap: 10.2564102564vw;
    grid-template-columns: 1fr;
  }
}
.page-philosophy .section-box__item {
  padding: 30px 35px;
  border: 1px solid #fff;
}
@media (max-width: 760px) {
  .page-philosophy .section-box__item {
    padding: 6.1538461538vw;
  }
}
.page-philosophy .section-box__num {
  color: rgba(255, 255, 255, 0.18);
  font-family: din-2014, sans-serif;
  font-size: 6.6rem;
  font-weight: bold;
  width: fit-content;
  display: block;
  margin: 0 auto 0.3em;
  line-height: 1;
}
@media (max-width: 760px) {
  .page-philosophy .section-box__num {
    font-size: 46px;
    font-size: 11.7948717949vw;
  }
}
.page-philosophy .section-box__title {
  font-size: 2.3rem;
  font-weight: bold;
  margin-bottom: 0.8em;
  line-height: 1.76;
}
@media (min-width: 761px) {
  .page-philosophy .section-box__title {
    text-align: center;
  }
}
@media (max-width: 760px) {
  .page-philosophy .section-box__title {
    font-size: 21px;
    font-size: 5.3846153846vw;
  }
}
.page-philosophy .section-box__title + p {
  margin: -0.8em auto 1.2em;
  letter-spacing: 0.01em;
  font-size: 1.6rem;
}
@media (min-width: 761px) {
  .page-philosophy .section-box__title + p {
    text-align: center;
  }
}
@media (max-width: 760px) {
  .page-philosophy .section-box__title + p {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.page-philosophy .section-box__subtitle {
  margin-bottom: 1em;
  padding: 0.48em 0.5em;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.09);
}
@media (max-width: 760px) {
  .page-philosophy .section-box__subtitle {
    font-size: 4.1vw;
    line-height: 1.3;
    padding: 2.5vw 0;
  }
}
.page-philosophy .section-box__subtitle b {
  font-size: 2.2rem;
}
@media (max-width: 760px) {
  .page-philosophy .section-box__subtitle b {
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.page-philosophy .section-box__text p {
  line-height: 2;
}
.page-philosophy .section-box__list {
  width: fit-content;
  margin: 1.5em auto 0;
  display: flex;
  flex-flow: column;
  row-gap: 0.5em;
  font-size: 1.6rem;
}
@media (max-width: 760px) {
  .page-philosophy .section-box__list {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.page-philosophy .section-box__list li {
  display: grid;
  grid-template-columns: 10em 1fr;
  column-gap: 12px;
}
@media (max-width: 760px) {
  .page-philosophy .section-box__list li {
    grid-template-columns: 9em 1fr;
    column-gap: 1.5384615385vw;
  }
}
.page-philosophy .section-box__list li > span {
  font-weight: bold;
  overflow-x: clip;
}
.page-philosophy .section-box__list li > span > span {
  position: relative;
}
.page-philosophy .section-box__list li > span > span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% + 12px);
  width: 300%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.16);
  display: block;
  margin: auto;
  content: "";
}
@media (max-width: 760px) {
  .page-philosophy .section-box__list li > span > span::before {
    left: calc(100% + 1.5384615385vw);
  }
}
@media (max-width: 760px) {
  .page-philosophy .section01 {
    padding-top: 12.8205128205vw;
  }
}
.page-philosophy .section01__text {
  margin-bottom: 30px;
}
@media (max-width: 760px) {
  .page-philosophy .section01__text {
    margin-bottom: 5.641025641vw;
  }
}
.page-philosophy .section01__text p {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media (min-width: 761px) {
  .page-philosophy .section01__text p {
    text-align: left;
  }
}
@media (max-width: 760px) {
  .page-philosophy .section01__text p {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-philosophy .section01__title {
  margin-bottom: 0.6em;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 760px) {
  .page-philosophy .section01__title {
    margin-top: 9vw;
    margin-bottom: 4.5vw;
    font-size: 28px;
    font-size: 7.1794871795vw;
  }
}
.page-philosophy .section02__list {
  margin: 40px auto 20px;
  width: fit-content;
  font-size: 2.3rem;
  font-weight: 500;
}
@media (min-width: 761px) {
  .page-philosophy .section02__list {
    text-align: center;
  }
}
@media (max-width: 760px) {
  .page-philosophy .section02__list {
    margin: 1.5em auto 0;
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
@media (max-width: 760px) {
  .page-philosophy .section02__list li {
    text-indent: -1.5em;
    margin-left: 1.5em;
  }
}
.page-philosophy .section02__list li + li {
  margin-top: 0.5em;
}
.page-philosophy .section02__list02 {
  width: fit-content;
  margin: 40px auto 20px;
  display: flex;
  flex-flow: column;
  row-gap: 0.5em;
  font-size: 2.3rem;
}
@media (max-width: 760px) {
  .page-philosophy .section02__list02 {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.page-philosophy .section02__list02 li {
  display: grid;
  grid-template-columns: 10em 1fr;
  column-gap: 12px;
}
@media (max-width: 760px) {
  .page-philosophy .section02__list02 li {
    grid-template-columns: 7em 1fr;
    column-gap: 1.5384615385vw;
  }
}
.page-philosophy .section02__list02 li > span {
  font-weight: bold;
  overflow-x: clip;
}
.page-philosophy .section02__list02 li > span > span {
  position: relative;
}
.page-philosophy .section02__list02 li > span > span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% + 12px);
  width: 300%;
  height: 1px;
  background-color: rgba(23, 52, 75, 0.16);
  display: block;
  margin: auto;
  content: "";
}
@media (max-width: 760px) {
  .page-philosophy .section02__list02 li > span > span::before {
    left: calc(100% + 1.5384615385vw);
  }
}
.page-philosophy .section03__title {
  text-align: center;
  margin-bottom: 0.3em;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.6071428571;
}
@media (max-width: 760px) {
  .page-philosophy .section03__title {
    font-size: 22px;
    font-size: 5.641025641vw;
  }
}
.page-philosophy .section04__title {
  text-align: center;
  margin: 1.2em auto 1em;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.6071428571;
}
@media (max-width: 760px) {
  .page-philosophy .section04__title {
    margin: 0 auto 1em;
    font-size: 20px;
    font-size: 5.1282051282vw;
  }
}
@media (min-width: 761px) {
  .page-philosophy .section04__text {
    margin-bottom: 20px;
  }
}
.page-philosophy .section04__text p {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 2.2941176471;
}
@media (min-width: 761px) {
  .page-philosophy .section04__text p {
    text-align: center;
  }
}
@media (max-width: 760px) {
  .page-philosophy .section04__text p {
    font-size: 16px;
    font-size: 4.1025641026vw;
    line-height: 2;
  }
}
@media (min-width: 761px) {
  .page-philosophy .section05 {
    padding: 60px;
  }
}
.page-philosophy .section05__grid {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media (min-width: 761px) {
  .page-philosophy .section05__grid {
    margin: 0 12px;
  }
}
@media (max-width: 760px) {
  .page-philosophy .section05__grid {
    gap: 1.2820512821vw;
    grid-template-columns: 1fr 1fr;
  }
}
.page-philosophy .section05__item {
  display: grid;
  place-content: center;
}
.page-philosophy .section05__item p {
  text-align: center;
  font-size: 1.7rem;
  line-height: 1.9411764706;
}
@media (max-width: 760px) {
  .page-philosophy .section05__item p {
    font-size: 17px;
    font-size: 4.358974359vw;
  }
}
.page-philosophy .section05__item--title {
  grid-row: 2/3;
  grid-column: 2/4;
}
@media (max-width: 760px) {
  .page-philosophy .section05__item--title {
    padding: 10.2564102564vw 0;
    grid-row: 4/5;
    grid-column: 1/3;
  }
}
.page-philosophy .section05__title {
  margin-bottom: 0.3em;
  text-align: center;
  font-size: 5rem;
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 760px) {
  .page-philosophy .section05__title {
    font-size: 50px;
    font-size: 12.8205128205vw;
  }
}

/*  3分で分かる feature
*----------------------------------- */
@media print, screen and (max-width: 760px) {
  .page-feature .list-page__main {
    width: 100%;
  }
}

.page-feature .list-page__anc {
  margin-bottom: 60px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .list-page__anc {
    width: 90%;
    margin: 0 auto 15vw;
  }
}
.page-feature .list-page__anc ul.l-anc-list {
  display: flex;
  flex-flow: wrap;
  gap: 27px;
  counter-reset: nav;
}
@media print, screen and (max-width: 760px) {
  .page-feature .list-page__anc ul.l-anc-list {
    column-gap: 3.5vw;
    row-gap: 7vw;
  }
}
.page-feature .list-page__anc ul.l-anc-list li {
  width: calc((100% - 135px) / 5);
  counter-increment: nav;
}
@media print, screen and (max-width: 760px) {
  .page-feature .list-page__anc ul.l-anc-list li {
    width: calc((100% - 3.5vw) / 2);
  }
}
.page-feature .list-page__anc ul.l-anc-list li a {
  display: block;
  text-align: center;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.375;
  position: relative;
  padding-bottom: 20px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .list-page__anc ul.l-anc-list li a {
    font-size: 3.5vw;
    padding-bottom: 6vw;
  }
}
.page-feature .list-page__anc ul.l-anc-list li a .p-item__num {
  font-family: din-2014, sans-serif;
  font-weight: 700;
  font-size: 2.8rem;
  margin-bottom: 5px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .list-page__anc ul.l-anc-list li a .p-item__num {
    font-size: 5.5vw;
  }
}
.page-feature .list-page__anc ul.l-anc-list li a:hover {
  opacity: 1;
}
.page-feature .list-page__anc ul.l-anc-list li a:hover img {
  opacity: 0.8;
}
.page-feature .list-page__anc ul.l-anc-list .p-item__photo {
  margin-bottom: 10px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .list-page__anc ul.l-anc-list .p-item__photo {
    margin-bottom: 3vw;
  }
}
.page-feature .list-page__anc ul.l-anc-list .p-item__text {
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  position: relative;
}
@media print, screen and (max-width: 760px) {
  .page-feature .list-page__anc ul.l-anc-list .p-item__text {
    font-size: 4vw;
  }
}
.page-feature .list-page__anc ul.l-anc-list .p-item__text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 8px 8px 0 8px;
  border-color: #17344B transparent transparent transparent;
}

.page-feature .l-feature {
  text-align: center;
  font-weight: 400;
}
.page-feature .l-feature__container {
  background: #17344B;
  padding: 48px 60px 57px;
  margin-bottom: 83px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature__container {
    width: 90vw;
    margin: 0 auto;
    padding: 10vw 5vw 7vw;
    margin-bottom: 15vw;
  }
}
.page-feature .l-feature__container:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 761px) {
  .page-feature .l-feature .p-item {
    margin-top: -120px;
    padding-top: 120px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature .p-item {
    margin-top: -120px;
    padding-top: 120px;
  }
}
.page-feature .l-feature .p-item__num {
  font-size: 50px;
  font-weight: 700;
  font-family: din-2014, sans-serif;
  line-height: 1;
  margin-bottom: 10px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature .p-item__num {
    font-size: 12vw;
    margin-bottom: 4vw;
  }
}
.page-feature .l-feature .p-item__title {
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 50px;
  position: relative;
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature .p-item__title {
    font-size: 7vw;
    margin-bottom: 12vw;
    line-height: 1.4;
  }
}
.page-feature .l-feature .p-item__title::after {
  content: "";
  width: 30px;
  height: 2px;
  background-color: #989898;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -24px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature .p-item__title::after {
    bottom: -6vw;
  }
}
.page-feature .l-feature .p-item__text {
  text-align: center;
  letter-spacing: 1px;
  font-size: 16px;
  line-height: 1.8777;
  margin-bottom: 35px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature .p-item__text {
    font-size: 4vw;
    text-align: left;
    margin-bottom: 6vw;
  }
}
.page-feature .l-feature .p-item__photo {
  margin-bottom: 43px;
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature .p-item__photo {
    margin-bottom: 6vw;
  }
}
.page-feature .l-feature .p-item__button {
  width: 438px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature .p-item__button {
    width: 90%;
  }
}
.page-feature .l-feature .p-item__button a {
  display: block;
  font-size: 15px;
  font-weight: 500;
  transition: 0.3s;
  padding: 12px;
  text-align: center;
  border: 1px solid #fff;
  transition: 0.3s;
  position: relative;
}
@media print, screen and (max-width: 760px) {
  .page-feature .l-feature .p-item__button a {
    font-size: 3.8vw;
    padding: 3.5vw 0;
  }
}
.page-feature .l-feature .p-item__button a::after {
  position: absolute;
  z-index: 99;
  right: 16px;
  top: 50%;
  translate: 0 -50%;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border: 3px solid transparent;
  border-left: 5px solid #fff;
}
.page-feature .l-feature .p-item__button a:hover {
  opacity: 1;
  background: #fff;
  color: #17344B;
}
.page-feature .l-feature .p-item__button a:hover::after {
  border-left: 5px solid #17344B;
}

/*  代表メッセージ
*----------------------------------- */
.page-message .mv {
  margin: 0 -83px -284px;
  box-sizing: border-box;
  background: url("../company/images/message/mv.jpg") center top/contain no-repeat;
  padding: 100px 0 0;
  position: relative;
}
@media (min-width: 761px) {
  .page-message .mv {
    width: 1366px;
    min-height: 1036px;
  }
}
@media (max-width: 760px) {
  .page-message .mv {
    margin: 0 -5vw 37.4358974359vw;
    padding: 79.4871794872vw 5vw 0;
    background: url("../company/images/message/sp/mv.jpg") center top/contain no-repeat;
  }
}
.page-message .mv::before {
  position: absolute;
  right: 0;
  bottom: 208px;
  left: 0;
  height: 119px;
  width: 1px;
  background-color: #d1d1d1;
  display: block;
  margin: auto;
  content: "";
}
@media (max-width: 760px) {
  .page-message .mv::before {
    bottom: -28.2051282051vw;
    height: 21.7948717949vw;
  }
}
.page-message .mv__text {
  max-width: 1080px;
  margin: 0 auto;
}
.page-message .mv__text p {
  font-size: 1.6rem;
  line-height: 2.0625;
}
@media (min-width: 761px) {
  .page-message .mv__text p {
    max-width: 615px;
  }
}
@media (max-width: 760px) {
  .page-message .mv__text p {
    letter-spacing: 0.01em;
    font-size: 16px;
    font-size: 4.1025641026vw;
    line-height: 1.875;
  }
}
.page-message .mv__title {
  margin-bottom: 0.4em;
  font-size: 5.8rem;
  font-weight: bold;
  line-height: 1.275862069;
}
@media (max-width: 760px) {
  .page-message .mv__title {
    font-size: 35px;
    font-size: 8.9743589744vw;
    line-height: 1.2571428571;
  }
}
.page-message .mv__name {
  margin-bottom: 49px;
  font-size: 1.7rem;
  display: block;
  width: fit-content;
  line-height: 1;
  background-color: #000;
  padding: 0.44em 0.62em;
}
@media (max-width: 760px) {
  .page-message .mv__name {
    margin-bottom: 9.2307692308vw;
    font-size: 17px;
    font-size: 4.358974359vw;
  }
}
.page-message .mv__subtitle {
  margin-bottom: 0.8em;
  line-height: 1;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 760px) {
  .page-message .mv__subtitle {
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.page-message .profile {
  margin-bottom: 140px;
}
@media (max-width: 760px) {
  .page-message .profile {
    margin-bottom: 25.641025641vw;
  }
}
@media (min-width: 761px) {
  .page-message .profile__wrap {
    margin-bottom: -104px;
    position: relative;
    display: flex;
    column-gap: 70px;
    z-index: 1;
  }
  .page-message .profile__wrap::before {
    z-index: -1;
    position: absolute;
    top: 222px;
    height: 356px;
    right: calc(50% - 340px);
    width: calc(50vw + 340px);
    display: block;
    background-color: #1f1f1f;
    margin: auto;
    content: "";
  }
  .page-message .profile__wrap::after {
    content: "";
    position: absolute;
    top: 186px;
    right: 0;
    width: 105px;
    height: 953px;
    z-index: -1;
    background: url("../company/images/message/profile_bg_text.png") center/contain no-repeat;
  }
}
.page-message .profile__photo {
  width: 277px;
}
@media (min-width: 761px) {
  .page-message .profile__photo {
    margin-left: -8px;
  }
}
@media (max-width: 760px) {
  .page-message .profile__photo {
    margin: 0 auto;
    width: 49.2307692308vw;
  }
}
.page-message .profile__title {
  width: 513px;
  margin-bottom: 56px;
}
@media (max-width: 760px) {
  .page-message .profile__title {
    width: 73.8461538462vw;
    margin: 0 auto;
    position: relative;
    top: -6.9230769231vw;
  }
}
.page-message .profile__data {
  margin: 0 auto 0 0;
}
@media (min-width: 761px) {
  .page-message .profile__data {
    padding-top: 174px;
  }
}
@media (max-width: 760px) {
  .page-message .profile__data {
    margin: 0 auto 21.0256410256vw;
    padding: 0 5.1282051282vw 5.1282051282vw;
    background-color: #1f1f1f;
  }
}
.page-message .profile__data p {
  font-size: 1.6rem;
  line-height: 2.25;
}
@media (max-width: 760px) {
  .page-message .profile__data p {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-message .profile__text {
  position: relative;
  z-index: 2;
  margin: 0 auto 110px;
}
@media (min-width: 761px) {
  .page-message .profile__text {
    padding-left: 110px;
    max-width: 1080px;
    box-sizing: border-box;
  }
}
@media (max-width: 760px) {
  .page-message .profile__text {
    margin: 0 auto 25.641025641vw;
  }
}
.page-message .profile__text p {
  font-size: 1.6rem;
  line-height: 2.25;
}
@media (min-width: 761px) {
  .page-message .profile__text p {
    max-width: 766px;
  }
}
@media (max-width: 760px) {
  .page-message .profile__text p {
    letter-spacing: 0.01em;
    font-size: 16px;
    font-size: 4.1025641026vw;
    line-height: 1.875;
  }
}
.page-message .profile__subtitle {
  margin-bottom: 1em;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 760px) {
  .page-message .profile__subtitle {
    font-size: 22px;
    font-size: 5.641025641vw;
  }
}
@media (min-width: 761px) {
  .page-message .profile-section__photo {
    margin: 0 -100px 124px auto;
    width: 1140px;
  }
}
@media (max-width: 760px) {
  .page-message .profile-section__photo {
    margin: 0 -5vw 25.641025641vw 0;
  }
}
@media (min-width: 761px) {
  .page-message .profile-section__text {
    max-width: 766px;
    margin-left: auto;
  }
}
.page-message .profile-section__text p {
  font-size: 1.6rem;
  line-height: 2.25;
}
@media (max-width: 760px) {
  .page-message .profile-section__text p {
    font-size: 16px;
    font-size: 4.1025641026vw;
    line-height: 1.875;
  }
}
.page-message .message {
  margin: 0 auto 100px;
  position: relative;
}
@media (min-width: 761px) {
  .page-message .message {
    max-width: 1080px;
  }
}
@media (max-width: 760px) {
  .page-message .message {
    margin: 0 auto 12.8205128205vw;
  }
}
@media (max-width: 760px) {
  .page-message .message__photo {
    margin-bottom: 11.7948717949vw;
  }
}
@media (min-width: 761px) {
  .page-message .message__text {
    color: #000;
    position: absolute;
    left: 60px;
    bottom: 60px;
  }
}
.page-message .message__text p {
  color: #000;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.3333333333;
}
@media (max-width: 760px) {
  .page-message .message__text p {
    font-size: 16px;
    font-size: 4.1025641026vw;
    line-height: 2.125;
  }
}
.page-message .message__text p mark {
  background: linear-gradient(transparent 0%, #fff 0);
  padding: 0.4em 0.5em;
}
@media (max-width: 760px) {
  .page-message .message__text p mark {
    padding: 0.4em;
  }
}
.page-message .message__title {
  line-height: 1;
  font-weight: bold;
  font-size: 3.2rem;
}
@media (max-width: 760px) {
  .page-message .message__title {
    font-size: 26px;
    font-size: 6.6666666667vw;
  }
}
.page-message .message__title span {
  margin: 1.2em 0 1.8em;
  font-size: 1.8rem;
  display: block;
  letter-spacing: 0.07em;
  font-family: din-2014, sans-serif;
}
@media (min-width: 761px) {
  .page-message .message__title span {
    color: #17344B;
  }
}
@media (max-width: 760px) {
  .page-message .message__title span {
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}

/*  経営企画
*----------------------------------- */
.page-occupation04 .course {
  margin-bottom: 124px;
}
@media (max-width: 760px) {
  .page-occupation04 .course {
    margin: 0 -5vw 28.2051282051vw;
  }
}
.page-occupation04 .course__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media (min-width: 761px) {
  .page-occupation04 .course__grid {
    gap: 3px;
    margin: 0 12px;
  }
}
@media (max-width: 760px) {
  .page-occupation04 .course__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.page-occupation04 .course__item {
  display: grid;
  place-content: center;
  background-color: #17344B;
}
@media (max-width: 760px) {
  .page-occupation04 .course__item:nth-of-type(10) {
    display: none;
  }
}
.page-occupation04 .course__item p {
  font-size: 1.6rem;
  line-height: 2;
}
@media (min-width: 761px) {
  .page-occupation04 .course__item p {
    text-align: center;
  }
}
@media (max-width: 760px) {
  .page-occupation04 .course__item p {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-occupation04 .course__item--title {
  grid-row: 2/3;
  grid-column: 2/4;
}
@media (max-width: 760px) {
  .page-occupation04 .course__item--title {
    padding: 12.8205128205vw 5vw;
    grid-row: 4/5;
    grid-column: 1/4;
  }
}
.page-occupation04 .course__title {
  margin-bottom: 0.5em;
  text-align: center;
  font-size: 3.9rem;
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 760px) {
  .page-occupation04 .course__title {
    font-size: 28px;
    font-size: 7.1794871795vw;
  }
}
@media (min-width: 761px) {
  .page-occupation04 .personality {
    background: url("../occupation/images/04/personality_bg.png") center top no-repeat;
    background-size: 1440px 745px;
    margin: 0 -120px;
    padding: 0 120px;
  }
}
.page-occupation04 .personality__title {
  width: 584px;
  margin: 0 auto -60px;
  position: relative;
}
@media (max-width: 760px) {
  .page-occupation04 .personality__title {
    margin: 0 auto 11.7948717949vw;
    width: 70.5128205128vw;
  }
}
.page-occupation04 .personality__title span {
  position: absolute;
  inset: 0;
  display: block;
  width: fit-content;
  height: fit-content;
  margin: auto;
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 760px) {
  .page-occupation04 .personality__title span {
    font-size: 24px;
    font-size: 6.1538461538vw;
  }
}
.page-occupation04 .personality__list {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin: 0 auto 129px;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 1.1em;
  font-size: 2rem;
}
@media (max-width: 760px) {
  .page-occupation04 .personality__list {
    margin: 0 -5vw -7.6923076923vw;
    padding: 0 5vw 64.8717948718vw;
    background: url("../occupation/images/04/sp/personality_bg.png") center bottom/contain no-repeat;
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.page-occupation04 .personality__list li {
  width: fit-content;
  letter-spacing: 0.01em;
  background: linear-gradient(transparent 0%, #17344B 0);
  padding: 0.2em 0.9em;
  font-weight: 500;
}
@media (max-width: 760px) {
  .page-occupation04 .personality__list li {
    padding: 0.2em 0.6em;
  }
}
.page-occupation04 .personality__btn {
  margin-top: 82px;
}
@media (max-width: 760px) {
  .page-occupation04 .personality__btn {
    margin-top: 12.0512820513vw;
  }
}
.page-occupation04 .personality-point {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
  position: relative;
  z-index: 2;
}
@media (max-width: 760px) {
  .page-occupation04 .personality-point {
    gap: 8.9743589744vw;
    grid-template-columns: 1fr;
  }
}
.page-occupation04 .personality-point__item {
  color: #1e1e1e;
  padding: 34px 47px;
  background-color: #fff;
}
@media (max-width: 760px) {
  .page-occupation04 .personality-point__item {
    padding: 8.7179487179vw 5.641025641vw;
  }
}
.page-occupation04 .personality-point__item p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
}
@media (max-width: 760px) {
  .page-occupation04 .personality-point__item p {
    font-size: 16px;
    font-size: 4.1025641026vw;
    letter-spacing: 0.01em;
  }
}
.page-occupation04 .personality-point__num {
  text-align: center;
  display: block;
  line-height: 1;
  margin-bottom: 1em;
  color: #17344B;
  font-weight: bold;
  font-size: 1.8rem;
  font-family: Arial, sans-serif;
}
@media (max-width: 760px) {
  .page-occupation04 .personality-point__num {
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.page-occupation04 .personality-point__title {
  margin-bottom: 0.6em;
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 760px) {
  .page-occupation04 .personality-point__title {
    font-size: 22px;
    font-size: 5.641025641vw;
  }
}

/*  事業内容
*----------------------------------- */
.page-service .mv {
  color: #000;
  margin: 0 -83px -351px;
  padding: 100px 0 0;
  box-sizing: border-box;
  background: url("../feature/images/service/mv.jpg") center top/contain no-repeat;
  text-align: center;
}
@media (min-width: 761px) {
  .page-service .mv {
    width: 1366px;
    min-height: 859px;
  }
}
@media (max-width: 760px) {
  .page-service .mv {
    min-height: 164.6153846154vw;
    margin: 0 -5vw -71.7948717949vw;
    padding: 10.2564102564vw 5vw 0;
    background: url("../feature/images/service/sp/mv.jpg") center top/contain no-repeat;
  }
}
.page-service .mv p {
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 760px) {
  .page-service .mv p {
    letter-spacing: 0.01em;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-service .mv__title {
  margin-bottom: 1em;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 760px) {
  .page-service .mv__title {
    font-size: 23px;
    font-size: 5.8974358974vw;
  }
}
.page-service .section {
  margin-bottom: 70px;
  padding: 60px;
  background-color: rgba(23, 52, 75, 0.9);
}
@media (max-width: 760px) {
  .page-service .section {
    margin-bottom: 17.9487179487vw;
    padding: 9.2307692308vw 6.6666666667vw;
  }
}
.page-service .section__title {
  text-align: center;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 30px;
  padding-bottom: 40px;
  position: relative;
}
@media (max-width: 760px) {
  .page-service .section__title {
    margin-bottom: 7.6923076923vw;
    padding-bottom: 7.1794871795vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
    line-height: 1.4;
  }
}
.page-service .section__title::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 25px;
  background-color: #fff;
  display: block;
  margin: auto;
  content: "";
}
@media (max-width: 760px) {
  .page-service .section__title::before {
    width: 6.4102564103vw;
  }
}
.page-service .section__title span {
  display: block;
  text-align: center;
  font-family: din-2014, sans-serif;
  font-size: 5.5rem;
  font-weight: bold;
  letter-spacing: 0.07em;
}
@media (max-width: 760px) {
  .page-service .section__title span {
    margin-bottom: 0.2em;
    line-height: 1;
    font-size: 35px;
    font-size: 8.9743589744vw;
  }
}
.page-service .section__title--invert::before {
  background-color: #17344B;
}
.page-service .section__title--invert span {
  color: #17344B;
}
.page-service .section--invert {
  background-color: rgba(255, 255, 255, 0.9);
  color: #000;
}
@media (max-width: 760px) {
  .page-service .section01 {
    padding-bottom: 12.8205128205vw;
  }
}
.page-service .section01__title {
  margin-bottom: 1em;
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 760px) {
  .page-service .section01__title {
    font-size: 26px;
    font-size: 6.6666666667vw;
  }
}
.page-service .section01__title mark {
  background-color: #fff;
  color: #17344B;
  display: inline-block;
  line-height: 1;
  margin: 0 0.1em;
  padding: 0.1em 0.2em;
}
.page-service .section01 img {
  max-width: 1013px;
  margin: 0 auto;
  display: block;
}
@media (max-width: 760px) {
  .page-service .section01 img {
    max-width: 312px;
  }
}
.page-service .section02-flex {
  margin: 60px auto 126px;
}
@media (min-width: 761px) {
  .page-service .section02-flex {
    max-width: 1045px;
  }
}
.page-service .section02-flex__item {
  display: flex;
  column-gap: 59px;
}
@media (min-width: 761px) {
  .page-service .section02-flex__item:nth-of-type(odd) {
    flex-flow: row-reverse;
  }
}
@media (max-width: 760px) {
  .page-service .section02-flex__item {
    row-gap: 7.6923076923vw;
    flex-flow: column;
  }
}
.page-service .section02-flex__item:not(:first-child) {
  margin-top: 57px;
  padding-top: 56px;
  border-top: 1px solid #cbcbcb;
}
@media (max-width: 760px) {
  .page-service .section02-flex__item:not(:first-child) {
    margin-top: 10.2564102564vw;
    padding-top: 10vw;
  }
}
@media (min-width: 761px) {
  .page-service .section02-flex__text {
    flex: 1;
  }
}
.page-service .section02-flex__text p {
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 760px) {
  .page-service .section02-flex__text p {
    font-size: 16px;
    font-size: 4.1025641026vw;
    line-height: 1.75;
  }
}
.page-service .section02-flex__title {
  margin-bottom: 0.5em;
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 760px) {
  .page-service .section02-flex__title {
    font-size: 24px;
    font-size: 6.1538461538vw;
    text-align: center;
  }
}
@media (min-width: 761px) {
  .page-service .section02-flex__photo {
    width: 427px;
  }
}
.page-service .section02-label {
  margin-bottom: 24px;
  display: flex;
  gap: 13px;
  justify-content: center;
}
@media (max-width: 760px) {
  .page-service .section02-label {
    margin-bottom: 3.3333333333vw;
    gap: 2.0512820513vw;
  }
}
.page-service .section02-label li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 47px;
  border: 2px solid #9a9a9a;
  border-radius: 50px;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: bold;
}
@media (min-width: 761px) {
  .page-service .section02-label li {
    min-width: 159px;
  }
}
@media (max-width: 760px) {
  .page-service .section02-label li {
    font-size: 14px;
    font-size: 3.5897435897vw;
    min-height: 7.6923076923vw;
    flex: 1;
  }
}
.page-service .section02-request {
  margin-bottom: 20px;
}
.page-service .section02-request__title {
  margin-bottom: 30px;
  text-align: center;
  background-color: #17344B;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  padding: 0.8em 0;
  position: relative;
}
@media (max-width: 760px) {
  .page-service .section02-request__title {
    margin-bottom: 8.7179487179vw;
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.page-service .section02-request__title::before {
  position: absolute;
  right: 0;
  bottom: -15px;
  left: 0;
  display: block;
  margin: auto;
  content: "";
  width: 20px;
  height: 22px;
  background-color: #17344B;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
@media (max-width: 760px) {
  .page-service .section02-request__title::before {
    bottom: -3.8461538462vw;
    width: 5.1282051282vw;
    height: 5.641025641vw;
  }
}
.page-service .section02-request__title b {
  color: #dbdb0f;
}
.page-service .section02-request p {
  margin-bottom: 30px;
  font-size: 1.6rem;
  line-height: 1.75;
}
@media (min-width: 761px) {
  .page-service .section02-request p {
    text-align: center;
  }
}
.page-service .section03-box {
  padding: 50px 113px 50px;
  background-color: #fff;
}
@media (max-width: 760px) {
  .page-service .section03-box {
    padding: 10.2564102564vw 8.2051282051vw;
  }
}
@media (min-width: 761px) {
  .page-service .section03-box:nth-of-type(1) {
    padding-top: 40px;
    padding-bottom: 60px;
    margin-top: 40px;
  }
}
.page-service .section03-box:not(:last-child) {
  margin-bottom: 40px;
}
@media (max-width: 760px) {
  .page-service .section03-box:not(:last-child) {
    margin-bottom: 7.6923076923vw;
  }
}
@media (max-width: 760px) {
  .page-service .section03-box02 {
    padding: 8.7179487179vw 6.1538461538vw;
  }
}
.page-service .section03-box02 picture {
  display: block;
}
.page-service .section03-box02 picture + picture {
  margin-top: 13px;
}
@media (max-width: 760px) {
  .page-service .section03-box02 picture + picture {
    margin-top: 4.8717948718vw;
  }
}
@media (max-width: 760px) {
  .page-service .section03-box02 picture:nth-of-type(2) {
    padding-right: 6.1538461538vw;
    width: calc(100% + 6.1538461538vw);
    overflow-x: scroll;
  }
  .page-service .section03-box02 picture:nth-of-type(2) img {
    width: 218.9743589744vw;
  }
}

/*  数字で見る
*----------------------------------- */
.page-number {
  /* 上からフェードイン */
  /* 下からフェードイン */
  /* 左からフェードイン */
  /* 右からフェードイン */
}
.page-number .list-page__main {
  width: 100%;
}
.page-number .slide-top {
  opacity: 0;
  transform: translate(0, -40px);
  transition: all 1s ease-out;
}
.page-number .slide-bottom {
  opacity: 0;
  transform: translate(0, 40px);
  transition: all 1s ease-out;
}
.page-number .slide-left {
  opacity: 0;
  transform: translate(-40px, 0);
  transition: all 1s ease-out;
}
.page-number .slide-right {
  opacity: 0;
  transform: translate(40px, 0);
  transition: all 1s ease-out;
}

.page-number .l-number {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-number .l-number {
    width: 100%;
  }
}
.page-number .l-number ul {
  display: flex;
}
@media print, screen and (max-width: 760px) {
  .page-number .l-number ul {
    display: block;
  }
}
@media print, screen and (min-width: 761px) {
  .page-number .l-number .p-item01 {
    margin-bottom: 20px;
  }
  .page-number .l-number .p-item03 {
    margin-bottom: -15px;
  }
  .page-number .l-number .p-item__image06 {
    margin-top: -190px;
    width: 747px;
  }
  .page-number .l-number .p-item04 {
    align-items: flex-end;
    margin-top: -110px;
    margin-bottom: 35px;
  }
  .page-number .l-number .p-item__image08 {
    margin-left: -25px;
  }
}

/*  クロストークページ
*----------------------------------- */
.page-crosstalk-index .l-crosstalk__list .p-item {
  width: 100%;
  margin: 0 auto 70px;
}
@media print, screen and (max-width: 760px) {
  .page-crosstalk-index .l-crosstalk__list .p-item {
    width: 100%;
    margin: 0 0 5.5vw;
  }
}
.page-crosstalk-index .l-crosstalk__list .p-item a {
  display: block;
  padding: 48px 50px 39px;
  border: 1px solid #fff;
}
@media print, screen and (max-width: 760px) {
  .page-crosstalk-index .l-crosstalk__list .p-item a {
    padding: 4.5vw 4.5vw 5vw;
  }
}
.page-crosstalk-index .l-crosstalk__list .p-item__photo {
  width: 100%;
  margin-bottom: 24px;
}
@media print, screen and (max-width: 760px) {
  .page-crosstalk-index .l-crosstalk__list .p-item__photo {
    width: 100%;
    margin-bottom: 5.5vw;
  }
}
.page-crosstalk-index .l-crosstalk__list .p-item__info {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 37px;
}
@media print, screen and (max-width: 760px) {
  .page-crosstalk-index .l-crosstalk__list .p-item__info {
    flex-wrap: wrap;
    width: 100%;
    gap: 1.5vw;
  }
}
.page-crosstalk-index .l-crosstalk__list .p-item__sub_title {
  font-size: 34px;
  font-family: din-2014, sans-serif;
  font-weight: 700;
  color: #989898;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
@media print, screen and (max-width: 760px) {
  .page-crosstalk-index .l-crosstalk__list .p-item__sub_title {
    width: 100%;
    font-size: 5.2vw;
    gap: 3vw;
  }
}
.page-crosstalk-index .l-crosstalk__list .p-item__sub_title span {
  font-size: 29px;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  color: #000000;
  background: #989898;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media print, screen and (max-width: 760px) {
  .page-crosstalk-index .l-crosstalk__list .p-item__sub_title span {
    font-size: 5.2vw;
    width: 7vw;
    height: 7vw;
    border-radius: 7vw;
  }
}
.page-crosstalk-index .l-crosstalk__list .p-item__title {
  font-size: 32px;
  font-weight: 700;
}
@media print, screen and (max-width: 760px) {
  .page-crosstalk-index .l-crosstalk__list .p-item__title {
    width: 100%;
    font-size: 5vw;
    text-align: center;
  }
}

/*  policyページ
*----------------------------------- */
@media print, screen and (min-width: 761px) {
  .page-policy .list-page__list {
    width: 1080px;
    margin-left: auto;
    margin-right: auto;
  }
}
.page-policy .list-page__list__text {
  margin-bottom: 40px;
  line-height: 1.8;
}

.page-policy .l-policy__container {
  margin-bottom: 70px;
}
@media print, screen and (max-width: 760px) {
  .page-policy .l-policy__container {
    margin-bottom: 15vw;
  }
}
.page-policy .l-policy__container:last-child {
  margin-bottom: 0;
}
.page-policy .l-policy__text {
  margin-bottom: 50px;
}
@media print, screen and (max-width: 760px) {
  .page-policy .l-policy__text {
    margin-bottom: 10vw;
  }
}

.page-policy .l-policy .p-item {
  margin-bottom: 50px;
}
@media print, screen and (min-width: 761px) {
  .page-policy .l-policy .p-item {
    padding: 0 8px;
  }
}
.page-policy .l-policy .p-item__title {
  font-size: 22px;
  margin-bottom: 30px;
  background: #17344B;
  font-weight: bold;
  padding: 10px 20px;
}
@media print, screen and (max-width: 760px) {
  .page-policy .l-policy .p-item__title {
    font-size: 4.8vw;
  }
}
.page-policy .l-policy .p-item__text {
  margin-bottom: 30px;
  font-weight: 400;
}
.page-policy .l-policy .p-item__text a {
  text-decoration: underline;
}
.page-policy .l-policy .p-item__text p {
  margin-bottom: 15px;
}
.page-policy .l-policy .p-item__text ul {
  margin-bottom: 30px;
  list-style: decimal;
  padding-left: 1em;
}
.page-policy .l-policy .p-item__text li {
  padding-left: 0.5em;
  margin-bottom: 5px;
}
.page-policy .l-policy .p-item__name {
  text-align: right;
}
.page-policy .l-policy .p-item dl {
  margin-bottom: 30px;
}
@media screen and (max-width: 760px) {
  .page-policy .l-policy .p-item dl {
    width: auto;
    margin: 0 auto 8vw;
  }
}
.page-policy .l-policy .p-item dt {
  font-size: 17px;
  margin-bottom: 8px;
  font-weight: bold;
}
@media screen and (max-width: 760px) {
  .page-policy .l-policy .p-item dt {
    font-size: 4.2vw;
    line-height: 1.5;
  }
}
.page-policy .l-policy .p-item dd {
  margin: 0 0 50px;
  font-size: 15px;
  line-height: 1.8;
  font-weight: 400;
}
@media screen and (max-width: 760px) {
  .page-policy .l-policy .p-item dd {
    margin: 0 0 10%;
    font-size: 3.8vw;
  }
}
.page-policy .l-policy .p-item dd.right {
  text-align: right;
}
.page-policy .l-policy .p-item dd:last-child {
  margin: 0;
}
.page-policy .l-policy .p-item dd a {
  text-decoration: underline;
}

/*  404ページ
*----------------------------------- */
.page-404 .l-404 {
  text-align: center;
  margin-bottom: 100px;
}
@media print, screen and (max-width: 760px) {
  .page-404 .l-404 {
    padding: 0 5%;
    margin-bottom: 5%;
  }
}

.page-404 .l-404 .p-item__title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 28px;
}
@media print, screen and (max-width: 760px) {
  .page-404 .l-404 .p-item__title {
    font-size: 5vw;
    margin-bottom: 5%;
  }
}
.page-404 .l-404 .p-item__subtitle {
  font-size: 16px;
  margin-bottom: 30px;
}
@media print, screen and (max-width: 760px) {
  .page-404 .l-404 .p-item__subtitle {
    font-size: 4vw;
    margin-bottom: 10%;
  }
}
.page-404 .l-404 .p-item__text {
  font-size: 16px;
}
@media print, screen and (max-width: 760px) {
  .page-404 .l-404 .p-item__text {
    font-size: 4vw;
  }
}
.page-404 .l-404 .p-item__button {
  margin-top: 50px;
}

/*# sourceMappingURL=page.css.map */
